< 똑똑한 코드 작성을 위한 실전 알고리즘 > | 조이 하이네만 지음

| 윤대석 옮김 | 한빛미디어

 

개발을 하는 사람이라면 어느 시점부터 알고리즘에 관심을 가지게 되는 것 같다. 어느 순간 자신이 주먹구구식으로 개발을 해 왔다는 것을 느낄때 쯤 알고리즘을 익히면서 보다 깔끔하고 빠른 알고리즘을 적용하는 것에 신경을 많이 쓰는 것 같다. 하지만 시중에 다양한 알고리즘 관련 책들이 나와 있긴 하지만 대부분 개념적인 설명에 머물고 있는 것 같다. 그렇지 않다면 알고리즘이 psedo 알고리즘으로 되어 있어서 제대로 분석하기 어려운 경우도 많은 것 같다.

이 책은 그런 면에서 다른 책들과는 차이점을 보이는 것 같다. 일단 복잡한 수식이나 개념을 글보다는 그림과 예제로 설명한다. 또한 설명하고자 하는 알고리즘도 python 코드로 되어 있어서 python에 어느정도 익숙한 사람이라면 보다 쉽게 알고리즘을 이해할 수 있는 것 같다.  이 책을 접하는 사람은 적어도 프로그래밍을 조금이라도 해 본 사람일 것이다. 전혀 프로그래밍을 해보지 않은 사람이 이런 종류의 책에 크게 관심을 가지지는 않을 것 같다. 다만 이 책에서 설명하는 알고리즘을 좀 더 잘 이해하기 위해서는 어느정도 python 언어에 대한 경험이 있는 것이 좋을 것 같다는 생각이 든다.

책의 시작은 알고리즘에 대한 개념부터 시작한다. 한마디로 알고리즘은 예측 가능한 시간에 정확한 결과를 반화하는, 컴퓨터 프로그램으로 구현된 단계별 문제 해결 방법이라고 볼 수 있다. 여기서 중요한 키워드는 예측 가능한 시간과 정확한 결과, 단계별 문제 해결 방법인 것 같다. 알고리즘에 대해 설명하면서 다양한 문제 해결에 대한 예시를 1장에서 설명한다. 특히 시간 복잡도와 공간 복잡도에 대한 부분을 제대로 이해하고 넘어가야 할 부분이다. 2장에서는 알고리즘 분석에 대해 다룬다. 빅오 표현법을 사용해 알고리즘 성능을 분류하는 방법과 다양한 성능 등급에 대해 설명하고, 정렬 알고리즘을 통해 알고리즘 성능 분석 예를 제시하고 있다. 

3장부터는 실제 다양한 문제에 대한 알고리즘을 다룬다. 해싱, 힙, 정렬, 이진트리, 그래프 등 개발을 하다보면 적어도 한번쯤은 접하게 되는 영역에 대해 자세히 설명하고 있다. 이미 언급한 대로 각각의 알고리즘을 설명할때마다 그림과 예제가 있기 때문에 보다 직관적으로 알고리즘을 이해할 수 있는 것 같다.

 


이 책은 개발자가 본다면 가장 도움이 될만한 책이다. 하지만 전문 개발자가 아니더라도 프로그래밍 언어를 사용한 경험이 있는 사람이라면 이 책에서 언급하는 알고리즘을 어느정도 이해가능하다고 생각한다. 이를 통해 본인이 적용하고자 하는 영역에 알고리즘적인 개념을 추가해서 구현할 수 있지 않을까 생각한다. 알고리즘이란 개발자만의 영역이 아니라 어떤 문제를 해결하기 위한 논리적인 개념으로 볼 수 있을 것 같다. 즉 알고리즘의 개념 중  단계별 문제 해결 방법이 주된 요소 중의 하나라고 생각한다.  단계별 문제 해결 방법은 프로그래밍 언어로 구현할 수도 있고, 수식으로 표현할 수도 있고, 문장으로 표현할 수도 있을 것 같다. 이를 통해 문제 해결을 위한 단계를 차근차근 밟아가는 것이라고 생각한다. 이런 면에서 본다면 이 책은 문제 해결을 위한 알고리즘을 체계적으로 이해할 수 있도록 도와주는 유익한 책이라고 생각한다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

[에세이] 다시, 여행을 가겠습니다

2022. 6. 23. 12:12 | Posted by 꿈꾸는코난

< 다시, 여행을 가겠습니다 > | 백상현 지음 | 앤의서재

 

여행작가인 저자가 20여년간 유럽 및 남미 등을 다니며 느꼈던 감정과 사진을 담은 책이다. 여행 자체에 대한 기록이라기 보다는 여행을 통해 또는 그 장소에서 느꼈던 감정을 잘 담아내고 있는 것 같다.

 

[심리] 이그노벨상 읽어드립니다

2022. 6. 20. 22:50 | Posted by 꿈꾸는코난

< 이그노벨상 읽어드립니다 > | 김경일, 이윤형, 김태훈 지음 | 한빛비즈

 

이그노벨상에 대해 이전부터 알고 있었지만 그냥 단순히 기발난 생각을 한 사람에게 주는 상이라고만 생각했었다. 즉 학술적인 것과는 무관하게 재미난 흥미거리를 고안한 것에 대한 상으로 생각한 것이다. 하지만 이 책을 읽으면서 그 생각이 잘못됐다는 것을 알수 있었다. 노벨상은 보통 전문적이고 체계적인 연구 업적이 축적되고 그 지식이 인류 발전에 큰 공헌이 된다고 여겨지는 연구와 연구자에게 수여하는 상이다. 이그노벨상에 대한 설명을 보면 "더할 나위없이 바보같거나 시사하는 바가 많은 무언가를 해낸  사람에게 주기로 했다. 이러한 업적들 중에는 소름끼치게 바보같은 것도 있을 것이다. 어떤 것들은 바보스러울만큼 훌륭하고 심지어 중요한 것으로 판명될지도 모를 일이었다".  즉 이그노벨상은 기발하고 남다른 생각, 통렬한 풍자나 기상천외한 해석이 담긴 논문, 재미있지만 어떤 의미에서는 다른 사람에게 하지 않았으면 좋겠다 싶은 연구에 주는 상이라고 볼 수 있다.

나름 이그노벨상도 노벨상 수상자를 포함한 다양한 인물로 위원회가 구성되고 나름 체계를 갖추고 있다고 볼 수 있다. 따라서 단순 흥미거리에 주는 상이라고 치부할 수는 없을 것 같다. 다소 장난스럽고 엉뚱한 면이 있기는 해도 연구자의 위상이나 연구 내용이 허접하다고 볼 수만은 없는 것 같다. 실제 이그노벨상 수상자가 그 후에 노벨상을 받은 사례도 있기 때문이다. 

이 책은 이전 <심리 읽어드립니다>의 저자가 이그노벨상을 받은 연구를 모아서 소개하는 책이다. 목차만 봐도 우리가 주변에서 흔히 접하는 생각이지만 디테일하게 따지지 못한 내용이 많이 소개된다. 예를 들어 욕에 대한 연구로서 <고통에 대한 반응으로서의 욕>이 있다. 다양한 실험을 거쳐 욕이 우리의 고통을 줄여주고 힘든 상황을 좀 더 버틸 수 있게 도와준다는 연구 결과이다. 이 연구를 한 연구자도 단순 흥미로 시작한 것이 아니라 욕 연구의 대가라고 한다. 따라서 연구분야 만큼은 누군가에게 뒤지지 않는 전문성을 가지고 있다고 볼 수 있다.

또 다른 연구로 수면에 대한 연구가 있다. <늦게 자는 저녁형 인간일수록 어두운 3가지 특징이 더 많이 나타난다>이다. 인간의 어두운 3가지 측면은 나르시즘, 사이코패스, 마키아벨리즘이며, 이는 심각한 수준의 자아도취적 성향, 타인을 무참히 짓밟는 사이코패스적 성향, 권력이나 이득을 얻기 위해 타인을 능수능란하게 이용하는 마키아밸리적 성향을 말하는 것이다. 이 연구는 모든 사람이 늦게 자면 어두운 성향이 나타난다는 것이 아니라 공존 능력이나 협동심이 부족한 사람이 수면도 부족하면 3가지 어두운 성향이 높아질 수 있다는 것을 보여준다. 최종적으로 본다면 본인에게 맞는 적절한 수면 패턴과 수면 시간을 알고 생활에 적용하는 것이 필요하다는 것을 알 수 있다.

이 이외에도 다양한 이그노벨상 연구 주제와 이에 관련된 설명을 재미있게 서술하고 있다. 이그노벨상 주제도 흥미롭지만 이를 심리적으로 설명하고 잘 정리한 부분도 좋았던 것 같다. 진지하지 않은 주제같지만 돌이켜 생각해보면 우리 일상에서 흔히 접하는 주제이기 때문에 중요한 주제일 수 있겠다는 생각이 든다. 그리 어렵지 않게 쉽게 읽을 수 있는 책이라고 생각된다.

[과학] 물고기는 존재하지 않는다

2022. 6. 16. 14:39 | Posted by 꿈꾸는코난

< 물고기는 존재하지 않는다 > | 룰루 밀러 지음 | 정지인 옮김 | 곰출판

 

인터넷 상에서 핫한 책이라서 북클럽에 올라오자 마자 선택해서 읽기 시작했다. 처음은 물고기를 연구하는 과학자와 그 과학자의 발자취를 쫒는 저자의 이야기기 반복적으로 이어진다. 집념에 가까울 만큼 인생의 중요 시기를 대부분 바친 과학자, 온갖 시련에도 굴하지 않고 굳굳하게 자신의 길을 걸어가는 모습에서 과학자다운 면모를 느낄 수 있었다. 하지만 생의 마지막에 이르러 우생학에 빠져 인종 차별과 강제 불임을 밀어부친 장본이다. 또한 자신을 스텐포드 대학의 학장으로 밀어주고 물심양면으로 지원한 후원자를 암살(?)했다는 의혹을 받으며 인생을 마무리한다. 별다른 징계를 받지도, 법의 처벌도 받지 않았지만 본인이 평생을 바쳐 연구한 물고기가 실제로는 분류학상으로 존재하지 않는다는 사실을 알게 된다면 어떤 반응을 보일지 궁금하다(자신의 생전에는 이런 사실을 전혀 몰랐다).

우리가 어류에 대해 해온 일이 바로 이와 똑같다. 수많은 미묘한 차이들을 “어류”라는 하나의 단어 아래 몰아넣은 것이다.
- p.240 -

시실 이 책이 왜 베스트셀러가 되고 많은 사람들이 추천하지는 잘 모르겠다. 중간 중간 나타난 반전이 있어도 그만큼은 아닌것 같다는 생각이 든다.

[에세이] 그런 책은 없는데요

2022. 6. 16. 14:39 | Posted by 꿈꾸는코난

< 그런 책은 없는데요 > | 젠 켐벨 지음 | 노지양 옮김 | 현암사

 

서점에서 일어난 다양한 에피소드들. 책을 읽다보면 과연 서점에서 손님이 이런 말과 행동을 했을까 싶지만 모두 실제 일이라고 한다. 진짜 이러시면 곤란합니다라는 말이 나올 정도도 어처구니없는 일이 종종 벌어진 이야기이다.

 


내용도 가볍고 금방읽기도 편한 책이다. 책에 대한 내용이라기 보다는 서점에서 일어난 어이없는 이야기이기 때문에 책에 대해 깊이 있는 내용을 원한다면 비추이지만 책에 얽힌 이야기를 웃으면 읽고 싶다면 가볍게 읽어볼만 한 것 같다.

[수학] 미적분의 쓸모

2022. 6. 3. 13:42 | Posted by 꿈꾸는코난

< 미적분의 쓸모 > | 한화택 지음 | 더퀘스트

 

많은 사람들이 학교 다니면서 가장 어려워했던 분야 중의 하나가 미적분이지 않을까 생각한다. 미적분을 배우면서도 이런 것을 어디서 써먹는지 이해하지 못하겠다는 반응도 종종 보였던 것 같다. 그만큼 미적분에 대한 이해가 문제를 푸는 것에 급급했다는 생각이 든다.

하지만 미적분이 예상외로 실생활에 많이 사용되고 있다. 이 책이 바로 그러한 부분을 잘 보여주고 있다. 미적분 문제를 풀기가 까다로워서 그렇지 미적분에 대한 기본 개념은 쉽게 이해할 수 있다. 그리고 그 개념을 가지고 실생활에 미적분이 어떻게 응용되는지를 살펴볼 수 있는 것이다.

어릴때 읽은 우주과학에 대한 책에서 로켓을 발사하는 것과 또 그 로켓이 지구까지 돌아도록하는 계산이 아주 어렵다는 것을 본 적이 있다. 그때 기억으로는 필요한 연료량을 계산하는 것이 아주 어렵다고 본 기억이 난다. 그때는 그런 것이 어려울 수도 있겠구나 정도로 생각했었는데 그 로켓 연료량을 계산하고 필요한 궤적을 맞추는데 필요한 기술이 미적분이라는 것을 알 수 있다. 또한 지금 한참 주목을 받고 있는 있는 인공지능 학습 개념 중 최적화에 대한 부분도 미적분에 대한 개념으로 이해할 수 있다. 물론 인공지능 학습에 미적분 개념만 포함된 것은 아니지만 적어도 근간을 이루는 핵심 개념에는 이 알고리즘이 적용될 수 있음을 이해할 수 있다.

이 책을 읽다보면 미적분이 경제학, 금융공학, 기하학, 의료공학, 항공우주공학, 천체물리학 등 다양한 분야에서 널리 사용되고 있음을 알 수 있다. 이 책은 크게 6개의 장으로 구성되어 있다. 1장에서는 가속도에 대한 개념으로 미분과 적분의 발견과 속도에 대한 다양한 관점을 설명한다. 그리고 최근 스페이스X의 재사용가능한 비행체와 그것이 어떻게 가능한지를 잘 보여준다. 2장에서는 기울기로서 자연의 곡선을 구현하기 위한 인간의 언어로 표현한다. 아마다 미적분을 배우면서 가장 많이 접하고 골치아파했던 영역이 아닐까 생각한다. 하지만 복잡한 문제풀이를 할 필요는 없기떄문에 편하게 개념을 이해해 나갈 수 있을 것 같다.

3장에서는 최적화로서 인공지능이 빅데이트를 학습하는 방법에 대해 소개한다. 특히 여러개의 변수를 사용함으로써 생기는 최적화의 어려움과 인공지능을 학습시키는 최적화된 방법에 대해 설명한다. 4장에서는 기하학에 대해서, 5장에서는 나비에-스토크스 유동 방정식을 설명한다. 특히 이 5장에서 디즈니가 전세계 영화팬을 사로잡은 애니메이션을 성공적으로 완성할 수 있었던 배경에 미분방정식이 있었음을 보여준다. 마지막 6장에서는 우리의 미래로서 미적분의 예측하는 힘에 대해 설명한다. 현실적으로 복잡한 세계를 모델링하고 적용할 때 미적분의 개념으로 흐름을 이해할 수 있다는 것을 잘 보여주고 있는 것 같다.

어렵게만 느껴진 미적분이 우리가 접하고 있는 세상 곳곳에서 적용되고 있다는 것을 잘 이해할 수 있는 계기가 된 것 같다. 아마도 이 책에서 소개하지 않은 훨씬 많은 영역에서 미적분 개념이 사용되고 있을 것이다. 다만 우리가 그걸 느끼지 못하고 사용하고 있지 않을까 생각해 본다. 학창시절 어렵게 생각한 미적분 개념을 뒤로하고 이 책을 통해 실생활에 적용된 미적분 개념을 살펴봄으로써 보다 가까이 와 닿는 미적분을 느낄 수 있을 것 같다.

[경제] 변화하는 세계질서

2022. 6. 3. 13:33 | Posted by 꿈꾸는코난

< 변화하는 세계질서 > | 레이 달리오 지음 | 송이루, 조용빈 옮김 | 한빛비즈

 

레이 달리오는 글로벌 금융 위기에서도 자신만의 노하우를 통해 수익을 낸 사례로 유명하고, 그로 인해 이 시대의 유명한 투자자이자 기업가로 자리매김하게 되었다. 기업의 노하우와 시스템은 철저히 비밀에 지켜지는 것이 보통이다. 그러나 레이 달리오는 자신만의 경영기법을 공유하고자 <원칙>이라는 책을 출간했다. <원칙>은 뉴욕타임스 베스트셀러 1위에 오를만큼 큰 인기를 얻었다.

<변화하는 세계질서>는 지난 500년간 주요 국가들의 경제적, 정치적, 역사적 패턴을 파악해서 앞으로 세계가 어떻게 달라질지, 우리가 어떻게 대응해야 할지 알려주는 책으로 볼 수 있다. 일단 1부에서는 빅사이클 개념을 소개하면서 세상의 작동 원리를 설명한다. 우리 주변에서 짧은 기간 일어나는 변화에 대해서는 잘 느낄수 있지만 장기간에 걸친 변화는 제대로 느끼지 못하는 경우가 많다. 하지만 여기서 빅사이클이라고 표현한 큰 변화를 유심히 살펴보면 다양한 결정요인에 의해 좌우받는 것을 알 수 있고, 이에 따라 미래에 대한 어느정도의 추측도 가능하다는 것을 보여준다. 또한 빅사이클도 내부 및 외부, 국제 질서에 따라 다양한 형태로 존재할 수 있다는 것을 알려주고 있다.

2부에서는 지난 500년 간 주요 국가 위주로 세상이 어떻게 작동했는지 설명한다. 서기 1500년대의 세상과 작동원리를 보여주면서, 지금과 많이 다르지만 기본적인 작동원리는 동일함으로 설명한다. 1500년 이후 많은 진화가 있었지만 진화는 발전을 낳고, 빅사이클은 변화와 장애물을 만드는 식으로 변해왔다는 것을 알 수 있게 해 준다. 각 시기별로 대륙별 상황, 그리고 다양한 변화(산업혁명, 르네상스, 과학혁명 등)에 따른 영향에 대해서도 자세히 분석하고 있다. 특히 빅사이클 관점에서 네들란드제국, 대영제국, 미국, 중국을 순차적으로 살펴보면서 동시에 기축통화와의 관계도 같이 설명한다. 당시 번성했던 나라와 기축통화가 일치함을 알 수 있고, 현재 중국과 위안화가 부상하고 있음을 잘 알 수 있다.

3부에서는 미래에 대한 이야기이다. 미래에 대한 예측은 과거에 대한 이해를 바탕으로 할때 훨씬 정확하게 알 수 있다. 물론 모든 것이 맞아떨어지는 것은 아니지만 많은 과거의 사례와 변화를 알수록 미래에 대한 변화를 조금 더 정확하게 예측할 수 있다는 것이다. 미래를 예측하기 위해 시간이 흐르면서 생산성 향상처럼 개선과 변화를 일으키는 진화, 경제에 주기적으로 상승세와 하락세를 불러오는 사이클과 그 과정에서 나타나는 충격, 현재 사이클에서 자리하고 있는 지점을 알려주고 앞으로 다가올 일을 예측할 수 있도록 도움을 주는 지표에 대해 제시한다. 물론 100% 일치하지는 않겠지만 다양한 지표를 과거의 사례에 대입해봤을 때 결과로 미래를 어느정도 예측할 수 있다는 것에는 어느정도 공감이 갈 수 있는 것 같다. 특히 국가를 강하게 만드는 힘의 조합으로 다양한 요소를 고려하고 각 상황에 맞게 가중치를 줌으로써 최상의 결과를 도출할 수 있다고 본다.

이런 관점에서 앞으로 10년동안 이어질 가장 중요한 역학 관계는 단기 부채/통화/경제 사이클(경기 변동), 내부 정치  사이클, 미국과 중국 간 갈등 고조와 상호 의존도 감소 등을 들 수 있다. 여전히 미래는 불투명하지만 아는 것과 알지 못하는 것에 대해 현명하게 대처할 필요가 있다. 이를 위해 1)모든 가능성을 파악하고, 최악의 시나리오에 대해 생각한 다음 극복할 수 없는 시나리오는 제거할 방법을 찾는다. 2) 당장 눈앞의 만족보다 지연된 만족을 우선시하여 미래에 더 나은 상황을 마주해라. 3) 가능한 한 가장 똑똑한 사람들과 함께 사안을 다각도로 분석하라. 라는 원칙을 가지고 미래를 바라보는 시각을 가질 필요가 있다.

다양한 도표 및 설명 자료가 충분히 제시되어 있어서 저자의 개념을 이해하고 파악하는 데에는 큰 어려움이 없었던 것 같다. 또한 주요 시대별, 주요 국가별 자세한 분석은 한층 책의 깊이를 더해주고 있다고 생각한다. 미래가 우리가 분석한 방향대로, 예측한 형태로 흘러가지 않는다고 하더라도 큰 흐름(빅사이클)을 이해하고 있다면 큰 예상을 벗어나지 않는 상황으로 미래를 바라볼 수 있지 않을까 생각한다. 급박한 상황변화(최근 코로나19, 러시아의 우크라이나 침공 등)가 없다면 충분히 그럴 수 있다고 생각한다.

< 길고양이들은 배고프지 말 것 > | 이상교 지음 | 한빛비즈

 

책제목과 큰 관련없이 소소한 일상을 사계절로 나누어 쓴 에세이이다. 중간 중간 고양이에 대한 내용이 많이 나오고 에필로그에도 특별히 고양이에 대해 언급하고 있는 것을 보면 고양이에 대한 특별한 애정이 있는 듯하다. 짧은 글과 함께 저자가 직접 그린 그림을 같이 표현해 놓고 있는데 글을 읽으면서 따뜻한 느낌을 함께 가질 수 있어서 좋았던 것 같다.

저자의 글에도 한껏 따뜻함이 묻어난다. 

눈 돌리는 곳마다 지천으로 피어난 벗꽃으로 하여
누구든, 어떤 일이든
모두 용서하고 싶은 날이다.
용서받고 싶은 날이다.
- 벚꽃 환한 알 -

글 하나 하나에 저자의 생각이 녹아 있고 그 생각을 어렵지 않게 공감할 수 있어서 좋은 것 같다. 길지 않은 글로 일상을 편안하게 표현하고 있어서 더욱 공감이 가는 것 같다.

안개가 자욱하다.
안개 떄문에 추운 줄도 모르겠다.
앞서 걸어가는 사람의 다리가
보였다 안 보였다 한다.
오늘 아침나절은 둥둥 떠다녀도 되겠다.
- 안개 -

큰 목차이면서 사계절을 표현한 문구가 정겹다. 봄은 고양이 한 마리 무릎에 와 앉는 봄으로, 여름은 데굴데굴 한낮의 복숭아처럼 발그레한 여름으로, 가을은 시려운 이슬에 귀뚜라미도 잠 못 드는 가을로, 겨울은 여린 달빛 내리는 빈집의 겨울로 표현해 두었다. 책 설명대로 평생 어린아이의 눈높이로 살아온 저자의 눈높이와 그 순수함이 자연스럽게 느껴지는 것 같다.

모든 것이 틀에 박히고 제한된 시간속에서 쫓기듯 살아가는 우리의 생활속에서 계절의 여유로움과 일상의 소중함을 느낄 수 있었던 것 같다. 그리고 그 속에 녹아져 있는 순수함은 덤으로 얻어 갈 수 있는 것 같다.

< 어느 날 니체가 내 삶을 흔들었다 > | 장석주 지음 | 문학세계사

 

한때 철학에 관심이 좀 있었을 때 니체 철학과 책에 시도해 본 적이 있었다. 시도라고 표현하는 것이 적절한 것은 큰 소득없이 시도해본 것으로 끝난 것이기 때문이다. 일단 난해하기도 하고 글을 읽어도 제대로 이해하기 힘든 그런 말들이 계속 이어진 느낌이었다. 철학하면 니체가 종종 언급되고 또한 대표적인 책인 '짜라투스트라는 이렇게 말했다'도 여기저기서 종종 회자되곤 한다. 하지만 저자와 책 제목만 알고 있을 뿐 제대로 읽어본 적도 없는 것 같았다.

이 책의 저자가 20대때 니체의 '짜라투스트라는 이렇게 말했다'를 접하고 그 벅찬 느낌으로 시와 철학을 독학으로 공부했다고 한다. 청년 시절 철학을 통해 젊음의 약동하는 피를 수혈받을 수 있다고 생각했고, 철학을 향한 열정과 대책없는 납득을 통해 삶의 어떤 부분을 긍정적으로 바꿨다고 한다. 사실 니체에 대해 시도했지만 별 성과를 거두지 못한 나로서는 부럽기도 하고 대단하다고 느끼는 부분이다. 나의 인식의 범위와 철학을 바라보는 시야가 좁아서 그렇겠지만 20대 초반에 혼자의 힘으로 니체의 철학을 이해하고 삶의 방향으로 삼을 수 있다는 점이 비현실적으로 느껴지기도 한다.

니체 철학을 진지하게 공부하고자 하는 사람을 위한 책은 아니다. 삶에 지치고 현실의 무게를 온전히 짊어지고 살아 가는 사람들에게 니체의 사상을 통해 조금의 위로와 용기, 한조각의 꿈을 전하고자 한다. 전반적으로 저자의 삶과 생각, 그리고 살아온 과정을 언급하면서 니체 철학의 핵심  사상을 덧붙여 언급하고 있다. '짜라투스트라는 이렇게 말했다'가 주로 언급되는 자료이긴 하지만 중간 중간 다른 주요한 자료들도 같이 언급되고 있다.

니체에 관한 철학을 제대로 읽어보지는 않았지만 책을 읽어가면서 나도 모르게 조금씩 알아가고 있다는 느낌이 들었다. 니체가 언급한 '신은 죽었다'가 실제 어떤 의미를 가지고 있는지, 니체가 초인으로 삼은 '짜라투스트라'가 누구인지, 그리고 신과 어떤 관계를 가지는지를 어렴풋이나마 알 수 있었던 것 같다. 물론 단편적인 내용으로 이해하는 듯한 느낌일 수도 있지만 분명 이 책을 접하기 전 보다는 한층 많은 내용을 알게 되었고, 니체 철학에 대해 다시 시도해보면 좋겠다는 생각을 들게 만들었다.

"니체가 <즐거운 지식>에서 '우리가 그를 죽였다'라고 선언했을 때 과연 죽은 것은 신이었을까? 우리가 죽인 신은 하나의 실체였을까? 아니면 하나의 허상, 실체가 없는 추상이 아니었을까? ... 신의 죽음 이후 인간은 불행해졌을까? 아니면 신과 그의 계율을 만든 구속에서 풀려난 행운이었을까?"

특히 니체 철학에 나타난 영원 회귀의 개념이 새롭게 다가온 것 같다. 불교에서 언급하는 윤회와 비슷하지만 근본적으로 니체의 영원 회귀는 윤회와 다르다. 윤회는 최종적으로 해탈을 추구하는 것이 목적이라면 영원 회귀는 이전과 다른 새로운 모습으로 돌아오는 상태를 지칭한다는 것을 알 수 있었다.

이 이외에도 삶의 곳곳에서 니체의 철학은 느낄 수 있는 부분이 많이 있었던 것 같다. 그리고 삶의 궁극적인 부분에 대해 많은 생각을 하게 만들었던 것도 같다. 여전히 그 사상을 온전히 이해하지는 못하지만 조금의 공감과 삶을 바라보는 시각이 조금 넓어진 듯한 느낌이 든다.

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

2022. 5. 27. 13:51 | Posted by 꿈꾸는코난

< 구글 엔지니어는 이렇게 일한다 > | 타이터스 윈터스, 톰 맨쉬렉, 하이럼 라이트 큐레이션 |

개앞맵시 옮김 | 한빛미디어

 

우리나라 개발환경도 많이 개선되고 있는 것 같다. 예전 주먹구구식 개발환경에서 체계를 갖추고 개발문화와 시스템을 제대로 갖춘 회사가 많이 늘어나고 있다. 하지만 개발은 하나의 문화이고 경영진이든 관리자가 그 문화를 이해하지 못한다면 언제든 허물어질 수 있는 위험성을 안고 있다고 생각한다. 그리고 문화를 갖추지 못한 조직인 그 문화를 만들어 가는 과정도 오랜 시간이 필요한 작업으로 볼 수 있다. 문화라는 단어에서 엿볼 수 있듯이 누군가가  시작한다고 완성되는 것이 아니라 오랜 시간동안 그 조직에 녹아들고 서로 공감을 해야 완성되는 체계라고 볼 수 있다.

그러나 이러한 문화를 제대로 이해하기도 힘들지만 새로운 조직에서 접목하기도 어려운 것도 현실이다. 일단 이러한 문화에 대해 제대로 된 정보를 접하기도 어렵고 문서화된 자료를 구한다고 하더라도 실제 조직에 적용하는 것은 또 다른 문제라고 볼 수 있다. 이런 측면에서 이 책은 개발문화에 대한 이해와 이미 체계를 갖추고 조직에서 활용하고 있는 실제 사례를 접할 수 있다는 점에서 매우 유용한 자료를 제공한다고 볼 수 있다. 책의 분량만 봐도 간단히 소개하는 정도가 아님을 알 수 있다. 약 700여 페이지에 걸쳐 구글  엔지니어들이 일하는 방법을 소프트웨어 엔지니어링 관점에서 잘 소개하고 있다.

프로그래밍과 달리 소프트웨어 엔지니어링은 시간의 흐름에 발맞추어 한 조직이 코드를 구축하고 유지보수하는 데 이용하는 모든 도구와 프로세스를 포괄한 것이다. 즉 당장의 아웃풋이 아니라 향후 지속가능한 개발과 체계를 염두에 두고 다방면으로 고려한 것을 말하는 것이다. 소프트웨어 조직은 시간과 변경, 규모와 성장, 트레이드오프와 비용 등에 대한 기본 원칙을 지키면서 설계, 아키텍처 잡기, 코드 작성을 해야하는 것이다. 이 책은 크게 소프트웨어 엔지니어링에 대한 전제, 문화, 프로세스, 도구에 관련된 4개의 파트로 구분되어 있다. 그리고 각각의 파트에서 세부적인 주제를 다루고 있다.

파트 1에서는 소프트웨어 엔지니어링에 대한 개념 개념을 다룬다. 시간과 변경에 관련된 사항과 규모 확장 및 효율성에 대한 부분, 그리고 트레이드 오프와 비용에 대한 주제를 다루고 있다. 특히 소프트웨어 엔지니어링과 프로그래밍에 대한 관점과 차이점에 대해 자세히 설명한다. 파트 2에서는 문화에 대한 소개를 한다. 팀워크 및 지식 공유의 중요성 및 실제 사례, 팀을 이끌어 가는 방법과 성장하는 조직을 이끄는 방법, 그리고 생산성을 측정하는 방법까지 개발 문화에 관련된 전반적인 내용을 언급하고 있다.

파트 3에서는 프로세스에 대해 소개한다. 개인적으로 볼 때 가장 중요한 파트이지 않을까 생각한다. 스타일 가이드와 규칙의 중요성, 그리고 코드 리뷰를 통한 장점과 사례, 그리고 리뷰 유형을 설명한다. 또한 문서의 중요성과 다양한 작성 방법과 테스트에 대한 전반적인 내용을 다루고 있다. 파트 4에서는 도구를 다룬다. 버전 관리 및 브랜치 관리에 대한 도구와 방법을 보여주면서 빌드 시스템과 빌드 철학에 대해 잘 보여주고 있다. 또한 구글에서 사용하는 코드 리뷰 도구과 정적 분석 및 의존성 관리의 중요성에 대해 언급한다.

이 책은 각각의 파트, 또는 각 파트에 포함된 각각의 장이 독립적적으로 유용한 정보를 제공하고 있는 것 같다. 따라서 책의 내용을 처음부터 읽지 않더라도 본인이 꼭 필요로 하는 파트나 장만 읽어보더라도 많은 도움이 될 것 같다는 생각이 든다. 또한 개발 문화에 대한 지식이 없거나 경험하지 못한 상태라면 이 책을 통해 바람직한 개발 문화와 그 개발 문화를 만들어 가는 방법에 대한 좋은 가이드를 얻을 수 있을 것이라고 생각한다. 또한 이미 개발 문화가 갖춰져 있다고 하더라도 구글의 개발 문화를 접목해서 보다 개선된 개발 문화를 가질 수 있지 않을까 기대도 해 본다.

책의 내용을 방대하지만 그만큼 많은 유용한 정보를 담고 있다고 생각한다. 특히 구글이란 조직에서 실제로 적용해서 사용하고 있는 실제 사례이기 때문에 이론적으로만 치우친 다른 참고 자료보다 훨씬 현실적으로 도움이 될 수 있다고 생각한다. 개발 문화 또는 체계를 갖추고자 하는 조직이라는 꼭 한번 읽어볼만한 책이지 않을까 생각한다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."