앞으로의 목표 👍
- javascript 능력 및 고난도 알고리즘 풀이 능력
- Nest, Graphql등 최신 기술 스택 활용 능력
- 기초 미니프로젝트 포트폴리오
- 로그인, 결제기반 심화프로젝트 포트폴리오
- 배포를 위한 네트워크 및 CI/CD 배포자동화 능력
- 120% 백엔드 개발 지식
오늘부터 꾸준히 해야할 일 👍
- 영타실력 늘리기
- 단축키 사용 익숙해지기
- 코드리딩 실력 키우기
- 데일리 퀴즈
- 포트폴리오 작성
- 독스에 친숙해지기
- MDN 보는 연습하기
오늘의 수업 👍
📝 수업 메모
▶ TCP
는 연결이 성공해야지만 통신이 가능하고, 신뢰성 있는 데이터를 전송한다(정확성 추구). 제대로 데이터를 주고 받았는지 확인 절차를 거쳐야 하므로 속도가 느릴 수 있지만 안전하다.
▶ UDP
는 연결 없이 통신이 가능하고, 신뢰성을 보장해 주지 않아 안전성이 떨어질 수가 있습니다. 속도가 빠른 것이 특징이다.
▷ up과 up -d의 차이
▶ up
- 언제든지 control + c 로 서버 종료 가능 : 해당 터미널내에서만 서버가 열리게 되는 Foreground Process(포그라운드 프로세스)
- 서버가 올라가는 로그를 눈으로 확인할 수 있다.
- 서버 종료가 쉽게 이루어지기 때문에 실제 배포는 포그라운드에서 진행되지 않는다.
▶ up -d
- 화면 뒤에서 서버가 실행되는 Background Process(백그라운드 프로세스)
- 서버가 올라가는 로그가 눈에 보이지 않는다.
- 실제 배포는 백그라운드로 이루어진다.
📝 배포 환경(local, dev, stage, prod) 분리
- 프로젝트를 서버에 배포할 때, 배포 환경에는 4단계가 있다.
▷ 1단계 local
- 우리가 각자의 컴퓨터로 계속 작업하고 있었던 환경을 말한다.
- localhost를 사용하는 개발 환경이다.
- 여기서 배포하면 내 컴퓨터에서만 접근할 수 있다.
▷ 2단계 dev
- 나 혼자만의 작업환경을 넘어서, 프론트엔드와 백엔드를 합쳐서 테스트 해 볼 환경이 필요하다.
- 개발자들이 실제 서버 환경에서 테스트 하면서 개발할 수 있다.
▷ 3단계 stage
-
예를 들어 버전 1을 prod에 배포하고 서비스를 운영한다. 새로운 기능을 추가한 버전2를 dev에서 개발자들이 만들었다.
-
버전 2가 실제 서비스에 배포해도 될 정도의 수준으로 완성을 했다면, prod 환경이랑 동일하게 stage 환경을 만들어 stage에 배포를 하게된다. 그리고 기획자, PM, 디자이너 등이 stage에 올라간 것으로 테스트를 해본다.
-
stage는 실서비스 수준으로 배포하기 때문에, 여기서 버그가 발생되지 않는다면 테스트용으로 만들어진 DB만 제외하고, prod로 배포한다.
-
이외에도 필요에 따라 더 다양한 단계를 구성하기도 한다.
▷ 4단계 prod
- 개발을 완성한 다음에 실제로 서비스를 배포하고 운영하는 환경을 말한다.
- prod는 production의 약자이다.
- 여기에 있는 DB는 실제 유저의 DB이기 때문에 매우 중요하고 함부로 삭제하면 안된다.
오늘은 이론 수업보다는 실습 위주의 수업을 했다.
어떤 실습을 했냐면 배포 환경(local, dev, stage, prod) 분리 실습, DB 만들기 실습, SQL 인스턴스와 Backend 서버 연결하기 실습, Docker root 권한 해제 실습 등을 했다. 실습이 많아서 에러가 많아지니까 멘탈이 안좋아졌지만 포기하지 않고 끝까지 열심히 따라갔다.
오늘의 마무리 👍
- 복습
- github 공부
- 블로그 포스팅
- 데일리 퀴즈
- 알고리즘 문제 풀기
항상 겸손한 자세로 배우면서 성장하자, 할 수 있다!! 💪
출처 : 코드캠프