추천도서 52

츠바키 문구점

올해 들어 처음 읽은 소설이다. 어쩌다 보니 인문학과 기술서만 읽었네. 그렇다고 이번에 새로 산 책도 아니다. 몇 년 전 NHN 다니던 시절에 사내 이벤트로 받은 책으로 기억한다. 독서 모임 토론 주제를 발제해야 하는데, 겸사겸사 독서 후기도 적어본다. 읽으면서 영화 '리틀 포레스트’가 생각나는 이 책은 참 몽글몽글한 느낌이다. 내가 마지막으로 서류가 아닌 종이에 무언가를 적어본 게 언제인지도 가물가물하다. 업무 다이어리도 아이패드에 사용할 수 있는 터치펜이라는 물건을 한 10년 전에 손에 넣은 이후로 모든 노트 정리는 디지털로 바뀌었다. 역시 디지털이라 10년 전 회의 시간에 딴짓한 흔적을 바로 찾아서 이 글에 붙여 넣을 수 있다. 사족이 길었지만, 지금과 같이 키보드조차 낯설어지는 모바일 시대에 손편..

Book Shelf 2024.08.22

과학에서 신으로

언제, 왜 메모했는지 이제는 기억에 남아있지 않은 읽어볼 도서 목록에 있던 책 중 하나로 2007년에 번역서가 출간된 꽤 오래된 책이다. 읽던 중 '고타마’가 언급되어 작년에 읽었던 '싯다르타’가 생각나면서 왠지 모르게 반가웠다. 제목에 '신’이 명시되어 종교적인 색채가 강할 것으로 생각했는데 그렇지는 않았다.이 책은 새로운 세계관의 주요 요소와, 의식이 어떻게 과학과 영혼의 연결고리가 될 수 있는지에 대한 내 견해일 뿐이다. - 피터 러셀이 책의 제목으로 챕터 1의 제목인 '과학에서 의식으로’가 더 어울린다고 생각한다. '신', '영혼'보다 '의식', '마음’에 대한 접근이 주를 이룬다. 인간이 언어를 사용하면서 얻는 이점이 서로의 지식을 공유하고 소통하면서 발전하는 것에 있다고 막연히 이해하고 있었다..

Book Shelf 2024.04.06

가상 면접 사례로 배우는 대규모 시스템 설계 기초 2

책을 손에서 놓지는 않았었는데, 독서 후기를 정리한 지가 벌써 꽤 오래되었다. 다 읽은 책을 덮고 내용을 복기하며 글로 정리한다는 게 은근히 시간이 들어가는 작업이긴 하다. 현재 회사로 이직할 때 디자인 인터뷰라는 다소 생소한 테크 인터뷰 과정을 지원자 입장에서 거쳤고, 최근에는 같은 과정을 면접자 입장에서 진행하고 있다. 이와 관련된 기술 도서 하나를 개인적으로 추천하려고 한다. 코딩 테스트에는 많이들 익숙하지만, 디자인 인터뷰는 아직 낯설어 하는 분들이 많다. 이 책이 많은 도움이 될 것이라고 생각한다. 이 책은 2021년에 출간된 '가상 면접 사례로 배우는 대규모 시스템 설계 기초’ 도서에 이은 후속작으로 분량이 2배 정도 늘어난 것 같다. 전작은 시스템 아키텍처에 대한 가벼운 소개 정도로 추상화 ..

Dev 2024.03.16

고도를 기다리며

어느 날 내가 좋아하는 미드 '하우스 (House M.D)'를 다시 보다가 예전에는 그냥 그런가 보다 하고 넘겼던, 저 대사 '걔들보단 고도가 빨리 올걸요.'의 컨텍스트가 궁금해졌다. 뉘앙스는 '쟤들은 매우 늦을 것이다.'를 의미한다는 것을 굳이 '고도’가 누군지 몰라도 이해할 수는 있다. 하지만 그래서, '고도’는 누군데? 저 대사에 등장하는 '고도’가 궁금해서, '고도를 기다리며’를 찾아서 읽었다. 매우 얇지만, 금방 읽히지는 않았다. 일단, 소설이 아니다. '햄릿’과 같이 자주 접하지 않았던 아래와 같은 형식의 희곡이다. 침묵. 둘이 다 움직이지 않고 서 있다. 두 팔은 흔들거리고 고개를 푹 숙인 채 무릎에는 맥이 빠졌다. 에스트라공 (힘없이) 우린 꽁꽁 묶여 있는 게 아닐까? (사이) 안 그래? ..

Book Shelf 2023.10.29

진화적 아키텍처

감사하게도 한빛미디어 출판사에서 도서 리뷰 요청을 해주셨다. 책도 보내주셨지만, 이제 종이책은 보기 힘들어서 알라딘 이북으로 직접 구매해서 봤다. 그러므로, 이 글은 직접 구매한 도서를 읽고 간단히 정리하는 것으로 그동안의 도서 후기와 다르지 않다. 얼마 전에 봤던 '소프트웨어 아키텍처 The Hard Parts’ 저자의 신간이다. 책의 표지에는 '개정판'이라는 언급이 없는데, 이 책은 2017년에 출간된 'Building Evolutionary Architectures: SUPPORT CONSTANT CHANGE'의 개정판이다. 진화적 소프트웨어 아키텍처는 여러 차원에 걸쳐 유도된 변화와 점진적 변화를 지원한다. 이 책은 위와 같은 정의를 어떻게 실현할 수 있는지에 대한 세부적인 사항을 설명한다. 그중..

Dev 2023.09.24

자바 알고리즘 인터뷰 with 코틀린 - 102가지 알고리즘 문제 풀이로 완성하는 코딩 테스트

베타리더로 참여했던 '자바 알고리즘 인터뷰 with 코틀린 - 102가지 알고리즘 문제 풀이로 완성하는 코딩 테스트' 도서가 곧(2023년 9월 20일) 출간됩니다. 전작도 재밌게 봤었고, 이번 신작도 미리 읽어보면서 재밌었습니다. https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=324537416 자바 알고리즘 인터뷰 with 코틀린 코딩 테스트와 알고리즘 인터뷰를 준비하는 개발자들을 위한 최고의 책 『파이썬 알고리즘 인터뷰』가 자바와 코틀린 코드로 무장하고 한층 업그레이드되어 돌아왔다! 200여 가지가 넘는 풍부 www.aladin.co.kr

Dev 2023.09.14

소프트웨어 아키텍처 The Hard Parts

얼마 전에 발표자로 참여했던 카카오 테크밋 행사의 패널 토의에서 리팩터링 전과 후의 차이를 수치로 측정할 객관적인 지표에 대한 질문의 답변으로 설명한 내용 중에 발표에서 소개했던 '코드 복잡도'와 이 책에서 읽었던 피트니스 함수에 대해서 간단히 소개했었다. 이 책은 예전에 소개했던 '소프트웨어 아키텍처 101'(이하 101)의 후속으로 많은 내용이 101과 이어지며, 101은 저자가 2명이었는데, 이 후속작은 저자가 4명으로 늘었다. 그 영향인지 가상의 팀을 구성하고 대화체로 상황을 설명하는 방식이 추가되었지만, 책의 분위기는 크게 달라지지 않았다. 101에서 계속 강조하던 트레이드오프의 중요성도 계속 강조된다. 소프트웨어 아키텍처에서는 최고의 설계를 고집하지 마세요. 그 대신에 나쁜 것 중에서 제일 나..

Dev 2023.08.06

자바 최적화 (Optimizing Java)

자바 코드 레벨의 최적화와 JVM, GC 튜닝 정도의 설명이 있으려나 했는데, 하드웨어 레벨의 이야기와 바이트 코드와 핫스팟에 대한 세부적인 이야기들로 매우 재밌게 읽었다. 개발하면서 코드 구현의 중요도는 가능하면 가독성과 테스트 용이성이 좋은 코드로 구현하는 것에 두고 있다. 최적화에 대한 고려는 적합한 자료구조를 선정하는 것, 불필요한 블로킹을 하지 않는 것 외에는 코드 구현 레벨에서 딱히 최적화에 신경 쓴 적은 없었던 것 같다. 심지어 명시적인 함수를 명시적으로 인라인으로 선언해 본 지도 좀 되었다. 대부분의 병목은 코드 구현 레벨보다 외부 연동에서 발생한다. 꽤 오래전에 사서 필요한 부분만 보고는 잊고 있다가 올해 다 봤다. 오래전에 리디북스에서 구매했었기에 PDF 형식의 eBook에서 텍스트 복..

Dev 2023.05.13

쏙쏙 들어오는 함수형 코딩

읽은 순서랑 정리하는 순서를 맞추기가 생각보다 어렵다. 작년에 읽은 책을 이제야 정리하네. "책 제목을 꼭 이렇게 해야만 했을까?"라는 생각이 스치지만 좋은 책이다. 참고로, 이 책의 예제는 자바스크립트로 되어있는데, 리팩터링 2판과 최근에 나온 SICP 등의 특정 언어에 국한되는 내용이 아닌 책에서 예제를 구현하는 언어로 자바스크립트를 선택하고 있는데, 개발 환경을 별도로 구성할 필요도 없고 간단하게 예제를 돌려볼 수 있어서 좋다. ‘부수 효과를 없애라!’라는 슬로건 때문에 너무 단순하게 생각할 수도 있지만, 사실 함수형 프로그래밍은 부수 효과 구성에 관한 내용입니다. 부수 효과를 잘 관리해서 코드의 아무 곳에나 있지 않도록 하는 것입니다. 이 책의 주제이기도 합니다. 이 책은 보통 함수형 프로그래밍이..

Dev 2023.05.06

좋은 코드, 나쁜 코드 (Good Code, Bad Code)

2023년 카카오 신입 공채 기술 온보딩에서 코드 리뷰어로 활동할 때 참고하려고 구매했던 도서다. 나름 신간이면서 표지가 마음에 들기도 했고, 코드 품질은 언제나 관심이 있는 주제다. 읽어보니 책의 내용도 내용이지만, 적절한 컬러 사용과 보기 편한 편집으로 가독성도 매우 좋다. 이 책의 특이사항으로는 일단 예제 구성하는 데 사용한 언어에 있다. 보통 하나의 언어를 정해서 실행할 수 있는 예제를 구현하는 다른 책들과 달리 의사코드를 사용하여 예제를 구성하고 있다. 저자가 자기 생각을 전개하는 방식도 책의 제목과 순서는 배치 순서는 다르지만, 저자가 생각하기에 나쁜 코드와 좋은 코드를 대비시켜서 보여주고 왜 나쁘고 좋은지를 친절하게 설명해준다. 그리고, 모든 상황에 맞는 정답은 없다는 것을 계속 상기시켜준다..

Dev 2023.03.04
반응형