LostCatBox

LostCatBox

내 생각을 자유롭게 만들 때까지

Entity id 생성 방식 정리
Entity id 생성 방식 정리빠른 ID 생성 특징 엔티티가 생성되기 전 ID 정책에 따라서 직접 생성된다. key를 시스템에서 만들어낸다는 것은 기본적으로 충돌 내성이 필요하다 예시 도메인 모델에서 직접 generateId() 를 호출하여 ID를 발급 엔티티 생성하기 전에 먼저 DB에게 getNextId() 호출해서 ID를 발급 식별자 생성을 위한 BoundedContext를 만들고, 분산 환경에서도 유일한 ID 생성 장점 엔티티가 DB 저장 전이라도 도메인 이벤트 발행 시, id값이 포함될 수 있다 단점 직접 ...
(책 리뷰) it 영어 온보딩 가이드
책을 읽은 이유 과거에 발생한 문제 설명 상황 : 메시지 발송 자동화 프로그램 개발 당시, 메시지 발송 전에 메시지 객체를 구성해주는 서비스를 MessageCombineService 로 명명하였다 문제: Combine의 의미는 단순히 단어 및 문장을 결합하는 의미이다. 이로 인해 팀원들이 MessageCombineService를 단순히 안내 문구들을 조합해주는 서비스로 오인하였다. 원인: 해당 서비스의 책임은 안내 문구 작성 및 메시지 객체를 구성해주는 역할을 하고 있었다 해결: 기존 서비스명에서 메시지를 구성해주는 기...
(책 리뷰) 코드 밖 커뮤니케이션
책을 읽은 이유 문제점 상황: 회사의 개발 방향과 다른 설계와 코드가 작성 되었고, 한달 이상 방치되어있었다. 원인: 코드 작성 전, 좋은 의사소통을 하지 않았다. 해결법: 대상 : 개발자 및 회사의 구성원 목적: 코드 뿐만 아니라 좋은 의사소통의 중요성 공유 방안 : 적절한 의사소통 주기 설정 생각이 정리된 대화하기 “잘” 정리된 자료 작성하기 서론성공적인 커뮤니케이션 공통의 상징, 기호 또한 행동을 사용하여 아이디어나 정보를 공유하거나 교환함으로써 공동의 이해를 도모하는 것이다. 패턴 패턴의 분류 패...
(책 리뷰) 개발자를 위한 생각의 정리 - 문서작성법
왜? 문제점: 논리적 사고 및 정리가 되지 않은 상태로 내 생각의 흐름에 따라 말하며 소통했다. 결과: 겪어본 상황: 프로젝트 관련 일을 할 때, 서로 소통이 되지 않아, 같은 설명을 반복했다. 들어본 말: “그래서 결론이 뭐야?”, “무슨 말 하는지 모르겠어, 다시 이야기해 줘” 해결책: 논리적 사고 및 결과를 정리하는 법을 학습한 후, 사고 정리하여 소통한다. 논리 도해정보 정리 의미 목적에 맞게 대량의 정보(다른 곳에서 얻은 것)를 분해하여 의미 있는 정보(내 생각)만 남기고 재구성하는 것. 생각을 정리하는 것...
LLM 및 Cursor 학습
참고 https://youtu.be/HnvitMTkXro?si=pmzKOTdIzsvPvZLW 추가 학습 경로 OpenAI랑 Anthropic에서 새로 뭐 발표하면 그거 보고 https://docs.anthropic.com/ko/docs/build-with-claude/prompt-engineering/long-context-tips https://platform.openai.com/docs/guides/text?api-mode=responses Cursor 문서랑 업데이트 노트 cursor 업데이트 노트 LLM ...
(책읽기)도매인 주도 설계 시작하기
왜? DDD 개발 예시를 알기위해서 DDD의 정확한 예시를 알기위해 도메인 기본 지식 도메인 = 문제의 영역 도메인 모델 -> 엔티티와 값객체로 나눔 엔티티 - 식별값이 존재 값 객체 - 식별값이 없음 보통은 루트 엔티티 + 값 객체로 구성되어 하나의 애그리거트가 된다. 애그리거트 애그리거트는 하나의 Repository, 하나의 Transaction 단위를 가지는 집합이다. 다음과 같이 하위 도메인 모델들의 기능들의 상태변화 및 비즈니스 로직을 구현하고있다. 따라서 루트 애그리거트를 통하여 하위 도메인 모델의 ...
TDD by Example
참고 테스트 주도 개발 캔트 백 왜? 테스트 주도 개발을 통해 불안전한 코드 작성을 회피하고, 좀더 짜임세 있는 구조, 테스트를 잘하기 위한 구조로 설계 및 개발하기 위해 TDD 방법론TDD-> 원하는 테스트 작성후 실패(레드) -> 성공시키기(그린) -> 중복제거 및 구조변경(리팩토링) 테스트를 작성한다(마음속에 있는 원하는 오퍼레이션이 코드로 어떤식으로 나타나길 원하는지 생각하고, 이야기를 쓴다. 원하는 인터페이스를 개발하라,올바른 답을 얻기위한 필요한 이야기의 모든 요소를 포함시켜라) 실행 가능하게 ...
kotlin 부모-자식 속성 override시 생성주기 주의하기
참조 https://stackoverflow.com/questions/71054994/kotlin-class-inheritance-overriding-properties 본문큰일이없으면 property에다가 override 는 쓰지않는것이좋다. open-override 의 경우 init{} 단계에서 부모 클래스가 초기화 호출후, 자식 클래스가 init{}호출될텐데, 그럼 override된 필드는 부모 클래스의 초기화단계에서는 Null이다. 이것은 코틀린에서 상속과 프로퍼티 오버라이딩과 관련된 중요한 차이점입니다. 오버라이드를...
spring-batch 해보기
참조배달의민족 라빈의 스프링 배치 왜?사이드 프로젝트에서 spring-batch가 필요했다. 대법원 사이트에 들어가서 크롤링할 것들이 많았고, 이를 사프-DB에 저장해야하기 때문이다. batch 특성상 대용량 데이터 처리에 적합하기 때문에 적합하다고 판단하였다. 배치 구성 및 요약 LobLauncher job을 실행시켜주는 역할 JobRepository job, step excution 기록 역할 job, step에 대한 성공, 실패, readcount, write count 등의 값을 DB에 기록해주고 있으며, 개발자가...
bullet-journal
블렛저널 쓰는법 Chapter 2. 다이어리가 아니다, 나를 아는 연습이다 “불렛저널은 다이어리가 아니라, 역량이에요. 연습하면 할수록 불렛저널을 잘 쓰게 됩니다.” 캐롤은 불렛저널이 ‘상품’이 아니라 ‘능력’이라고 거듭 강조했어요. 심지어 꼭 불렛저널 다이어리를 사지 않아도 된다고 했죠. 아무 노트 한 권과 펜 한 자루만 있으면 된다고요. 내지도 상관없어요. 무지이든, 줄 노트든, 모눈종이든. 빈 노트를 펼치고 이 순서로 채워 넣으면 돼요. ① 색인**index** 쉽게 말해 노트의 목차예요. 몇 월의 기록이 몇 페이지에 있...
avatar
lostcatbox
내 생각을 자유롭게 만들 때까지
FRIENDS
friendA friendB