처음 처음 | 이전 이전 | 1 | 2 | 3 | 4 |다음 다음 | 마지막 마지막
그림으로 이해하는 알고리즘 - 알고리즘과 자료구조, 쉽고 재미있게 시작하자! 그림으로 이해하는 시리즈
이시다 모리테루.미야자키 슈이치 지음, 이동규 옮김 / 길벗 / 2024년 4월
평점 :
장바구니담기


길벗 출판사의 개발자 리뷰어' 활동으로 『그림으로 이해하는 알고리즘』 서적을 제공받아 작성하게된 서평입니다.


들어가며

컴퓨터 공학 비전공자이기 때문에 기초 지식에 대해 부족한 것이 많습니다. 현업에서 아직 단순 구현에도 급급하기 때문에 알고리즘이 필요한 경우는 없었지만, 개발 역량을 높이기 위해 지나칠 수 없는 영역이었죠. 물론 코딩 테스트도 빠질 수 없을 것입니다. 또한 세상에 공개되어있는 좋은 품질의 코드를 보며 이해하기 위해서도 꼭 학습해야한다고 생각했습니다.


하지만 어디서부터 어떻게 시작해야하는지 늘 막막했죠. 어떤 책으로 알고리즘 공부의 첫 시작을 떼야할 지 고민하던 와중에 ‘그림으로 이해하는 알고리즘’을 알게 되었습니다. 이전에 저는 특정 알고리즘에 대해 궁금하여 서칭해보아도 설명해주는 문장을 전혀 이해할 수 없었어요. 이 책을 훑어보았을 때 실려있는 그림은 복잡하지 않고 한눈에 알아보는데 전혀 어려움이 없어 끌렸습니다! 와중에 길벗 출판사에서 리뷰어를 모집하는 책 중에 이 책이 있어 바로 신청하게 되었습니다.


이 책은 기본 알고리즘 33개 + 자료 구조 7개의 구조와 동작 원리를 그림을 통해 직관적으로 설명합니다. 종류는 정렬, 배열 탐색, 그래프, 보안 알고리즘, 클러스터링, 데이터 압축이 있었으며, 추가로 기타 6개의 알고리즘을 다루었죠.



좋았던 점


1. 제목 그대로 시각적인 이해

비전공자로서 알고리즘에 대해 학습을 해본 적이 없습니다. 때문에 무수히 많은 알고리즘이 존재하는데, 이름이 너무도 많아 어디서부터 어떻게 접근해야 하는지 막막했습니다. ‘그림으로 이해하는 알고리즘’은 알고리즘 33개에 대한 기초를 쉽고 빠르게 뗄 수 있었습니다. 제목 그대로, 직관적인 그림과 쉬운 문장 덕분에 이해하기 수월했습니다!




2. 알고리즘 도감 앱과 병행하기

책의 그림만 보고도 이해가 쉽지만, 알고리즘의 순서 설명이 길어지면 흐름을 놓치기도 합니다. 이때 저자의 ‘알고리즘 도감’ 앱에서 해당 알고리즘의 애니메이션을 함께 보면 이해가 수월했습니다.




3. 빠짐없는 부연설

알고리즘의 과정을 그림을 통해 시각적으로 설명한 후, ‘해설’과 ‘보충자료’로 구체적인 내용을 전달합니다.




4. 언제든 쉽게 돌아보는 핸드북

책의 분량은 약 260 페이지입니다. 그럼에도 그림과 짧고 쉬운 문장으로 구성되있어요. 때문에 체감상 무척 가볍게 여겨집니다. 즉, 어떤 알고리즘에 대한 기억이 흐릿할 때 그만큼 마음 간편히 집어서 해당 부분을 찾아 볼 수 있다는 것이죠.



아쉬운점


1

각 알고리즘에 대해 코드로 어떻게 구현하는지 예제가 없는 것이 다소 아쉬웠습니다. 책의 취지에 맞게 코드 레벨이 없는 것을 이해하나, 간단하게라도 함께 설명되었다면 학습한 알고리즘을 어떻게 프로그래밍에 적용할 수 있는지까지 알 수 있었을 것이라 생각합니다. 때문에 이 책을 통해 알고리즘의 얼개를 이해하고, 그 다음 심화 단계를 다룬 책 혹은 직접 구현하며 익힐 수 있을 것 같습니다.


2

각 알고리즘이 어떤 개념인지 이해할 수는 있으나, 해당 알고리즘을 어떤 분야에 어떻게 활용할 수 있는지는 알기 어렵습니다. 실제적인 활용 사례를 덧붙였다면 이후에도 기억에 잘남을 것 같아 다소 아쉬웠습니다.



결론

저는 알고리즘에 대해 지식이 전무했었고, 이따금 그에 대한 내용을 찾아보아도 복잡한 글로 작성된 설명을 읽을 때 이해가 전혀 되질 않았습니다. 예를 들면, ‘벨먼 포드 알고리즘’에 대해 궁금하여 위키 백과에서 찾아보았다고 가정하겠습니다.


벨먼-포드 알고리즘(영어: Bellman-Ford algorithm)은 가중 유향 그래프에서 최단 경로 문제를 푸는 알고리즘이다. 이때 변의 가중치는 음수일 수도 있다. 데이크스트라 알고리즘은 벨먼-포드 알고리즘과 동일한 작업을 수행하고 실행속도도 더 빠르다. 하지만…

벨먼-포드 알고리즘 | 위키 백과

벨먼 포드 알고리즘에 앞서 이미 ‘가중 유항 그래프’, ‘최단 경로 문제’, ‘가중치’부터가 장벽입니다. 아예 머릿속에 그려지지 않는 문장이죠. 그런데 이 책은 무작정 각 알고리즘을 하나씩 소개만 하는 책이 아니었습니다. 알고리즘이 무엇인지부터, 시간 복잡도, 데이터 구조, 정렬, 그래프, 보안, 클러스터링 등 관련 알고리즘에 앞서 기본 개념부터 이해시켜주었어요.


‘그림으로 이해하는 알고리즘’을 읽고 알고리즘에 대한 기초 지식이 생겼고, 그 다음 단계로 나아갈 수 있게 되었습니다. 복잡하고 이해할 수 없었던 각 알고리즘의 과정을 시각적으로 쫓은 덕분에 기억에 분명히 새겨졌어요. 이제 이 흥미를 토대로 심화 과정을 밟을 차례입니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
모두의 네트워크 기초 - 10일만에 배우는 네트워크 모두의 시리즈
서지영 지음 / 길벗 / 2024년 1월
평점 :
장바구니담기


들어가며

저는 프론트엔드 개발자이지만 현업에서 네트워크를 이해하지 못해 혼란을 겪었던 일이 많았어요. 클라우드 환경을 사용하는 것만 익숙했기 때문에, 부끄럽게도 사내 로컬 환경을 사용해야 하는 특정 프로젝트에서 난항을 많이 겪었었죠. 로컬 서버 ip만 알려주었는데 어떻게 접근이 가능한지, 내부에 있는 DB를 어떻게 접근하는지, 로컬 서버 호스팅은 어떻게 가능한 건지 등 모르는 것이 너무 많았습니다. 때문에 네트워크를 이제는 알아야만 하겠다는 계기가 생겼었죠.


웹 개발을 하는 것이 주 업무임에도 네트워크에 대한 지식이 전무했어요. 저는 비전공자이기 때문에 관련 지식을 익힌 적이 없어,  더더욱 가볍게 설명해 주는 도서로 첫 접근을 하고 싶었습니다. 마침 모두의 네트워크 기초를 알게 되었고, 저의 상황에 안성맞춤이라 생각 들었습니다!



좋았던 점


구어체 구성


‘모두의 네트워크 기초’는 구어체로 이야기를 들려주는 듯한 편안한 구성입니다. 실무에서 가장 흔하게 나오는 프로토콜부터 3방향 핸드셰이크, OSI 계층 등을 접할 때마다 저는 위키피디아를 가장 많이 들여다보았었어요. 사실 정의를 열심히 읽어도 머릿속에 와닿지는 않아 매번 다시 찾아보아야 했습니다. 전문적인 용어로만 딱딱하게 작성된 문어체였기 때문이죠. 하지만 ‘모두의 네트워크 기초’에서는 모든 개념을 이야기로 풀어서 설명합니다. 심지어 이더넷의 CSMA/CD 방식을 설명하기 위해 컴퓨터끼리 눈치 게임을 한다는 표현을 할 정도로, 일상적인 언어를 사용하여 풀어내니 장벽 없이 머릿속으로 전달되었어요.


복습하기


한 장이 끝나면 복습하기, 즉 괄호 속 용어 문제로 마무리합니다. 그런데 정답 부분의 용어에 대해 본문에서 딱 나누어서 정리해두진 않았어요. 때문에 기억이 나지 않아 내용들을 돌아볼 때도 헤매다가, 결국 관련 내용을 다 읽어볼 때가 많았습니다. 그렇게 문제를 끝내면 뒤이어 용어 정리를 보여주는 구성입니다. 이 흐름이 오히려 학습에 더욱 도움이 되었습니다. 한번 막혀서 다시 짚어보게 만들어 더욱 기억이 오래 남을 것 같아요!


목차 구성


첫 장에서는 네트워크가 무엇인가부터, 네트워크가 필요한 이유, 네트워크를 구성하는 장비 등의 네트워크에 대한 기초 지식을 간단하게 설명해 줍니다. 뜬금없이 어려운 용어나 내용이 나타나지 않고 쉬운 단어로 이루어진 이야기기 때문에 이탈하지 않고 금방 읽어나갈 수 있었어요.

다음 장부터는 OSI 계층에 대해 전체적으로 설명한 후, 한 계층 씩 깊게 들어가는 구성입니다. 저는 항상 OSI 계층은 각각 계층의 단어들만 봐왔지, 그 계층을 왜 나누어야 하는지, 또 의미하는 바는 무엇인지 전혀 이해할 수 없었어요. 그런데 이번에는 가장 하드웨어에 가까운 1 계층인 물리 계층부터, 7 계층인 응용 계층까지의 흐름대로 짚어가니 이해가 잘되었습니다.


일상적인 비유와 시각화


모두의 네트워크 기초는 각 개념을 설명할 때 사람들 간에 일어나는 일들로 비유하며 주요 개념을 설명합니다. 가령 프로토콜의 예시가 있습니다. 웹 개발을 할 때 프로토콜이란 용어는 정말 일상적이라 생각해요. 새로운 개념을 접할 때 프로토콜이 나오면 저는 부끄럽게도, 대강 통신 규약이라고만 치환해서 생각했었어요. 틀린 말은 아니지만, 그렇게 문장을 이어서 보면 의미를 정확히 이해하지 못한 영단어를 번역해서 읽는 정도의 받아들임이었습니다. 하지만 대화를 하려는 두 사람으로 비유하여 설명하니 단번에 이해가 되었습니다. 특정 URL에 접근할 때 내가 사용하는 컴퓨터와 해당 URL 간에 미리 정해진 약속이 지켜져야만 접근이 허용되는 거였어요. 단지 서로 다른 주체끼리 대화하기 위해 정해진 약속이라 생각하면 복잡할 것 없더라고요.

또한 모든 설명은 반드시 시각적으로도 함께 이야기를 뒷받침해줍니다. 여기서 좋았던 점은 전문적인 지식을 담고 있음에도 그 표현을 구태여 딱딱하게 하지 않는다는 것이에요. 첨부된 도식화는 컴퓨터끼리의 서로 대화를 주고받는 듯한 표현을 많이 하는데, 덕분에 머릿속에서 한번 더 연산을 거쳐 정리할 필요 없이 단번에 받아들일 수 있습니다.


다소 아쉬운 점


부차적인 용어에 대한 정리


각 파트에서 가장 핵심적인 용어는 정리가 꼭 마무리 파트에 담겨있지만, 그에 비해 중요도가 덜한 몇 가지 용어들은 비유 혹은 대화를 하는 방식으로 설명이 끝나는 경우가 있었습니다. 덕분에 이해는 쉬웠지만, 이야기 식으로만 머리에 남을 것이 우려되었어요. 맥락은 정립되었어도, 이후 정확히 해당 용어의 정의를 말하기 어려울 수도 있겠다는 생각이 들었습니다. 때문에 본문에서 볼드체로 설명된 모든 용어가 마지막 정리에서 다뤄졌으면 좋을 것 같았습니다.


윈도우 기반 설명


IP 주소와 MAC 주소, TCP, DNS 등 컴퓨터에서 확인하는 방법과 함께 설명되는 파트에서 모두 윈도우의 방식만 첨부되어 있어 다소 아쉬웠어요. 물론 검색을 통해 찾을 수도 있지만, 맥에서 확인하는 방법도 함께 담겨 있으면 좋겠다는 생각이 들었습니다.



마치며

저에게는 완독 이후에도 마음 편히 펼쳐볼 수 있는 네트워크 핸드북이 될 것 같습니다. 개발을 비롯해서 어떤 분야의 전문적인 지식을 담은 서적은 한번 읽었다고 해서 모든 내용을 완벽히 습득할 수 없기 때문에, 결국 두고두고 찾아봐야 하죠. 때문에 저는 이렇게 마음 편히 다시 펼칠 수 있는 책에 장점이 크다 생각해요. 때때로 깊고 풍부한 고중량의 책들은 주위에 두고 펼쳐보기 쉽지 않고 부담스럽기도 합니다. 이 책은 접근성이 무엇보다 장점이고, 또한 대화하는 듯한 문장으로 이루어져 있으니 언제 봐도 부담이 없을 것 같아요!


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

이것저것


12개의 상품이 있습니다.

배민다움- 배달의민족 브랜딩 이야기
홍성태 지음 / 북스톤 / 2016년 11월
17,000원 → 15,300원(10%할인) / 마일리지 850원(5% 적립)
*지금 주문하면 "내일 수령" 가능
2021년 04월 12일에 저장

PRIDE 현대카드가 일하는 방식 50 Edition 2
현대카드 외 지음 / 이야기나무 / 2015년 1월
13,000원 → 11,700원(10%할인) / 마일리지 650원(5% 적립)
2021년 04월 12일에 저장
절판

Reason 리즌 : 현대카드에는 분명한 이유가 있다
김성철 지음 / 21세기북스 / 2013년 8월
16,000원 → 14,400원(10%할인) / 마일리지 800원(5% 적립)
*지금 주문하면 "5월 18일 출고" 예상(출고후 1~2일 이내 수령)
2021년 04월 12일에 저장

[중고] [세트] 다이어터 1~3 세트 - 전3권
중앙books(중앙북스) / 2011년 8월
36,000원 → 21,000원(42%할인) / 마일리지 0원(0% 적립)
판매자 : 더반
출고예상시간 : 통상 48시간 이내
2020년 08월 16일에 저장
판매완료


12개의 상품이 있습니다.

댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기
 
 
 
처음 처음 | 이전 이전 | 1 | 2 | 3 | 4 |다음 다음 | 마지막 마지막