인프런 워밍업 스터디 클럽 0기 BE - 3주차 발자국
드디어.. 마지막 주차의 발자국을 써보려고 한다!! 잘 달려왔다ㅎㅁㅎ
학습 내용 요약
이번주에는 배포에 대해서 학습해보았다.
배포를 하기 위해서는 우선 전용 컴퓨터가 필요하다.
전용컴퓨터에서는 우리 컴퓨터에 있는 코드를 옮겨야 하고, 우리 컴퓨터에 세팅된 환경을 전용 컴퓨터에서도 동일하게 세팅해둬야한다.(mysql이나 java설치 등)
Profile
그래서 동일한 서버코드를 사용하더라도, 실행이 될 때 우리 컴퓨터의 mysql을 쓸지 전용컴퓨터의 mysql을 쓸지를 다르게 설정함에 따라서 테스트를 해본다던지.. 등등이 가능할거다. 이러한 역할을 하는게 profile이다.
넷플릭스를 볼 때, 친구들이랑 넷플릭스를 공유하고 4명의 프로필을 다르게 설정해서, 같은 아이디로 접속해도 다른 프로필을 고르면 각각의 다른 알고리즘이 적용된 자신만의 넷플릭스를 이용할 수 있다.
이처럼 profile을 쓰면 자신이 다르게 설정하고 싶은 게 무엇인지에 따라, 동일한 서버 코드를 우리컴퓨터 mysql, 전용 컴퓨터 mysql 이런식으로 분리해서 돌려볼 수 있다는 말이다.
AWS의 EC2
배포를 위해서 다양한 전용컴퓨터를 이용할 수 있는데, AWS의 ec2를 사용해보았다.
ec2에 mysql 등을 설치하는 과정이 필요한데,,,
정확한 에러메시지를 캡처해두진 않았으나 설치과정에서 오류가 나서 꽤 오랜시간을 애먹었다.
그러다가 아마존 리눅스 버전에 따라 설치해야 하는 레포지토리 버전도 맞춰줘야 하는데,
강의자료에 있는 것이 옛날 버전(?) 임을 알게 돼서 겨우 해결했다.
알고보니 강의노트에 태현님이 써두셨는데, 미리 발견을 못해서.....ㅜㅜㅜㅜㅜ너무 슬펐지만
어쨌든 혼자 찾아 해결한거에 의의를 두려고 한다.
참고)
https://jinhos-devlog.tistory.com/entry/MySQL-8-Community-Edition-%EC%84%A4%EC%B9%98-%EC%A4%91-%EC%98%A4%EB%A5%98
Lombok
프로젝트 진행하면서 디스코드 채널에 다른 분들이 하는 얘기를 보면 lombok이라는 단어가 종종 등장했었는데,
이게 애당초 뭔지를 몰라서 그냥 내가 모르는게 많구나..했었다.
근데 프로젝트 하면서 제일 많이 반복 작성했던게 생성자, getter (보일러 플레이트 코드)였는데 이거를 내가 굳이 작성하지 않아도 자동으로 생성해주는게 lombok 라이브러리임을 알게 되었다.
사용방법은 lombok의존성을 추가하고,인텔리제이에서 플러그인을 추가한 후에
@Getter, @NoArgsConstructor @RequiredArgsConstructor
이런 어노테이션을 추가해주기만 하면 된다.
학습 회고
진도나가는거에 급급해서 제대로 이해 못하고 넘어간 부분이 많은거 같은데, 이제 프로젝트도 끝났으니 빠르게 복습을 해보려고 한다. 복습하면서 제대로 이해하지 못하고 넘어갔던 개념들을 다시 자세히 살펴보고, 프로젝트를 만들어봐야지.
미션
해결 과정 및 프로젝트 진행방식 등등은 아래 노션에 정리를 해두었다!!
https://www.notion.so/2500eeec60d54407bb5431c48e3dcc94
미션 회고
스터디를 3주가량 진행 하면서 다른 분들이랑 코드 리뷰도 해보고 싶고, 사이드 프로젝트도 해보고 싶었는데...
내가 그 정도 수준이 아님을 알게되었다. 자바 기본도 제대로 다져놓지 않아서 모르는거 투성이였고
기본 강의를 병행해가며 듣다보니 많이 벅찼던 것 같다. 그럼에도!! 객체지향 언어를 절차지향적으로 짜는게 스스로가
한심하다가도..!!! 처음 외국어를 배우는것과 동일하게, 난 자바라는 언어를 안지 한달 정도 밖에 안됐고
그 언어를 화려한 문법과 정돈된 글씨체로 쓰지는 못해도 내가 구현하고 싶은걸 어떻게든 이 언어를 써서 했다는거 자체에
너무 큰 의의를 두고 싶고 스스로를 칭찬하고 싶다.
모르는게 아는것보다 많은 지금이 어쩌면 제일 성장이 가파른 때일테니 성취감도 느껴져서 좋기도 하다!
수료식 전 당장의 일주일 동안은 자바 기본강의 + 이 강의를 복습하며 응용해 나갈 계획이다.
댓글을 작성해보세요.