분류 전체보기(132)
-
[Git] SSH 키 생성 및 등록 방법
https://dev-district.tistory.com/17
2025.10.02 -
[GitHub] 민감한 정보 완전 삭제와 PR 히스토리 정리
https://junhkang.com/posts/89/
2025.10.02 -
이번주 이슈
1. 검수자 배정 시, 트랜잭션 타임아웃 발생. 해당 상품은 연재 상품으로 마더와 차일드 관계로 이뤄짐. 500회차가 넘는 연재 상품. 로그를 보니 실행 쿼리가 2000회가 넘어가다가 뻗었다. 개별 쿼리 실행 속도가 길진 않았지만 워낙 많은 쿼리가 실행되다보니 트랜잭션 최대 시간인 30초를 초과하였다. 왜 이렇게 쿼리가 많이 실행되는지 이전 히스토리들을 보았는데 1000개를 넘는 경우가 간혹 있긴 했지만 수백개 내에서 실행되었다. 소스를 분석했다. 차일드 상품마다 반복문을 순회하며 쿼리를 실행하고 있었다. 반복문으로 회차마다 개별적으로 insert, update 등이 실행되다보니 500 * n번 실행된 것이다. 검수자를 배정할 때, 대개 많아봤자 100개 정도의 회차 정도가 최대였기에 그간 문제가 없었던..
2023.11.16 -
개발지식 블로그
https://inpa.tistory.com/ Inpa Dev 👨💻 성장 욕구가 가파른 초보 개발자로서 공부한 내용을 쉽게 풀어쓴 기술 블로그를 운영하고 있습니다. inpa.tistory.com
2023.02.24 -
ZonedDateTime
https://velog.io/@lsb156/Instant-vs-LocalDateTime Java8+ Instant vs LocalDateTime 각 사용방법 Java 8 이상되면서 Date, Time, Timestamp등이 레거시가 되어버리고 LocalDateTime, ZonedDateTime, LocalTime, Instant 등등이 나왔지만 어디에 적절하게 사용되어야 하는지 적절하게 구분하기 휘애 블로깅을 했씁니 velog.io
2023.02.23 -
@JoinColumn(nullable) & @OneToOne(optional)
@JoinColumn(nullable = false, name = "notify_id") @OneToOne(fetch = FetchType.LAZY, optional = false) lateinit var notify: NotifyEntity JPA의 앤티티 셋팅을 하다가 특이한 점을 발견하였다. 1대1의 관계를 갖고 있고, FK를 필수로 갖게 하기 위해, @JoinColumn의 nullable 옵션을 false로 설정하였다. 그런데 @OneToOne의 옵션 중 optional 이란 특성을 알게 되었다. 일단 각각의 설명은 다음과 같다. @JoinColumn의 "nullable = false"에 대한 설명이다. @JoinColumn의 "nullable = false" (Optional) Whether ..
2023.01.25