본문 바로가기

개발 공부125

[독서후기] 도메인 주도 개발 시작하기 후기 회사 내에서 복잡하게 얽힌 도메인을 어떻게 풀어나가야할지, 어떻게하면 개발하기 용이한 구조를 가져갈 수 있을지 고민하던 찰나에 도메인 주도 개발을 읽어보게 되었다. 기존 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.
이펙티브 자바 아이템 33 - 타입 안전 이종 컨테이너를 고려하라 - 핵심 정리 / 완벽 공략 아이템 33 - 타입 안전 이종 컨테이너를 고려하라 - 핵심정리 / 완벽 공략 이 글은 백기선 님의 이펙티브 자바 강의와 이펙티브 자바 3 / E 편을 참고하여 작성하였습니다. 타입 토큰을 사용한 타입 안전 이종 컨테이너 컨테이너란 다른 어떤 오브젝트를 넣을 수 있는 Set, Map 을 의미한다. 우리가 여태 사용한 제네릭은 오직 한 가지 타입 만 넣을 수 있는 컨테이너를 만드는 것이었다. public class Favorites { List value; public static void main(String[] args) { Favorites names = new Favorites(); names.value.add("TEST"); } } 경우에 따라서는 이종(동족이 아닌, 서로 다른타입) 컨테이너 가 .. 2022. 12. 20.
이펙티브 자바 아이템 32 - 제네릭과 가변인수를 함께 쓸 때는 신중하라 - 완벽 공략 아이템 32 - 제네릭과 가변인수를 함께 쓸 때는 신중하라 - 완벽 공략 이 글은 백기선 님의 이펙티브 자바 강의와 이펙티브 자바 3 / E 편을 참고하여 작성하였습니다. ThreadLocal ThreadLocal 은 쓰레드 지역, 쓰레드 범위의 변수이다. ThreadLocal 의 개념없이 여러 쓰레드에서 어떤 객체가 가지고 있는 멤버 변수를 사용한다면 쓰레드 안전성을 신경써서 코딩을 해야한다. 그렇지 않으면 경합 또는 경쟁조건 (Race-Condition) , 교착상태 (deadlock) , Livelock 등이 발생할 수 있다. ThreadLocal 을 사용하면 쓰레드 전용 지역 변수 를 만들어 문제를 해결할 수 있다. import java.text.SimpleDateFormat; public cla.. 2022. 12. 20.