본문 바로가기
반응형

분류 전체보기143

JPA DB 컬럼 네이밍 문제 Physical Naming Strategy (물리적 명칭 전략) 회사 프로젝트의 JPA 네이밍 전략이 CamelCaseToUnderscoresNamingStrategy 로 세팅되어 있었는데, jpa.properties.hibernate.physical_naming_strategy=org.hibernate.boot.model.naming.CamelCaseToUnderscoresNamingStrategy 해당 전략은 필드 네임이 CamelCase 로 되어있으면 자동으로 snake_case 로 변경해주는 기능이다. 문제는 대부분의 DB 테이블 컬럼이 snake_case 로 되어있었는데, 일부 테이블에서의 컬럼은 CamelCase 로 되어있었다.. 그래서 처음에는 CamelCase 로 된 녀석만 따로 @Col.. 2023. 9. 5.
SpringBoot 3.0 에서의 Querydsl 적용 springBoot 3.0 에 JPA 를 도입하면서 몇가지 바뀐점이 있어 Querydsl 적용이 안되는 이슈가 있었다. Jakarta EE 기존 오라클 프로젝트인 JavaEE 를 이클립스 재단으로 이관하면서 상표권 문제 때문에 JavaEE 의 패키지 네임 인 ‘javax.’ 를 JakartaEE 로 만들어 ‘jakarta.’ 로 변경하였다. Java Persistence API (javax.persistence) -> Jakarta Persistence (jakarta.persistence) 따라서 build.gradle 에 아래와 같이 설정해주어야 한다. implementation 시 마지막은 :jakarta 임에 주의한다. ... ext { querydslVersion = '5.0.0'.. 2023. 8. 31.
Five Lines of Code - 3장. 긴 코드 조각내기 리팩터링 패턴은 크게 4단계가 있다. 긴 함수를 조각내기 타입 코드를 처리하기 유사 코드를 통합하기 데이터를 보호하기 그 중 첫번째 패턴인 ‘긴 함수 조각내기’ 에 대해 알아보자. 코드를 조각내는 규칙들 규칙 1 ) 함수의 라인 수는 5 라인으로 제한한다. 함수의 라인 수를 5 라인으로 제한하면 해당 규칙을 지키기 위해 메서드 분리를 하게 되는데, 메서드 분리를 하면서 메서드가 하나의 책임만 가지도록 코드를 개선하는 효과가 있다. 특정 사례에 맞게 줄 수를 변경할 수 있지만, 실제 줄 수는 5줄 정도로 끝나는 경우가 많다. 이렇게 메서드를 분리하면 각 메서드의 이름으로 코드의 의도를 전달할 수 있고 훨씬 이해하기가 빠르고 쉽다. 또한 작은 메서드에 적절하게 이름을 붙이면 큰 함수 이름을 정하는 데도 도움.. 2023. 8. 27.
맥북에서 VSCode 파일, 폴더 생성 단축키 지정하기 개발을 하다보면 파일이나 폴더를 생성하고 싶은데, 인텔리제이처럼 단축키로 생성할 수 있는 방법이 있다. F1을 누르면 아래와 같은 화면이 나오는데 > Open Keyboard Shortcuts (JSON) 을 선택해준다. 그 후 아래 내용을 붙여넣어주면 끝이다. [ { "key": "cmd+n", "command": "explorer.newFile", "when": "!editorFocus" }, { "key": "cmd+shift+n", "command": "explorer.newFolder", "when": "!editorFocus" } ] 이제 단축키를 통해서 파일, 폴더를 생성할 수 있다! 파일을 생성하고 싶으면 command + n 폴더를 생성하고 싶으면 command + shift + n 2023. 8. 23.
Five Lines of Code - 2장. 리팩터링 깊게 들여다보기 코드를 개선하는 방법 가독성을 높이자! 가독성 : 의도를 전달하기 위한 코드의 성질 가독성을 높이기 위해서는 코딩 컨벤션을 지정하고 따르기, 네이밍 잘 짓기, 공백 사용 등이 있다. 유지보수성을 좋게하자! 유지보수성 : 얼마나 많은 후보를 조사해야 하는지를 나타내는 표현 변경포인트가 많으면 기능을 추가했을 때 변경해야 할 부분이 많아져서 버그가 발생하기 쉽다. 조사 단계에 시간이 오래 걸린다는 것은 코드 유지보수성이 나쁘다는 징후이며 개선이 필요하다. 리팩토링 시 성능이 떨어지면요? 리팩토링을 진행하다보면 성능이 떨어지는 상황이 있을 수 있다. 가령, 하나의 for 문 안에서 수행하던 작업들을 리팩토링으로 메서드를 분리했더니 for 문이 2개가 생겼다든지.. 하지만 리팩토링 중에는 코드가 느려지는 것에 .. 2023. 8. 19.
Five Lines of Code - 1장. 리팩터링 리팩터링하기 리팩토링이란? 기능을 변경하지 않고 더 나은 코드를 만드는 것 리팩토링을 해야하는 이유 향후 유지보수를 위해 코드의 가독성을 높이고 재사용성을 높이기 위해 (유지보수를 용이하게 하기위해) 유지보수가 용이해지면 버그가 줄어들고 수정이 쉬워진다. 코드가 간결해지기 때문에 생각하기가 편해진다. 어떤 것을 리팩토링 해야할까? 가독성이 떨어지고 유지보수하기 어려운 코드 스멜이 있는 코드 리팩토링은 언제 할까? 리팩토링은 코드 작업 시 항상 수행해야 한다. (우리가 매일 샤워하는 것처럼..) “항상 여러분이 왔을 때보다 더 좋게 만들어 놓고 떠나라” - 보이스카우트 규칙 리팩토링을 하지 않아도 되는 사례 한 번만 사용되고 삭제되는 코드 엄격한 성능 요구사항이 있는 코드 사실 위 상황이 현업에서는 기존 코드에 계속 .. 2023. 8. 19.