[인프런 워밍업 클럽 1기/BE] 세번째 발자국

[인프런 워밍업 클럽 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을 사용한다

 

gitgithub

  • 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 의 쿼리 작성을 연습해볼 수 있었다.

댓글을 작성해보세요.

채널톡 아이콘