전체 글 312

DEATH 죽음이란 무엇인가

참여하고 있는 독서 모임의 새해 첫 지정도서의 주제가 밝고 명랑하지는 않네. 철학과 친하지 않기에, 책을 읽다가 유튜브에서 형이상학 강의를 찾아서 보고, 존재론에 대해서 보고, 참... 개론서도 이렇게 보기 어려워서야. 학교 다닐 때 키보드만 만지고 있을 게 아니라, 공부도 좀 해뒀어야 했다. 지금도 신해철의 음악을 좋아하지만, 어린 시절에는 거의 매일 들었고, 그의 음악에는 생에 대한 내용들이 많았다. 그 시절에는 요즘과 달리 책을 좋아하지 않았음에도 많은 생각을 해볼 수 있었다. 지구라는 별에 잠시 머물렀다 떠나야 한다는 사실을 얼마나 자주 떠올리는가? 사실 우리는 이런 질문을 달가워하지 않는다. '영혼은 존재하지 않는다'라고 본인의 생각을 밝히고 시작하는 이 책은 물리를 기반으로 하는 현실 세계와 ..

Book Shelf 2023.01.15

도메인 주도 개발 시작하기

개인적으로 새로운 주제에 대한 책을 보는 것도 좋아하지만, 한번 봤던 주제, 이미 사용하면서 조금은 알고 있다고 생각하는 주제에 대한 책도 다시 찾아서 읽어보는 것을 좋아하는데, 다시 보면 예전에 볼 때는 놓쳤던 것, 이해를 못하고 넘어갔던 것, 시간이 지나면서 잊었던 것들을 재확인할 수 있다. 오래전에 '도메인 주도 설계'를 봤을 때는 어렵게 읽은 기억이 있는데, 이 책은 주요 내용만 추려서 더 쉽게 풀어 쓰였고, 예제 코드들도 있어서 편하게 읽었다. 다만, 중반부의 리포지터리 구현 쪽 예제가 스프링과 JPA에 치중된 점은 아쉽지만, 이 점이 매우 마음에 드는 분도 있을 것이다. 10년쯤 전에 참여했던 프로젝트의 설계에 도메인과 I/O가 매우 잘 분리되어 있었고, 덕분에 많은 공부가 되었다. 하지만, ..

Dev 2023.01.09

코드 복잡도 줄이기 (Cyclomatic Complexity, NPath Complexity)

2023년 8월 3일 추가: 이 내용을 포함한 카카오 테크밋에서 발표한 영상이 올라왔습니다. 이번 포스팅도 어떤 백엔드 서비스의 코드를 리팩터링한 내용을 정리하는 것으로, 이번에는 코드 복잡도 줄인 리팩터링에 대한 내용을 정리한다. 이전에 포스팅했던 '가변 Context 클래스는 신중하게 사용하자'와 '고차 함수로 의존성 줄이기'로 코드의 의존성 문제들이 많이 정리된 상태라서 복잡도 줄이기를 진행할 수 있었다. 아래는 어떤 백엔드 서비스 코드의 리팩터링 전과 후의 코드 복잡도 Cyclomatic Complexity와 NPath Complexity의 수치 변화다. 많이 줄어든 것을 볼 수 있다. 실제로 작업했던 코드를 기반으로 소개할 수는 없으니, 일반화해서 조금은 억지스러운 예제로 만들어 내용을 정리한다..

Dev 2022.12.25

시민의 교양

종이책과는 달리 전자책은 사놓고 까먹으면 눈에 띄지 않는다는 단점이 있었네. 구매한 지 4년 만에 읽었다. 책이 출간된 지 오래되어 책에서 보여주는 통계자료 등은 오래전 자료지만 책의 내용을 이해하는 데 문제가 되지는 않는다. '지적 대화를 위한 넓고 얕은 지식 1권'을 재밌게 읽었었는데, 이 책도 지루한 내용을 쉽고 재밌게 풀어서 설명하고 있다. 경제체제와 세금 등 겹치는 내용도 조금 있지만, 이 책의 설명이 조금 더 자세하다. 일반적으로 간접세는 조세에 대한 저항이 상대적으로 적다. 자신의 선택이 세금을 발생시켰다고 생각해서 강제성이 적고 평등해 보이기 때문이다. 하지만 개인의 소득을 고려했을 때는 간접세가 공평하다고 말하기 어렵다. ... 소득을 기준으로 할 때, 간접세는 저소득자의 실질적인 부담을..

Book Shelf 2022.12.03

소프트웨어 아키텍처 101

병특시절에 개발했던 3티어 구조의 서버부터 세월을 그대로 맞으면서 겪었던 아키텍처들이 책의 파트 2에 하나씩 소개되어 있다. 코드는 거의 없고, 각 아키텍처가 등장한 배경과 용도 그리고 장단점을 거시적으로 잘 설명해준다. 깊이 내려가지는 않는다 싶었는데, 아직 읽어보지 않아서 모르겠지만, 최근에 출간된 '소프트웨어 아키텍처 The Hard Parts'라고 심화편에서 더 깊이 설명하는가 보다. 책의 후반부에도 재미난 내용이 많다. 덕분에, '체크! 체크리스트' 책을 읽어보고 싶어졌다. 아래에서 강조하는 것처럼, 트레이드 오프에 대한 설명이 많이 나온다. 은탄환은 없다. 아키텍처 특성을 선택하는 문제에 있어서 정답은 없으며 오직 (마크가 한 유명한 말처럼) 잘못된 선택만 있을 뿐이라는 점을 명심하세요.아키텍..

Dev 2022.11.20

자바와 JUnit을 활용한 실용주의 단위 테스트

현재 팀에서 관리는 레거시 코드는 높은 결합도와 상호 의존성을 가진 구조로 단위 테스트를 구성할 수 있는 상황이 아니다 보니, 단위 테스트보다 통합 테스트의 비중이 압도적으로 높다. 올해 꽤 많은 리팩터링으로 코드의 결합도를 낮추었고 의존성도 많이 끊었고, 일반화할 수 있는 내용은 정리해서 포스팅했었다. 여러분의 삶은 테스트 친화적인 설계를 채택할수록 편해지고 설계 자체도 더 좋아집니다. 알라딘 eBook (제프 랭어.앤디 헌트. 데이브 토머스 지음, 유동환 옮김) 중에서 이제 단위 테스트 추가를 시도해볼 생각에 Spock를 검토했으나 현재 팀은 JUnit 선호도가 높고, 몇 개 없지만 JUnit으로 약간의 단위 테스트가 이미 구성되어 있다. 개인적으로 JVM의 단위 테스트 프레임워크로 JUnit을 선호..

Dev 2022.11.12

휴먼북 강연

동네 도서관에서 휴먼북이라는 서비스 게시물을 보고 흥미로워서 등록했었는데, 그게 연이 되어서 저번 주에 고등학교에 강연을 다녀왔습니다. 불러주신 덕분에 매우 좋은 경험을 했습니다.저의 휴먼북 소개http://www.yonginilbo.co.kr/news/articleView.html?idxno=93778&fbclid=IwAR340lgzbufy058UntZJ5WAiIc98JK5jFtOyWa8bslLAM_OTOFgKMFEG9P8  용인특례시 '시민 휴먼북' 고교 진학멘토로 출동 - 용인일보용인특례시의 ‘시민 휴먼북’이 청소년들의 멘토가 됐다. 휴먼북은 시민이 책이 돼 독자와 직접 만나 대화하며 자신의 지식과 경험을 나누는 프로그램이다.지난 2일 5명의 시민 휴먼북이 처인www.yonginilbo.co.kr

I'm prostars 2022.11.07

파이썬으로 티스토리 블로그 백업 유틸리티 만들기

배경 티스토리를 사용한 지 10년이 넘다 보니 글도 제법 쌓였고, 백업도 한번 받고 싶은데, 백업 기능이 없다.(없었다.) 백업 기능을 만들어 달라고 문의도 해봤는데, 안 만들어준다. 구글링을 해보니 티스토리 백업 유틸리티가 제법 많이 나오기는 하는 데 사용하기가 조금 애매하던 차에 이번에 고등학교 로봇동아리 학생들을 대상으로 '개발자에 대한 궁금증'에 대한 강연을 할 일이 생겼는데, 길지 않은 코드로 동작하고 실제 용도가 있는 예제로 보여줄 겸 해서 티스토리가 제공하는 Open API로 간단히 구현해보기로 했다. 다 만들고 보니 백업 기능이 생겼네...? 티스토리 관리 메뉴에 '블로그 백업'이 생겼다. 사용해보니 압축 파일로 잘 백업해준다. 다만, 어떤 게시글은 파일명이 게시물 제목으로 잘 되어 있고,..

Dev 2022.11.02

눈뜬 자들의 도시

'눈먼 자들의 도시'와는 다르게, 시작은 발랄하고 코믹하다. 하지만, 이야기가 진행될수록 발랄함은 사라지고 우울한 블랙 코미디로 침잠한다. '이름 없는 자들의 도시'에서는 그래도 주인공은 이름으로 불러주더니, 이 작품은 '눈먼 자들의 도시'와 같이 등장인물 누구 하나 이름으로 지칭되지 않는다. 유일하게 '눈먼 자들의 도시'에서 등장했던 눈물을 핥아주는 개의 이름만이 언급된다. 중앙 정부는 사랑하는 아버지처럼, 곧고 좁은 길로부터 벗어난 수도의 주민에게 돌아온 탕자의 우화에서 배워야 할 숭고한 교훈을 일깨워줄 수 있다고 믿습니다, 정부는 그들에게 진정으로 뉘우치고 완전히 회개하면 용서 못할 잘못이 없다고 말합니다 ... 여러분의 조국의 명예를 드높이십시오, 조국의 눈이 여러분을 주시하고 있습니다. 작가의 ..

Book Shelf 2022.10.31

그런 깨달음은 없다

참여하고 있는 독서 모임에서 같이 볼 책으로 선정되어 읽어봤는데. 특이한 책이다. 이거 정리하면서 알았는데, 내가 구매한 책 중에서 이 책이 '종교' 카테고리로 분류되는 첫 번째 책이다. 아직 깨달음을 얻지 못해 시작한 책은 일단 끝까지 봐야 하는 편인데, 읽으면서 이걸 계속 읽어야 하나 그냥 치울까? 라는 생각이 이렇게 여러 번 드는 책도 매우 오랜만이다. 이 까칠한 아저씨가 좋아하는 상태, 폭발, 핵폭발, 화학적, 세포, 분비선 등 몇몇 단어를 없는 셈 치고 읽으면 거부감이 조금 덜하다. 과학적인 증거도 없고 그걸 입증해줄 만한 과학계 사람도 없지만, 나는 이런 사실을 시장에 내놓고 팔려고 하는 게 아니기 때문에 사람들의 호기심을 만족시키는 데는 아무 관심이 없습니다. 그렇다고 하시니, 그 초능력 등..

Book Shelf 2022.10.22
반응형