-
jpa(hibernate) OneToMany 연결의 기본값이 JoinTable 인 이유는?AI 와의 대화 2025. 3. 26. 16:20
jpa 에서 두 테이블간 1:M 연관관계를 정의할때, 연결정보를 저장하는 방법이 2가지가 있습니다.JoinColumn: 자식 테이블에 외래키(FK)를 두는 방식. (@JoinColumn 사용)JoinTable: 별도의 중간 테이블을 만들고 거기에 외래키(FK)를 두는 방식. (@JoinTable 사용)일반적으로 자식 테이블에 외래키를 두는 JoinColumn 방식을 많이 사용합니다. 그런데 jpa 에서는 기본값이 JoinTable 방식으로 지정되어 있습니다.jpa 1:M 연관관계를 관련 설정법을 웹 검색해보면, 거의 대부분, 기본값인 JoinTable 방식의 문제점을 지적하면서 JoinColumn 방식으로 변경하는 방법을 알려줍니다.저는 여기서 의문이 생겼습니다. 일반적으로 알고 있는 것도 JoinCol..
-
로그 트레이더 한글 (Warhammer 40,000: Rogue Trader)기타 2025. 2. 23. 01:10
CRPG 게임 로그 트레이더 한글 패치 파일을 공유합니다. 로그 트레이더 게임을 해보고 싶었는데, 한글 지원이 안되서 제가 직접 한글패치를 만들어봤습니다. 몇번의 시행착오 끝에 게임 플레이는 가능하겠다 싶은 정도가 되어서 이글에 공개를 해봅니다. 게임의 원본 영어버전 대사 텍스트 파일을 구글 번역 기반으로 한글 버전을 만들었습니다. 제가 게임을 하면서 어색하거나 잘못된 부분들 교정을 통해 완성도를 높여가고 있습니다. AI 번역 특성상 대사에 포함된, 백과사전 정보나 태그들로 인해 번역 품질이 떨어지고 태그가 깨지는 문제가 일부 남아 있습니다.아울켓에서 게임을 지속적으로 개선하면서 계속 텍스트가 변경되거나 추가되고 있습니다. 게임이 업데이트되면서 다시 원본 영어버전으로 되돌아갔다면 아울켓에서 텍스트를 수..
-
"빠른 애플리케이션 개발이 목표라면, 분산 아키텍쳐를 선택해서는 결코 안된다."Server Architecture 2025. 1. 22. 11:32
의미 있는 글을 발견!아래 글에서 마이크로서비스 보다 더 작은 나노서비스에 대해서 설명하고 있다.https://medium.com/@ido.vapner/unlocking-the-power-of-nano-services-a-new-era-in-microservices-architecture-22647ea36f22 Unlocking the Power of Nano Services: A New Era in Microservices ArchitectureNano-services are a new trend in software architecture that has gained popularity in recent years. It is a microservices-like architecture…medium...
-
java bean mapper와 DTO 소개Back-end 2018. 3. 19. 20:22
Overviewspring, jpa 기반으로 개발할때 도움이 될 수 있는 java bean mapper 라이브러리를 소개합니다. 아래와 같은 간단한 JPA Entity 객체를 가지고 설명합니다. Http 기반의 api 를 개발할때 필요에 따라 JPA Entity 를 바로 api 의 응답으로 내보내는 경우가 있습니다. 아래는 샘플 코드입니다. 그러면 다음 그림과 비슷한 결과를 응답하게 됩니다. 이럴 경우에 발생하는 순환 참조 문제같은 몇가지는 jackson json 라이브러리가 해결해주기도하지만 일반적으로 아주 작은 프로젝트가 아니라면 추천할만한 방식이 아닙니다. JPA Entity 도메인 데이터와 api 응답 데이터간에 생명주기가 틀리기 때문입니다. 데이터 생명주기프로젝트의 초기에는 요구사항에 잘 맞춰서..
-
개발자 이직 취직 가이드, 면접 후기2개발일반 2018. 1. 21. 23:14
이전글 개발자 이직 취직 가이드, 면접 후기1 에서 이어지는 글입니다. 단기적 준비전반적인 준비이직을 마음먹고 바로 지금부터 뭘 하면 될지에 대한 부분으로, 이글의 핵심 내용이다. 면접 경험담인터넷을 통해 이직에 대해서 다양한 정보를 먼저 습득한다. 이 글을 포함하여 다양한 입사지원 경험담을 찾을 수 있다. 필자도 처음에 무작정 지원을 하려다가 그런 글들을 읽고 준비가 한참 필요하다고 느끼고 공부를 시작하였다. 아래는 필자가 읽었었던 글들인데, 좀 더 최근의 글들을 찾아보는 것이 좋을 것 같다. 이런 글들을 통해서 업체들의 분위기라던가 면접 난이도 등을 파악해두면 좋다.아마존 취업기https://zaverome.wordpress.com/2016/01/03/아마존에-개발자로-취업하기까지-1 개발자 면접 준..
-
개발자 이직 취직 가이드, 면접 후기1개발일반 2018. 1. 16. 23:03
약 6개월간 긴 준비 끝에 나름 괜찮다고 평가받는 IT 업체로 이직을 하게 되었다. 이 과정에서 이름만 들으면 알 수 있는 IT 업체 5곳에 이력서를 넣고, 4곳에 면접까지 진행했으며 마지막으로 면접을 본 업체에 최종 입사까지 하게 되었다. 필자는 이전까지 주로 작은 개발업체에서 일했었기 때문에 이번 입사지원과정에 생소한 것들이 많았다. 이렇게 진행하면서 얻은 나름대로의 노하우를 공개해보고자 한다. 이 글을 읽는 소프트웨어 개발자들에게 많은 도움이 되기를 바란다.참고로 이 글은 필자의 개인적인 견해와 경험이므로 글을 읽는 분들의 상황과 100% 일치하지 않을 수 있다. 필자는 경력 약 13년 차 정도의 자바언어를 주력으로 하는 서버 개발자로 신입사원이나 저 경력차 개발자의 상황과는 다를 수 있다.먼저 업..
-
spring-data-jpa + querydsl 로 개발하기 - 2Back-end 2016. 7. 28. 20:00
spring-data-jpa + querydsl 로 개발하기 - 1 에서 이어지는 글입니다. 3단계 - 네임드 쿼리@Query, @NamedQuery 어노테이션 다른 테이블과의 조인이 필요하거나 where 절이 꽤 복잡한 쿼리라면 method 이름만 가지고 모두 표현하기에는 무리가 있다.3단계는 복잡한 쿼리를 만드는 가장 쉬운 방법으로 저장소 인터페이스에 method를 생성하고 선언부에 @Query 어노테이션을 사용하는 방법이다. @Query 어노테이션을 사용하는 method의 이름은 2단계 쿼리 메서드규칙의 영향을 받지 않으므로 원하는데로 지으면 된다. 여기서 작성되는 쿼리는 JPQL 로 JPA의 쿼리 문법이다. 옵션을 통해 native SQL로 작성도 가능하다. 이 단계도 쿼리가 잘못 작성되었을 경우..
-
spring-data-jpa + querydsl 로 개발하기 - 1Back-end 2016. 6. 8. 00:31
소프트웨어 개발이라는것은 퍼즐 맞추기나 블럭쌓기 보다는 회화 그리기나 조각하기에 더 가깝다고 할 수 있다. 안개가 겉히듯 서서히 선명해지는 것이 소프트웨어 개발의 특성이라고 본다. spring에서 개발되는 제품들은 소프트웨어 개발의 이런 특성을 잘 고려하여 설계가 되어 있다. spring을 이용하여 프로그램을 개발할때 이런 점진적, 반복적 개발이 가능하도록 지원하고 있다. 제로 컨피규레이션이라고 하여 모든 상황에 대해서 미리 지정된 기본동작으로 작동하며, 개발자자 추가설정을 해나가면서 개별 프로젝트가 원하는 요구사항에 맞춰가게 되는 방식이다. 비교적 최근에 추가된 spring-boot를 통해 빠른 개발이 완성되어가는 모습이다. 사용하는 기술 간단 소개 JPA (java persistence api)per..