쉽게 시작하는 캐글 데이터 분석 - 캐글 대회 참여 방법부터 캐글 그랜드마스터 인터뷰까지!
시노다 히로유키 지음, 조태호 옮김 / 길벗 / 2021년 9월
평점 :
장바구니담기


캐글 마스터가 집필한 캐글과 데이터분석을 처음으로 도전하는 초보자에게 도움되는 책이다.

책의 눈에 띄는 장점은 두가지를 들 수 있다.

먼저 초보자가 캐글 플랫폼을 빠르게 활용할 수 있도록 그대로 따라하기만 하면 될 정도로 버튼 하나까지 놓치지 않고 상세히 안내되고 있다는 점이 장점이다.

생각 외로 캐글 플랫폼을 처음 접하면 알아둬야 할 것이 많아 데이터 분석이라는 본 게임을 시작하기도 전에 입구에서 헤매이기 쉬운데 이 책이 최소한의 지식으로 진입장벽을 뛰어넘을 수 있도록 이정표를 제시해 줄 것이다.

초보자에게는 어려운 그레이디언트 부스팅 같은 모델도 직관적으로 잘 이해할 수 있도록 시각 도구를 적절히 잘 활용하고 있으며 필요 이상으로 상세한 설명을 한다는 느낌을 받을 정도로 논리적 비약 과정에서 이해하지 못하는 경우가 없도록 꼼꼼하게 저술했다는 생각이 든다.GBM

또 하나는 캐글 실전 기초 예제 2가지를 매우 깊숙히 들여다 본다는 점이다. 일반적인 데이터 분석 도서의 초입에 자주 활용되는 캐글 예제인 타이타닉 생존자 예측(분류), 주택가격 예측(회귀)을 2가지를 중점적으로 다룬다.

이미 머신러닝 도서를 많이 접한 독자는 너무 쉬운 예제라 굳이 읽을 필요가 없다고 생각할지 모르지만 그렇지 않다. 생각보다 2가지 예제에 대해 깊숙히 다루고 있기 때문이다.

두 예제 모두 말미에 추가 분석이라는 코너가 등장한다. 보통 다른 도서에서 비슷한 수준의 예제를 최소한의 전처리만 거친 후 기본적인 분류, 회귀를 시도하는 반면 본 도서에서는 통계 기법으로 자주 활용되는 클러스터 분석, PCA 분석 등을 활용하거나 실전에서 비롯된 저자의 인사이트를 가미하여 추가적인 분석을 시도한다.PCA

사실 누구에게나 공개된 확실한 법칙이나 모델들을 다루는 책들은 널려있지만 캐글 점수를 높이는 방법이나 몸값을 높여주는 자신만의 데이터 분석 필살 기법은 잘 공개를 하지 않는다. 자신의 몸값과 관련되어있거나 연구적 측면으로 항상 옳다고 검증받지 못했기 때문이다.

책에서 다루는 두 예제는 매우 기초적이고 쉬운 예제이지만 저자는 이 예제를 자신만의 통찰을 녹여 분석한다. 타이타닉의 경우도 사실 더 깊숙히 파고 들 가치가 있음에도 잘해야 교차검증이나 LightGBM 정도 적용해보고 더 이상의 고득점을 위한 시도는 하지 않고 다음 내용으로 넘어가는 편이다.

예를 들어 타이타닉에는 어떤 사람들이 타고 있었는지 티켓 등급별로 인원수나 남녀비율을 확인해보고 승선 항구별로 어떤 차이가 있는지 등 정확도 외의 심도 있는 추가 분석을 거친다. 이 과정에서 일반적으로 공개되지 않은 저자만의 노하우를 어깨너머 배우기 좋다.요금분포

또 Optuna와 같은 라이브러리를 이용하여 하이퍼파라미터 튜닝을 시도하는 등 하나의 예제를 할 수 있는 한 깊이 있게 분석한다.

머신러닝을 처음 학습하다보면 책에서 예제를 상당수 읽고 접했음에도 막상 새로운 문제가 주어지면 어디서부터 감을 잡아야 할지 막막한 경우가 많다.

예제 하나를 깊이있게 분석하고 확실히 내것으로 만들고 다른 이의 공개된 코드를 확실하게 분석하고 이해할 줄 알아야 새로운 문제에 적합할만한 능력을 갖출 수 있는데 본 도서의 그런 점이 매우 마음에 들었다.

또 다른 차별화된 부분은 부록이다. 부록에는 또 한명의 일본 캐글마스터의 인터뷰와 국내 캐글 코리아 커뮤니티 운영자이자 캐글 그랜드마스터로 유명한 이유한님의 인터뷰가 수록되어 있다.

일본 분의 경우 1년 반에 걸쳐 공무원을 때려치고 전업 캐글러로 살았던 기록을 남기고 있는데 아주 흥미롭게 읽었다. 아내 분이 꽤 자상하게도 허락해주신 덕분에 전업 종사를 할 수 있었던 것인데 24시간 동안 캐글만하고 싶다는 생각을 가진 이가 나만은 아닐 것이기에 그의 경험이 독자들의 앞날을 향한 결정과 미래 예측에 꽤 도움이 될 것이다.

특히 일본 캐글마스터 분이 LANL 지진 예측 대회에서 3위로 입상한 비법이 공개되어 많은 도움을 받았다. 유관분야의 논문을 찾아내고 그 논문과 캐글 실전 데이터를 맞춰나가는 노하우는 앞으로 큰 도움이 될 것 같다.지진예측

그 외 개발 환경을 구축히는 과정이 매우 상세하기에 데이터 분석이나 캐글에 관한 지식이 전무한 입문자도 쉽게 따라할 수 있을거라 생각하며 GCP와 같은 클라우드 환경에서 AI 애플리케이션을 구축하는 부분도 수록되어 있어 어떤 형태로든 무리없이 실습할 수 있도록 구성된 점이 장점이다.

결론적으로 캐글이나 데이터 분석 둘 중 어느 하나 이상 관심이 있는 독자가 처음 선택할만한 책으로 매우 좋은 선택지가 될 것 같다는 생각이 든다. 수박 겉핥기 수준이 아닌 쉬운 예제 2가지를 심도있게 분석하기에 앞으로 어떤 방향으로 추가 학습을 진행해야 할지 자연스럽게 힌트를 얻을 수 있을 것이다.




댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
의사 생리학 인간 생리학
루이 후아르트 지음, 홍서연 옮김 / 페이퍼로드 / 2021년 10월
평점 :
장바구니담기


19세기 중엽 비과학적인 의술을 기반으로 대중들을 속여 사기에 가까운 이문을 남기는 의사들의 행태를 고발한 불문학 작품이다.

당시 시대상에 비추어 의료 행태가 어떠했는지는 물론이고 당시의 프랑스 사회상을 생생하게 느낄 수 있다는 점이 책의 가장 큰 장점이며 당시 풍자와 해학의 문학적 미를 음미해 볼 수 있다는 점도 재미를 돋구는 요소이다.

제목에 사용된 생리학이라는 단어는 일상적으로 거의 쓰이지 않아 생소하게 느껴진다. 위키백과에 따르면 생리학은 “생물체의 기능을 연구하는 과학의 한 분야”로 정의되어있는데 분명 이 책이 담고 있는 의사에 대한 풍자나 문학이라는 색깔과는 어울리지 않는다.

제대로 된 생리학의 의미는 책 첫 페이지에 저자 루이 후아르트에 대한 소개와 프랑스 근대 문학에 정통한 역자의 해설을 통해 바로 잡을 수 있었는데 일종의 문학적 은유로 활용된 느낌이다.

1840년 대 초반 프랑스에는 생리학 시리즈가 큰 인기를 얻었는데 이 작품은 시리즈의 초창기에 등장한 작품이다. 생리학 시리즈는 당시 도덕적이지 못한 특정 계층을 풍자하고 사회적으로 고발하는 역할을 담당했다.

그 중 이 책은 의료 분야에 종사하는 의사나 약사를 풍자한 책이다. 일전에 같은 시리즈 중 하나인 부르주아 생리학도 감명깊게 읽어 리뷰를 남겼으니 필요시 참고하면 도움이 될 것이다.

책의 주를 이루는 내용은 의사의 부도덕한 행태이다. 당시 프랑스 의학 수준은 실험적 성격이 강했으며 고대 그리스 시대의 의술이 여전히 행해지거나 민간 요법으로 내려온 과학적으로 입증되지 않은 위험한 치료법이 행해지던 시기였다.

처음 등장하는 치료법은 동종요법이다. 동종요법은 병세를 일으킨 원인 물질과 유사한 물질로 병을 키워 치료하는 방법으로 오늘날 상식적으로도 이해하기 어려운 치료법임에도 널리 행해졌다는 것이 놀라울 뿐이다.

그 결과의 해석 또한 흥미롭다. 완치되면 모두 의사의 전문성으로 공이 돌아가고, 죽음에 이를 경우 애초에 병세가 심각하여 갖은 노력을 취했으나 사망한 것으로 간주 되었기에 이성적인 사고를 가진 사람이라면 이에 대한 비판을 중단하기 어려울 것이다.

해석에 대한 견해는 갖다 붙이기 나름이다. 만약 병세에 차도가 없다면 환자가 무언가를 잘못한 것이다. 용법에 따르지 않고 약을 한 스푼 덜 먹었다거나 조금이라도 더 먹었거나 심지어는 처방전에 명시한 약사에게서 약을 제조하지 않았기 때문에 발생한 문제이다.

이는 오늘날에도 일부 몰지각하고 비양심적인 의료인들로부터 발생하는 문제이기도 하다. 신이 존재하지 않는 이유를 찾을 수 없다고 신이 존재한다고 말하는 것과 같이 명제, 역, 이, 대우 사이에 존재하는 온갖 것들이 의사가 핑계로 삼을 수 있는 무기가 되어버린다.

문맹률이 현저히 줄어들고 의무교육과 고등교육으로 과학적 상식이 풍부해진 오늘날의 대중에게도 의료에 대한 지식은 요원한데 당시 대중들은 오죽했을까?

다른 교양서를 통해 히포크라테스 이후 1000년이 넘는 세월동안 서양 의학은 제자리도 지키지 못한 것으로 알고 있다. 오히려 퇴보했다고 평가를 받고 있으니 이제 막 중세를 벗어나 산업혁명의 태동기였던 이 시절은 고대에서 현대에 이르는 모든 의학이 시장에 판치는 과도기가 아니었을까 싶다.

동종요법 외에도 사혈 요법도 등장한다. 이는 5리터의 피(Nine Pints)라는 책에서 만났던 흥미로운 주제이다. 피를 놔두면 4개의 색을 가진 층으로 분리되는 것 처럼 보이는데 각각의 층이 4원소와 대응되어 원소설을 기반으로한 터무니 없는 의료 논리가 펼쳐진다.

심지어 심각한 병에는 강한 치료가 제격이라며 실신에 이를 정도로 피를 뽑는 비 이성적인 행태가 벌어지기도 했으니 당시 의사는 사람을 살리는 사람인지 죽음을 가속시키는 사람인지 분간하기 어려워 보이는 것도 사실이다.

자본주의의 맹점은 오늘날까지 부의 양극화를 비롯한 많은 부작용을 이어어고 있지만 당시에도 자본주의의 마수가 의학 분야에 적지 않은 영향을 미친듯하다.

오늘날 가장 공부잘하는 아이들이 의사, 판검사의 이른바 엘리트코스를 밟는 현상이 이미 프랑스에는 200년 전 부터 시작되었음을 이 책을 통해 알 수 있다. 이른바 노력 대비 가장 많은 돈을 벌 수 있는 직업으로 의사는 엘리트라 통칭하는 직업군 중 하나였다.

돈이 제1의 목적이 된 이상 사람의 목숨이나 건강은 뒷전이다. 아래 그림은 어떤 환자의 치료가 어려워지자 유관 분야의 의사 4명이 모여 회의하는 내용을 풍자하는 장면이다.팀

한명은 서서 그림 얘기나 하고 있고 나머지는 채권의 가격 혹은 자신이 사용하는 숙박권의 교환 등 돈과 관련된 이야기를 늘어놓는데 전념한다. 4명 의사의 선발 기준은 오로지 인맥이다. 최초로 진료를 본 의사와 친한 친구이거나 상부 상조하는 관계에 있는 의사들이 팀으로 꾸려진셈이다.

환자의 치료를 위한 논의는 온데간데 없고 사설만 늘어놓다 뻔한 진료 결과를 내놓는다. “당신의 병은 위중하며, 우리는 실력이 넘치고, 사혈요법으로 합의를 보았으며, 진료비는 80프랑이다.”

이어지는 서로 모르는 의사 3명의 풍자도 재미있다. 서로 다른 방식의 치료법만 내세우다 의자를 던지고 싸우느라 정신이 없다. 저자가 당시 행태를 어느정도로 강력히 풍자했는지는 모르겠으나 당시 의료 행태가 상당히 심각했음을 알 수 있는 대목이었다.

이러한 풍자에는 저자 특유의 날카로운 비판적이고 분석인 안목이 곁들여 있는데 그 중 일부 시각은 오늘날까지도 유효해 보인다. 살면서 돌팔이 의사 한 명쯤은 누구나 만난 기억이 있을텐데 그 때 그들의 의견을 매의 눈으로 시시비비를 가리는데 유용한 스킬도 있었다.

손자병법에 이르는 바아 같이 상대를 알아야 하는데 우리는 대부분 의사의 입장에서 생각해 본적은 없다. 저자는 완전히 반대편 의사가 되어 적을 꿰뚫고 있는데 이런 안목과 접근법은 꼭 의학을 떠나 비판적인 안목을 키우는데 큰 도움이 될 것이다.

그 외에도 자연이 내려주신 물로 치료를 한다는 수치료사나 외국의 진귀한 한약재를 첨가하여 약의 가격을 높이는 약사의 행태 등 당시의 치열했던 사기의 현장이 흥미진진하게 담겨있다.

이런 생생한 시대상과 날카로운 풍자 외에도 저자의 신랄한 프랑스식 고전 위트를 즐겨보는 것도 책을 재미있게 읽는 한가지 방법이다.

다양한 풍자와 일화가 소개되고 있지만 특히 44p를 중심으로 펼쳐지는 위트는 꽤 논리정연하다. 의사가 약 냄새를 코에 2번 맡게 해 두통을 치료했다고 하며 집에 돌아가면 다 나아있을거라 사기를 치는 장면에 금융업계에 종사하는 환자는 책에서 아래와 같이 대응한다.위트

돈 냄새를 2번 맡게하고 집에 돌아가면 지갑에 진료비가 들어있을거라는 거짓말은 분명한데도 의료 행위의 같은 논리는 어째서 진실로 통용되고 있는지 저자의 논리적인 위트가 정곡을 찌른다.

당시 프랑스의 시대상이나 의료 행태라는 지식없이는 이 책의 진가를 반도 느끼기 어렵다. 다행히 생리학 시리즈 책이 여러 권 출간되어있어 각 권을 읽으며 비교 대조한다면 당시 프랑스와 유럽의 새로운 느낌을 전달받을 수 있을 것이다.

또 책의 말미에 역자의 해설이 담겨 있으니 이를 꼭 참고한 후 다시 음미한다면 처음 읽을때에는 보이지 않았던 새로운 세계가 그림같은 풍경으로 되 살아나는 신기한 경험이 가능할 것이다. 당시 프랑스의 정취와 해학을 느끼고 싶다면 본 도서를 권하고 싶다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
비겁한 돈 - 결국 용기 있는 기회주의자가 부를 얻는다
황현희.제갈현열 지음 / 한빛비즈 / 2021년 11월
평점 :
장바구니담기


우리와 같은 일반인으로 돌아와 12년 간 투자로 경제적 자유를 얻은 개그맨 황현희와 재테크 베스트 셀러 작가 제갈현열이 공저한 책으로 부를 얻기 위한 조언을 담은 글이다.

“전국에서 제일 웃기고 끼가 많다는 친구들을 매년 열 명씩 뽑아놓고, 그들이 편의점 알바나 우유 배달이나 일용직 노동을 할 수 밖에 없게끔 기본적인 안전장치 하나 없는 환경에서 경쟁하도록 몰아세우니 말이다. 이거야말로 코미디다.”

93페이지에 등장하는 이 글귀 하나에 개그맨 황현희가 책에서 말하고자 하는 핵심 주제의 거의 모든 것이 담겨있다.

2008년에 그는 연예대상을 받았다. 개인이 노동으로 일궈낸 최고의 성과였음에도 서브프라임이라는 경제 위기가 기회로 받아들이지 못했던 것을 후회할만큼 개그맨을 그만두고 12년이 지난 지금 그의 가치관은 완전히 변해있었다.

100% 동감할 수는 없지만 나는 “돈을 수단이 아닌 목적으로 삼아야 한다.”는 그의 지론에 상당 부분 동의한다. 그와 비슷한 나이로 나름 후회없을 정도의 노력을 쏟으며 살아온 내 인생도 그와 비슷한 말을 하고 있기 때문이다.

이 책을 읽는 독자라면 자본주의 사회에서 절대 권력을 가진 돈을 너무 천박하게 생각하고만 있었던건 아닌지 돌이켜 볼 필요가 있다. 특히 최근 주식과 부동산 등 자산 가치의 급상승으로 벼락거지가 된 사람이라면 매우 동의할 만한 주제이다.

시간이 있어야 경제도 돌아보고 투자 시점도 포착하고 시드를 굴려볼텐데 매일 인간다운 살도 포기한 채 직장에 노예처럼 목메여 모든 사고 회로가 정지당하고 가정에 행복을 가득채워주는 아이가 태어났음에도 행복할 권리를 잃은 채 시간만 더 뺐겨 아무리 노력해도 가난하게 살 수 밖에 없는 그로 인해 또 더 돈을 벌어야 해서 시간을 뺐길 수 밖에 없는 이 악순환의 고리를 언젠가는 끊어야 하지 않을까?

저자가 말하는 비겁한 돈의 의미는 암흑 세계의 돈을 말하는 것이 아니다. 노력해서 번 돈 만이 가치있다고 여기는 기존 관습, 돈을 목적으로 삼는 이들에게 던지는 야유와 같은 폐단을 걷어내자는 의미이다. 스트레스 받지 않고 쉽게 돈을 버는 것이 무엇이 나쁘냐는 논리다. 따지고 보면 틀린 말이 아니다. 적어도 자본주의 세계에서는 말이다.

지금 우리 대다수는 돈은 노동으로 버는 것이 아닌 자본으로 버는 것이 진리라는 사실을 알고 있다. IMF라는 국가 위기 이후 20년 간 우리에게 펼쳐진 현실이 이를 증명한다.

이미 다 알고 있는 뻔한 글은 아닐지 반신반의하며 읽었지만 12년 간의 노력, 시간, 학습, 인내를 투자하여 경제적 자유에 성공한 그의 글에는 미처 생각치 못한 신선한 인사이트가 숨어 있었다.

내게도 비슷한 경험과 투자의 실패를 거듭하며 배운 노하우가 있는데 적어도 내가 깨달은 것들이 고스란히 담겨 있었기에 적어도 한 독자의 검증을 마친 셈이라 생각하면 된다.

예를 들어 서울대를 가기위해 노력, 시간, 학습, 인내를 투자하는 것은 당연하게 여기면서 왜 돈을 버는데는 노력, 시간, 학습, 인내를 투자하는 것이 당연하다고 인식하지 않는지 의문을 던진다. 생각해보면 너무도 당연한 이치인데 그 쪽 사고회로는 잘 돌아가지 않는다.

마치 죽음에 대해 깊게 생각하지 않는 것과 비슷한 느낌인데 돈을 죽음과 같이 부정적인 견해로 바라보거나 아니면 생각하는 순간 불결해지는 느낌을 받게끔 주위에서 교육받아서는 아닐런지? 그렇다면 이런 선입견을 누가 씌웠을지? 어쩌면 보다 빠르게 혹은 비열하게 기득권을 점유하고 싶었던 누군가의 장난질에 세뇌당한 것은 아닐런지?

지금이라도 돈을 좀 더 선명하게 바라볼 필요가 있다. 노력, 시간, 학습, 인내 모두 투자해야 한다. 거저 얻어지는 것은 세상에 없다. 나 역시 나이 40세가 가까워져서야 돈에 관심을 갖기 시작했는데 돈을 보는 시각 자체에 문제가 있었음을 뼈저리게 후회한다.

직업 특성 상 비트코인의 존재 여부를 누구보다 빨리접했음에도 이직하여 새 직장에 적응하느라 정신없어서 최고의 투자 기회를 놓쳤고, 경제와 숫자와 분석에 관심이 지대함에도 책 한 권 읽을 시간이 주어지지 않아 세상의 흐름을 읽을 수 없었다.

저자가 겪은 계그계 만큼은 아니어도 일반 직장 역시 치열한 곳은 매 한가지이며 AI가 발전하는 등 시대의 변화에 누구보다 더 열심히 배워야 할 우리는 점점 바보가 되어가고 있다.

직장에서는 노력하는 자가 돈을 벌지 못하는 시기이고, 바깥 세상에서는 노력한 만큼 바보가 되어가는 불공평을 넘어서 말도 안되는 현실에 나는 도대체 뭘하고 살아가고 있는지 고민해야 할 시점이다. 그래서 저자는 ““을 강조한다.

일단 쉬어야 다른 것들이 보인다. 가난의 챗바퀴에서 시간까지 뺐기면 결론은 뻔하다. 아인슈타인이 한 말은 아니지만 인터넷에 떠도는 “어제와 똑같이 살면서 다른 미래를 기대하는 것은 정신병 초기증세다.”라는 명언을 떠 올릴 시점이다.

또 저자는 욕망과 실력 중 본인에게 어떤 것이 큰지를 살펴볼 것을 주문한다. 대부분의 초보자들은 실력보다 욕망이 크다. 이는 투자에 있어 치명적이다. 사실을 객관적으로 보지 못하니 잃을 자리를 불나방처럼 뛰어들게 되는 것이고 욕망만 앞서 조급하니 못 먹을까 두려워 먹을 것이 떨어진 파티에 뛰어드는 것이다.

이 조언은 투자 제 1원칙이라 불러도 과언이 아닐 투자자에게 꼭 필요한 말이다. 투자에 임하기 전 스스로에게 이것이 객관적인 것인지 아니면 내 욕심인 것인지 물어보는 습관이 중요하다.

똑같은 100만원으로 누군가는 아이폰을 사고, 누군가는 애플 주식을 산다. 아이폰을 산 이는 세월이 흐를수록 가치가 0원에 수렴하지만 애플 주식을 산 이는 시간이 흐를수록 무한대에 수렴한다.

이 책은 특히 처음 투자 세계에 입문하는 초보자에게 추천하고 싶은 책이다. 마인드 형성은 사실 어떤 지식보다 중요하다. 섣불리 투자에 뛰어들거나 돈을 바라보는 관점이 여전히 냉소적이라면 돈을 벌기는 커녕 잃기 십상이다.

같은 일반인의 관점에서 투자에 성공한 이의 조언을 1인칭 시점으로 읽는 것이 마치 술자리에서 돈에 관한 잡담을 나누는 기분이다. 그만큼 재미있다. 또 읽으며 스스로의 돈에 관한 인식과 투자의 관점을 재점검할 기회가 주어진다. 보다 가치있는 일, 하고 실은 일을 하고 싶다면 이 돈 버는 이야기에 귀를 기울이길 바란다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
266가지 문제로 정복하는 코딩 인터뷰 in C++ 코딩 인터뷰
아드난 아지즈.쭝시엔 리.아미트 프라카시 지음, 이창현 외 옮김 / 인사이트 / 2021년 10월
평점 :
장바구니담기


소프트웨어 개발 직군의 기술 면접 준비를 위한 C++ 기반 266가지 코딩 인터뷰 문제를 다룬 책이다.

본 도서는 아마존과 같은 대형 서점에서 알고리즘 분야로 베스트셀러에 해당하는 책으로 눈에 띄는 장점을 먼저 소개하자면 다음과 같다.

우선 각 문제마다 학습에 도움이 되는 구성이 일품인데 독자의 사고 흐름에 맞춰 집필된 점이 장점이라 할 수 있다. 이를 책에서는 EPI 스타일이라 명명하고 있는데 이 책 원서 제목의 약자이다.

먼저 이해하기 쉽게 실전 예제가 등장하며 이를 기반으로 문제를 제공하여 명시되지 않은 세부조건이나 예외 등 합격률을 높일 수 있는 다양한 생각을 도와준다.

세부조건을 명확히 하는 것은 알고리즘 설계 및 코딩의 최우선 전제조건이다. 입력 값이 배열인지, 정수인지, 양수인지, 정렬은 되어있는지 등 문제에 언급되지 않아도 스스로 조건을 설정할 수 있는 능력이 필요하다. 의외로 이런 부분을 간과하여 머리속에만 빙빙대다 실제 구현에 실패하는 경우가 잦기 때문이다.

이런 조건을 명확히 하는 능력 그리고 그 조건 명확화 과정에서 면접관들과 커뮤니케이션하는 방법이나 자세까지 책에서 가르치고 있기에 친절한 저자의 배려가 돋보이는 책이다.

또 어려운 문제의 경우 힌트가 제공되는데 이는 가급적 스스로 골머리를 앓다가 도저히 실마리를 못 잡을 때에만 보는 것이 실전에서 문제가 변형될 경우 적응력을 키워준다.

특히 주목할 만한 부분은 문제에 대한 해설이다. 즉흥적으로 떠오르는 무식한 방법으로 문제를 풀어보고 이 문제가 왜 비효율적인지 살펴본다. 이를 바탕으로 더 효율적인 방법을 찾아보고 실제 데이터를 입력하여 감을 잡는다. 이후 핵심 코드를 공개하며 시간 및 공간 복잡도를 분석한다.

그 외에도 코드 길이를 줄이는 방법이나 과소 평가된 기능을 제대로 활용하는 방법 그리고 잠재적 함정으로 작용할 수 있는 부분들도 꼼꼼히 살펴본다.

이런 구성은 특정 문제를 푸는 사고 흐름 순서로 이어지기 때문에 읽고 이해하는데 매우 편리하다. 특히 실전에서 면접 문제가 변형되는 경우 거의 다 아는 문제인데도 사소한 부분때문에 면접에서 떨어지는 경우가 많은데 이런 변형에 유연하게 대응할 수 있는 사고를 키워준다는 점이 매력적이다.

그 외에 다른 책과 차별화되는 장점도 몇가지 소개할까한다. 우선 3부의 특정 도메인 문제 파트에서 사진 공유 서비스나 추천 시스템 설계와 같은 문제도 등장한다.

실무에서 자주 개발하게 되는 애플리케이션을 설계하는 방법을 다루고 있어 조직의 비전을 이해하고 그 안에서 스스로의 역할이 무엇인지 커뮤니케이션 할 수 있는 능력을 키울 수 있음은 물론 미래에 PM급 이상의 관리자가 되었을 때의 설계 능력을 키울 수 있다. 생각보다 다양한 예제가 소개되어 놀랐다.

그 외에도 3부에서는 생성자, malloc(), 동적 링크 등 특정 언어에 종속된 기술에 관련된 문제도 다룬다. 또 싱글턴이나 푸시 옵서버 패턴 등 객체 지향 디자인 설계도 다루고 있으며 프로그래밍과 떼기 어려운 DB, Network 등의 도메인 문제도 제공되고 있어 폭넓은 기술 면접 대비가 가능하리라 생각했다.

또 서점에 알고리즘과 관련된 명작이 많지만 이 책은 그 중 비교적 최신 트렌드를 담고 있는 편이라 최근 화두인 AI를 중심으로 고민해 볼법한 문제들도 수록되어있어 신선했다.

책의 구성은 크게 4개 파트로 나뉜다. 1부는 면접과 관련된 내용을 다루는데 준비, 실전으로 나뉘며 마지막으로 면접관 입장에서 어떤 문제를 들고가서 어떻게 평가할지의 준비 과정을 살필 수 있어 도움이 된다.면접

2부에서는 기본적인 면접 문재 풀이 및 차후 고난이도 문제의 기본기가 되는 기본 자료구조 및 알고리즘을 다룬다. 배열, 이진탐색, 퀵소트 등 알고리즘을 대표하는 기본 지식들이 실전문제로 등장하며 이 책의 가장 핵심이라 할 수 있겠다.

2부에서도 15 ~ 18장에 해당하는 후반부에는 다들 까다로워 하는 동적 프로그래밍, 휴리스틱, 병렬 프로그래밍 등 고급 주제를 다루는데 난이도가 어려우므로 4 ~ 14장의 기본기를 철저히 다진 후 도전하는 것이 좋겠다.

3부는 앞서 이 책의 차별화된 장점을 소개한 바와 동일하다.

4부는 어려운 문제들을 담고 있는데 허프만 코드나 정규표현식 매칭 등 알고리즘 구현 수준이 높은 문제부터 고속도로에 구간을 추가하는 등 실생활에서의 해결과 알고리즘의 연결 능력 정도를 평가하는 문제까지 매우 다양한 분야의 문제가 수록되어 있다.

개인적으로는 문제 24.19에 소개된 정렬된 이중 연결리스트를 이진 탐색 트리로 변환하는 문제에서 반가움을 느꼈다. 학부 시절 하루 동안 머리를 긁으며 고전했던 문제였는데 한 번 익히고 나니 포인터를 자유자재로 사용할 수 있게 되었다. 알고리즘 문제 풀이의 삽질 과정은 확실히 다양한 문제를 해결하기 위한 능력을 키우는데 도움이 된다.알고리즘변환1
알고리즘변환2

이 책은 무려 600p가 넘는 방대한 분량을 자랑한다. 이 책 한 권을 온전히 파들어가면 왠만한 알고리즘 문제에 끄덕없을거라 장담하지만 문제는 시간이다. 저자가 서문에서 소개한 말에 따르면 1일 1문제를 풀어도 1년 정도 걸릴 분량이라고 한다.

이에 대비하여 책에는 학습할 수 있는 가용 시간에 따라 학습 플랜을 달리 취할 수 있도록 일정에 따른 가이드를 제시한다.학습플랜

각 해법인 소스 코드는 C++11 구문 및 구글 C++스타일 가이드를 따르고 있으며 알고리즘은 밑바닥 구현에 집중하는 경우가 많기 때문에 C언어만 확실히 아는 독자라면 검색을 통해 충분히 읽을만할 것이다. 다만 C언어를 모를거나 기본적인 IDE를 활용할 줄 모르는 수준의 독자는 이해하기 어려울 것 같다. 

이 책은 매우 꼼꼼하게 독자를 배려한 책으로 이 책만 제대로 독파해도 알고리즘에 관한 왠만한 문제에는 적응 할 수 있을 정도라 생각되기에 코딩 인터뷰를 준비하는 수험생에게 일독을 권하는 바이다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
심리 읽어드립니다 읽어드립니다 시리즈
김경일.사피엔스 스튜디오 지음 / 한빛비즈 / 2021년 10월
평점 :
장바구니담기


팬데믹 시대를 중심으로 펼쳐지는 우리 마음 속 불안, 초조, 재택근무, 쇼핑 중독 등에 관련된 우리의 마음을 파헤쳐보고 더 나은 삶을 위한 대책을 찾아보는 책이다.

유명 유튜브 채널인 “사피엔스 스튜디오” 제작진과 방송에 다수 출연 중인 유명 심리학자 김경일 교수의 공저 글로 사람의 마음으로 생기는 현상과 주제를 제작진이 엮고 이를 심리학에 비추어 정리하였음을 저자는 서문에서 밝히고 있다.

여타 다른 책들이 심리학적 메커니즘을 이해하기는 수월한 반면 현실에서 적용해볼 법한 해결책으로 다수 부족한 점이 있었다면 이 책은 현실의 우리 문제를 중심으로 다룬다는 점과 심리학 연구를 토대로 효과를 볼 수 있는 현실적인 해결책이 다수 제시되고 있다는 점이 장점이라 할 수 있다.

책은 크게 2부로 구성되는데 1부는 최근 팬데믹 여파속에서 우리가 겪는 마음의 상태와 그 메커니즘을 알아보는 장이다. 생물학적인 범위인 편도체, 해마와 같은 뇌의 기능에서 상실감과 불편함으로 대표되는 눈에 보이지 않는 심리 작용에 이르기까지 우리 마음의 작동 원리를 엿 볼 수 있는 장이다.

2부는 1부에서 알아본 우리의 마음 작동 원리를 이용해보는 장이다. 쇼핑 중독에서 탈출하는 방법이나 불안을 해소하는 방법 그리고 무기력증 등에서 벗어나는 방법을 알아본다.

나는 심리학과 인간관계에 저명한 책들을 꽤 여러권 읽어왔는데 다른 책에서 소개되지 않은 새로운 사실들을 많이 알게 되어 적잖이 놀랐다. 대부분의 유관 도서들이 일정한 교집합을 가지고 있는데 반해 이 책은 분명한 차별성이 있다.

먼저 가장 많은 분량을 차지하는 주제는 불안이다. 현대 사회를 살아가는 사피엔스 인종이 스스로를 방어하기 위한 메커니즘으로 불안을 담당하는 뇌의 기관이 발달하게 되는데 그것이 편도체이다.

이 불안이 팬데믹을 맞이하며 더욱 거세지고 있다. 책에 제시된 통계에서 알 수 있듯 심지어 가장 친하고 편하다는 가족 관계에서 갈등이 증가하고 있다는 것은 흥미로운 사실이다.

팬데믹으로 자주 마주치는 상황만큼이나 가족 중 타 구성원에 대한 불편함이 비례하며 게다가 이전 시절에서 누릴 수 있었던 인간관계에서 상실감이 이 갈등을 더욱 거세게 부추긴다. 가정이 이리할진데 완전한 남끼리 살아가는 사회야 오죽하랴.

그렇다면 이 분노를 해결하기 위해 좋은 방법으로는 어떤 방법이 있을까? 가장 기본적인 해결방법으로 책에서는 스스로를 주관적인 사람으로 규정하고 타인이 그런 행동을 하게된 배경을 이해할 것을 주문하고 있다.

사실 이행하기 쉬운 말이 아닌 것을 알고 있고 나 역시도 읽으며 당장 내 화를 달래줘야지 왜 남의 화를 이해하라고 되묻기도 했다.

하지만 40년 정도 살아보니 이젠 어느 정도 알 것도 같다.

뭔가 쉬운 방법이 있었다면 사람들이 이렇게 끙끙댈리 없겠지.

조금 더 자세히 들여다보니 화를 낼때 대화하는 상대 마주편에 거울을 두라는 말이 끌린다. 난 이 위력을 실감한다. 예전에 부부싸움할 때 우연히 내 얼굴이 거울에 비친적이 있는데 정말 깜짝놀랐다.

그 거울은 아내에게 매일 어떤 사람이 되어야하는지, 우리가 어떻게 살아가야 더 나은 사람으로 살아갈 수 있는 것인지 평화로운 시절 내가 느끼고 깨달은 모습을 설명했던 나와 정반대의 얼굴이었기 때문이다. 난 즉시 사과를 했고 다행히 싸움은 그칠 수 있었다.

이 책에 언급된 것처럼 우리는 분노할 때 상대만 본다. 나는 전혀 볼 생각을 하지 않는다. 더욱이 나를 객관적인 사람으로 규정한다. 이미 나는 조금도 변할 필요가 없음을 전제하는 무서운 말이 객관적이라는 말이다.

이렇듯 갈등의 요소마다 우선은 나를 들여다 볼 기회를 가지는 것이 좋다. 그것이 거울이든 스스로의 메타 인지이든 자신을 읽을 수 있어야 하고 분노에 대한 정확한 팩트와 원인을 알아야 한다.

또 행동으로 취할 수 있는 조언도 이어지는데 바로 걷기이다. 영화배우 하정우가 쓴 “걷는 사람”이라는 책을 읽고 걷기를 즐기기 시작했는데 경험자로써 걷기는 상상을 초월하는 인생에 행복을 가져다 주는 효과가 있는 것 같다. 김구 선생도 산책을 즐기며 생각을 정리했고 그 외에도 걷기를 즐긴 위인들은 수도 없이 많다.

어떤 원리로 걷기만 해도 이렇게 행복해 지는지 궁금했는데 이 책에 그 메커니즘이 명확히 쓰여져 있었다. 발바닥에 걷는 느낌이 생기면 분노와 불안을 담당하는 편도체가 활동을 중단한다. 대신 해마라는 기관이 작동하기 시작하는데 이 기관은 가설을 담당하는 기관이라 한다.

걷는 순간 불안은 서서히 가라앉고 즐거운 생각이 하나씩 떠오르며 슬픔은 애환으로 치유하고 기쁨은 창의력을 더해 더 기쁘게 만들어주는 걷기의 힘에 생물학적인 메커니즘이 숨어 있음을 알게 되었다. 이 방법은 책에도 추천한 방법이지만 산 증인인 나 역시 너무도 추천하고 싶은 방법이다.

2부에서는 이런 불안의 성질을 역이용할 것을 제안하고 있다. 불안의 순기능은 바로 변화에 있다. 불안한 순간만큼 변화를 이끌어 내기 쉬운 방법도 없다. 나 역시 일생에 위기를 느끼고 독서를 즐기게 되었고 그렇게 정착된 습관은 별도의 불안 없이도 독서를 내 취미로 만들어주었다.

이런 긍정적인 습관이 한 번 안착되면 나 자신이 그 위력을 오롯이 느끼게 되어 다른 긍정적인 습관도 쉽게 습득할 수 있다. 특히 책의 말미에 소개된 무기력증이 확실히 사라진다. 세상에 하고 싶은 것이 많아지면 무기력증은 쉽게 사라지기 때문이다.

또 불안하게 되는 대표적인 이유 중 하나는 불확실성에 있다고 한다. 결승선을 보면 아무리 힘들어도 전력질주를 할 수 있음에도 그 끝이 어딘지 보이지 않으면 불안해지고 학습된 무기력이 발동한다.

그렇기에 우리는 불안을 한 걸음씩 나아갈 수 있도록 잘게 쪼갤 필요가 있다. 그러다보면 불확실한 부분들이 보다 확실하게 보이기 시작하고 불안의 팩트가 보이기 시작한다.

나에게는 해당하지 않는 내용이라 큰 관심을 기울이며 읽진 않았지만 다른 독자에게는 누구보다 절실할 수 있는 방법도 소개된다.

대표적으로 지름신 강림을 예로 들 수 있겠다. 팬데믹의 상실감이 자기 가치 저하를 가져오고 그 가치를 회복시키기 위해 물건을 구매하는 것으로 회복시키려는 일련의 자신의 마음을 읽을 줄 알아야 쇼핑 중독에서 벗어날 수 있을 것이다.

친한사람보다는 거리가 다소 있는 사람과 쇼핑을 하는 편이, 흐린날에 쇼핑하는편이, 할인율과 금액의 앵커효과를 경계하는 것이 쇼핑 중독에서 벗어날 수 있는 좋은 팁이라는 것이 꽤 흥미로웠다. 이 안에 숨은 심리적 메커니즘은 책을 통해 직접 확인하기 바란다. 꽤 재미있다.

그 외에도 귀여움이 거시적이기 보다는 미시적인 부분에의 집중력을 높여준다는 사실, 귀여움을 느끼면 사피엔스가 항상심을 유지하기 위해 공격적인 성향이 나타난다는 사실은 이 책에서 처음 읽었다. 매우 흥미로운 사실이었다.

이 책은 열 길 물 속의 사람 마음을 한 길이라도 줄여주는 책이다. 남은 그렇다치고 특히 나의 마음을 읽을 줄 아는 것은 매우 중요하다.

단순히 일상에 도움이 되는 팁 몇가지를 얻는 것만으로도 삶의 질을 개선하는데 효과가 있어 이것만으로도 책을 읽을만한 가치는 충분하다 하겠으나 나도 모르게 그런 행동을 저지르고 마는 원리를 근본적으로 알 수 있다면 세상 많은 역경과 고민을 헤쳐나가는데 많은 도움이 될 수 있을 것이다.

삶에 깊은 고민이 있는 이라면 한 번쯤 읽어볼 것을 권유드린다.




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo