살면서 꼭 해야 할 재미있는 일 10가지 - 캐롤 수녀가 전하는 <후회 없는 삶을 위해 오늘부터 해야 할 것들>
캐롤 재코우스키 지음, 공경희 옮김 / 홍익 / 2019년 1월
평점 :
절판


"살면서 꼭 해야 할 재미있는 일 10가지"란 책은 저자 캐롤 수녀가 1987년 인디애나 주 노트르담에 있는 세인트메리대학에서 강연한 원고를 기반으로 책으로 만들었다. 원제인 Ten Fun Things to Do Before You Die (Paperback, Reprint)  책이 2000년도에 나온 것을 보면 약 13년이란 시간이 지난 뒤 책으로 정리된 것을 알수 있다. 내가 구매한 책은 초판으로써 2019년도에 나온 책이고 2022년도에 읽었는데 이를 계산하면 초기 원고로부터 약 35년 뒤에 책으로 보게 된 셈이다. 책 표지가 귀엽고 너무 깔끔하여 35년 전에 정리된 이야기라는게 믿어지지 않았다. 그리고 이 당시 강연을 들었던 대학생들은 50~60대가 되었을 테니 그들의 삶에 어떤 영향을 끼쳤을지 문득 궁금하기도 하다.

무엇보다 첫번째에서 재미있게 살아가기 위한 방법도 네 가지나 전수해주는데 꽤나 유용하다. 그 중 내 마음속에 와닿았은 것은 "2. 남들과 함께 있을 때 내 생각은 일단 접어 두자."이다. 

전체적으로 요약한다면 캐롤수녀가 어떻게 하면 즐겁게 살아갈 수 있을까를 자신의 가치관에 맞춰 이야기한다고 정리할 수 있다. 나 자신을 소중히 대하고 다양한 사람들과 즐겁게 살아가기 위한 노하우들로 가득하고 6번 "잠깐이라도 수녀처럼 살아 보자"와 10번 "아무것도 잃을 게 없는 것처럼 살아라"에서 캐롤 수녀의 삶과 가치관을 조금이나마 엿볼 수 있었다. 여기서 아무것도 잃을 게 없다는 것은 자산뿐 아니라 가족 또는 지인의 이별까지도 이야기하는 것이라 어떻게 보면 꽤 무거운 주제이자 실천하기 어려운 내용이기도 하다. 또한 2,3번의 내용들은 글의 흐름을 따라가기 어렵게 느껴지기도 했다.


책 전체가 약 180페이지이고 굉장히 작은 크기이기 때문에 1-2시간만 집중하면 다 읽을 수 있다. 그러다보니 가볍게 읽기에도 좋다. 




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
유연한 소프트웨어를 만드는 설계 원칙 - 막다른 골목 없이 진화하는 시스템 개발하기
크리스 핸슨.제럴드 제이 서스먼 지음, 류광 옮김 / 한빛미디어 / 2022년 3월
평점 :
장바구니담기


소프트웨어 엔지니어에게 어떤 상황에서도 유연하게 확장 가능한 설계는 판타지에 나오는 마법지팡이와 같은 이야기이다. 코드에 대한 섣부른 일반화가 미래 요구사항에 맞지 않아 다시 많은 부분을 손봐야한다던가 너무 특정 문제에 초점에 맞춰 구현된 개발은 향후 기만한 변화에 발목을 잡게 될 수 있다. 이 책은 기존 코드를 수정하지 않고 어떻게 새로운 코드를 추가할 수 있을 것인지 그리고 시스템을 어떻게 진화시킬 수 있는지를 이야기하는 가산적 프로그래밍(additive programming)을 설명하는 책이다.


1장부터 공감되는 말들 그리고 생각해볼만한 주제들이 정말 많이 나온다.

여러 프로그램을 결합해서, 각 프로그램이 지원하는 행동들의 합집합을 얻는 것은 언제라도 가능하다. 그러나 우리는 전체가 부분의 합보다 크길 원한다. 즉, 시스템의 부품들이 연동함으로써 그 어떤 부품도 혼자서는 하지 못 하는 일을 시스템이 할 수 있게 만들고자 한다. 그러나 여기는 절충(trade-off)이 존재한다. 시스템 구축을 위해 결합하는 부품들은 반드시 관심사들을 명확하게 분리해야 한다. 한가지 일을 극도로 잘해내는 부품은 서로 무관한 여러가지 기능을 결합한 부품보다 재사용하기 쉽고 디버깅 하기도 쉽다. 시스템을 가산적으로 구축하려면 의도치 않은 상호 작용을 최소화하면서 부품들을 조합할 수 있어야 한다


미국 MIT 대학에서 학부생 또는 대학원생에게 가르치던 내용이 일부 포함되어 있다고 한다. 책을 이해하는 과정이 MIT 수업을 듣는 것과 어느정도는 비슷하다고 볼수 있다. 책 첫장을 펴고 1시간 정도 읽어보면 친절하게 이야기를 풀어가는 책들과 결이 다르다는 것 또한 알 수 있다.


그러다보니 혼자서 이 책을 다 소화하기에는 상당히 많은 시간과 노력이 들어갈 것이란 생각이 든다. schem 개발 언어를 사용하여 설명하는데 이 부분 또한 책을 이해하는데 발목을 잡을 것이다. 그러므로 혼자서 책을 읽어나가기 보다는 이 주제에 관심이 많은 시니어 개발자들이 각자 책을 사서 스터디를 진행하면 더 효과적으로 책을 읽어나가고 토론하기 좋은 책이라고 생각한다. 


프로그래밍이란 주제에 대해 철학적으로 시작하여 진지하게 다시 한번 정리하고 학습하고 싶은 개발자들에게 추천한다. 


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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
미국 주식으로 시작하는 슬기로운 퀀트투자 - 주린이+코알못도 파이썬으로 쉽게 따라 하는 퀀트투자 레시피
김용환.Yubin Kim 지음 / 한빛미디어 / 2021년 9월
평점 :
장바구니담기



이 책은 미국시장에 투자하는 서학개미들을 위한 퀀트 투자에 대한 초급책이다. 퀀트 투자(Quantitative Analyst)란 정량적인 데이터 분석을 기반으로 투자를 해나가는 기법을 말한다. 개발쪽과 엮어 생각본다면 Data Driven Architecture 또는 Business와도 비슷한 개념이라 생각한다. 수 많은 IT 회사들이 고객을 분석하고 전략을 세운 뒤 결과에 대해 데이터를 모으고 다음 행동을 준비하는 것 처럼 말이다. 아무리 데이터를 분석하고 예측을 하더라도 결과가 어떻게 될지 확신할 수 없다는 점 또한 똑같다.

 

최근 1년이라도 일찍 알았으면 좋았을 책을 고른다면 이 책이 될 것이다. 아주 오래전 남들 다 돈을 번다던 펀드에 가입했다가 약 20% 손실 후 투자쪽은 쳐다보지도 않고 있다가 2020년 1월 코로나 바이너스로 인한 전세계 주식 대 폭락 이후 갑자기 생겨나게 된 주린이(주식 어린이) 행렬에 동참하게 되었다. 

 

폭발적인 유동성과 낮은 금리를 바탕으로 주식 시장은 호황을 이루게 되었고 몇몇 사람들은 특별한 기술이 없어도 좋은 수익율을 낼 수 있었다. 개인적으로 급등하고 있는 전혀 모르는 회사 주식을 샀다가 결국 손실로 마무리되기도 하고 고민만 하다가 사지 못한 주식들이 마구 상승하는 것을 망연자실 보게 된 경우가 꽤 된다. 그렇다보니 기본 지식이나 전략에 대해서 자연스럽게 찾아보게 되었다.

 

재무재표를 어떻게 보는지, PER이나 ROE가 무엇인지 찾아보고 공부도 했지만 결과는 녹록치 않다. 전략을 어떻게 세우면 좋을지 매도는 언제하는게 좋을지 현재 주가가 적당한 것인지 비싼 것인지 알기가 너무 어려웠다. 모르는 개념을 단순히 계속 찾아 공부하기 보다는 실제 데이터를 기반으로 응용해보거나 검증할 수 있는게 필요해보였다. 

 

책 내용 중 1장을 읽으면서 궁금한 점 한가지는 바로 얻을 수 있었다. 절대 가치 산출은 거의 불가능하다.

절대가치를 산출하기는 정말 어렵다. 사실 불가능하다고 말하는게 맞다. 절대가치 산출을 위해서는 기업이 미래에 벌어올 돈이 얼마인지를 알아야 하는데, 이를 알 수 없기 때무이다. 애널리스트 리포트를 읽어본 사람이라면 알겠지만, 이 일을 직업으로 하는 애널리스트도 기업이 미래에 벌어올 돈이 얼마인지 가정을 통해 기업가치를 산출한다.


1 투자를 시작하는 당신에게

Chapter마다 기술의 근간이 되는 주식 기본 용어들에 대해 설명을 해주고 백테스팅 예시를 코드를 통해 직접 설명하고 있는점이 장점이다.


책 예제에서 사용되는 finterstella python package는 감사하게도 github에 오픈소스로 제공하고 있어 실제 구현이 어떻게 되어 있는지 하나하나 확인할 수 있었다.

 

일부 수학적인 부분을 제외하면 책은 술술 읽혀진다. 하지만 앞으로 하나하나 내껏으로 만들어야하는 숙제가 아직 남아있다. 가치주를 찾아내는 기술에 좀 더 초점을 맞춰 전략을 세우고 백테스팅을 통해 검증을 해볼 계획이다.

 

국내시장인지 해외시장인지 어떤 섹터의 데이터를 바라보는지 현재 시장 분위기가 어떤지등 그 외 변수들도 많겠지만 백테스팅을 직접하는 과정에서 기본 개념을 확인할 수 있는 좋은 계기가 될 것이라 생각한다. 이 책은 시간을 좀 들이더라도 보조자료를 직접 만들어보고 개념을 공부하고 싶은 주린이들에게 추천한다.

 

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


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
AI로 일하는 기술 - 인공지능은 어떻게 일이 되는가: 메타버스, NFT, 자율주행 결국 이 모든 것은 인공지능이다
장동인 지음 / 한빛미디어 / 2021년 12월
평점 :
장바구니담기


몇년 전 머신러닝 그리고 딥러닝 키워드가 인기를 끌었었다. 주변에 알고 있는 몇몇 회사들은 자사의 서비스에 AI를 도입하기 위해 열심히 검토를 했었고 이를 전문적으로 해결하기 위한 회사들도 많이 생겨난 것으로 알고 있다. 외주를 통해서 각 회사의 AI 도입 검토 및 모델링을 진행 해주는 것이다.  그 이후 인기가 완전히 사그러들었다고는 할 수 없지만 예전 같지는 않다고 생각을 했다.

 

하지만 이 책을 읽어보면서 나의 생각이 잘못되었다라는 것을 깨달았다. 우리 주변에 알파고 이슈, 챗봇, 인공지능 그림, 스피커등 다양한 영역으로 AI가 스며 들었기 때문에 그렇게 인지하고 있었던 것이다. 곰곰히 생각을 해보면 최근에 모바일 앱 중에서는 토익 그리고 수학 문제들에 대해 AI를 사용하여 학습자를 분석하고 맞춤 문제들을 제공하는 것을 보기도 하였다. 또한 이메일이나 사용자의 채팅 메시지, 네트워크 트래픽의 이상 징후들을 학습해서 모니터링에 활용하기까지 다양한 형태로 이미 활용되고 있었다. 심지어 코딩 조각을 AI가 만들어내는 세상이기도 하다.


저자는 다양한 질문을 통해서 지식과 자신의 생각을 유쾌하게 전달하게 되는데 크게 3가지 분류로 나눌 수 있을꺼 같다.

 

1. AI 시작과 기술 배경

2. 현재 AI의 활용과 한계점

3. 미래 AI 기술과 통찰

    사람처럼 생각하고, 배우고, 사고하고, 무엇인가 판단을 내릴수 있는 기계

     

    최근에는 사람처럼 사고하여 하나의 인공지능 모델로 여러개의 문제를 해결할 수 있는 것을 인공일반지능이라고 분류하고 특정 문제만을 해결하는것을 AI 또는 약인공지능이라고 분류하고 있다. 

    AI에 대한 다양한 용어들을 친절하게 설명하고 있는 점들이 참 좋았다. 모델이란 무엇인지 위에서 말한 인공일반지능, 레이블링, 자가지도 학습등 IT 엔지니어 입장에서도 AI를 다루지 않아 모르는 용어들을 잘 설명해줘서 쉽게 내용을 읽어 내려갈수 있었다.

     

    AI에 대한 내 생각을 정리한다면 사람이 잘하는 영역이 있고 컴퓨터, 즉 기계가 잘하는 영역이 나뉘어져있다고 생각한다. 현재 컴퓨터는 1초에 수십억개의 계산을 틀리지 않고 결과를 내놓을 수 있는 엄청난 계산기이고 사람은 감정을 가지고 스스로 학습할 수 있고 해당 내용을 기반으로 판단하고 추론을 할 수 있다. 그리고 다양한 정보를 조합하여 새로운 문제를 해결하거나 창조하는 능력을 가지고 있다. AI는 앞으로 사람과 기계간의 접점을 찾아가는 과정일 것이라고 생각을 하고 점차 사람이 잘하는 영역을 하나씩 대체해나갈 수 있을거라고 생각한다. 스마트 팩토리나 챗봇, NFT, 자율주행등 점차 넓어져가는 영역들을 책을 통해서 확인할 수 있었다. 한편으로는 과연 사람이 스스로 학습하는 방식 그리고 판단하는 사고체계를 수학적으로 서술하거나 프로그래밍 할 수 있을까? 점차 발전하고 있는 AI를 보면서도 머리속의 물음표는 사라지지 않는다. 


    끝으로 이 책은 AI 엔지니어가 되기 위해 공부를 시작하는 사람이든 AI에 관심이 있는 경영인, 기획자등 다양한 사람들에게 잘 어울리는 책이다.  AI 개발 기술 내용을 쉽게 풀어쓰려고 한 책들은 많지만 AI 개괄부터 미래에 대한 고찰 내용까지 이렇게 간결하게 그리고 집중있게 읽을 수 있게 표현한 책은 찾기 쉽지 않을 듯 하다.

     

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


    댓글(0) 먼댓글(0) 좋아요(0)
    좋아요
    공유하기 북마크하기찜하기 thankstoThanksTo
     
     
     
    C++ 최적화 - 최고 성능을 구현하는 10가지 검증된 기법
    커트 건서로스 지음, 옥찬호 옮김 / 한빛미디어 / 2019년 7월
    평점 :
    장바구니담기


    개인적으로 최근 C++은 현대적인 기능들을 쉽고 명시적으로 제공하는가에 많은 초점을 맞추고 있다고 생각한다. 새롭게 개정되고 있는 C++ 표준들은 C++11, 14, 17을 거쳐 최근에는 20에 대한 이야기가 이루어지고 있다. 숫자의 간격을 봐서 알겠지만 3년 단위로 새로운 표준들이 제시된다. 이러한 표준들은 다양한 자료구조, 알고리즘과 람다와 같은 기능들을 제공할 뿐 아니라 안정성, 성능까지 얻어갈 수 있게 하는 노력들이 이루어지고 있다. 


    C++은 1980년대 만들어져 지금까지 다방면으로 사용되고 있는 훌륭한 개발 언어이긴 하지만 솔직히 그 동안 C++은 개발자들에게 다루기 어려운 언어인 것 또한 사실이다. 새로운 표준의 C++에 대해서 관심을 갖고 모니터링하는 것은 매우 중요하게 되었다. 하지만 빠르게 이해하기 위해서 C++에 대해서 잘 알고 있는 사람에게 직접적인 조언을 받고 싶은 적이 꽤 많았다. 그러면에서 Optimized C++책은 성능 및 코드 최적화를 하고 싶은 사람에게 그리고 내부 동작에 대한 이해를 원하는 사람에게 단비 같은 책이라고 할 수 있다. 


    저자인 커트 건서로스가 책 소개 부분에서 이야기했듯이 최적화에 대한 내용은 알아야할 기술들이 너무나도 많다. 그렇기에 10가지 최적화 내용들을 읽어가며 한줄 한줄 컴퓨터 과학에 대한 기본 이론 정보들을 밀집하고 있다는 느낌을 지울 수 없었다. 컴퓨터의 동작 방식과 각종 로우 레벨 용어들이 집약되어 있는 한 문단을 이해하려면 위키 또는 구글의 수 많은 블로그들을 통해서 도움을 받아야 할 수 있다. 물론 그럼에도 불구하고 한번쯤은 읽어보고 최적화 코드에 대해서 생각을 정리해보면 좋을 책이다. 



    각 챕터는 첫 소개 설명부터 시작하여 최적화 방법에 대한 설명 그리고 중간중간 최적화에 대한 가벼운 사례 및 예제 코드 그리고 마지막 마무리로 구성되어 있다.

     

    가장 재미있게 읽었던 챕터는 4장 문자열 최적화와 7장 문장 최적화이다. 사실 개발을 할 때 문자열은 공기처럼 알게 모르게 너무나도 많이 사용되는 것도 있고 예제 코드에 대해서 하나씩 최적화를 하게 되는데 장단점 그리고 성능을 정리하는 글 작성방식이 꽤 맘에 들었고 재미있었기 때문이다. 


    4장 7장의 내용들은 C++ 뿐 아니라 다른 언어에서도 최적화하는데 활용할 수 있다. 그 외 5장 알고리즘 최적화, 6장 동적 할당 변수 최적화, 9장 검색 및 정렬 최적화, 10장 자료구조 최적화등은 기존에 알고 있던 내용을 정리하는데 큰 도움이 되었다. 각 챕터별 의존성이 없기 때문에 필요한 챕터 또는 관심있는 챕터부터 읽어나가면 된다. 


    이 책은 C++ 중급자에게 추천하지만 챕터별로 난이도가 상이하여 초급자 또한 읽어도 좋을꺼 같다. 




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