본문 바로가기

개발 공부127

MyBatis에서 엔티티를 분리해보자 interface MemberRepository { fun findById(id: Long): MemberDto}이번 포스팅에서는 MyBatis에서 엔티티를 분리하는 방법에 대해 알아보겠습니다.여기서 말하는 엔티티는 JPA에서의 엔티티가 아닌 도메인 관점에서의 엔티티를 의미합니다.MyBatis를 예로 들었지만  다른 SQL Mapper에서도 적용가능합니다.예제코드는 코틀린으로 진행합니다.배경왜 분리를 하려고하는지부터 짚고 넘어가면 좋을 것 같습니다.SQL Mapper를 사용하면 필연적으로 비즈니스 로직을 sql로 처리하도록 작성하게 됩니다.이렇게 되면 Mapper가 점점 늘어나게 되고 결국에는 DB에서 모든 비즈니스 로직을 처리하게되어 장애 대응이나 관리가 힘들어집니다.또한  사용하고 있는 DB에 .. 2024. 11. 10.
[독서후기] 도메인 주도 설계로 시작하는 마이크로서비스 개발 후기최근 화두가 되는 MSA에 대해 대략적으로 파악하기 위해 해당 책을 읽었다.결론부터 말하자면 초반에는 좋았지만 뒤로 갈수록 원하는 정보를 얻지는 못했다.아무래도 두 가지 개념을 설명하는 책 (도메인 주도 설계, 마이크로서비스)이기 때문에 어쩔 수 없는 듯하다.특히 예제 코드가 상당히 아쉬웠는데 JHipster라는 툴의 대략적인 사용법과 해당 툴이 자동으로 생성해준다는 코드를 조금 수정하는 데 과연 도움이 될지는 의문이다.좋은 점MSA가 어떻게 각광을 받기 시작했고 어떠한 목적으로 사용되고 있는지 설명이 되어있어 좋았다.아쉬웠던 점예제 코드가 상당히 아쉬웠다. 2024. 5. 21.
[독서후기] 도메인 주도 개발 시작하기 후기 회사 내에서 복잡하게 얽힌 도메인을 어떻게 풀어나가야할지, 어떻게하면 개발하기 용이한 구조를 가져갈 수 있을지 고민하던 찰나에 도메인 주도 개발을 읽어보게 되었다. 기존 DDD는 다들 너무 어렵다고 해서 망설여졌는데 도메인 주도 개발 시작하기 는 입문자를 위해 초반 개념을 잡기 수월하다고 추천을 받았다. 책을 읽는 동안 내가 찾았고 원했던 내용이 많이 나왔다. 회사에서 다양한 도메인을 다루고 PM, 기획자와 이야기할 상황에서 업무의 생산성을 높이는 좋은 방법 중 하나라는 생각이 들었다. 명령 모델과 조회 모델을 분리하는 CQRS나 명령 모델에서의 객체지향적으로 개발하는 방법, 도메인 서비스에 대한 내용은 참 많은 도움이 되었다. 기회가 된다면 DDD에 대해 더 깊게 다뤄보면 좋겠다는 생각이 들었다... 2024. 2. 10.
[독서후기]객체지향 사고 프로세스 후기 최근 넥스트스텝 TDD 과정을 수강하면서 처음으로 객체지향적으로 코드를 짜는 방법에 대해 고민해 보고 피드백을 들어봤다. 덕분에 자연스럽게 객체지향적으로 코드를 작성하는데 관심이 생겼고, 객체지향 사고 프로세스 라는 책이 페이지 수도 적당하고 기본 개념을 잡아준다고 해서 읽어봤다. 책은 전반적으로 객체지향 설계와 개념에 대해서 다룬다. 객체지향의 특징인 캡슐화, 다형성, 상속, 합성에 대해 가볍게 다뤘고 설계적으로도 어떤 식으로 접근하는지 다룬다. 어느 정도 개발을 해본 사람이라면 내용이 약간 지루할 수도 있지만 페이지 수가 부담이 되지 않기 때문에 가볍게 읽는 것도 좋겠다. 하지만 일명 객사오 라고 불리는 객체지향의 사실과 오해를 읽었던 사람이라면 그렇게 추천하지는 않는다. 하지만 개인적으로 합성.. 2024. 1. 17.
[우아한유스방 4기] 5차 과제 - 후기 지난 후기에 이어 유스방 마지막 과제인 5차 과제의 후기를 작성해본다. 2023.08.04 - [개발 공부/etc] - [우아한유스방 4기] 4차 과제 - 후기 [우아한유스방 4기] 4차 과제 - 후기 2023.05.26 - [개발 공부/etc] - [우아한유스방 4기] 3차 과제 - 후기 [우아한유스방 4기] 3차 과제 - 후기 2023.04.06 - [개발 공부/etc] - [우아한유스방 4기] 2주차 - 후기 [우아한유스방 4기] 2주차 - 후기 2023.0 pro-dev.tistory.com 꽤 늦은 시간이 지난 후에서야 우아한유스방 4기 5차 과제를 작성한다. 5차 미션 중 가족일정이 겹치는 바람에 과제와 모의 면접을 진행하지 못했고 4기가 끝난 후 혼자 과제를 진행한 후의 후기이다. 과제 이번.. 2023. 10. 5.
[우아한유스방 4기] 4차 과제 - 후기 2023.05.26 - [개발 공부/etc] - [우아한유스방 4기] 3차 과제 - 후기 [우아한유스방 4기] 3차 과제 - 후기 2023.04.06 - [개발 공부/etc] - [우아한유스방 4기] 2주차 - 후기 [우아한유스방 4기] 2주차 - 후기 2023.03.07 - [개발 공부/etc] - [우아한유스방 4기] 1주차 - 후기 [우아한유스방 4기] 1주차 - 후기 2023.02.14 - [ pro-dev.tistory.com 4차 과제 후기 정말 많이 늦은 후기이다. 이런저런 잡생각과 많은 체력 소모로 인해 글이 뜸해진다... 기억이 희미해지기 전에 기록으로 남겨야겠다는 생각이 들었다. 4차 과제는 3차 과제와 마찬가지로 개발 과제인데 3차 과제는 페어 프로그래밍으로 진행되었지만 4차 과제의 .. 2023. 8. 4.
Java에서 List 를 테스트해보자 테스트 코드를 작성하다보면 List 를 테스트할 상황이 많이 발생한다. 그 동안은 아무 생각없이 get을 사용해 테스트하는 방식을 주로 사용했다. @Test @DisplayName("List 테스트") void test20230629131424() { List testList = Arrays.asList("test1", "test2", "test3"); assertThat(testList.get(0)).isEqualTo("test1"); }개인적으로 위의 테스트 코드를 작성하며 여러가지 문제점을 겪었다. get 을 사용해 직접 값을 꺼내오기 때문에 List 안의 다른 값들을 테스트하려면 코드의 중복이 발생한다. 순서가 중요하지 않더라도 List 안의 값에 순서가 변경되면 테스트가 실패한다. 0과 같은 매.. 2023. 7. 6.
[우아한유스방 4기] 3차 과제 - 후기 2023.04.06 - [개발 공부/etc] - [우아한유스방 4기] 2주차 - 후기 [우아한유스방 4기] 2주차 - 후기 2023.03.07 - [개발 공부/etc] - [우아한유스방 4기] 1주차 - 후기 [우아한유스방 4기] 1주차 - 후기 2023.02.14 - [개발 공부/etc] - [우아한유스방 4기] 0주차 - 후기 [우아한유스방 4기] 0주차 - 후기 스터디에 pro-dev.tistory.com 3차 과제 후기 3차 과제부터는 코딩 과제로 진행되었다. 3주차의 과제는 Wordle 이라는 프로그램을 만드는 것인데 페어 프로그래밍으로 진행되었다. 다음과 같이 동작하도록 프로그램을 개발해야한다. #### 실행 결과 예시 ```light WORDLE을 6번 만에 맞춰 보세요. 시도의 결과는 타일.. 2023. 5. 26.
[우아한유스방 4기] 2주차 - 후기 2023.03.07 - [개발 공부/etc] - [우아한유스방 4기] 1주차 - 후기 [우아한유스방 4기] 1주차 - 후기 2023.02.14 - [개발 공부/etc] - [우아한유스방 4기] 0주차 - 후기 [우아한유스방 4기] 0주차 - 후기 스터디에 지원하다 이러저러한 이유로 이직 준비중에 있지만 혼자서 하기에 슬슬 벅차기 시작할 때쯤 pro-dev.tistory.com 2주차 후기 우아한유스방 4기 2주 차 후기이다. 글에는 2주 차라고 하지만 정확히는 2번째 과제의 후기라고 하는 게 맞겠다. 이번 스터디의 과제는 다음과 같다. [과제 2] 옛말에 지피지기면 백전백승이라고 하였죠. 우아한형제들은 배달의민족 뿐만 아니라 다양한 서비스를 하고 있을 뿐더러, 배달의민족 서비스 안에서도 다양한 부서가 존.. 2023. 4. 6.
[우아한유스방 4기] 1주차 - 후기 2023.02.14 - [개발 공부/etc] - [우아한유스방 4기] 0주차 - 후기 [우아한유스방 4기] 0주차 - 후기 스터디에 지원하다 이러저러한 이유로 이직 준비중에 있지만 혼자서 하기에 슬슬 벅차기 시작할 때쯤 유쾌한 스프링방 이라는 오픈 단톡방에서 우아한유스방 4기를 모집한다는 공고를 보게되 pro-dev.tistory.com 1주차 후기 지난 번 포스팅에 이어서 우아한유스방4기 1주차 후기다. 1주차의 과제는 다음 4가지 질문에 대해 적어보는 것이다. 1. 학습 과정과 현재 자신이 생각하는 역량은? (1000자 이내) 2. 선택한 직군이 되려는 이유는 무엇인가요? (1000자 이내) 3. 마음이 끌리는 무엇인가에 몰입해 일정 수준의 결과물을 만들어 낸 경험이 있나요? (1000자 이내) 4... 2023. 3. 7.
[우아한유스방 4기] 0주차 - 후기 스터디에 지원하다 이러저러한 이유로 이직 준비중에 있지만 혼자서 하기에 슬슬 벅차기 시작할 때쯤 유쾌한 스프링방 이라는 오픈 단톡방에서 우아한유스방 4기를 모집한다는 공고를 보게되었다. 이직 목적의 스터디인데 제이슨님께서 모집하시는 스터디였다. 주변에 아는 개발자도 적고 주로 혼자 개발하는 업무를 담당했다보니 현재 나는 어느정도인지, 다른 사람들은 얼마나 열심히 인지 또 이직에 대한 실마리를 잡을 수 있을까해서 지원하게 되었다. 4기 지원시에는 2가지 문항을 작성했는데 기억하기로는 1. 다른 사람에게 도움을 주었던 경험 (멘토링, 답변 등) 2. 우아한유스방을 통해 어떻게 선한 영향력을 실현시킬 수 있을지 위의 두 질문에 대한 작성이었다. 1번 같은 경우 머리를 쥐어짜내 겨우겨우 답변할 수 있었다. 결과.. 2023. 2. 14.
[강의 후기] 백기선 님의 이펙티브 자바 완벽 공략 2부 https://www.inflearn.com/course/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C-%EC%9E%90%EB%B0%94-2 이펙티브 자바 완벽 공략 2부 - 인프런 | 강의 자바 학습의 끝판왕 “이펙티브 자바”를 보다 쉽고 완벽하게 학습하세요. 이 강의를 수강하시면 여러분의 자바 프로그래밍 지식과 실력뿐 아니라 학습 능력 또한 향상시킬 수 있습니다., - 강 www.inflearn.com https://pro-dev.tistory.com/125 [강의 후기] 백기선 님의 이펙티브 자바 완벽 공략 1부 https://www.inflearn.com/course/%EC%9D%B4%ED%8E%99%ED%8B%B0%EB%B8%8C-%EC%9E%90%EB%B0%94-1 이펙티브.. 2022. 12. 22.