[인프런 워밍업 클럽 1기/BE] 세번째 발자국
인프런 워밍업 클럽1기 세번째 회고록
Day11: 기본적인 배포를 위한 준비
Day12: AWS와 EC2 배포
Day13: Spring Boot 설정, 버전업
Day14: 마무리
[Day11] 기본적인 배포를 위한 준비
https://warp-fig-837.notion.site/Day11-847e0e87085d4dd897d3b38924dc9dd3?pvs=4
배포가 무엇인지 이해하고, 배포를 하기 위한 준비 과정 중 profile 설정과 git/github에 대해 배울 수 있었다. 앞서 작성한 library application 코드에 profile을 적용해 local profile에서는 h2 DB를 , dev 환경에서는 MySQL 을 사용하도록 설정할 수 있었다.
배포란 무엇인가?
최종 사용자에게 SW를 전달하는 과정
= 전용 컴퓨터에 우리의 서버를 옮겨 실행시키는 것
전용 컴퓨터에 코드를 옮기고 필요한 프로그램을 설치해 최종 사용자가 접속할 수 있도록 한다.
profile
동일한 서버 코드를 실행시키지만 실행 설정을 다르게 하고 싶을 때 profile을 사용한다
git과 github
git
코드를 쉽게 관리할 수 있도록 해주는 버전 관리 프로그램
github
git으로 관리되는 프로젝트의 코드가 저장되는 저장소
[Day12] AWS와 EC2 배포
AWS의 EC2를 이용해 서버를 배포하는 방법을 배울 수 있었다. 이전에 배포를 해보고 싶어서 AWS의 EC2를 사용해본 적이 있었는데, 무엇을 해야 하는지 여러 블로그를 참고해가며 진행하느라 시간이 오래 걸렸었다. 이번 강의를 통해 EC2 배포를 따라해보며 손쉽게 정돈된 절차를 익힐 수 있어서 유익했다.
[Day13] Spring Boot 설정, 버전 업
https://warp-fig-837.notion.site/Day13-Spring-Boot-cc0fc9ac855546d591b4c4a1ff4d2ab9?pvs=4
스프링과 스프링 부트는 무엇이 다른지 관계를 알아보았다. 그리고 스프링부트의 build.grale , application.yml 파일이 무엇이고, 어떤 역할을 하는지 문구를 하나씩 살펴보았다. 또한 lombok 어노테이션 도입해보면서 왜 해당 어노테이션을 사용하는지 이해할 수 있었다.
Spring과 Spring boot
Spring boot는 Spring에서 어떤 부분이 업그레이드 된 것일까?
간편한 설정 → xml 대신 Java 어노테이션을 사용해 기본적인 설정들을 자동으로 해줌
간단한 의존성 관리 → 의존성을 묶어
starter로 관리함강력한 확장성 →
starter추가만으로 원하는 기술 도입 가능내부 톰캣 내장 → 간단한 배포 과정
MSA에 적합한 모니터링
build.gradle
빌드 스크립트
gradle을 이용해 프로젝트를 빌드하고 의존성을 관리하기 위해 작성한 파일
application.yml과 application.properties
스프링부트 설정에는 application.yml or application.properties가 쓰인다
Lombok
보일러 플레이트 코드(boiler plate code)의 번거로움을 해소하기 위해 사용
getter, setter, 생성자, equals, toString을 자동으로 만들어줌
[Day14] 마무리
워밍업 클럽 백엔드 스터디를 통해 스프링부트로 서버를 만들고 배포하는 전체적인 과정을 쉽고 빠르게 경험해 볼 수 있었다. 강의 진행 커리큘럼과 과제 제출 날짜가 정해져 있었기 때문에 미루거나 포기하는 일 없이 수강을 완료할 수 있었던 것 같다. 특히 2차례의 Live QnA가 정말 유익했는데, 앞으로 어떤 방향으로 공부해야 할 지 방향성을 잡는데 도움이 되었다.
예전에 자바를 배운 적이 있어 무작정 스프링부트로 백엔드 공부를 시작한 상태였는데, 백엔드 개발자를 목표로 한 걸음 더 나아가려면 자바와 더 친해져야 할 것 같다고 느끼게 되었다. 우선 워밍업 미니 프로젝트를 어느 정도 마무리하면 자바 기초를 복습하고 좀 더 딥한 내용까지 살펴보려고 한다.
제출 과제
[과제6] Controller 역할 분리
이전 과제에서 작성한 코드를 Layered Architecture의 Controller, Service, Repository 에 맞춰 역할을 분리했다. @Primary나 @Qualifier 어노테이션을 사용해 두 가지 Repository를 교체해 사용하는 것을 연습해볼 수 있었다.
[과제7] JPA 연습하기
이전 과제에서 작성한 코드에 JPA를 도입하고 추가적인 API를 작성하는 과제였다. 과일의 개수를 세거나 특정 기준을 만족시키는 금액을 계산하는 API를 만들어보며 Spring Data JPA 의 쿼리 작성을 연습해볼 수 있었다.
댓글을 작성해보세요.