본문 바로가기

전체 글9

mapStruct 의존성 순서 문제 해결방법과 간단한 사용법 각 레이어 간 전달되는 DTO간 변환이나 DTO, Entity간 변환을 별도의 Mapper 클래스를 만들어 일일이 수작업으로 해주다보면 힘이 들기도 하고, 실수도 자주 생기게 된다. 테스트 코드에서 걸러주긴 하지만 이건 테스트 코드에서 거르기 전에 시스템 적으로 예방하는 편이 맞다. 물론 요즘에는 Copilot을 쓰면 이런 보일러 플레이트 코드를 자동완성해주니 일정 부분 해결되긴 하지만 좀 더 구조적인 방법을 찾고 싶다면 전문 Mapper 라이브러리를 써보는 것도 좋다. 이 분야에서 나름 네임드는 ModelMapper와 mapStruct다. ModelMapper는 별도의 인터페이스 정의같은 것 없이 상대적으로 좀 더 간편하게 시작할 수 있지만 구체적인 타입과 메서드를 알기 위해 런타임 리플렉션이 일어나므.. 2023. 12. 11.
Spring에서 DTO 생성 시 Primitive Type과 Reference Type 중 어떤 것을 쓰는게 좋을까? 너무 흘려보내는 것들이 많아 뭐라도 조금씩 매일 끄적여 보려 한다. 확실히 관성은 무섭고 한번 쓰지 않기 시작하니 백지에 뭔가를 적어 내려가는데 시작도 하기 전에 부담스러워지기 시작한다. 원래는 글쓰기가 너무 재미있었는데 말이지. 각설하고. -- Spring 에서 Controller - Service - Repository 간 데이터를 주고받을 때 DTO를 사용하는데 이때 각 멤버변수를 Primitive Type(원시 타입)을 사용할지, Reference Type(참조 타입)을 사용할지 고민스럽다. 예를 들어, 어떤 활성화 상태를 나타내는 enabled라는 변수가 있을 때 다음 둘 중 어떤 타입을 쓰는 게 좋을까? # Primitive Type private boolean enabled; # Refere.. 2023. 12. 10.
개발자를 위한 ChatGPT 프롬프트 엔지니어링 - 1편 Andrew Ng교수님이 DeepLeanging.AI를 통해 ChatGPT 프롬프트 엔지니어링 과정을 무료로 공개했다. 다음은 해당 과정을 들으면서 개인적으로 정리한 내용이다. 인터넷에 있는 '반드시 알아야 하는 프롬프트 30가지' 같은 자료들은 특정 주제에 한정적이거나 ChatGPT 웹 인터페이스와 같이 일회성 작업에 초점이 맞춰져 있다. 여기서는 개발자들이 API호출을 사용하여 여전히 과소평가된 LLM 모델을 잘 응용할 수 있도록 돕는 것이 목표다. 개념부터 잡고 어떻게 하는지 예제를 통해 좋은 프롬프트를 만들기 위한 다양한 방법을 배운다. 마지막에는 챗봇을 만들어 본다. 그리고 뭔가를 해볼 수 있는 생각이 든다면 이 강의가 할 일은 다했다. LLM은 기본 LLM과 튜닝 LLM으로(전문 용어가 따로 .. 2023. 5. 2.
Jetbrains 설문으로 보는 Django 개발 궁금증 Pycharm, IntelliJ 등으로 유명한 Jetbrains에서 Django Software Foundation과 공동으로 2022 개발자 설문 결과를 공개했다. 248개국에서 4,900명이 참여했는데 인상적인 결과 몇 개 공유해본다. 자세한 전체 문서는 여기[링크]를 방문하면 된다. (대부분의 설문응답이 중복이 가능해서인지 결과 총합이 100%를 넘는 경우가 많으니 해석에 참고) 가장 많이 사용하는 OOO - 항목 1위 2위 3위 버전 4.1(55%) 4.0(34%) 3.2(47%) 데이터베이스 PostgresSQL(79%) SQLite(40%) MySQL(28%) 캐시 Redis(54%) Local Memory(17%) Database(16%) contrib 앱 admin(85%) auth(80%.. 2023. 3. 12.