개발/RDB

[MySQL] 설치 후 세팅 (한글, 시간등등)

MySQL 최초 설치시 세팅 목차. 1. 인코딩 2. 서버 시간 3. 외부 접속 허용 4. 결과 1. 인코딩 MySQL을 최초 설치하였을 경우 기본 인코딩은 latin1입니다. 적어도 제가 겪은 환경 (Window, Arch, Ubuntu, Centos)에서는 말이죠. 우리는 주로 UTF-8을 사용하기 때문에 최초 설치시에 수정을 해줘야만합니다. 일단 MySQL 부터 설치해봅시다. 환경 : (만만한) AWS EC2 Ubuntu Linux sudo apt-get install mysql-server # MySQL 설치 sudo mysql # MySQL 실행 # MySQL 진입 후 SHOW VARIABLES LIKE 'C%'; # 인코딩 설정 확인 해결 방법 1. URL 파라미터 사용 jdbc:mysql:/..

2020.08.13 게시됨

개발/Java

[Java] NIO, 그리고 Netty

NIO, 그리고 Netty Spring Webflux를 사용하는 상황이 와서 공부하게 되었다. Spring Boot도 2.x 버전부터 Webflux 선택시 내장 톰캣이 아닌 Netty를 기본설정으로 잡는다. Netty는 NIO 기반 네트워크 어플리케이션 프레임워크이기 때문에 NIO도 같이 정리하였다. NIO란? Java New Input/Output의 약자로 자바 4부터부터 지원된 생각보다 오래된 기능이며, 자바 7부터는 NIO2가 지원되었다. 다음은 NIO와 이전 IO 방식의 데이터 처리 비교이다. 이전 IO는 BIO라고 칭한다. BIO 기존 자바 I/O는 가상머신의 한계로 OS의 커널 버퍼를 직접적으로 핸들링 할 수 없었다. 왜냐하면 소켓이나 파일에서 Stream이 들어오면 커널 버퍼에 데이터를 써야..

2020.08.12 게시됨

개발/Java

[Reactive] Reactive Programming 과 Reactive Stream

Spring Webflux를 사용하면서 Reactive Programming 과 Reactive Strem에 대해 공부했던 부분을 정리합니다. 1. 리엑티브 프로그래밍이란? 단순히 이름만 듣고서는 어떤 뜻인지 정확하게 와닫지 않습니다.. [위키 피디아] 에서는 리엑티브 프로그래밍을 다음과 같이 정의하고 있습니다. In computing, reactive programming is a declarative programming paradigm concerned with data streams and the propagation of change. With this paradigm it is possible to express static (e.g., arrays) or dynamic (e.g., event..

2020.08.08 게시됨

개발/RDB

[Oracle] MacOS에서 오라클 사용하기

사용 툴 : Intellij IDEA 선행 조건 : [Docker For Mac] 설치 오라클 12c에 추가된 CDB와 PDB의 개념은 따로 설명하지 않는다. Docker에 자체에 대한 설명도 여기서 다루지는 않는다. 우선 Oracle은 공식적으로 MacOS를 지원하지 않는다. RBD 사용시 주로 Oracle을 사용하는데, 이로인해 MacOS 유저의 불편이 이만저만이 아니다. 원래라면 VM을 깔아야하지만, Docker를 통해 좀 더 쉽게 문제를 해결해보자. 대부분의 블로그가 [wnameless/oracle-xe-11g-r2] 이미지를 사용하여 이 방법을 설명하는데 이미 도커 허브에는 [Oracle 12c 공식 이미지]가 있기 때문에 공식 이미지를 사용하였다. 1. 도커 이미지 다운 및 컨테이너 생성 do..

2020.08.08 게시됨

개발

[Linux] Swap Space를 통해 가상메모리 추가하기

목차. 1. 계기 2. 적용 과정 2-1. htop을 통한 서버 상태 확인 2-2. Swap Space 적용 2-3. Swap Space 제거 1. 계기 필자는 해커톤, 학교 과제, 공모전 등에서 서버로 AWS EC2 프리티어를 자주 애용하는 편이다. 하지만 EC2 프리티어의 최대 메모리(RAM)은 1GB 이고, 운영서버에서 이를 초과하면 인스턴스는 바로 죽어버린다. 당연히 ssh 접속도 안되며, AWS-CLI나 패널 등을 통해 인스턴스를 재부팅해야만 한다. 사실 메모리를 늘리면 해결될 일이지만, 돈을 안들이고 해결하는 방법을 찾고 싶었다. 이런 상황을 막기 위해 고민을 하던 도중.. 대학교 컴퓨터 구조 시간에 배운 가상메모리가 떠올라서 Swap Space을 적용을 시켜보았다. Swap Space은 가상..

2020.08.08 게시됨

일상/취준

[인생] 네이버 웹툰 개발자 인턴

2020년에 네이버 웹툰 체험형 인턴십에 선발되어 약 3개월 가량 인턴생활을 하였다. 당시 대학교를 졸업한 상황이 아니여서, 학교에 취업계를 내고 인턴생활을 하였다. 학교 과제와 인턴 과제가 겹쳤을땐 얼마나 짜릿했는지.. ㅎㅎ 직무 서버개발 채용 프로세스 서류 전형 - 오프라인 면접 1회 (기술면접 + 코테) - 인턴 인턴 후기 학부생때는 상상도 할 수 없는 것들을 배웠다. 이전까지만 해도 나는 AWS 조금, Spring 조금 이런형태로만 배웠었는데 당장 인턴을 시작하니 k8s, gRPC, Kotlin, Spring WebFlux, Redis, Memcacheded등 친숙하지 않은 기술들이 여기저기서 튀어나왔다. 오죽했으면 내가 인턴 서류와 함께 자신있게 냈던 프로젝트들이 지금보면 아무것도 아닌 애들장난..

2020.07.26 게시됨