실무로 통하는 ML 문제 해결 with 파이썬 - 전처리부터 딥러닝까지, 216개 실용 예제로 익히는 문제 해결 기법
카일 갤러틴.크리스 알본 지음, 박해선 옮김 / 한빛미디어 / 2024년 4월
평점 :
장바구니담기



코딩 실력을 높이는 방법은 여러 가지가 있는데, 역시 최고의 방법은 그동안 배운 것을 전체적으로 써먹을 수 있는 프로그램을 짜 보는 것이다. 그런데 초보라면, 곳곳이 지뢰밭인 느낌을 받을 것이다. 한번 막히며, 며칠을 끙끙거려도 쉽게 해결되지 않는다. 이때 주변에 프로그램을 잘 하는 사람이 있다면, 막히는 부분 살짝만 힌트를 줘도 엄청 쉽게 난관을 극복할 수 있게 된다. 

이는 초보만 해당되는 얘기는 아니다. 중급이든 고급 개발자든 막혔을 때, 그 파트 전문가가 살짝만 건드려줘도 문제 해결이 참 쉬워진다. 이런 원 포인트 레슨의 위력은 대단하다 느낀다.


하지만 보다 나은 멘토나 전문가의 도움을 얻기는 쉽지 않다. 그래서 차선책으로 찾는 게 책이다. 카일 갤러틴, 크리스 알본의 '실무로 통하는 ML 문제 해결'이 바로 그런 책이다. 머신러닝, 딥러닝 같은 인공지능 이론을 어느 정도 익히고, 이것을 써 먹을 때, 막히거나, 실제 어떻게 구현해야 할지 잘 모르겠을 때, 써먹으면 좋은 책이다.



골라 먹는 재미가 있다는 아이스크림처럼 '실무로 통하는 ML 문제 해결'은 골라 써먹는 재미가 있는 216개의 실용 예제를 담고 있다. 파이썬과 파이토치, OpenCV, 넘파이, 각종 라이브러리를 사용하여, 벡터, 행렬, 배열, 데이터 적재, 데이터 랭글링, 수치형 데이터, 범주형 데이터, 텍스트, 날짜와 시간, 이미지 다루기, 특성 추출을 사용한 차원 축소, 특성 선택을 사용한 차원 축소, 모델 평가, 모델 선택, 선형 회귀, 신경망 등등 23개의 챕터로 분류한 머신러닝 관련 주제를 담고 있다. 



구성은 크게 과제, 해결, 설명, 3단계 형태로 되어 있다. 과제가 제시되면, 그것을 해결하는 샘플 코드가 나오고, 이에 대한 설명이 나오는 식이다. 과제는 '벡터를 만들어야 합니다.' 같은 쉬운 것부터 시작해서, '훈련된 파이토치 모델을 실시간 예측을 위해 서빙하고 싶습니다.' 같이 보다 세밀한 주문이 들어간 것들이 나오므로, 자신이 구현하려는 것과 비슷한 과제를 찾아 골라 써먹으면 된다.


그래서 그런지 책을 보다 보면, 전에 많이 접했던 'XX 언어 100제' 그런 책들 느낌도 든다. 그도 그럴 것이 '실무로 통하는 ML 문제 해결'의 원제는 'Machine Learning with Python Cookbook'이다. 

쿡북이라는 이름처럼 필요한 레시피 과제만 쏙쏙 골라 써먹기 좋다. 아울러 이번 책은 최신 정보를 담고 있는 새로운 2판이라, 최신 정보와 함께 보다 잘 다듬어 나왔다.



게다가 이 책은 그저 번역만 되어 나온 것이 아니라, 박해선 역자가 '덧붙임'이라는 코너를 추가해서, 여기에 관련 수학 공식부터, 라이브러리 설명, 보충 설명, 또 다른 응용 코드, 테스트 코드 같은 것을 곳곳에 담아 놨다. 몇 줄 적은 주석 수준이 아니다. 긴 건은 두 쪽에 걸쳐 나온다. 마치 원래 시킨 식사에 맛난 반찬이 추가되어, 보다 푸짐한 밥상을 독자가 받을 수 있게 했다. 그만큼 책 내용을 보다 쉽고 폭 넓게 이해할 수 있게 해준다. 옮긴이의 노력과 정성에 고마움을 표하지 않을 수 없다.



'실무로 통하는 ML 문제 해결'은 초보를 위한 책이 아니다. 인공지능, 머신러닝, 딥러닝에 대한 사전 학습이 어느 정도 되어 있는 사람에게 도움이 되는 책이다. 그렇다고 너무 어려운 책도 아니다. 인공지능 입문 책에 많이 봤을 부분도 많이 나온다. 다만 여기서는 코딩 중심으로 코딩에 꼭 필요한 것들만 주로 담고 있다. 덕분에 응용 위주로 인공지능 지식을 빠르게 정리할 수 있다. 만일 이론 부분이 전혀 생각이 나지 않는다면, '참고' 코너에서 안내하고 있는 주소로 들어가 다시 한번 점검하는 것도 좋을 것이다.



내 경험상 코딩 내공은 책만 많이 본다고 쌓아지는 거 같진 않다. 이론 공부와 함께 다양한 프로그래밍 경험은 필수다. 그리고 기초를 튼튼히 해야 한다. 배열이나 날짜, CSV, JSON 다루기 같이 쉬운 것부터 차근차근 정복하는 것이 좋다. 코딩할 때마다 쉬운 걸 매번 반복해서 어떻게 하나 찾아야 한다면, 재미와 능률도 떨어진다. 물론 '실무로 통하는 ML 문제 해결'이 잘 정리하고 있지만, 자주 쓰고 쉬운 것들은 완벽히 내 것으로 만들어 둘 필요가 있다. 어쨌든 이번에 인공지능 코딩에 많은 도움이 될 골라 써먹을 수 있는 '실무로 통하는 ML 문제 해결'이란 좋은 책을 만나서 기쁘다.  


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
안경사의 기술 - 전문가로 거듭나는 실전 가이드
손재환 지음 / 라온북 / 2024년 4월
평점 :
장바구니담기



어릴 적에는 워낙 눈이 좋아, 난 평생 안경 쓸 일 없을 거라 생각했는데, 오만한 착각이었다. 하루 종일 컴퓨터만 쳐다보고 그랬더니 노안이 빨리 와서 이젠 안경 없이는 책 보기가 힘들다. 그래서 주로 돋보기와 누진 다초점 렌즈 안경을 사용하고 있다. 


안경을 맞추기 위해 안경원에서 다양한 눈 검사도 받고, 다양한 종류의 안경들을 접하게 되다 보니, 자연스럽게 안경에 대한 호기심도 높아졌다. 그래서 전에 안경 초보를 위한 책도 봤는데, 이제 좀 더 구체적이고 전문적인 내용도 알고 싶어서 이번에 '안경사의 기술'이라는 책을 보게 되었다.


'안경사의 기술'은 30년 넘게 안경원을 운영하고, 안경아카데미 설립자이자 안경 전문 회사 지앤디 경영자인 손재환 안경사가 쓴 책이다. 이 책의 전반적인 내용은 안경사의 역량을 높일 수 있는 노하우와 함께 안경원 오픈과 운영에 도움이 되는 다양한 지침과 컨설팅 같은 것을 담고 있다.


주요 내용만 놓고 보면, 안경사에게나 필요한 책이라 생각될 수 있다. '안경사의 기술'이 분명 안경사에게 더욱 도움이 되는 책에는 틀림없다. 그러나 아는 만큼 보인다는 말처럼, 안경 쓰는 소비자 입장에서도 도움이 되는 내용이 참 많다.


전에는 그냥 안경사가 안내하는 데로 검사 받고, 안경테만 고르는 수동적인 소비자였다면, 책을 읽고 나서는 어떻게 하면 보다 더 내 눈에 맞는 안경을 맞출 수 있는지, 이때 어떤 점을 알려주면 도움이 되고, 어떤 것들을 요구할 수 있는 지 알게 된다. 보다 능동적이고 현명한 소비자가 될 수 있다. 



예를 들어, 안경을 맞출 때, 기존에 쓰던 안경을 가져가면, 도움이 될 수 있다는 점이다. 그것을 기준으로 불편했던 점이나 좋았던 점을 안경사에게 얘기하면 보다 자신의 눈에 맞는 안경을 맞출 수 있다는 것이다. 안경원에 가면 쓰던 안경 가져오셨냐고 자주 들었는데, 그 이유가 다 있었다. 전에 맞춘 안경사나 안경원을 비판하려는 것이 아니었다. 그리고 난 안경원에 좋은 검사 장비가 가득한데 왜 전에 쓰던 것을 가져와야 했는데, 그 역시도 내가 잘 몰랐던 것이었다.


안경테를 선물 받았거나, 온라인으로 샀을 때 보면, 안경테에 플라스틱 가짜 렌즈가 달려 있는데, 난 이게 그냥 안경테 멋지게 보이게 하려고 달려 있는 것으로 알았다. 그런데 그게 아니었다. 데모 렌즈라고 불리는 이것은 안경테에 맞는 안경 렌즈를 가공할 때 쓰이기도 한다고 한다. 안경 맞출 때, 굳이 데모렌즈 빼내고 줄 필요 없는 것이다.


이렇게 '안경사의 기술'을 보고 나니 오해하고 있는 것도 풀 수 있었고, 안경원 시스템에 대한 이해도 높일 수 있었다.



물론 이 책은 전문가인 안경사에 더 도움이 되는 책이다. 책 곳곳에 저자가 안경원을 운영하며, 겪은 다양한 에피소드, 운영 팁, 검안이나 안경 제각 노하우가 잔뜩 들어 있다. 챕터 3 조제 및 가공은 옥습기라는 처음 들어보는 장비도 나오고, 안경테 재질에 따른 가공 노하우가 나오다 보니 안경사가 아닌 일반인 입장에서는 이해가 쉽지는 않았다. 그래도 테에 따라 가공에 차이가 있다는 정도는 알 수 있었고, 이어지는 피팅 파트에서는 내 안경을 어떤 기준으로 피팅 해야 할지 알 수 있어 도움이 되었다. 


'안경사의 기술'은 올 컬러로 다양한 사진과 화면, 각종 도표로 자세히 설명하고 있다. 게다가 QR 코드를 이용하여 유튜브를 통해 동영상으로 더욱 자세히 노하우를 습득할 수 있다. 그런데 이 책은 단지 안경 만드는 기술만 담은 것이 아니다. 안경원 운영을 위한 기본 지침, 가이드라인을 제시한다. 앞에서 말한 안경점 운영 컨설팅과 같은 내용도 들어 있다. 



그 내용이 무척 구체적이다. 안경사로서 용모 복장, 일반응대, 전화응대, 매장 청결 등 체크 포인트를 제시하고 있다. 부록에서는 고객 마음을 사로잡는 기술과 같이 보다 보강된 내용들이 나온다. 읽어 보면 알겠지만, 이 내용들은 안경원에만 국한된 내용이 아니다. 서비스업을 하는 사람이라면, 꼭 새겨둘 내용들이며, 장사를 하지 않더라도, 사람과의 관계에 기본이 되는 중요한 내용들이라서, 여러 상황을 떠올리며, 반성도 하고 명심할 부분도 체크하며 자세히 읽었다.


내가 안경사 관련 교육을 받은 사람이 아니다 보니, 안경사 입장에서 '안경사의 기술'이란 책이 어떠하다고 딱 결론 지어 말할 순 없다. 그러나 앞으로 계속 안경을 써야 할 안경 사용자 입장에서 보면, 검안부터 안경 제조, 피팅까지 다양한 정보도 얻을 수 있고, 내 눈에 맞는 안경을 맞추는 데 두고두고 도움이 될 책이라 생각한다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
경락·경혈 치료 교과서 - 아프고 쑤시고 저린 99가지 증상에 효과적인 경락·경혈 치료 도감 지적생활자를 위한 교과서 시리즈
장하나 옮김, 후세 마사오 감수 / 보누스 / 2024년 5월
평점 :
장바구니담기



세월에 장사가 없다는 말을 하는데, 나이 들면, 아픈 곳 천지가 됩니다. 저도 원래 건강한 체질도 아니었는데, 여기에 세월 풍파로 갈수록 아픈 곳이 늘어납니다. 얼마 전에는 조금이라도 건강을 지켜볼 요량으로 자전거 탔다가 사정없이 미끄러져 발목, 팔꿈치 다 까지고, 왼쪽 갈비뼈, 팔 주변에 엄청난 근육통을 겪어야 했습니다. 혹 떼려다 혹 붙인 격이 되고 말았습니다. 항상 조심하고 무리하지 말아야 한다는 교훈을 다시 얻었습니다.


어찌 됐든 내 건강은 내가 스스로 챙겨야 합니다. 아울러 몸에 뭔가 이상이 느껴지면, 바로 조치를 취하는 것이 큰 병을 막는 지름길입니다. 그런데, '내가 의사도 아닌데 어떻게 스스로 챙기고, 조치를 취할 수 있지?'하는 생각이 떠오를 수 있습니다. 이때 큰 도움이 되는 책이 바로 보누스의 '경락 경혈 치료 교과서'입니다. 


동양의학, 한방의 경락과 혈자리를 이용하여 내 몸의 건강을 위협하고 괴롭히는 각종 통증과 질병과 같은 것을 치료하는 데 도움을 주는 책입니다. 


복잡한 한자어로 된 혈자리 이름이 등장하고, 수태음 폐경, 수양명 대장경 같은 이상한 경락 명칭이 나오니, 내가 익히기엔 너무 어려운 것이 아닌가 의심도 들 수 있을 것입니다. 그러나 크게 염려할 필요 없습니다. '경락 경혈 치료 교과서'이란 책 제목에서 알 수 있듯이 교과서처럼 기초부터 익힐 수 있게 도와주는 책입니다.



'경락 경혈 치료 교과서'에서 알려주는 동양의학 지식을 간단히 이해해두고, 책에서 알려주는 혈자리 찾는 요령만 익히면, 바로 응용할 수 있습니다.


책은 머리, 얼굴, 목, 어깨, 가슴, 배, 등, 허리, 엉덩이, 손발, 여성질환, 정신, 증상 완화, 체질 개선, 미용, 기타로 주제를 나누고 있으며, 현기증, 이명, 변비, 결림, 통증, 감기 같은 주제에 관련된 총 99가지 증상 케이스에 대한 처치 방법이 나오는 구조로 되어 있습니다.


케이스 마다 큼직하게 그려진 혈자리를 보고 누르는 요령에 맞춰 지압을 해주면 됩니다. 혈자리 그림에 추가로 혈자리 위치 설명이 되어 있어 더욱 쉽게 찾을 수 있습니다. 처음에는 혈자리 찾기가 어려울 수도 있는데, 합곡, 삼음교, 족삼리 같이 나름 찾기 쉬운 것들부터 알아 나가면, 다른 혈자리도 찾기 쉬워집니다. 책 초반에 해부도와 함께 14개 경락 그림이 있는데, 여기에 나오는 경혈 위치를 참고해도 도움이 됩니다.



경혈 중에 합곡은 요통, 인후통, 현기증, 이명, 코막힘, 콧물, 치통 등 다양한 곳에 등장하므로 알아두면 요긴하게 쓸 수 있는 혈자리입니다.


제 경우 몸이 아픈 것도 문제지만, 정신적으로 힘든 때도 많습니다. 특히 무기력증과 우울증이 저를 많이 괴롭힙니다. '경락 경혈 치료 교과서'에서 알려주고 있는 단중과 관원을 자주 지압해 줘야겠네요. 


이렇게 '경락 경혈 치료 교과서'에는 생활에 요긴하게 쓸 수 있는 각종 처치 방법이 나옵니다. 일반적인 통증이나 경련 뿐만 아니라, 입 냄새, 치질, 대사증후군과 같은 곳에 쓸 수 있는 좋은 지압법을 알려주고 있으므로 더욱 다양한 도움을 줍니다. 책에도 나와 있듯이 혈자리 누르는 지압 처치법은 효과가 빠르고, 안전하고 부작용이 없습니다. 게다가 돈도 들지 않으니, 내 건강을 스스로 챙기는데 더할 나위 없이 좋은 방법입니다. 나 뿐만 아니라 가족 건강을 위해 집에 '경락 경혈 치료 교과서' 한 권 비치해두면, 참 유용하죠.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
도시를 만드는 기술 이야기 - 다리, 터널, 도로, 통신망, 전력망, 철도, 댐, 상하수도, 건설 장비까지 우리 주변을 둘러싼 인프라의 모든 것
그레이디 힐하우스 지음, 윤신영 옮김 / 한빛미디어 / 2024년 3월
평점 :
장바구니담기



유튜브에 인기 있는 주제 중에 하나로 고대 문명의 미스터리 같은 것들이 있다. 과학 기술이 부족한 옛날에 어떻게 그런 건축물을 만들고, 많은 사람들이 모여서 살았는지, 그 자체가 신비함을 준다. 


그런데 예나 지금이나 인간에게 필요한 것들은 비슷비슷하다. 땔감 같은 연료가 필요하고, 마실 물, 씻을 물이 필요하고, 사람과 탈 것이 다닐 도로가 필요하다. 주거, 상업 등의 공간도 있어야 한다.


현재의 도시들이 지속적으로 발전할 수 있는 이유는 이러한 각종 요소들이 제대로 역할을 하고 있기 때문이다. 그러다 보니, 매우 중요하지만, 그 고마움을 우린 잊고 산다. 도로와 신호등을 보며, 감탄하지도 않고, 바로 켜지는 전등, 틀면 나오는 수돗물, 바로 연결되는 인터넷을 보고 대견히 여기거나 신비해하지는 않는다.


그러다 갑자기 이런 시스템에 문제가 생기면, 바로 엄청난 불편에 빠지게 된다. 전기가 안 들어왔을 때의 불편과 혼란은 기본이다. 식수의 오염은 바로 질병을 야기할 수 있고, 통신 시설이 망가지면, 연락 뿐만 아니라 상업 경제 활동에도 치명적인 문제를 만든다.


그런 만큼 우리 도시를 이루는 각종 공학 기술을 이해하기 위해, 유튜브에서 가장 큰 공학 채널을 운영하고 있는 그레이디 힐하우스의 '도시를 만드는 기술 이야기'를 한 번쯤 읽어 보는 것을 추천해 본다.


'도시를 만드는 기술 이야기'에서는 도시와 밀접하게 관련된 것들을 전력망, 통신, 도로, 다리와 터널, 철도, 댐 제방 해안 구조물, 상수와 하수, 건설 이렇게 8파트로 나눠 각각 설명하고 있다.



사실 대표 주제만 봐서 그리 재미있게 느껴지지는 않을 것이다. 하지만, 주변에서 흔히 볼 수 있는 것들이 많고, 시외로 놀러 가서 한 번쯤 접해 볼 수 있는 것들이다 보니, 적어도 생소한 느낌은 덜할 것이다. 그래서 그런지, 책에 나온 설명들이 뭔가 와닿으며, 쉽게 느껴진다. 공학과 관련된 각종 이야기를 하고 있으나 전문적인 기술 내용은 피하고 상식적으로 알아두면 재미있고 도움이 되는 정도로 다루고 있으므로 절대 어려운 책이 아니다.



게다가 동화 그림책을 보는 듯한 느낌을 주는 주제별로 등장하는 큼직한 그림은 한 눈에 쏙 들어와 내용을 보다 쉽게 이해하는데 결정적인 역할을 해준다. 책이 표지가 딱딱한 양장 재본까지 되어 있어, 읽는 내내 동화책 느낌이 계속 들었다.



내 경우 전기 관련 업체를 많이 만나서 그런지, 첫 파트인 전력망부터 재미있었다. 풍력 발전 경우, 쌩쌩 빠르게 회전하면 좋은 거라 생각했는데, 그게 아니었다. 너무 느려도, 빨라도 안 되었다. 블레이드 끝이 바람 속력의 4 ~ 7배로 움직일 때 터빈의 효율이 높다고 한다.



'도시를 만드는 기술 이야기' 설명들이 쉽게 되어 있고, 여기에 윤신영 옮긴이가 이해를 더욱 돕기 위해 주석을 곳곳에 달아 주어 더욱 쉽게 이해할 수 있었고, 우리나라와의 차이점 같은 것도 알 수 있었다.

책 뒤에 용어집도 따로 편성되어 있어 모르는 것을 다시 찾기에도 편리하다.


흔히들 '아는 만큼 보인다'라는 말을 한다. '도시를 만드는 기술 이야기'를 읽고 나면, 딱 이 말이 떠오르게 될 것이다. 길거리 전봇대를 유심히 바라보게 되고 빙긋 웃게 될 것이다. 아파트 공사장을 보고, 장비와 크레인에 연결 방법도 눈에 들어 올것이다. 기지국의 안테나, 도로의 모양, 터널 위에 있는 환풍기 등이 보고 이 책에 나온 공학 이야기들이 떠오르게 될 것이다. 



왜 이렇게 만들어졌는지, 어떤 역할을 하는지, 어떤 종류들이 있는지, '도시를 만드는 기술 이야기'를 통해 알게 된다. 아울러 책 속 '못다 한 이야기'를 통해서는 추가 설명도 보고, 문제 해결을 위한 멋진 아이디어 이야기도 들을 수 있다. 보도에 자주 등장하는 철근 콘크리트 문제에 대한 이해도 높일 수 있고, 정지 궤도 위성을 찾는 법 등이 나온다.


'도시를 만드는 기술 이야기'에 나오는 다양한 기술을 보고 있으면, 인간이 얼마나 살아남기 위해 고군분투를 했는지 다시 생각하게 된다. 흔히들 자연 정복이라는 표현을 많이 쓰지만, 자연 앞에 우리는 먼지와 같이 상대도 안 되는 존재다. 우리는 그저 자연을 달래고, 우회하며, 자연의 혜택을 이용하는 방법들을 찾아 온 것이라 생각한다. 



주로 소프트웨어 개발과 관련된 책을 읽어 왔는데, 이렇게 '도시를 만드는 기술 이야기'와 같이 색다른 주제의 책을 읽으니 무척 신선하게 느껴진다. 달리 보면, 이것들이 개발과 완전 무관한 것들은 아니다. 일하다 보면, 생소한 분야도 접하게 되고, 새로운 해결 방법을 찾아야 할 때도 있다. 그럴 때, 이 책의 정보가 유연한 사고를 도울 수 있다 생각한다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
읽기 쉬운 코드 - 지속 가능하고 유지/보수하기 쉬운, 이해할 수 있고 복잡하지 않은, 좋은 코드를 짜는 방법과 아이디어 로버트 C. 마틴 시리즈
마크 시먼 지음, 김현규 옮김 / 길벗 / 2024년 3월
평점 :
장바구니담기



프로그램 개발을 하다 보면, 기존에 만들어 놓은 프로그램을 수정해 달라는 의뢰를 종종 받곤 한다. 재미난 것은 의뢰하는 사람들 하나 같이 기능 한 두개 추가하고, 조금만 고치면 되는 간단한 거라고 말한다. 물론 그들은 개발자가 아니다. 어쨌든 간단하게 코드를 한번 살펴보면, 욕이 저절로 나온다.


주석은 당연히 어디에도 안 보인다. 일부러 지웠을 가능성이 많다. 더 황당한 건, 변수명을 마치 암호처럼 달아 놓은 것도 다수다. 이런 경우 허허 그냥 웃고 못한다고 하는 게 속 편하다. 의뢰한 사람은 기능 몇 개 추가하는 비용만 생각하지, 분석에 대한 부분은 전혀 생각하지 않는다. 괜히 정으로라도 손 댓다가는 일이 늦다는 핀잔만 돌아 올 수 있다. 


나도 개발자지만, 코딩을 참 거지같이 하는 사람들이 많다. 워낙 그런 사람들을 여럿 겪다 보니, 나도 혹시 그런 거지가 아닌가 하는 반성과 함께, 누구나 알아 보기 쉽게 짜려고 노력한다. 주석은 당연히 곳곳에 붙이고 있고, 변수명 설명도 빼놓지 않는다. 수정한 부분이 있으면, 코드 맨 앞과 수정한 곳에 날짜와 설명을 붙인다. 복잡한 알고리즘에도 설명을 빼놓지 않는다. 귀찮더라도 가급적 자세히 달고 있다.


이렇게 해놓으면 나 역시도 좋다. 나이 드니 기억력이 점점 안 좋아지는데, 몇 달 아니 몇 년 뒤에 수정해달라는 얘기가 나오면, 짧은 시간에 다시 코드에 관한 기억을 되살릴 수 있기 때문이다. 당연히 버그도 줄일 수 있다.



록스타급 개발자 마크 시먼 저자의  '읽기 쉬운 코드'는 나와 같은 개발자의 고충을 잘 이해하여 보다 효율적이고 직관적인 코딩 방법을 알려준다. 이 책의 해외 서평자가 말했듯이 70년 동안 고안된 최고의 아이디어, 노하우들을 모아 정리한 개발자에게 매우 유용한 책이다. 


그런 만큼 개발자 입장에서 도움이 되는 내용들이 많다. 특히 여럿이서 소프트웨어를 개발한다면, 합창처럼 서로 음과 입을 맞춰야 할 다양한 상황이 발생하는데, 이때 이 책의 내용을 통해 많은 기준점을 잡을 수 있을 것이다. 


그렇다고 일회성 꼼수 같은 것을 담은 책은 절대 아니다. 아키텍처, 알고리즘, 클린 코드, 성능, 보안과 같은 주제를 포괄적으로 다루면서, 소프트웨어공학이란 큰 그림을 이해하게 돕고 있다. 따라서 보다 근본적인 것을 파보기는 내용도 있고, 왜 그렇게 하는 것이 좋은지, 어떤 게 더 올바른 방향인지와 같은 것들을 말하기도 한다.


소프트웨어공학이라고 하면, 뭔가 딱딱하고 재미없게 느껴질 것이다. 그러나 '읽기 쉬운 코드'에서는 다양한 비유와 저자의 경험담을 적적히 담고 있어, 부담 없이 읽을 수 있다. 책 처음부터 소프트웨어 개발에 대한 비유로 집 짓기와 정원 가꾸기가 나온다. 개발자라면 이 두 가지 비유를 읽으며 주마등처럼 스쳐가는 다양한 일들이 떠오르며, 공감이 될 것이다. 정원 가꾸기 비유는 참 멋진 비유였다. 



'읽기 쉬운 코드'에 나오는 많은 조언들은 일종에 개발을 위한 체크리스트 역할을 한다. 드론 실기 시험을 보기 위해서는 각종 비행 코스와 함께 시작과 끝에 구호 같은 것을 외치며 기체 점검하는 과정이 있다. 처음에는 군대도 아닌데, 이렇게까지 해야 하냐는 생각이 들었다. 그러나 하면 할수록 이게 얼마나 중요한 과정인지 알게 된다. 프로그래밍도 마찬가지다. 실수를 줄이고, 보다 성공적으로 프로젝트를 끝내기 위해서는 치밀한 체크가 필요하며, 필수적인 것들은 체크리스트로 매번 점검할 필요가 있는 것이다.


'읽기 쉬운 코드'의 다양한 조언과 관련된 코드는 C#으로 작성된 레스토랑 예약 프로그램에서 가져와 설명하고 있다. 내용들이 하나의 프로그램에 연결되어 있어, 활용법을 전체적으로 이해하는데 큰 도움이 된다. 머리에도 좀 더 잘 기억되는 거 같다. 읽기 쉬운 코드를 지향하는 책인 만큼 C# 사용자가 아닌 다른 프로그래밍 언어 사용자더라도 충분히 이해할 수 있는 코드일 것이다.

그리고 부록 편에 중요 내용을 짧게 요약된 파트도 있고, 참고문헌도 잘 정리 되어 있다.



효율적이고 바른 코딩, 코딩 팁에 대한 책은 이전에도 여럿 있었다. 그러나 '읽기 쉬운 코드'처럼 소프트웨어 공학 입장에서 전체를 조망하고 휴리스틱 방식을 설명하는 책은 못 봤다. 게다가 이 책은 좋은 코드, 코드 관리뿐만 아니라. 개발자 조직문화, 조직관리에 대한 이야기도 하고 있어 더 차별화 된다. 


"어떤 개발자가 괜찮던가요?" 하는 질문은 나도 많이 받았던 질문이다. 그런데 부끄럽게도 나는 저자처럼 생각하지 못했다. 나를 믿고 함께 일한 동료를 평가하라는 참 비윤리적인 질문이라는 것 자체를 깨닫지 못했다. 나 자신을 반성하게 만드는 내용이었다. 이처럼 책에는 코딩 외에 개발자 조직 문화, 조직 관리 같은 이야기도 중간중간 나온다. 개발팀을 이끄는 리더에게 참고도 되고, 보다 깊은 생각을 하게 만든다.


좋은 코드가 어떤 것인가 한 번이라도 고민해 본 개발자라면, '읽기 쉬운 코드'를 꼭 한번 읽어 보라고 추천하고 싶다. 컴퓨터 서적 답지 않게 재미도 있고, 기술적으로도 얻을 게 많은 참 유용한 책이다.




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