학교에서 주관한 프로그램을 통해 우아한형제들에 계시는 시니어 개발자분으로부터 자바 스프링을 이용한 웹서버 구축과 전반적인 지식을 배울 수 있는 소중한 기회가 있었다. 본 글은 프로그램에서 배운 내용들에 대해 정리하는 글이다.
해당 글은 키워드를 중심으로 작성하였으며, 추후 꾸준히 내용을 채워넣으며 리팩토링할 예정이다.
1주차
- 테스트 코드의 중요성 :
- 개발단계 초기에 문제를 발견하게 도와준다.
- 나중에 코드를 리팩토링하거나 라이브러리 업데이트 등의 변화가 있을 때 기존 기능에 영향이 있는지 없는지 쉽게 판단할 수있다. (예: 회귀테스트)
- 기능에 대한 불확실성을 감소시킬 수 있다.
- 단위 테스트 자체가 문서로 사용될 수 있다.
- IDE에 의존하지 않고 명령어로 서버 실행해보기
- ./gradlew dependencies 명령어 : 어떤 라이브러리가 서로 의존적인 관계에 있는지 알수 있다.
- ./gradlew clean test : gradle 내부에서 지원하는 명령어, CoC로 되어있다.
- 데이터의 개수가 억 단위가 넘어가게 되면, 이를 관리하기 위해 인덱스, 캐시, 클리스터링 등의 방법 사용
2주차
- CRUD 기능 구현은 기본베이스
- if 조건문을 많이 사용하면 가독성이 떨어져 추후 유지보수가 힘들어짐
- JPA, ORM에 대한 설명
- 요즘 추세는 ERD를 직접 설계하지 않는 편임
- 깃허브에서 검색하는 방법
<참고>
https://hirlawldo.tistory.com/128
3주차
- Optional 타입을 사용하는 이유 - NPE 예방
- 현업에서 가장 많이 사용하는 것 --> stream (그래서 면접에서도 자주 물어보는 내용)
- 자바에서 가장 중요한 것 : NullPointer이 생기지 않도록 하는 것
- System.out.print가 아닌 로그로 확인할 것!
- @Controller와 @RestController의 차이점
- php, asp, jsp 설명 - html을 그대로 내려주지 않았음
- Ajax : 자바스크립트에서 서버에 데이터를 요청하는 기술(GET 요청 등)
- HttpServlet 설명
- 테스트 코드를 작성해두면 코드를 수정할 때마다 회귀테스트를 하기에 용이함 -
- 회귀테스트 : 소프트웨어는 계속해서 변화하지만 이전 내용은 계속 잘 실행되어야 하는 것
4주차
- Lombok에 대한 설명
- 자바 코드 컨벤션에 대한 설명
- Restful API에 대한 설명
- 타입에서 Wrapper 클래스와 primitive 클래스의 차이점
- 문법 of : Dto에서 Entity의 값을 이용하기 위해 사용
- Lombok의 @Builder가 Entity 밖으로 나오는 것은 지양해야함
5주차
- CI/CD : 지속적인 통합, 배포
현업에서는(완전 스타트업이 아닌) 개발하는 것보다, 개발한 것을 변경하는 경우가 훨씬 더 많음. 그래서 소스가 어떻게 돌아가는지 파악하는 능력이 중요함. 커밋을 한번 하고나면, 통합테스트를 실시하여 기존의 로직에 영향을 주지 않는지 확인하는 것 중요함
그런데 이렇게 하나 수정하고 테스트 돌리고 하는 과정이 소요값이 작지 않기때문에, 이를 도와주는 각종 툴을 사용하면 유용한데, 이렇게 도와주는 작업을 CI라고 함
CI : 지속적으로 테스트코드를 돌리면서 확인해줌
CD : 완성한 코드를 지속적으로 배포/제공해줌
CICD에는 여러가지 방법(툴)이 있는데, 요즘 많이 사용하는 툴은 깃허브 액션 (젠킨스 또한 많이 사용함)
깃헙 엔터프라이즈를 사용하면 public한 환경인 깃허브에서 private하게 사용 가능
- github와 slack을 연동하여 CI/CD 기능 구현해보기
- git 명령어(rebase, reset 등등)
- git clone과 fork의 차이
6주차
- Spring Security
- ELK(Elastic Search, Logstash, Kibana)
- CDN - 요즘은 on-demand 방식보다도 event-driven 방식이 대세
- 쿠버네티스(+ 미니쿠베)
- kafka, 그라파나, spring actuator, inluxdb, 프로메테우스
- 현업에서는 일정을 맞추는 것이 주안점임
'기타' 카테고리의 다른 글
[취준] 싸피 SSAFY 12기 전공반 지원 후기 (9) | 2024.07.16 |
---|---|
[우아한테크코스] 프리코스 3주차 회고 (0) | 2023.11.22 |
[우아한테크코스] 프리코스 2주차 회고 (0) | 2023.11.03 |