본문 바로가기

분류 전체보기

(249)
도메인 주도 설계 철저 입문 2부 - 지식 표현을 위한 패턴 이 글은 도메인 주도 설계 철저 입문 (위키북스) 를 읽고 개인적으로 정리한 글입니다. 0. 들어가며 이번 글에서는 도메인 지식을 어떻게 표현할 것인지에 대한 방법을 배운다. 크게 3가지를 다룬다. 값 객체 (Value Object) 엔티티 (Entity) 도메인 서비스 (Domain Service) 1. 값 객체 (Value Object) 1.1. 값 객체 예시 보통 프로그래밍 언어에는 원시 타입(Primitive) 자료형이 있다. 그리고 이를 이용해 여러 값들을 표현할 수 있다. 예를 들면, "이름"은 다음처럼 string 으로 표현할 수 있다. full_name = "jeon heumsi" 그러나, DDD에서는 이처럼 원시 타입을 사용하지 않고, 도메인에 맞는 객체로 정의해 사용한다. class F..
도메인 주도 설계 철저 입문 1부 - 들어가며 & 목차 이 글은 도메인 주도 설계 철저 입문 (위키북스) 를 읽고 개인적으로 정리한 글입니다. 들어가며 평소 궁금해했던 도메인 주도 설계, 일명 DDD 관련 책이 최근에 나와 읽어보았다. 도메인 주도 설계는 에릭 에반스님의 책이 고전으로 가장 유명한데, 사실 이 책을 읽을 엄두가 안났다. 늘 그렇듯 고전 자체를 읽기란.. 분량도 그렇고, 뭔가 시작부터 쉽지 않기 때문이다. 그러던 차, 나같은 입문자를 위한 "도메인 주도 설계 철저 입문" 이라는 책이 아주 따끈따근하게 나왔으니, 이 책부터 가볍게 읽어보면, DDD에 어렵지 않게 접근할 수 있겠다 싶었다. 분량은 약 350페이지 가량되는데, 내용이 "입문"이라는 단어에 딱 맞게 어렵지 않아 금방 읽는다. 나는 다 출퇴근 + 주말에 읽는데 약 2주가량 걸린 거 같다..
나의 파이썬 환경 구축기 2 - pyenv + poetry 저번 글에 지금까지 써본 것들에 대한 생각을 주저리 주저리 적었고... 이제 내가 현재 사용하는 파이썬 환경 구축 방법에 대해 본격적으로 이야기해보려 한다. 콘다를 쓰고있었다면..? 지우자 내가 제일 처음 한 일은 내 맥북에 깔린 아나콘다를 지우는 것이었다. 이 지긋한 콘다 이제는 보내주자. 공홈에 지우는 방법이 설명되어있다. 순서만 간략히 적으면 다음과 같다. conda install anaconda-clean 로 anaconda-clean 설치 설치 후 anaconda-clean --yes 실행 ~/bash-profile 혹은 ~/zshrc 에서 export PATH="/Users/{user_name}/anaconda3/bin:$PATH" 삭제 후 저장 rm -rf ~/anaconda3 실행 rm -..
나의 파이썬 환경 구축기 1 - 써본 것들에 대한 생각 언젠간 한 번쯤은 나의 파이썬 개발 환경에 대해 글을 쓰려했었다. anaconda, virtualenv, pyenv 등등 지금까지 이것저것 다 써본 뒤... 이제 때가 왔다. 이번 글에서 내 맥북에 내가 어떻게 파이썬 개발 환경을 만들었는지 차례대로 적어볼 것이다. 다음과 같은 분들에게 이 글이 흥미가 있지 않을까 싶다. 주로 파이썬으로 개발하는 개발자 (분석가 아니다.) 파이썬 버전에 민감하게 반응하시는 분 (특히 새로운 파이썬 버전을 적극적으로 사용하려고 허시는 분) 깔끔하고 트렌디하게 파이썬 개발 환경 구축하고 싶은 분 거두절미하고, 이 글의 결론은 다음과 같다. 파이썬 버전 관리는 pyenv로, 가상 환경, 패키지 설치 및 관리는 poetry로 하자. 아, 난 맥을 쓰므로 맥을 쓴다는 것을 전제로..
새벽에 주저리 주저리 써보는 글 요즘 글을 안 썼다. 이미 테크 블로그와는 거리가 멀어진 거 같아, 그냥 끄적거리는 글을 써도 괜찮을 거 같다. 고등학생 땐 싸이월드 다이어리에 이 시간 즈음 해서 이루펀트 - 졸업식 같은 감성 힙합 들으면서 글 끄적거리곤 했는데. 지금 딱 그 감성인 거 같다. 뭔가 일을 계속하고 있으면서, 간간히 새벽이 돼서야 적는 그런 글. 늘어난 블로그 글 조회수 블로그 글 조회수가 꾸준히 늘었다. 이제 평일 방문수는 2000을 넘고, 누적 방문수는 40만을 찍었다. 딱히 테크 블로그도 아닌데, 꾸준히 유입되는 글 몇 개 때문에 방문수가 꾸준히 찍히는 거 같다. 근데 사실 조회수에 비해, 댓글 같은 건 잘 안달 린다. 싸이월드 투데이 수는 올라가는데, 방명록은 0인 그런 느낌이랄까. 여하튼 쉽게 노출되는 만큼, 그..
산드로 만쿠소님의 소프트웨어 장인을 읽고 들어가며 최근 산드로 만쿠소 님의 소프트웨어 장인이라는 책을 읽고 좋았던 문구들, 느낀 점들을 적어보려 한다. 내용 정리라기 보단, 지극히 주관적으로 느꼈던 생각 위주의 글이 될 거 같다. 소프트웨어 장인과의 첫 만남 서문에는 다음의 내용이 등장한다. 팀으로 합류한 지 얼마 안 되어 빠르게 일을 마무리했다고 생각한 저자가 그의 상사 나무르에게 깨지는 내용이다. "이 코드가 얼마나 무례한지 알고 있습니까?" 그는 조용히 말했다. 코드는 겨우 200라인 남짓이었다. 나무르가 제기한 문제들 에 답을 하지도, 적당히 되받아 치지도 못했다. 충격에 휩싸였다. 아무 말도 없이 천천히 일어서서 문쪽으로 걸어갔다. "산드로." 문에 다다랐을 때, 나는 멈춰 서서 그를 돌아봤다. "일을 하는 것도 중요하지만 그에 못지않..
파이썬으로 구현하는 클린 아키텍쳐 - rentomatic 0. 들어가며 클린 아키텍처 책을 읽고 나서도, 실제로 구현하지 않고는 이를 구체적으로 체감하기 어렵다는 생각이 들었다. 그래서 생각나는대로 스스로 구현해보았다. 무려 일주일이나 고민 고민하며 만들었다. 그래도, 맘에 들지 않았다. 솔직히 내가 구현한게 올바른 지에 대해서 확신이 없었다. 인터넷을 뒤적거리며 클린 아키텍처를 파이썬으로 구현하는 자료를 찾아보았다. 그중 발견한 블로그 글. 매우 세세하게 설명되는 데 양이 꽤 길다. 더 찾아보니 이 글을 쓴 사람이 leanpub에 책을 내신 것을 알게 되었다. 무료다. 180페이지 조금 안되는데, 생각보다 읽어볼 만한 것 같았다. 이 글은 이 책을 읽고 클린 아키텍처를 구현하는 핵심만 정리한 글이다. 책 자체는 TDD 방식으로 구현을 진행하는데, 이게 무료인..
클린 아키텍처 5부 - 아키텍처 이 글은 로버트 C. 마틴의 클린 아키텍처를 읽고 나름대로 중요하다고 생각한 부분만 정리한 글이다. 들어가며 이번 5부에서부터는 본격적으로 아키텍처에 대한 이야기가 나온다. 사실 대부분의 내용이 이미 잘 정리되어 인터넷 여기저기에 공유가 되어있다. (충분히 잘 정리된 글이 많아서 그런지, 굳이 내가 더 정리해야 하나 싶기도 하고... ) 여하튼, 일단 시작해본다.. 아키텍처란? 거두절미하고 아키텍처와 관련된 설명만 짤막하게 간추려 본다. 좋은 아키텍처는 시스템을 쉽게 (이해하고, 개발하며, 유지보수하고, 배포)할 수 있게 한다. 아키텍처는 시스템의 동작 여부 자체와는 거의 관련이 없다. 아키텍처는 소프트웨어를 유연하고 부드럽게 구조화한다. 좋은 아키텍트는 시스템의 핵심적인 요소(정책이라고 한다)를 식별하..