본문 바로가기
반응형

전체글412

JPA 사용시 @Embedded 주의사항 간혹 JPA의 @Embedded 를 잘못사용하는 경우를 보게 됩니다. 이번 시간에는 @Embedded 를 사용하면서 주의해야할 점을 알아보겠습니다. 꼭 @Embedded 만의 문제는 아니며, Entity 내부에 객체형 필드가 선언되어 있으면 주의할 필요가 있습니다. 문제 상황 예를 들어서 다음과 같은 Entity 가 있습니다. @Getter @NoArgsConstructor @Entity public class Pay { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private long amount; private String orderNo; @Embedded private PayDetails payDetails = .. 2021. 4. 3.
(MySQL) Auto Increment에서 TypeSafe Bulk Insert 진행하기 (feat.EntityQL, JPA) 여러 글에서 언급하고 있지만, JPA환경에서 키 생성 전략을 Auto Increment로 할 경우 BulkInsert가 지원되지 않습니다. Spring Batch Item Writer 성능 비교 MySQL 환경의 스프링부트에 하이버네이트 배치 설정 해보기 그래서 수십만 ~ 수백만건의 Entity 를 insert 할 때는, 항상 JdbcTemplate를 이용하여 Insert합치기 구문을 이용한 BulkInsert 처리를 하는데요. 이 방식은 기존 JPA와 Querydsl 을 이용한 Typesafe 방식을 전혀 활용하지 못해서 단점이 많아 항상 많은 고민을 하게 됩니다. 그래서 이번 시간에서는 어떻게 하면 Auto Increment에서 TypeSafe Bulk Insert을 할 수 있는지 그 방안을 한번 이.. 2021. 3. 28.
주식과 연봉 호돌맨과 찍은 유튜브 영상에서 다 하지 못한 말인데 생각도 좀 정리할겸해서 작성하게 되었다. 일단 난 주린이고, 연봉 결정권자도 아니라서 지극히 개인적인 생각이다. 최근 들어 주식을 하다보니 주식의 매수가격과 직장인의 연봉 책정이 비슷한 것 같다는 생각을 하게 됐다. 2021.03.12 기준 네이버는 (액면분할해서) 주당 38만원이다. 1년전에 13만원이였던걸 생각하면 38만원에 도저히 살 수 없을것 같은데도, 사는 사람들이 있다. 이 사람들은 왜 사는 걸까? 개인적인 생각으론 이건 네이버 주식의 가치가 그보다 훨씬 더 높다고 믿기 때문이다. 다른 말로 하면 미래에 38만원 보다 훨씬 더 높은 가격이 될 것이라는 믿음 때문이다. 만약 네이버의 주식 가격이 38만원에서 더이상 오르지 않는다고 하면 어떨까?.. 2021. 3. 15.
Mac에서 개발 환경 (IntelliJ 기반) 꾸미기 현 회사에 오면서 처음으로 Mac을 경험하면서 윈도우보다는 훨씬 다양한 기능과 앱들을 찾아보고 경험했습니다. 다양한 앱들 덕분에 IntelliJ IDEA에서 사용하는 여러 단축키들이 충돌나서 대채제 혹은 단축키 변경등을 하기도 했는데요. 다양한 앱들을 모르는 분들도 계시고, IntelliJ 와 단축키가 충돌나서 단축키를 못쓰시는 분들에 대한 이야기도 듣게 되어 정리하게 되었습니다. 터미널과 도커 등의 개발 환경은 이미 subicura 님께서 블로그에 정리해주셔서 저는 그것외에 주로 사용하는 세팅과 앱들을 소개 드리겠습니다. 본격 macOS에 개발 환경 구축하기 App 대부분의 Mac App들은 단축키를 적극 활용할 수 있도록 되어있으니, 단축키도 함께 소개드리겠습니다. 혹시나 Mac의 특수기호가 윈도우/.. 2021. 3. 10.
VSCode에서 정규표현식(Regex)로 원하는 문자열 치환하기 아스키독 (adoc) 혹은 마크다운 (md) 파일을 작성하다보면 정규표현식을 통해 특정 패턴의 문자들 중 일부만 교체 해야할 때가 종종 있습니다. 이를테면 다음과 같은 경우인데요. 아래와 같은 화면에서 (숫자) 로 되어진 부분들을 로 변경이 필요하다고 하겠습니다. (즉, 괄호안 숫자는 그대로 두고, 괄호 () 만 태그 로 교체하는 것입니다.) 현재 찾고자 하는 패턴을 정규표현식으로 간단하게 표현하면 \([0-9]\) 가 됩니다. 그래서 찾는 패턴은 \([0-9]\)로 두고, 어떻게 변환할지만 정하면 되는데요. 여기서 아래와 같이 입력해서 변경을 시도해보실 수 있습니다. \([0-9]\) 괄호를 escape 처리 하기 위해 backslash (\) 를 괄호 앞에 붙였습니다. VS Code에서는 replac.. 2021. 2. 18.
Slack webhook 으로 Upsource 코드 리뷰 알람 받기 (멀티 슬랙 채널) 현재 Upsource는 Slack과의 통합 (Integration)을 지원하지 않습니다. Integration with slack is not working via webhook 그래서 어쩔 수 없이 Slack의 웹훅을 통해 직접 연동을 구현해야하는데요. 여기서 문제는, Upsource는 웹훅 URL 호출만 지원합니다. 보시는것처럼 URL 호출값만 넣을 수 있습니다. 즉, Upsource의 메세지를 파싱해서 Slack 웹훅 포맷에 맞게 JSON을 만들어 보내는 등의 로직이 있는 형태를 사용할 수가 없습니다. 그래서 Upsource -> Slack 사이에서 Upsource의 알람을 받아 파싱해서 Slack 웹훅을 호출해주는 중간 애플리케이션이 필수가 됩니다. 단순히 코드리뷰 알람을 위해 별도의 서버를 구축.. 2021. 2. 1.

728x90