라벨이 book인 게시물 표시

[책] 알고리즘 산책: 수학에서 제네릭 프로그래밍까지 - 추상화를 어떻게 해야 하는지에 대한 수학적 설명

이미지
수학을 왜 공부해야 하는가? 수학자들은 세상의 진리를 탐구하기 위해서라고 할 것이고, 변태들은 단순히 재밌어서라고 할 것이다. 하지만 나는 진리 탐구에는 관심이 없다. 그리고 수학이 흥미롭다고 생각하지, 재밌다고 생각하지도 않는다. 그럼에도 수학을 공부하는 이유는 수학이 사고 훈련에 도움되기 때문이다. LLM에게 코드 작성을 시키면 정말 못하는 것이 하나 있다. 바로 추상화다. 다른 부분은 몰라도 추상화만큼은 정말이지 신입 개발자 수준의 모습을 보여준다. LLM이나 신입 개발자들이 하는 추상화는 그저 비슷한 코드 몇 개를 하나의 함수로 합치는 수준에 불과하다. 추상화란 무엇일까? 추상화는 여러 개의 구체적인 대상에서 본질적으로 필요한 성질만 남기고, 나머지 차이를 버려 하나의 일반적인 개념으로 표현하는 것이다. 그렇다면 추상화를 잘하려면 어떻게 해야 할까? 추상화의 첫 번째 단계는 추상화할 대상과 범위를 정하는 것이다. 그리고 그 대상의 필수적인 성질이 무엇인지 깊이 생각해야 한다. 어떤 성질은 주어진 대상의 본질적인 것이고, 어떤 성질은 그 본질적인 성질을 만족하기만 하면 부수적으로 따라오는 것이다. 반대로 지금 눈앞에 있는 코드에 공통점이 있더라도 그것이 우연히 공유하고 있을 뿐이고, 실제로는 추상화 범위에 포함해서는 안 되는 경우도 있다. 좋은 추상화는 이 경계를 잘 찾는 일이다. 이런 구분이 없이 일단 코드가 같기 때문에 같은 클래스나 함수로 추상화하는 경우를 보면 나는 이렇게 묻는다. 이 구조가 정말로 필연적인가? 그리고 이것이 수학에서 사고하는 방식이다. 아니, 수학이라고 하면 범위가 너무 넓을 수도 있다. 최소한 대수학에서는 그렇다. 정수, 행렬, 다항식은 겉보기에는 전혀 다른 대상이다. 하지만 대수학에서는 그 대상 자체가 아니라 그 위에 어떤 연산이 정의되고, 그 연산이 어떤 법칙을 만족하는지를 본다. 그렇게 군, 반군, 모노이드, 환, 체 같은 대수 구조가 만들어진다. 이 책은 역사 속 대수학이 발전한 과정을 따라간다. 고대...

[책] 프로그래머의 뇌 - 좋은 코드가 무엇인지에 대한 인지과학적 설명

이미지
프로그래머의 뇌 는 프로그래머들이 흔히 말하는 '좋은 코드'란 무엇인지, 그리고 코드를 어떻게 하면 더 잘 읽을 수 있는지를 인지과학의 관점에서 설명하고, 이를 바탕으로 프로그래밍을 더 효과적으로 수행하는 방법을 제시하는 책이다. 이 책에서 소개하는 실천적인 조언의 상당수는 낯설지 않다. 클린 코드 , 리팩터링 , 실용주의 프로그래머 같은 서적에서 이미 제시된 조언들이다. 이 책의 차별점은 새로운 원칙을 제시하는 데 있다기보다, 기존의 원칙이 왜 효과적인지를 인지과학에 근거해 설명한다는 데 있다. 이 책은 좋은 코드를 독자의 기억과 사고에 불필요한 부담을 주지 않는 코드로 바라보고, 그 부담을 줄이는 방법을 설명한다. 이미 다른 책에서 접할 수 있는 내용을 굳이 다시 알아야 하느냐고 물을 수도 있다. 내가 생각하는 이 책의 가치는 우리가 경험적으로 알고 있던 현상에 이름을 붙여 준다는 데 있다. 나 역시 코드를 어떻게 작성해야 하는지는 알고 있었지만, 이를 다른 사람에게 설명할 때는 코드 리뷰를 통해 그때그때 개별적인 조언을 건네는 데 그치곤 했다. 이 책을 읽고 나서는 파편화되어 있던 경험에 적절한 이름과 설명을 붙이고, 그 조언이 필요한 이유까지 이야기할 수 있게 되었다. 이름을 붙이면 현상을 식별하고 동료와 논의하는 데 도움이 될 뿐 아니라 기억에도 더 오래 남는다. 이 책의 표현을 빌리자면, 관련 정보를 장기 기억에 저장하고 필요할 때 인출하기도 쉬워지는 것이다. 이 책을 읽어야 하는 또 다른 이유는 클린 코드 나 리팩터링 에서 제시하는 규칙을 교조적으로 받아들이는 데 그치지 않고, 그 배경에 있는 원리를 이해할 수 있다는 점이다. 원리를 알고 있으면 책에서 제시한 규칙이 그대로 적용되지 않는 상황에서도 다른 해결책을 찾을 수 있기 때문이다. 다만, 이 책은 인지과학을 사용해 프로그래밍을 설명하는 책이지, 인지과학 자체를 설명하는 책은 아니다. 따라서 같은 현상에 대한 여러 이론적 논쟁을 다루지 않고, 실용적 설명을 위...

[책] Effective Kotlin - 그다지 Effective 하지 않은

이미지
1992년 스콧 마이어스 의 Effective C++ 이 출간된 이후, More Effective C++ , Effective STL , Effective Modern C++ 로 이어지는 이 시리즈는 C++ 개발자의 필독서로 자리 잡았다. C++은 복잡하기로 악명 높은 언어다. 문법을 안다고 해서 좋은 C++ 코드를 작성할 수 있는 것은 아니다. 스콧 마이어스의 이 책들은 언어 명세만 읽어서는 얻기 어려운 실전 지식을 구체적으로 정리했다. 그 후 Effective 는 하나의 장르가 됐다. 같은 출판사에서 기획한 단일 시리즈는 아니기 때문에 책마다 깊이와 완성도에는 차이가 있지만, 이 장르에는 공통된 기대가 생겼다. 해당 언어의 문법을 익힌 개발자가 다음 단계로 나아갈 때 필요한 그 언어만의 이디엄과 자주 빠지는 함정, 라이브러리와 언어 기능을 올바르게 조합하는 방법을 알려주는 책이라는 기대다. 그런데 Effective Kotlin 은 그런 기대를 만족시키지 못한다. 지금까지 읽은 Effective 계열의 책 가운데 해당 언어에 관해 새롭게 배울 내용이 가장 적었다. 이는 작가의 문제라기보다 언어의 설계 차이에서 비롯된다. C++은 물론이고 그보다 가다듬어진 Java나 C#도 제대로 모르고 사용하면 예상하지 못한 결과를 낳기 쉽다. 높은 자유도에 따른 복잡성을 사용자가 감당하게 된 경우도 있고, 언어의 역사와 하위 호환성 때문에 남아 있는 동작도 있고, 간결한 문법 뒤에 숨어 있는 규칙이 있는 경우도 있다. 이런 언어에서는 문법적으로 올바른 코드와 그 언어답게 잘 작성된 코드 사이의 거리가 크다. 그래서 무엇을 해야 하는지뿐 아니라 무엇을 피해야 하는지도 알아야 한다. 하지만 Kotlin은 개발자들이 겪었던 문제를 고려해 설계된 언어다. 실수하기 쉬운 기능은 줄이고 안전한 방식을 선택하도록 유도한다. 이 덕분에 개발자가 별도로 공부해야만 알 수 있는 함정이 다른 언어보다 적다. 이는 Kotlin의 장점이지만, 동시에 Effective Kotl...

[책] 로지컬 씽킹 - LLM 시대에 다시 보는 맥킨지식 사고법

이미지
아는 사람은 표지를 보면 알겠지만 구판이다. 옛날 맥킨지식 사고법이 유행했던 시절에 샀기 때문이다. 아마 20년쯤 전이었을 것이다. 그런데 사놓고 읽지는 않았다. 왜 안 읽었는지는 잘 기억나지 않는다. 당시 맥킨지식 사고법이 워낙 유행하던 시절이라 논술 관련 교재나 다른 책에서 많이 차용하고 있었고, 그런 것들을 통해 이미 어떤 내용인지 대충 알고 있어서였을 것 같다. 그럴 거면 왜 샀는지 모르겠지만 원래 책통법 이전에는 책을 살 때 그렇게 생각하고 사지 않았다. 그리고 그 뒤로 일하는 방식에 대한 유행이 꽤 많이 바뀌었다. 맥킨지식 사고법은 현재 가지고 있는 정보를 기반으로 문제에 대한 최적해를 찾으려는 시도다. 하지만 스타트업은 가지고 있는 정보도 적고, 최적해를 찾을 시간도 돈도 없다. 그래서 이런 접근보다는 빠르게 만들어 빠르게 고치는 방식이 실용적으로 여겨졌다. 린 스타트업, 애자일, 디자인 씽킹 같은 방법론들이 이런 접근법이었다. 나도 대체로 이 방법을 좋아한다. 커리어 대부분을 스타트업에서 보냈기 때문에 실제로 많은 경우에는 그 방식이 맞았다. 머릿속에서 완벽한 답을 찾으려 하기보다, 작게 만들고 현실에서 부딪혀보는 편이 더 빠르게 배울 수 있다. 실행하지 않은 분석은 틀리기 쉽고, 사용자와 시장과 현장은 머릿속 논리대로 움직이지 않는다. 그래서 책장에 꽂아둔 로지컬 씽킹 은 딱히 다시 꺼낼 이유가 없었다. 그렇게 이 책은 책장 안 어딘가에서 썩고 있었다. 그런데 최근 LLM을 쓰면서 생각이 조금 바뀌었다. 이제 다시 그런 사고법이 필요해졌다고 느낀다. LLM에는 논리가 없다. 그럴싸한 문장을 만들 뿐이다. LLM은 확률적 생성기다. 앞뒤로 어떤 것을 붙여도 이 본질은 벗어날 수 없다. 그저 그럴듯한 문장을 만들고, 논리적인 글처럼 보이는 구조를 만들어낸다. "첫째", "둘째", "따라서" 같은 접속어와 bullet point, 숫자 리스트 같은 형식을 사용해 사고의 모...

[책] 틀리지 않는 법 - 우리가 수학을 공부해야 하는 이유

이미지
틀리지 않는 법 - 조던 엘렌버그 제목과 다르게 틀리지 않기 위해 어떤 방식으로 사고해야 하는지 알려주는 책은 아니다. 오히려 이건 저자가 받는 질문인 "우리는 왜 수학을 배워야 하는가?"에 대한 답변에 가깝다. 수학은 세상을 더 정확하게 이해하기 위해 배워야 한다. 500페이지가 넘는 분량 동안 저자는 수학이 단순히 계산이 아니라 현실을 설명하고 이해하는 언어라는 점을 다양한 사례를 통해 보여준다. 책의 가장 큰 장점은 무엇보다 저자의 글쓰기 실력이다. 수학을 소재로 삼고 있지만 딱딱하거나 교과서적인 설명에 그치지 않고, 흥미를 끌 수 있는 적절한 예시를 이용하여 부담 없이 읽을 수 있게 만든다. 반면 단점도 분명하다. 이 책은 어디까지나 교양서적이다. 책의 분량에 비해 내용의 깊이는 다소 얕은 편이다. 이미 수학에 관심이 있거나 관련 교양서를 여러 권 읽어본 사람이라면 대부분 한 번쯤 들어봤을 법한 이야기들이 반복된다. 반대로 수학에 별 관심이 없는 사람에게는 500페이지가 넘는 이 책을 읽지 않을 것 같다. 그럼에도 불구하고 이 책의 가치는 분명하다. 만약 누군가 "수학을 왜 공부해야 하나요?"라고 묻는다면, 나는 망설임 없이 이 책을 추천할 것이다. " 틀리지 않는 법 "은 수학의 세부 내용을 가르치는 책이 아니라, 수학이 왜 중요한지 설득하는 책이다. 그리고 그 목적만큼은 매우 효과적으로 달성하고 있다.

[책] Real MySQL 8.0

이미지
Real MySQL 8.0 1권 Real MySQL 8.0 2권 내가 처음 MySQL을 만진 건 5.1인가 5.2였다. 사실 정확한 버전은 기억이 나지 않는다. 당시에는 서버로 쓸만한 오픈소스 RDBMS는 선택지가 MySQL밖에 없었다. PostgreSQL을 비롯한 대체제가 없는 것은 아니었지만, 성능과 안정성을 고려하면 MySQL을 선택할 수 밖에 없었다. 그리고 많은 일이 있었다. 차세대 스토리지 엔진으로 주목을 끓었던 Falcon 엔진은 어느 순간 폐기되었고, 2010년 출시된 MySQL 5.5에서는 기본 엔진으로 InnoDB를 채택하였다. 2018년 출시한 MySQL 8.0에서는 MyISAM 지원을 버리고 InnoDB만 남겼다. 그 후 8년이 지났지만 부끄럽게도 나의 MySQL 이해도는 여전히 그 15년 전 시절에서 크게 달라지지 않았다. 그래서 이번에 InnoDB에 대한 지식을 제대로 정리해보자는 마음으로 책을 찾아봤다. 솔직히 말하면, 특정 구현체를 다루는 책을 안 좋아한다. 그런 책은 내부 구현보다 단순히 어떤 옵션들을 줘서 실행할 수 있는지 알려주는 피상적인 겉핥기를 하는 경우가 많기 때문이다. 그래서 이번에도 기대보다는 우려가 앞섰다. 그래도 Real MySQL 8.0을 고른 것은 위키북스의 " 데이터베이스 & 빅데이터 " 시리즈 중 하나라는 점 하나 때문이었다. 참고로 이 시리즈의 첫 번째 책인 스캇 엠블러 의 리팩토링 데이터베이스 는 RDBMS를 다루는 사람이라면 꼭 읽어야 할 명저다. 판권 종료로 번역서를 구할 수 없어 추천하기 힘들다는 사실이 안타까울 따름이다. 이번에 읽은 Real MySQL 8.0은 결과적으로, 안 읽었으면 후회할 뻔했다. 이 책이 좋았던 이유는 단순히 "이런 옵션이 있다" 수준의 나열에 그치지 않는다는 점이다. MySQL 8.0의 핵심인 InnoDB의 동작 방식을 깊이 있게 설명해준다. 인덱스가 내부적으로...

[책] 랜들 먼로의 친절한 과학 그림책

이미지
랜들 먼로의 친절한 과학 그림책 이과 드립 만화  xkcd 운영자로 유명한 랜들 먼로가 쓴 아동용(?) 과학책이다. 원서 Thing Explainer 는 전문용어 없이 40여 개의 주제를 1,000개의 쉬운 단어만으로 설명하는 것으로 유명하다. 번역하면서 사용된 단어는 1,500개로 늘었지만, 일상용어로 설명해준다. 전문 용어를 쓰지 않기 때문에 누구나 읽을 수 있다는 장점은 있지만, 단점도 있다. 친절한 과학 그림책 으로 얻은 지식은 확장하기 힘들다. 이미 알고 있는 내용이 아니면 무엇을 알아봐야 할지 상상도 가지 않기 때문이다. 예를 들면 석유를 석유라는 단어를 사용하지 않고 "불타는 물"이라고 표현하는 식이다. 문맥상 나올 단어가 석유라는 것을 알지 못하는 사람은 해당 내용이 무엇인지 이해하기 어려울 수 있다. 이 책을 읽는 올바른 방법은 주변에 이미 잘 알고 있는 사람이 모르는 내용을 해석해주는 것으로 보인다. 주변에 과학을 좋아하는 아이가 있다면, 이보다 선물해주기 좋은 책은 없다. 하지만 그 아이가 자기 아이라면 잠시 고민을 좀 해봐야 한다. 결국 풀어서 해석해주는 것은 부모의 몫이 될 테니 말이다.

[책] 일본인과 에로스

이미지
일본인과 에로스 - 서현섭 2004년 나온 개정판이 아닌 1995년 판인 것을 보면 비행기 이야기 와 마찬가지로 헌책방에서 산 책인 것 같다. 언제 샀는지 정확히 기억나지 않지만 아마 시기상으로는 2010년 즈음일 것이다. 이번에 다시 읽어보니 그때 읽었던 것과 또 다른 느낌이 든다. 세상이 많이 바뀌었다는 것을 느낄 수 있었다. 이 책이 쓰인 1995년 읽은 독자들의 감상도 내가 이 책을 처음 읽었던 2010년 느낀 감상과는 꽤 다를 것이다. 그도 그럴 것이 1995년이면 아직 대중문화 개방을 하기 전이다. 지금처럼 인터넷이 발달한 시기도 아니었기 때문에 일본에 대한 지식은 전문가나 마니아의 영역이었다. 그런 시기였기 때문인지 일본 외교관 출신인 서현섭 작가의 책은 새로운 지식이었을 것이다. 하지만 그건 어디까지나 당시 기준에서였고 지금은 아니다. 지금은 인터넷에서도 얼마든지 구할 수 있는 지식이 돼버렸다. 30년도 안 되는 사이에 세상 참 많이 변했다.

[책] 그림으로 보는 시간의 역사

이미지
그림으로 보는 시간의 역사 - 스티븐 호킹 이 시대 가장 유명한 이론 물리학자 중 하나인 스티븐 호킹 의 대표적인 대중 서적으로, 현대 과학이 보는 우주에 대해 아무런 수식 없이 글만으로 설명한 책이다. 우주에 관한 책이지만 제목이 시간의 역사인 이유는 현대 과학에서 시간과 공간이 뗄 수 없는 관계에 있어 spacetime 으로 모델링 되기 때문이다. 즉, 시간의 역사는 시간과 공간의 역사이고, 나아가서 과학이 우주를 보는 세계관의 역사이다. 제목은 "그림으로 보는" 시간의 역사 지만 책을 이해하는데 그림은 큰 도움이 되지 않는다. 그도 그럴 것이 1988년 출간한 A Brief History of Time 이라는 책이 있었는데, 그 증보판을 내면서 그림을 추가한 것이다. 다시 말해 그림 없이 글만으로도 충분히 완성도 있는 책이다. 대중 서적으로 분류되지만 어려운 주제를 다룬 만큼 읽기 쉽지 않다. 처음 완독할 때까지 몇 번이나 다시 읽었고, 이미 몇 번 읽은 책이지만 다시 읽으면 언제나 새롭다. 오죽하면 책을 구매한 사람과 실제 책을 읽은 사람의 비율을 계산한 지표에 호킹 인덱스 라는 이름이 붙은 이유가 이 책 때문이었을 정도다. 읽기 어려운 책이지만, 그럼에도 불구하고 현대 물리와 우주에 관해서 이보다 좋은 책을 보지 못했다. 하지만 아무리 좋은 책이라도 새로 책을 사는 사람이 이 책을 살 일은 없을 것이다. 아무래도 1988년에 쓰인 책이라 최신 내용은 담지 못했다. 호킹 박사는 양자역학이나 초끈이론과 관련한 최신 내용을 반영해 2005년에 재출간했다. 그리고 새 책은 우리나라에 " 짧고 쉽게 쓴 시간의 역사 "라는 제목으로 출판됐다. 나 같은 경우에는 이름이 이름이다 보니 새 버전을 요약본이라 생각해 " 그림으로 보는 시간의 역사 "를 골랐던 것으로 기억한다. 하지만 새로 살 사람들은 더 최신 내용이 반영된 " 짧고 쉽게 쓴 시간의 역사 "를 보는 것이 좋을 것이다.

[책] 나는 너를 책처럼 읽을 수 있어

이미지
나는 너를 책처럼 읽을 수 있어 - 그레고리 하틀리 , 메리앤 커린치 미 육군에서 심문관으로 근무했던 그레고리 하틀리 가 지은 바디 랭기지를 읽는 노하우에 관한 책이다. 저자의 말에 따르면 사람의 생각을 읽으려면 편견 없이 관찰하지만 관찰한 결과를 그 사람의 문화에 따라 해석해야 한다. 즉, 사람의 생각을 책처럼 읽을 수는 있지만, 그 책은 쉬운 그림 동화가 아니라 사전 지식이 필요한 외국어로 쓰인 전문 서적이다. 여기에서 이 책의 큰 문제가 있다. 아무리 한국의 생활이 서구적으로 됐다고 해도 한국인이 미국인이 아닌 이상 둘의 문화에는 차이가 있을 수밖에 없다. 그런데 바디 랭기지는 행위자의 사고방식이 어떤 문화에 기반하는지에 따라 달라진다. 물론 저자는 다양한 문화권에서 어떤 식으로 행동하는지 알려주려고 노력하지만, 어찌 됐든 그가 태어나고 자란 미국 문화를 기반으로 서술한다는 것을 쉽게 알 수 있다. 그렇다면 이 책에 나온 서술 중에서 어떤 행동이 한국인에게도 적용되는 것일까? 큰 그림을 제외하면 세세한 기술들은 한국인에게는 별 도움이 안 될 것이다. 그런데 책의 내용이 유익한가와 별개로 책 자체는 재밌게 읽을 수 있다. 글을 잘 썼기 때문이다. 추측이긴 하지만, 나는 이 건 전적으로 메리앤 커린치 덕분이라고 생각한다. 그는 매우 특이한 이력을 가졌다. 30권이 넘는 책을 썼는데 그중 대부분이 공동 저자다. 그리고 그 책들에 그녀의 흔적이 보이지 않는다. 무슨 말인가 하면 책의 내용을 보면 그녀가 없이 공동 저자가 혼자 책을 썼다고 해도 이해가 된다는 것이다. 예를 들어 " 나는 너를 책처럼 읽을 수 있어 "의 경우에도 미 정보국 출신 그레고리 하틀리 의 경험과 지식으로 책을 구성하기 때문에 공동 저자에 이름을 올린 메리앤이 끼어들 자리는 없다. 흔한 경우는 아니지만 이런 경우가 종종 있다. author와 writer가 구분된 것이다. author의 전문 지식과 경험을 기반으로 책을 쓰지만, 책을 완성하는 것은 어디까지...

[책] 스몰토크 - 대화가 쉬워지는 말의 공식

이미지
스몰토크 - 임철웅 언제부터인지 모르겠는데 어느 순간 스몰토크라는 것이 유행이다. 뭐라도 되는 것처럼 보이려고 스몰토크라고 쓰지만, 영어로는 그냥 small talk이다. 즉, 스몰토크는 본질적으로 그냥 잡담이다. 이걸 굳이 연습할 필요가 있을까? 물론 같은 잡담이라도 잘하는 사람이 있고, 그런 사람들이 남녀 불문하고 인기가 많은 것은 사실이다. 하지만 그건 단순히 잡담을 잘하기 때문이 아니다. 책에도 나오지만, 잡담을 잘하는 것은, 상대방의 말을 잘 듣고, 잘 기억하고, 상대방이 원하는 토픽을 잘 캐치하는 것이다. 하지만 이는 결과지 이유는 아니다. 잡담을 잘하는 사람들이 이런 행동을 하는 이유는 그 사람이 타인에게 관심을 많이 가지고 배려해주기 때문이다. 이걸 마음가짐을 바꾸지 않고 행동만 공식처럼 외워서 바꾸려고 하는 것은 소용없는 일이다. 어차피 사람들은 언젠가 본성을 눈치챈다.  영업직이나 사업하는 사람처럼 성향에 상관없이 모르는 사람과 잡담하는 것이 중요한 사람도 있다. 이런 사람들이라면 연습할 필요가 있을 수도 있겠다. 하지만 나는 아니다. 나라면 스몰토크를 연습할 시간에 Smalltalk 으로 프로그래밍이나 할 것이다.

[책] 악마의 정원에서 : 죄악과 매혹으로 가득 찬 금기 음식의 역사

이미지
악마의 정원에서 - 스튜어트 리 앨런 역사 속 다양한 음식들을 칠죄종 에 따라 장을 구분하였다. 금기라는 테마를 칠죄종과 엮는 것은 가톨릭 문화권에서 자란 사람으로서 자연스러운 선택이었을 것이다. 하지만 무리한 시도였다. 음식에 대한 작가의 풍부한 지식과 다양한 경험으로 어떻게든 커버하려고 노력하긴 했지만 그래도 옷에 몸을 맞춘듯한 어색함은 어쩔 수 없다. 음식과 연관시키기 좋은 폭식 같은 주제는 별문제 없다. 색욕 , 나태 , 탐욕 의 경우에도 왜 여기서 다뤄야 하는지 의아한 음식들이 있기는 하지만 넘어갈 수 있다. 하지만 분노 나 오만  같은 챕터는 아무리 관대한 마음을 가져도 넘어가기 힘들다. 작가도 무리라고 생각했는지 모호하게 얼버무리고 넘어간다. 더 나아가서 질투에 해당하는 음식은 찾을 수 없었는지 은근슬쩍 챕터명을 불경(blasphemy)이라고 바꿔놓았다. 게다가 작가의 역사 지식이 음식 지식에 미치지 못한다. 작가가 서술하는 많은 얘기가 역사와 민담이 섞여 있다. 저자는 자신도 자신이 말하는 것이 제대로 된 사료로 증명할 수 있는 역사인지 일개 민담이나 야사인지 구분하지 못한다. 최소한 구분하지 않고 이야기를 전개한다. 이는 역사 이야기를 할 때 가장 조심해야 할 부분이다. 언제나 역사보다 민담이 재밌다. 그렇다고 재미를 위해 둘을 구분 없이 이야기해서는 안 된다. 역사는 사료에 기반해 이야기해야 한다. 그렇지 않으면 소설과 다를 바 없다.

[책] 도쿄 기담집

이미지
도쿄 기담집 - 무라카미 하루키 귀신 이야기의 기담이 아닌 " 아, 그런 일도 있었나요? 참 신기하네요 "라는 느낌의 기담이다. " 우연한 여행자 ", " 하나레이 만 ", " 어디에서든 그것이 발견될 것 같은 장소에서 ", " 날마다 이동하는 신장처럼 생긴 돌 ", " 시나가와 원숭이 "의 총 5편의 소설을 담고 있다. 그런데 그저 이야기 5개를 모아놓은 것이 아니다. 이 소설들은 기담이다. 비현실적일 수밖에 없다. 그것이 기담이니까. 현실적이라면 오히려 이상한 것이다. 하지만 도쿄 기담집의 소설들은 현실적이다. 소설이라는 것이 분명한데 생생하게 살아서 다가온다. 비현실적이고 기이한 이야기를 독자가 자연스럽게 받아들일 수 있도록 구성돼있다. 첫 소설인 " 우연한 여행자 "는 저자의 경험으로 시작한다. 우연히 놀라운 일을 겪었는데 다른 사람에게 말해도 자신의 직업 때문에 아무도 믿지 않는다고. 그리고 작가의 지인이 겪었다는 평범하지 않지만 있을법한 이야기가 계속된다. 하루키가 소설가인 이상 모든 것은 소설이겠지만 말이다. 그리고 이어지는 두 소설에서 독자를 기이한 세계로 떠민다. 절벽에서 죽일듯한 기세로 순식간에 밀어버리는 것이 아니다. 출근길에 인파에 밀려 흘러가듯 자연스럽게 밀어낸다. " 날마다 이동하는 신장처럼 생긴 돌 "에 도착할 때쯤이면 너무 밀려났나 싶을 것이다. 그도 그럴 게 돌이 어떻게 움직이나.  도쿄 기담집 에 담긴 단편 중 가장 비현실적인 제목이다. 사실 도쿄 기담집 에 실린 그 어떤 소설보다도 현실적이다. 누군가에게는 있을법한 일이기 때문이다. 그렇게 방심하고 있을 때 만난 " 시나가와 원숭이 "는 괴이의 세계로 가는 롤러코스터다. 잔잔하게 흘러갈 것 같았던 이야기는 원숭이와 함께 현실에서 괴이의 세계로 수직 낙하한다. 이 소설이 재밌는 것은 구성 때문만은 아니다. 필력이 없으...

[책] API로 배우는 Windows 구조와 원리

이미지
API로 배우는 Windows 구조와 원리 학부에서 배우는 시스템 프로그래밍과 운영체제 수업은 대부분 리눅스에서 실습한다. 그리고 학생 입장에서 리눅스 커널 소스는 볼 수 있지만, 윈도우 커널 소스를 볼 방법은 없기 때문에 운영체제에 관한 지식은 리눅스로 편향될 수밖에 없다. 그래서 운영체제 수업을 듣고 윈도우는 어떻게 됐는지 궁금해서 구매했던 책이다. 문제는 이 책이 " API로 배우는 Windows 구조와 원리"라는 것이다. API를 통해 배우는 책이기 때문에 이걸 읽어도 내부 구현의 차이는 알 수 없다. 책 내용이 안 좋은 건 아닌데, 운영체제 수업을 이미 들었다면 굳이 볼 필요는 없다. 수업에서 사용되는 Operating System Concepts 를 읽었으면 이 책은 굳이 읽을 필요 없다. 역시 아무리 찾아봐도 교과서로 사용되는 책만큼 좋은 책은 없다. 가능하면 시간을 들여서라도 공룡책을 읽는 것을 추천한다.

[책] 알기 쉽고 재미있는 비행기 이야기

이미지
비행기 이야기 - 임달연 저 내 인생에서 책을 가장 많이 읽었던 시절을 꼽으라면 대충 18살부터 21살 즈음일 것이다. 그 몇 년 읽은 책이 나머지 30여 년 동안 읽은 책 수보다 많을 만큼 책 읽는데 열심이었다. 당시에는 도서정가제가 도입되기 전이라 YES24 같은 인터넷 서점에서 저렴하게 책을 구매할 수 있었지만, 알바비의 대부분을 책에 써도 모자랄 정도로 책을 많이 샀고, 더 저렴하게 책을 구할 수 있는 헌책방도 많이 이용했다. 이 시절 헌책방에서 샀던 책들은 대부분 이사하면서 버렸다고 생각했는데 오늘 보니 아직 한 권이 남아있었다. 1991년 출판된 이 책이 내가 가지고 있는 책 중 가장 오래된 책이 아닐까 싶다. 오래된 책이지만 구성은 나쁘지 않다. 비행기의 원리와 역사에 관해 설명하는데, 어디까지나 교양서적이라는 것을 잊지 않고 간단하게 설명한다. 설명이 단순하지만 그래도 설명에 부족한 부분은 없다. 이 책 하나 덕분에 그래도 비행기에 관해서는 이해 못 하는 경우는 없었다.

[책] 신들의 사랑법

이미지
신들의 사랑법 - 이동현 저 첫 번째 장에서는 제우스를 중심으로 그리스 신화에 나오는 사랑 이야기를 담고, 다윗과 솔로몬의 여자 이야기를 담은 두 번째 장에 이어 그리스 신화의 여신들과 성경에 나오는 여자들의 이야기를 섞은 세 번째 장으로 마무리한다. 그리스 신화와 성경. 언뜻 보기에 이 두 소재는 어울리지 않는다. 하지만 근대 이전 유럽 철학은 그리스 신화에서 발달한 헬레니즘과 기독교 철학으로 나눌 수 있다는 것을 생각하면 이 둘의 엮음은 자연스럽다. 이 둘은 유럽 철학의 근본이기 때문에 미술의 소재로도 많이 사용됐다. 그렇기 때문인지 이 책에서도 많은 그림이 삽화로 들어가 있다. 유명한 그림부터 작가 이름도 처음 들어보는 그림까지 그리스 신화와 성경을 소재로 한 다양한 그림들을 볼 수 있다. 저자가 예술학과 출신이라 쓸 수 있는 책이라고 생각한다. 하지만 이 책에서 두 소재가 잘 섞였다는 것은 아니다. 마치 상관없는 다른 책을 짜깁기하듯이 두 파트가 서로 다른 얘기를 진행해간다. 이야기가 중구난방으로 전개된다는 것을 제목만 봐도 알 수 있다. 신들의 사랑법 이라는 제목은 그리스 신화 이야기를 다루는 첫 번째 장의 제목이고, 그 뒤 두 개의 장은 신들의 사랑법과는 별 상관이 없다. 그런데 이를 대체할 다른 제목이 떠오르지 않는다. 책 전체를 아우르는 주제가 없었기 때문이다.

[책] 지리의 힘

이미지
지리의 힘 - 팀 마샬 영국의 저널리스트 팀 마샬 의 저서 Prisoners of Geography의 번역서로 지정학 으로 세계정세를 풀어 본 책이다. 트럼프 가 미국 대통령 당선됐을 당시 다른 나라에서 보는 세계정세는 어떨지 궁금해서 샀는데, 어쩌다 보니 책장에 고이 모셔 놓고 있었다. 그러다 보니 어느덧 미국 대통령이 바뀌어 있었다. 국제 정치에 관한 책은 언제나 그렇듯이 조만간에 최신 정세를 반영한 책이 나올 것이 뻔하기 때문에 이번 기회에 읽었다. 책을 읽으면서 가장 신경 쓰였던 것은 번역이었다. 단순히 문장이 깔끔하지 않은 수준이 아니라 오역이 많이 보였다. 앞 문장과 모순되는 문장이 있는 경우도 있고, 내가 알던 지식과 다른 내용을 말하는 경우도 있었다. 혹시 내가 잘못 알았나 싶어서 검색해보니 진짜로 번역의 문제였다. 심지어 내가 눈치챈 것보다 많은 오역이 있었다. 번역은 둘째치고 책의 구성은 나쁘지 않았다. 어려운 개념 설명 없이 국제 정세를 이야기하듯이 풀어서 설명한다. 덕분에 지리와 역사에 대한 간단한 사전지식만 있으면, 지정학에 대한 지식이 없어도 쉽게 읽을 수 있었다. 특히 관심사를 북극으로 돌려 기후 변화가 가져오는 미래의 문제를 짚고 넘어가는 마무리도 훌륭했다. 하지만 번역 때문에 추천하기는 애매하다.

[책] 냉전

이미지
냉전 - 이근욱 냉전이란 제2차 세계대전 이후부터 소련의 멸망까지 미국과 소련 사이가 극도로 긴장 된 시기를 말한다. 당시 미국과 소련은 첩보전, 군비 확장, 우주 개발 경쟁, 제3국을 통한 대리전 등 다양한 방식으로 서로 견제하였다. 과도한 핵 경쟁으로 지구 멸망 직전이라고 불릴 정도로 심한 갈등이 있었지만, 두 국가 사이에 직접적인 무력 충돌은 없었기 때문에 냉전이라고 불린다. 냉전의 종식은 소련의 해체로 끝났다. 냉전이라는 것은 어디까지나 미국과 소련의 경쟁이었기 때문이다. 냉전을 막연하게 Capitalist Bloc과 Communist Bloc의 이념전쟁으로 생각하면 안 된다. 이런 관점으로는 20세기 미국과 소련, 중국의 관계를 제대로 이해할 수 없다. 니키타 흐루쇼프 의 탈스탈린 운동을 기점으로 스탈린 주의를 고수하던 중국은 소련을 크게 비난한다. 1969년 소련과 중국이 전쟁 직전까지 갈 만큼 사이가 험악해지자 미국은 중국과 손을 잡는다. 공식적으로는 중국이 자유시장 경제를 받아들인 이후인 1979년 수교를 맺었지만, 미국과 중국이 관계를 맺기 시작한 것은 1969년 중소 국경 분쟁 이후다. 냉전이 이념 전쟁이었다면 공산주의 노선을 포기하지 않은 중국과 미국이 손을 잡는 일은 없었을 것이다. 하지만 냉전은 양극 체제를 이루던 미국과 소련 사이의 패권 다툼이었기 때문에 미국은 중국의 손을 잡는 선택을 할 수 있었다. 지금은 냉전이라는 단어가 미국과 소련 사이의 패권 다툼에만 사용된다. 하지만 앞으로의 패권 다툼은 전부 냉전이지 않을까? 냉전 시기에도 전 세계에 전쟁이 없었던 것은 아니다. 미국과 소련 사이의 직접적인 전쟁이 없었을 뿐이다. 그리고 이 이유는 양 국가가 서로를 언제든지 전멸시킬 수 있는 상호확증파괴가 성립됐기 때문이다. 이미 패권국인 미국은 국가 하나를 지도에서 지우기에 충분한 군사력을 지녔다. 이건 미국과 패권 다툼을 할 도전국도 마찬가지일 것이다. 그렇다면 이 둘 사이의 경쟁은 직접적인 무력충돌보다 군사기술 발전이나 ...

[책] 평화적 세력전이의 국제정치

이미지
미국과 중국의 패권 다툼이 어떤 미래로 갈지, 19세기 말에서 20세기 초 영국과 미국의 관계를 통해 알아보려고 노력했다. 결론은 영-미 세력전이 같은 평화적 세력전이는 쉽지 않으리라는 것. 너무나 당연한 결과다. 애초에 영국-미국 세력전이가 평화로웠던 것은 두 나라 다 제2차 세계대전으로 전쟁 피로도가 쌓였던 게 크다. 두 나라 사이가 평화로웠을 뿐 두 나라가 평화로웠던 것은 아니라는 주장도 있을 정도다.

[책] 구멍 뚫린 두개골의 비밀 - 알고 나면 재미있는 뇌 이야기

이미지
구멍 뚫린 두개골의 비밀 - 최석민 뇌 과학에 관해 서술한 책으로, 총 세 챕터로 구성돼 있다. 첫 챕터에서 뇌 질환으로 독자의 관심을 끌고, 그 뒤 챕터에서 기능과 구조를 설명한다. 의사가 썼기 때문인지 기능에 문제가 생겼을 때 어떤 질병이 생기는지에 집중해서 설명하였다. 일단 어렵지 않게 썼기 때문에 막힘 없이 술술 읽힌다.