리팩토링 할 코드 POST /api/v1/comment 댓글을 작성한다. 댓글 작성 API의 비즈니스 로직을 위한 전제 조건은 다음과 같다. 1. Client에서 댓글 작성을 요청한다. 2. 댓글의 구조는 원댓글-대댓글을 구별하기 위해, Comment Entity는 원댓글에 대한 필드인 OriginalComment 라는 Comment 를 가진다. @Transactional public void create(CreateCommentRequest request) { Users user = getUser(request); Posts post = getPost(request); Comment originalComment = null; if (request.getOriginalCommentId() != null)..
Dependency Injection Inversion of Control 이라고도 하는 의존성 주입(Dependency Injection) 객체가 사용하는 의존 객체를 직접 만들어 사용하는게 아니라, 외부에서 주입 받아서 사용한다. 때문에 객체는 자신이 어떤 구체적인 클래스에 의존하는지 알 필요 없이, 주입 받은 인터페이스나 클래스를 사용할 수 있다. 의존성 주입에는 3가지 방법이 존재한다. 1. @Autowired 2. Setter 3. Constructor 생성자 주입 그 중 1. @Autowired 는 권장되지 않는 방법으로, 인텔리제이에서도 Field Injection is not Recommended 라고 경고를 띄워준다. Field Injection is not Recommended. 필드 ..
3주간 프로젝트를 마치고 회고록을 씁니다. 앞으로 남은 과제들이 많아서 해당 부분들은 차차 업데이트 할 예정입니다. 개발 배경 “네카라쿠배 개발자와 함께 Spring으로 인스타그램 서버 만들기” 라는 딥다이브(클론 코딩 챌린지) 에 참여하게 되었다. 챌린지의 주된 목표는 인스타그램 API 개발과 함께 1. Spring Security & JWT 사용 2. CI/CD 파이프라인을 구축하여 자동화 배포하는 것이다. 진행 중인 하루냥 프로젝트에서 Spring Security 에 대한 이해도 부족, 젠킨스 자동화 배포 구현 실패 경험으로 스스로 완성해보자는 목표가 있었다. 구현기간 23.03.24 ~ 23.04.13 (3주) 깨달은 점 강의로만 보던 스프링 시큐리티는 직접 구현하다보니 생각보다 더! 많이! 복잡..
- Total
- Today
- Yesterday
- MongoDB
- MultipleBagFetchException
- Spring Security
- 오블완
- ChatGPT
- 추상클래스
- bucket4j
- port
- 티스토리챌린지
- checkout
- Cannot construct instance of
- Git
- spring boot 3
- Java
- redisson 분산락
- dto 클래스 생성자
- junit5
- n+1
- JPA
- addFilterBefore
- array
- 자바 어플리케이션 실행 과정
- jvm warm-up 전략
- 스프링 스케줄링
- 스프링오류
- Linux
- FetchJoin
- QueryDSL
- 배열
- Kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |