🔍 LV.1
- 1.코드 개선 퀴즈 - @Transactional의 이해 :
- 에러로그를 확인하고 코드를 확인하니 트랜잭션이 readOnly= true로 되어있어서 saveTodo에 따로트랜잭션을 검사
- 2. 코드 추가퀴즈 - JWT의 이해 : 토큰에 닉네임 정보를 추가(claim)
- 3. 코드 개선 퀴즈 - JPA의 이해 : 날씨도 검색에 활용할 수 있도록 jpql로 리팩토링
- 4. 테스트 코드 퀴즈 - 컨트롤러 테스트의 이해 : 반환 상태메시지가 달러서 기대에 맞는 반환타입으로 결과를 변경
- 5. 코드 개선 퀴즈 - AOP의 이해 : 조건에 맞도록 Before 어노테이션을 활용해 changeUserRole전으로 순서 변경
🔍 LV.2
- 6. JPA Cascade : cascade = CascadeType.PERSIST를 추가해 자동으로 등록되도록 함
- 7. N+1 : fetch join을 활용해서 문제를 해결
- 8. QueryDSL : 기존 JPQL을 QueryDSL로 리팩토링
- 하는 과정중 Q파일이 제대로 생성이 안되어 gradle.wrapper를 강제로 프로젝트에 넣어서 해결
- 9. Spring Security : 스프링 시큐리티를 도입하면서 기존에있던 필터나 여러 설정 클래스들을 삭제 또는 병합
🔍 LV.3
- 10. QueryDSL 을 사용하여 검색 기능 만들기 : QueryDSL을 활용해서 더 복잡한 검색기능을 구현
- 11. Transaction 심화 : 매니저 등록 요청시 로그를 DB에 남기고 트랜잭션을 활용해 등록에 실패해도 로그에 저장되게 함
- 12. AWS 활용 : EC2, RDS, S3를 활용해서 클라우드 업로드나 배포 환경을 구축 생각보다 어려웠다 시간을 제일 많이 사용
- 연휴 중에 들어가보니 과금이 되어서 이유를 찾아보니 ec2 인스턴스를 중지 시켜놓고 탄력주소를 가지고 있으면 과금이 되는구조... 무섭다 아마존
- 13. 대용량 데이터 처리 : 100만건의 유저 데이터를 닉네임 조건으로 검색하는데 닉네임에 유니크 키를 걸어 fk 생성하여 검색 속도를 개선 + 좀 더 복잡한 환경에서 개선을 보고 싶어 나만의 실험을 진행
[SPRING] 조건 검색 개선 (인덱싱, 파티셔닝, 분리 조회)
📝 실험 배경아래 포스트에서 최적 복합 인덱스로 성능 개선을 느낀적이 있었다. 이번에는 그걸 넘어서 파티셔닝으로 성능 개선을 느끼는게 목적이다.https://sukh115.tistory.com/84 [SPRING] 뉴스피드
sukh115.tistory.com
🔍 LV.4 Kotlin 적용하기
자바와 코틀린 사이에 유사한점과 다른점이 많아서 공부할 때 머리가 많이 아팠는데 조금 적응을 하니 비슷한 CRUD는 금방 리팩토링을 진행 했다. 코드 구조가 좀 달라서 아직 공부해야 할 점이 많다 .
자바와 다른 클린코드? 구조를 가지고 있어서 이번에는 자바를 좀 많이 따라가서 다음번에는 더 공부하고 작성 해 볼 예정이다.
🤔 종합 회고
이번 과제 aws 전까지는 복습을 하는 기분이어서 금방 해결했는데 아니나 다를까 새로운 aws가 나오자 마자 시간을 도둑 맞았다.
aws와 코틀린에 대해서 처음 공부하는 시간이었고 코틀린의 장점을 조금 맛본 기분이다.
가장 인상 깊었던것은 13번 대용량 데이터 처리에서 튜터님의 고정관념을 깨라는 말씀에 DB에서 해결하려는걸 버리니 어마어마한 개선이 나왔는데 사고의 폭을 넓히는 것이 중요하다를 느꼈다.
'TIL' 카테고리의 다른 글
| [250516 TIL] 실전 팀 프로젝트 시작 (3) | 2025.05.16 |
|---|---|
| [250429 TIL] 배달 어플 아웃소싱 프로젝트 회고 (1) | 2025.04.29 |
| [250425] 배달어플 알림(SSE) + 토큰 쿠키 리팩토링 (2) | 2025.04.25 |
| [240424] 회원 기능 테스트 코드 (2) | 2025.04.24 |
| [250423 TIL] 배달어플 소셜로그인 (1) | 2025.04.23 |