![[Spring Boot] AOP를 이용한 Logging 설정](/assets/img/posts/velog/ae2ffae43f89639e8afc.png)
[Spring Boot] AOP를 이용한 Logging 설정
Spring Boot에서 다음과 같은 설정을 통해 api를 호출 시 수행되는 쿼리에 대해 출력되도록 설정하였다.
![[Spring Boot] AOP를 이용한 Logging 설정](/assets/img/posts/velog/ae2ffae43f89639e8afc.png)
Spring Boot에서 다음과 같은 설정을 통해 api를 호출 시 수행되는 쿼리에 대해 출력되도록 설정하였다.
![[Spring Boot] 게시글 조회수 (+중복 방지) 구현](/assets/img/posts/velog/d1b9257ca78cda8e9d18.png)
게시글의 조회수를 구현하고자 고민을 하였다. 게시글을 불러올 때마다 조회수를 증가시킨다면 무분별한 새로고침으로 조회수 조작이 가능해진다. 이를 막기 위해 하루에 한 번 게시글을 조회할 때 조회수를 증가시키는 방향을 고려하였다.
![[Spring Boot] 카카오, 구글 소셜 로그인 구현 (객체지향적 관점으로)](/assets/img/posts/velog/19872294830bb6b4f31f.png)
게시물을 올리는 간단한 프로젝트에서 소셜 로그인을 카카오와 구글 두 개로 진행하기로 결정했다.
다익스트라 알고리즘(Dijkstra Algorithm)은 어느 한 노드에서 다른 모든 노드까지의 최단거리를 구하는 알고리즘이다.
![[Spring Boot] 프로젝트 배포 + CI/CD (github action, docker)](/assets/img/posts/velog/7d19d19a81f4ea02a42c.png)
더 많은 기능을 구현하기 전에 배포를 하기로 결정하였다. 예전에 플젝을 진행하면서 배포를 시도해보았는데, 성공은 커녕 아직 역량이 부족하다고만 느낄 수 밖에 없었다. 해당 프로젝트는 나도 모르게 그동안 부족했던 부분을 중점적으로 진행하게 되는 것 같다. 역량이 부족하여 실패했던 경험을 토대로 다시 도전하여 차근차근 쌓아나가는 것을 보면 못할건 없다는 생각...

Gradle은 빌드 자동화 시스템으로 빌드, 테스트, 배포와 같은 작업을 자동화하는 데 사용된다. Java와 같은 다양한 언어와 플랫폼을 지원한다. 다른 빌드 도구로는 Apache Maven, Apache Ant가 있다.
![[Spring Boot] Spring Security Form Login + Kakao Login (Social Login) + JWT 인증 구현](/assets/img/posts/velog/8ed130e0e83e6663f3b7.png)
저번에 Form Login을 구현하였고, JWT토큰과 Spring Security를 활용해 인증과 인가 처리를 구현하였다. 이번에는 여기에 Social Login인 Kakao Login을 구현하려고 한다.
![[Spring Boot] Spring Security Form Login + JWT 인증 구현](/assets/img/posts/velog/c7b42a21a1c05e8b409f.png)
세션을 사용하지 않는 JWT 인증 방식을 사용하는 Form Login을 구현해보았다.
![[Spring Boot] Spring Security - Form Login 구현](/assets/img/posts/velog/12ef659fdc8c53b3df75.png)
Spring Boot를 처음 시작할 때부터 나를 괴롭혀왔던 로그인 부분을 확실하게 하고자 정리하게 되었다.
![[Spring Boot] Spring Boot, MVC 패턴, IoC](/assets/img/posts/velog/1b0c8b3363d1e34422c8.png)
Spring Framework에 기반한 자바 애플리케이션 프레임워크이다. 웹 애플리케이션을 구성하기 위한 복잡한 과정과 설정, 기능들을 자동으로 제공하여 빠르고 편리한 개발을 가능하게 해준다.