HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧚
[1기]최종 프로젝트 데브코스
/
📜
[팀13] 사각사각 ✏️
/
🎇
자료 공유
🎇

자료 공유

 
AWSSpringGradleAPI 문서이벤트 소싱 (CQRS)JPA동적쿼리페이지네이션트랜잭션SecurityJAVAToolHTTPLOMBOKTEST데이터 베이스

AWS

AWS / CloudWatch / 로그 파일 지정과 로그 이벤트 수집
EC2에 CloudWatch Agent 구성하여 모니터링하는 방법
EC2 에서 codedeploy log 확인
springboot aws s3 사진 업로드
HTTPS 연결
SSL 인증서 받기
 

Spring

Gradle

build.gradle 에서 다양한 방식으로 변수 사용하기.
 

API 문서

springdoc-openapi v1.5.12
OpenAPI 3.0을 사용하여 Spring REST API 문서화
 
jwt
https://springdoc.org/#how-to-configure-global-security-schemes
 

 
 

이벤트 소싱 (CQRS)

Java의 CQRS 및 이벤트 소싱
Axon 과 같은 여러 도구와 프레임워크가 있지만 기본 사항을 이해하기 위해 Java로 간단한 응용 프로그램을 만들겠습니다. 이벤트 소싱 은 애플리케이션 상태를 순서가 지정된 이벤트 시퀀스로 유지하는 새로운 방법을 제공합니다 간단히 말해서 CQRS는 애플리케이션 아키텍처의 명령 및 쿼리 측을 분리하는 것 시스템 쿼리는 결과를 반환하고 의 관찰 가능한 상태 를 변경하지 않습니다 .
Java의 CQRS 및 이벤트 소싱
https://recordsoflife.tistory.com/661
Java의 CQRS 및 이벤트 소싱

JPA

동적쿼리

동적쿼리 비교글1
동적쿼리 비교글2
동적쿼리 비교글3
Critera
https://happygrammer.tistory.com/
https://www.baeldung.com/hibernate-criteria-queries
https://friends-aihaja.tistory.com/entry/13-JPQL
https://milenote.tistory.com/137
https://www.baeldung.com/spring-data-criteria-queries
https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#:~:text=The most important part of the class name that corresponds to the fragment interface is the Impl postfix.
 
custom
https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.single-repository-behavior
 

페이지네이션

페이지네이션
Pagination 이 대체 뭘까?
페이지네이션, 커서 기반? 페이지 기반?
커서 기반 페이지네이션
JPA를 이용하여 cursor 기반 페이징 구현
언젠가부터 무한 스크롤 을 이용한 페이징 방식이 우리들에 스며들기 시작했다. 이는 과거의 1, 2, 3... 의 페이지를 클릭하여 다음 콘텐츠를 보는 것이 아니라, 페이스북처럼 마지막 콘텐츠를 보게 되면 다음 페이지가 로딩되어 보이는 것을 의미한다. 그러나 SNS에서는 일반적으로 사용하는 Offset 기반의 페이징을 사용하게 되면 문제가 생길 수 있다.
JPA를 이용하여 cursor 기반 페이징 구현
https://alwayspr.tistory.com/45
JPA를 이용하여 cursor 기반 페이징 구현
왜 오프셋 페이징보다 커서 페이징일까?
※ 이 글은 위 글을 의역한 글입니다. 커서 기반 페이징이 가장 효율적인 방법이며, 가능한 항상 사용되어야 한다 -페이스북 개발자 페이징은 책 페이지처럼 데이터를 묶음으로 분리하는 과정이다. 페이징은 크게 2개로 나뉘는데, 둘 중 뭐가 좋을까? 한 번 알아보자. 이 방법은 수십년동안 효과적으로 사용된 방법이다. OFFSET 값을 포함한 SQL 쿼리문을 동반한다.
왜 오프셋 페이징보다 커서 페이징일까?
https://bbbicb.tistory.com/40
왜 오프셋 페이징보다 커서 페이징일까?
 
 

트랜잭션

트랜잭션 관련 자료
velog.io
velog.io
https://velog.io/@guswns3371/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%ED%8A%B8%EB%9E%9C%EC%9E%AD%EC%85%98-%EA%B2%A9%EB%A6%AC%EC%88%98%EC%A4%80
트랜잭션 격리 수준(Isolation Level)
개발을 하다 보면 여러 스레드에서 동시에 하나의 자원에 접근하는 경우가 있다. 접근을 적절하게 제한하지 않는다면 생각지 못한 버그가 발생할 수 있다. 게다가 이런 경우는 디버깅하기도 굉장히 어렵다. 데이터베이스도 N개의 트랜잭션을 동시에 처리하다 보면 같은 데이터에 접근할 수 있다. 트랜잭션의 목적은 로직의 흐름 속에서 데이터를 일관되게 처리하기 위한 것이나, 동시에 같은 데이터에 write 접근을 하는 경우엔 문제가 될 수 있다.
트랜잭션 격리 수준(Isolation Level)
https://private-space.tistory.com/97
트랜잭션 격리 수준(Isolation Level)
[JPA] 비관적 락 , 낙관적 락
JPA를 사용하게 되면 트랜잭션 격리 수준이 READ COMMITTED 정도가 된다. 격리 수준 READ UNCOMMITTED (거의 안 써요!) 커밋되지 않은 데이터를 읽을 수 있음 -> Dirty Read , Dirty Write 발생 가능 READ COMMITT..
[JPA] 비관적 락 , 낙관적 락
https://k3068.tistory.com/92
[JPA] 비관적 락 , 낙관적 락
[JPA] 비관적 락과 낙관적 락, 트랜잭션의 격리 수준
얼마 전 면접에서 질문을 받았지만 전혀 몰랐던 비관적 락과 낙관적 락 개념. 다행히 김영한님의 자바 ORM 표준 JPA 프로그래밍에서 관련 내용을 소개하고 있어, 참고하여 정리해 보았다. 이 글은 다음 내용을 다..
[JPA] 비관적 락과 낙관적 락, 트랜잭션의 격리 수준
https://kafcamus.tistory.com/48
[JPA] 비관적 락과 낙관적 락, 트랜잭션의 격리 수준
 
Custom Repo Naming

Security

cors
https://kangwoojin.github.io/programing/spring-security-basic-ignoring/
Spring Security Basic - Ignoring
Springdoc JWT 토큰 글로벌 인증
캡쳐
notion image
 
 

JAVA

generic
Java Stream
Java map vs flatMap
.map()과 .flatMap()의 차이
자바 map 메서드와 flatMap 메서드의 차이
Map과 Flatmap의 차이
 
enum 상태머신
What is a State Machine ?
Java enum-based state machine (FSM): Passing in events
Implementing Simple State Machines with Java Enums
상태다이어그램
 
Interesting features in Java 17
jdk17 pattern matching
jdk17 sealedclass
sealedClass
https://www.cargurus.dev/Algebraic-Data-Types-for-java-devs/
 
https://www.programiz.com/java-programming/nested-inner-class
 
병렬스트림 정말 빠를까1
병렬스트림 정말 빠를까2
병렬스트림 어떻게 동작하는걸까?
ParallelStream의 결과를 List에 저장해보자
 
java consumer

Tool

direnv
폴더별 환경 관리를 위한 direnv
intellij 단축키 이슈
intellij 탐색 단축키
 

HTTP

HTTP

LOMBOK

Lombok - getter/setter의 prefix 관련 설정
 

TEST

단위 테스트를 위한 ReflectionTestUtils
ReflectionTestUtils
 
 
https://effortguy.tistory.com/177
 

데이터 베이스

MySQL InnoDB lock & deadlock 이해하기
InnoDB 엔진에서 쿼리별 잡히는 lock