본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.




패스트캠퍼스의 '9개 도메인 프로젝트로 끝내는 백엔드 웹 개발 (Java/Spring) 초격차 패키지 Online' 강의 수강 48일차!
오늘은 Websocket을 활용한 실시간 메시징 도메인 서버의 회원가입 기능 구현을 위한 docker와 Spring Data JPA에 대한 개념 학습을 진행하였다.
카카오톡 인증을 통해 카카오톡으로부터 사용자 정보를 받아오고, 이 정보들을 이용해서 우리의 채팅 서비스에 회원 정보가 있는지 확인하여 (회원 정보가 없다면) 카카오톡에서 받아온 정보로 회원가입을 시키고, (회원 정보가 있다면) 로그인을 완료하도록 구현하는 작업을 진행하기로 했다.
이번 강의에서는 구현에 들어가기 전, 사용할 기능들에 대한 개념 학습을 먼저 진행하였다.
Docker
: 컨테이너 기반의 오픈소스 가상화 플랫폼 (컨테이너: 프로세스를 격리시켜 동작할 수 있도록 표준화된 패키징)
- 컨테이너 내에는 소프트웨어가 작동하는 데 필요한 라이브러리, 시스템 도구, 코드, 런타임 등을 모두 포함하고 있기 때문에, 환경에 구애받지 않고 어플리케이션을 배포 및 확장할 수 있다는 장점이 있다.
- image라고 하는 어플리케이션 실행에 필요한 모든 것들을 포함하는 템플릿을 사용하여 실행된다.
- 기존의 가상화 기술은 OS부터 어플리케이션까지 모든 구성 요소를 가상화했다면, 도커는 호스트 OS는 컨테이너 간 커널을 공유하고, OS 위에서 작동하는 프로세스에 필요한 것들만 가상화한다. => 가볍고 안정적
MySQL
: 대표적인 오픈소스 RDBMS
Spring Data JPA
: 스프링 프레임워크에서 데이터 접근 계층을 간편하게 구현할 수 있도록 도와주는 모듈
- Query Method: 메서드 이름을 기반으로 하여 JPA의 쿼리를 자동으로 생성해주는 기능
노트북을 바꾸기 전에 사용하던 기기에서는 MySQL을 직접 설치하여 사용한 적이 있다.
도중에 충돌이 생겨 지웠다가 다시 설치해야 하는 상황이 생겼는데, 곳곳에 남아있는 설정들 때문에 꽤 고생을 했던 기억이 난다.
이번에는 깔끔하고 편하게 작업을 진행하고 싶어 사용해야 하는 것이 있다면 도커를 사용하고 있는데, 너무 만족스럽다!
로컬에서 사용하는 것만 아니라 배포 작업 등에도 도커를 사용해보고 싶다.