우아한 테크 코스 Pro, 4주차 과제 - 그럴듯한 서비스 만들기 Step1 - 서비스 구성하기 Step2 - 서비스 배포하기 왜 Public Cloud인가?! 관심사를 분리하여 우리가 집중해야할 대상에 더욱 더 집중하기 위해서 즉 비즈니스(사업) 로직을 구현하는데 온 힘을 쏟아야한다!! 그러기 위한 환경을 구축해야한다. ...
우아한 테크 코스 프로, 3주차 인수 테스트 주도 개발
우아한 테크 코스 Pro, 3주차 과제 - 인수 테스트 주도 개발 Step1 - 지하철 노선 관리 Step2 - 인수 테스트 리팩토링 Step3 - 구간 추가 기능 Step4 - 구간 제거 기능 ATDD 도입 배경 상황 기존 TDD를 이용하여 레거시 프로젝트 리팩토링을 진행하려고 함 하지만 도메인에 대한 이해도 부족으...
우아한 테크 코스 프로, 2주차 JPA
우아한 테크 코스 Pro, 2주차 과제 - JPA Step1 - 엔티티 매핑 Step2 - 연관관계 매핑 Step3 - 질문 삭제하기 리팩터링 코스에서 소개된 내용만 간단하게 포스팅하겠습니다. JPA 자세한 내용은 다른 탭에서!! JPA 등장 배경 객체를 중심의 패러다임(객체 지향)과 테이블 중심의 패러다임은 차이가 있다. ...
우아한 테크 코스 프로, 1주차 로또 TDD 회고
우아한 테크 코스 Pro, 1주차 과제 - 로또 TDD Step1 - 학습 테스트 실습 Step2 - 문자열 덧셈 계산기 Step3 - 로또(자동) Step4 - 로또(2등) Step5 - 로또(수동) TDD란? TDD: TFD(Test First Development) + 리팩토링 프로그래밍 의사 결정과 피드백 사...
SpringBoot Graceful shutdown
Graceful? 이 뭐지..? 말 그대로 “우아한”, “그레이스하게”… 뒤에 shutdown을 붙여보면 어플리케이션을 우아하게.. 셧다운 시키겠다는 뜻 같다..(네이밍 기원은 모르겟습니다) 왜 필요할까..? 등장 배경 일반적으로 리눅스 OS에 띄워진 어플리케이션을 종료시킬때는 kill 명령어를 이용하여 진행하게 됩니다. 옵션...
우아한 캠프 프리코스 1주차 피드백
우아한 캠프 프리코스 1주차 피드백 참조 링크 이름을 통해 의도를 드러내라 변수 이름, 함수 이름, 클래스 이름을 짓는데 시간을 투자해라. 연속적인 숫자를 덧붙인 이름(a1,a2…) 불용어(info, Data, a, an, the)를 추가하는 방식은 적절하지 못하다. 축약하지 마라 의도를 드러낼 수 있다면 이름이 길어져도 괜찮다....
2021년 04월 28일, Daily Comment
gz 압축하기, 압축풀기 gzip {대상 파일} gzip -d {압축 파일명}.gz squash merge commit a+b+c를 합쳐서 새로운 m을 생성하여 target 브랜치에 추가(merge) commit a+b+c를 합쳐서 새로운 commit abc를 생성하고 target 브랜치에 추가 ( squash and Merge ...
2021년 04월 20일, Daily Comment
git 삭제되어 이미 원격저장소에 올라간 파일 복구하기 참고 자료 git checkout {commit hash code} – {file full path} ex) git checkout e652e1^ – src/main/java/com/example/example.txt commit hash code: 복구하고자하는 파일이 ...
2021년 04월 18일, Daily Comment
MappingJackson2HttpMessageConverter Spring MVC에서 REST API를 지원하기 위해 Jackson 라이브러리를 이용하여 response를 json 형태로 변경하는 Converter Converter를 기존 체인에서 추가하고 싶으면 WebMvcConfigurer를 구현한 클래스의 con...
Object Mapping 어디까지 해봤니?
Object Mapping 어디까지 해봤니? 참조 링크 Object Mapping 라이브러리인 MapStruct API 버전 별 객체, 비즈니스 로직, 레이어간 객체와 객체간 매핑시 사용한다. 등장 배경 Spring Framework 개발 환경을 예로, 각 레이어(Controller, Service, Repository 등)에서 데...