반응형

추천도서 38

시민의 교양

종이책과는 달리 전자책은 사놓고 까먹으면 눈에 띄지 않는다는 단점이 있었네. 구매한 지 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

눈뜬 자들의 도시

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

Book Shelf 2022.10.31

안드로이드 뜻밖의 역사

다른 책을 볼 예정이었는데, 인터넷에 돌아다니는 안드로이드의 얼굴 짤이 웃겨서 이 책을 먼저 사서 봤다. 새로운 것들을 많이 알게 되었다. 안드로이드를 카메라 OS로 계획했었는지 몰랐고, 매우 작은 스타트업이었는지도 처음 알았다. 우리가 후식 이름을 사용한 이유는 후식은 상표가 될 수 없기 때문이다. 이런 현실적인 이유가 있었다니, 몰랐다. 개발자란 코드와 노는 것인가, 'BeOS를 뜯어고치며 놀았다.'라니, 멋지다. 나는 만화책 보고 게임을 하면서 놀았는데. 힙톱이라는 스마트 폰이 있었구나, 요즘은 랩톱이라는 말도 잘 사용하지 않지만, 힙톱 잘 어울리고 재밌는 이름이다. 언젠가 들었던 안드로이드와 삼성의 일화도 소개되어 있고, 구글이 안드로이드라는 스타트업을 인수한 일화도 자세히 소개되어 있다. 패든이..

Dev 2022.10.08

이름 없는 자들의 도시

오래전에 종이책으로 사놓고 안 봤던 ‘눈뜬 자들의 도시’를 읽으려다가 이북이 나왔나 찾다가, ‘이름 없는 자들의 도시’가 이북으로 출간된 것을 보고 출간 순서를 찾아보니 번역서 출간 순서와는 다르게 이 책의 출간이 먼저라서, 도시 3부작인가 하고 구매했다. 읽으면서 ‘눈먼 자들의 도시’와는 전혀 연관이 없는데 뭘까 했더니, 이유가 있었다. 마케팅의 힘이었다. 원제는 이며, 도시 시리즈와는 전혀 관계가 없다. 책을 사서 보기 전에 약간의 정보를 찾아볼까 하는 생각이 살짝 든다. 마케팅의 일환으로 이름 없는 자들의 도시로 출판되었다. https://namu.wiki/w/주제%20사라마구#fn-4 주제 사라마구 - 나무위키 주제 사라마구는 쉼표와 마침표 이외의 문장부호를 전혀 사용하지 않는 문체로 유명하다. ..

Book Shelf 2022.09.18

물고기는 존재하지 않는다

저자가 롤 모델로 삼으려 했던 데이비드 스타 조던이라는 인물의 삶을 따라가면서 그의 삶을 조명하고 저자의 고민 그리고, 드러나는 사실과 반전이 어우러져 읽으면서 뭐지? 흐름이 뭐 이래? 하다가… 어?! 와우! 하게 되는 스릴러 느낌도 있고, 여러 가지 생각하게 하는 책이다. 목차도 추상적이라, 별다른 정보 없이 쭉 읽었고, 아무런 정보 없이 보면 더 재밌는 책이라고 생각해서 최대한 스포일러를 피해 본다. 제목에 명시적으로 적힌 물고기만 언급해보면, 분류학에서 어류가 없다고 해서 우리가 알던 물고기가 사라지는 것도 아니고 우리가 물고기라고 부르지 않을 것도 아니지만, 과학의 엄밀함에는 중요한가 보다. 하지만, 과학도 언제나 엄밀한 것은 아니니, 공룡에게 깃털도 생겼는데 장래에 분류학의 발전으로 어류가 다시..

Book Shelf 2022.09.12

명상록

마르쿠스 황제는 자신의 비망록이 세상에 공개되어 후세에 읽힐 것이라고 상상해봤을까? 책 초반에 마르쿠스 아우렐리우스가 코모두스의 아버지라는 것을 보고 영화 글래디에이터에서 봤던 노황제 그분이 생각나서 왠지 모르게 반가웠다. 170~180년 사이에 쓰였을 것이라고 하니, 이 책이 내가 봤던 고전 중에서 가장 오래된 고전이 아닐까 싶다. 책을 읽으면서 종교서를 읽는 듯한 느낌과 교양 수업으로도 만나 본 적은 없지만, 철학과 교수님에게 혼나는 기분이 살짝 들었다. 선악을 판단하지 말고 이렇게 하라, 그렇게 하지 말라 계속 혼난다. 자기 자신에게 쓴 글이 엄격하다. 우리 대부분은 자신에게 관대하지 않은가? 마르쿠스 황제는 철인이면서 득도하셨을 듯하다. ‘판단을 하지 않으면 괴로움이 사라진다.’ ’얼마나 오래 사..

Book Shelf 2022.09.05

구글 엔지니어는 이렇게 일한다

책의 도입부가 인상적인데 ‘시간 위를 걷는 프로그래밍’이라는 멋진 말과 함께 소프트웨어 엔지니어링을 ‘흐르는 시간 위에서 순간순간의 프로그래밍을 모두 합산한 것이다’라고 이야기한다. 시간의 무서움에 대한 이야기와 하이럼의 법칙 이야기가 계속된다. 개발해오면서 여러 개발 조직에서 봤던 패턴의 상당수는 ‘일단’ 구현하고, ‘나중에’ 수정하자. ‘일단’ 돌아가니, ‘나중에’ 개선하자. 등이 누적된 세월의 흔적들이 유령의 묘지와 더불어 매우 많다. 코드는 자산이 아니라 부채이므로, 불필요한 코드를 줄여 관리 비용을 줄여야 한다. 그리고, 코드의 일관성은 매우 중요하다. 매우 공감한다. 지금 몸담고 있는 팀에서도 내가 하는 작업의 상당 부분은 방치된 레거시를 정리하고 구조를 리팩토링하면서 그동안 쌓여있던 기술 부..

Dev 2022.08.28

프로그래밍 루아 3판

재미난 스크립트 언어가 있었네. 게임 서버 개발할 때 게임 이벤트용으로 사용한다고 들었었는데 직접 사용해 본 적은 없었다. Lua Struct를 json 이나 yml 처럼 설정 파일 용도로 사용하면서 추가로 제어 구조를 넣을 수도 있고, 인터페이스만 열어두면 빌드 타임 없이 Lua를 통한 코드 인젝션도 가능하고 재밌는 언어다. C, Go, Java 등의 언어와 손쉽게 연동이 되니 보조 언어로 사용하기 좋다. 다른 Lua 책을 본 것은 아닌데 내 사용 범위에서는 이 책 하나로 충분했다. 두꺼운 책이 아님에도 문법만 다루는 것이 아니라 언어의 세부사항과 주의 사항을 모두 다룬다. #독서 #개발서적 #추천도서 #루아 #프로그래밍루아 #lua 알라딘 : 프로그래밍 루아 3판 프로그래밍 루아 by 호베르토 이에루..

Dev 2019.08.21
반응형