본문 바로가기

전체 글74

230930 due on or before today short mode not done 🍒 오늘 공부한 내용 ResultSet 안 닫아도 됨 -> 자동으로 닫아줌바론 리뷰 QueryDSL에서 서브쿼리 만들 때 limit 걸어도 안되는 버그 있음 -> 직렬화 과정에서의 문제라고 PR에서 하던데 방법 찾아야함 -> 일반적으로 서브쿼리보다 적절한 join이 더 성능이 좋다 -> 적절하게 join해오도록 쿼리 수정해보기 🎶 느낀 점 & 배운 점 오늘 계획 한 것 : 미션 2단계 구현 후 리뷰 요청 하기 쿼리 튜닝 마무리 오늘 한 것 : 미션 2단계 구현 후 리뷰 요청 하기 공부할 것 : 펼치기 API versioning AsyncUncaughtExceptionHandler TaskDecorator ThreadPoolTas.. 2023. 10. 1.
230929 due on or before today short mode not done 🍒 오늘 공부한 내용 역정규화 정규화된 데이터베이스에서 쓰기 성능을 희생하고 읽기 성능 향상을 위해 사용되는 전략 데이터를 중복으로 관리 데이터의 일관성을 개발자가 맞춰야함 데이터 10억개 쌓였을 때 계속 카운트 쿼리 날릴 수 없으니까 통계 테이블 같은 거 하나 만들어서 거기서 읽어오게 하기 등등 select count(*) from post where user_id = ?; ```sql select post_count from post_statistics where user_id = ?; insert into post values (...); update post_statistics set post_count = post_co.. 2023. 9. 30.
230928 due on or before today short mode not done 🍒 오늘 공부한 내용 커넥션 풀링 (Connection Pooling) DataSource 객체를 통해 미리 커넥션을 만들어 두는 것 새로운 커넥션을 생성하는 것이 비용이 많이 들어서 미리 만들어두면 성능상 이점이 있다. (쓰레드 풀에 미리 쓰레드 만들어 놓는 것과 같은 이점) 리소스 관리 쓰레드 재사용 제어 가능한 병렬처리 부하 분산 커넥션 풀링에 미리 만들어둔 커넥션은 재사용 가능 Connection Pooling and Statement Pooling package connectionpool; import com.mysql.cj.jdbc.MysqlDataSource; import com.zaxxer.hikari.Hikari.. 2023. 9. 29.
230927 due on or befor today short mode not done 인프라 강의📅 2023-09-28 이력서, 포트폴리오 정리 이분탐색 문제 더 풀기 냅색 문제 더 풀기 깃허브랑 옵시디언 연동해서 블로그 만들기 🍒 오늘 공부한 내용 DriverManager JDBC 드라이버를 관리하는 가장 기본적인 방법 커넥션 풀, 분산 트랜잭션을 지원하지 않아서 잘 사용하지 않는다. JDBC 4.0 이전에는 Class.forName 메서드를 사용하여 JDBC 드라이버를 직접 등록해야 했다. JDBC 4.0 부터 DriverManger가 적절한 JDBC 드라이버를 찾는다. DataSource 데이터베이스, 파일 같은 물리적 데이터 소스에 연결할 때 사용하는 인터페이스 구현체는 각 vendor에서 제공한다. tit.. 2023. 9. 28.