처음 처음 | 이전 이전 | 1 | 2 |다음 다음 | 마지막 마지막
플랫폼 엔지니어링 - 개발과 운영을 아우르는 플랫폼 관리의 핵심 원칙
카미유 푸르니에.이언 놀런드 지음, 류광 외 옮김 / 한빛미디어 / 2025년 3월
평점 :
장바구니담기


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



1. 어떤 동기로 이 책을 선택했는가?

개발 인프라에 대해 깊게 파는 내용이라 생각했습니다. 예를 들어, 배포 시스템, 클라우드 인프라, 공통 라이브러리, CI/CD 파이프라인, 서버 환경 셋업, 개발 환경 구성 등이라 생각하였죠. 때문에 이 책을 통해 깊게 지식을 익힐 수 있겠다고 생각했습니다.


하지만 이 책은 사실 그런 개념이나 사용 기술들을 알려주는 내용이 아니었어요. '플랫폼'이 단순 인프라와 어떤 차이가 있고, 어떤 배경에서 탄생했으며, 어떤 전략으로 접근해야하는지를 다루었습니다.


오히려 생각지 못한 즐거운 발견이었어요. 아직 실무적으로도 접할 수 없던 분야이기에 이번 기회로 정확히 이해하고 싶었습니다.



2. 이 책은 어떤 내용을 담고 있는가?


이 책은 ‘플랫폼’이라는 개념을 단순한 기술적 인프라가 아닌, 제품 철학과 조직 전략의 관점에서 해석합니다. 플랫폼 팀은 단순한 기술 지원팀이 아니라, 내부 개발자들이 효율적으로 제품을 만들 수 있도록 돕는 프로덕트 팀이어야 한다는 점을 반복해서 강조해요.



또한 플랫폼은 단지 기술 구성요소가 아니라, 명확한 고객(내부 개발자)이 존재하는 하나의 제품이며, 이 제품을 관리하고 발전시켜야 할 전략이 필요하다는 사실을 깨닫게 되었어요.



책은 다음과 같은 구조로 이야기를 풀어나갑니다.



- 플랫폼 팀이 실제로 어떤 문제를 해결해야 하며, 무엇을 하지 않아야 하는지 구체적으로 알려줍니다.

- 플랫폼 팀의 역할, 책임, 범위에 대해 명확히 선을 그으며, 제품처럼 사용자 중심으로 운영되어야 함을 강조합니다.

- 온콜 관행, SLO/SLA 관리, 내부 고객 팀과의 관계 등 운영의 영역까지 포함해서 플랫폼 팀이 가져야 할 사고방식을 제시합니다.

- 플랫폼이 실패하는 여러 이유를 설명하며, 왜 사일로화되기 쉬운지, 그리고 ‘잘 만든 플랫폼’이 조직 전체에 어떤 영향을 미치는지를 다양한 관점에서 다룹니다.


유독 흥미롭게 다가온 점은, 애플리케이션 팀과 플랫폼 팀의 차이에 대한 설명이었어요. 저 또한 플랫폼보다는 애플리케이션 팀의 사람이라는 점에서 더더욱 플랫폼 영역을 이해하고 배경을 쌓아야한다는 생각이 들었어요.


3. 좋았던 점


1) 플랫폼을 ‘제품’으로 바라보는 관점


이 책은 플랫폼은 철저히 고객 중심으로 설계되고, 진화해야 한다고 말합니다. 그들의 고객은 내부 개발자란 점도 흥미로웠어요. 개발자 경험(DX)이나 사용자 여정(User Journey)도 철저히 고려되어야 했습니다. 그 과정에서 “이건 우리가 만든 거니까 써야 해”라는 식의 접근은 실패로 이어진다는 점도 실감 있게 설명됩니다.


2) 조직 내 관계에 대한 내용


플랫폼 팀은 독립된 기능을 수행하는 팀이 아니라, 애플리케이션 팀과 지속적으로 신뢰를 구축해야 합니다. “우리는 당신들이 더 나은 코드를 쓰고 더 빠르게 배포할 수 있도록 돕는 팀입니다”라는 정체성을 조직 전체에 어떻게 퍼뜨릴 수 있는지에 대한 고민이 아주 구체적으로 담겨 있어요.


3) 실패하는 플랫폼의 공통 패턴


많은 조직이 ‘표준화’라는 명분으로 플랫폼 팀을 만들지만, 실제론 내부 고객을 무시한 채 팀의 욕심만 반영된 경우가 많아요. 책에서는 그런 상황에서 어떻게 플랫폼이 외면받는지, 실제 예시 없이도 독자가 상상할 수 있을 정도로 잘 풀어냅니다.


4) 운영 관점


단지 플랫폼을 만드는 것뿐 아니라, 운영까지도 플랫폼 팀의 중요한 역할이라고 말합니다. 예를 들어, 온콜 체계나, SLO, 장애 대응, 실패 복구 등의 책임도 플랫폼 팀의 일부여야 하며, 이를 통해 전체 시스템의 안정성과 신뢰도를 유지할 수 있다고 말합니다.


4. 아쉬웠던 점


1) 플랫폼 경험이 없는 독자에게는 어려운 내용


이 책은 실제로 플랫폼 팀에 속해 있거나, 조직 내에서 플랫폼을 기획하고 있는 사람에게는 정말 유용한 가이드입니다. 하지만 저처럼 플랫폼이라는 개념을 막 접한 입장에서는 많은 부분이 뜬구름 잡는 얘기로 느껴졌어요. 아직은 공감보다는 관찰에 가까운 독서가 되었어요.



2) 부족한 실사례 혹은 케이스 스터디


이 책이 전하는 메시지는 굉장히 탄탄하고 설득력 있어요. 하지만 구체적인 기업 사례나, 실무적인 경험이 좀 더 들어 있었다면 훨씬 생생했을 거라 생각해요. 현재 상태로는 ‘원칙 중심’의 글이기 때문에, 실무 적용을 고민하는 독자에게는 약간 아쉽게 느껴질 수 있어요.


3) 번역의 아쉬움


몇몇 용어들은 번역이 다소 어색했어요. 예를 들어 ‘거짓양성(오탐)’, ‘거짓음성(미탐)’ 같은 표현은 배경이 없는 독자로서는 이해가 어려운 표현이었습니다. 



마치며


『플랫폼 엔지니어링』은 단순히 기술적인 지식을 쌓는 책이 아니었어요. 플랫폼 팀이라는 존재가 왜 중요한지, 그리고 어떻게 잘 기능할 수 있는지를 집요하게 파고들었어요. 플랫폼이 단순히 인프라 구축 선에서 끝나는 것이 아니라 어떤 전략으로 어떻게 구성되어야 하는지를 알려주었어요.


플랫폼에 대한 배경지식이 없는 저에게 어려운 책이었지만, 언젠가 제가 플랫폼을 현업에서 마주하고 깊이 알아야할 때, 이 책은 분명 아주 단단한 길잡이가 되어줄 거라 생각합니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
GPT API를 활용한 인공지능 앱 개발 - 오픈AI o1, 랭체인, 라마인덱스로 만드는 AI 프로그램, 2판 O'reilly 오라일리 (한빛미디어)
올리비에 케일린 외 지음, 이일섭 외 옮김 / 한빛미디어 / 2024년 12월
평점 :
장바구니담기



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


리뷰어는 파이썬 지식이 거의 없는 프론트엔드 개발자입니다.



이 책을 선택한 이유


최근 프로젝트에서 TTS를 활용한 챗봇을 만들 뻔한 경험이 있어요. 당시 OpenAI API를 활용할 가능성이 언급되었지만, 결국 프로젝트는 무산되었죠. 하지만 그때부터 AI와 GPT API에 대한 호기심이 생겼고, 기회가 된다면 더 깊이 알아보고 싶다는 생각이 들었어요.


개발자로서 ChatGPT는 이미 필수적인 도구가 되었고, 저는 그 내부 원리가 어떻게 작동하는지 궁금했어요. 단순히 이론적인 지식만 습득하는 것이 아니라, 실제로 GPT API를 활용하여 인공지능 애플리케이션을 개발하는 과정을 경험해보고 싶었어요. 그리고 이 책의 제목이 그런 저의 기대를 정확히 반영하고 있었기에, 주저 없이 선택했어요.




목차


책의 목차는 다음과 같습니다.


1. GPT와 대규모 언어 모델(LLM)의 개념 이해

2. OpenAI API의 기본 사용법

3. GPT API를 활용한 다양한 프로젝트(뉴스 생성, 챗봇, 텍스트 요약 등)

4. 프롬프트 엔지니어링과 최적화 기법

5. 고급 활용: 파인 튜닝과 RAG(검색 기반 생성 모델)

6. 실전 프로젝트 개발 및 배포



사전 지식이 필요한 책


`파이썬`에 대한 기초 지식이 필요했어요. 사실 저도 충분히 알지는 못했기 때문에, 책을 읽으면서 ChatGPT에게 질문하며 예제를 해석했어요. 어떻게 보면 겸사겸사 파이썬 공부도 할 수 있어서 좋았어요! 그리고 이 책은 전체 예제를 깃허브 리포지토리로 제공했기 때문에 실습하는 데 도움이 많이 되었어요.



✅ 좋았던 점


1. GPT, LLM, OpenAI에 대한 기초 지식 이해



솔직히 그동안 ChatGPT를 매일 같이 사용하면서도, 각 모델이 어떤 변천사를 거쳐왔는지, 이 LLM에 대해 깊이 이해하지 못하고 있었어요. 그냥 "GPT-4가 더 강력하다더라" 정도로만 알고 있었지, 왜 강력한지, 어떤 구조적 차이가 있는지, 어떤 한계를 가지고 있는지는 제대로 몰랐죠.


이 책은 첫 장부터 **GPT-1부터 최신 GPT-4o까지의 발전 과정**을 상세하게 다룹니다.


특히 다음과 같은 개념을 명확하게 설명해 주었어요.


- GPT 모델의 구조와 학습 방식

    - GPT 모델이 트랜스포머(Transformer) 아키텍처를 기반으로 한다는 점

    - 모델이 수많은 데이터를 기반으로 사전 학습을 거치고, 이후에는 특정 도메인에 맞춰 미세 조정(Fine-Tuning)될 수 있다는 점

- 토큰(Token) 개념

    - 우리가 GPT 모델에 입력하는 텍스트가 그대로 처리되는 것이 아니라, 내부적으로 **토큰 단위**로 변환되어 모델이 이해할 수 있는 형태로 전환된다는 점

    - API를 사용할 때 토큰 수가 곧 비용과 직결되기 때문에, 토큰 최적화를 고려해야 한다는 점


그리고 무엇보다도 프롬프트 인젝션(Prompt Injection)이라는 개념을 처음 접하게 되었다는 것도 매우 인상적이었어요.


기본적으로 LLM은 사용자의 입력을 기반으로 답변을 생성하는데, 특정한 방식으로 입력을 설계하면 의도하지 않은 방식으로 모델이 동작할 수도 있다는 거죠. 보안적인 측면에서도 이러한 위협을 어떻게 방어할 수 있을지 고민해 볼 필요성을 느꼈습니다.



2. 실습 중심의 구성

이 책의 장점은 이론 중심이 아니라 실습 중심으로 구성되어 있다는 점이라 생각합니다.덕분에 단순히 "이렇게 하면 된다"가 아니라, 직접 해보면서 배우는 경험을 할 수 있었습니다.


책에서 다루는 5가지 프로젝트


1. 뉴스 생성 솔루션

    - GPT API를 활용하여 특정 주제의 뉴스 기사를 자동 생성하는 프로젝트

    - 프롬프트 엔지니어링을 활용해 원하는 형식으로 뉴스 기사를 구성하도록 설정

    - 사용자 입력(예: "오늘의 경제 뉴스")에 따라 GPT가 관련 뉴스를 자동으로 생성

    - 이를 웹 서비스로 배포하는 과정도 포함됨

2. 유튜브 동영상 요약

    - 유튜브 자막 데이터를 분석하여 핵심 내용을 요약하는 프로젝트

    - OpenAI의 Whisper API(음성 인식)를 활용하여 음성을 텍스트로 변환

    - GPT API를 활용하여 주요 내용을 정리하고, 원하는 길이로 요약하는 기능 구현

3. 챗봇 개발

    - 단순한 질문응답이 아니라 사용자의 문맥을 기억하고 대화 흐름을 유지하는 챗봇 구현

    - 단순 API 호출이 아니라, 메모리 기능을 추가하여 보다 자연스러운 대화 흐름을 만드는 방법을 설명

4. 개인 어시스턴트 개발

    - 일정 관리, 할 일(To-do) 목록, 이메일 초안 작성 등의 기능이 포함된 AI 비서 구현

    - GPT API를 활용하여 다양한 입력을 처리하고, 사용자 맞춤형 답변을 생성하는 방식

5. 문서 정리 도구

    - PDF 및 문서를 분석하고 요약하는 기능을 구현

    - GPT API를 이용해 문서의 핵심 내용을 추출하고, 이를 정리하여 제공하는 방식

6. 감정 분석

    - 자연어 처리 중 감정 분석은 대표 분야

    - 텍스트가 긍정적인지, 부정적인지 파악하는 것

    - GPT API를 이용하여 분류별 모델 평가를 통해 감정별 확률 확인


이 프로젝트들은 단순한 코드 예제가 아니라, 각각의 기능이 실전에서 어떻게 활용될 수 있는지 직접 체험할 수 있도록 구성되어 있어요.


덕분에 단순히 코드를 읽는 것이 아니라, 직접 실행하고, 수정하고, 실험하면서 GPT API의 활용법을 자연스럽게 익힐 수 있었습니다.




 3. 프롬프트 엔지니어링, 파인 튜닝, RAG 학습

GPT API를 단순히 호출하는 것만으로 끝나는 것이 아니라, 어떻게 하면 더 나은 응답을 얻을 수 있는지에 대한 최적화 방법도 배울 수 있었습니다.


- 프롬프트 엔지니어링

    - "간결하게 작성할수록 더 좋은 응답을 얻는다" 같은 기본 개념부터

    - "역할(Role-based Prompting)" 기법을 활용해 특정한 스타일로 답변을 유도하는 방법

    - 프롬프트 최적화에 따른 응답 차이를 실험할 수 있도록 구성

- 파인 튜닝(Fine-Tuning)

    - 기본적으로 GPT API는 사전 학습된 모델을 그대로 사용하지만, 특정 도메인(예: 법률, 의료, 금융)에 맞게 모델을 최적화하는 방법도 다룹니다.

    - 학습 데이터를 제공하여 모델이 특정한 스타일이나 도메인에 맞게 응답하도록 조정하는 방법을 실습할 수 있었어요.

- RAG(Retrieval-Augmented Generation)

    - 기본적인 LLM은 훈련 데이터 내에서만 정보를 제공하기 때문에, 최신 정보가 반영되지 않는 한계가 있음

    - 이를 해결하기 위해, 외부 데이터베이스나 검색 시스템과 연동하는 기법을 설명

    - GPT 모델이 문서를 검색하고, 검색된 내용을 기반으로 답변을 생성하는 방식

    

4. 오픈AI 모델을 개선하는 다양한 전략과 최적화 작업의 흐름 제공

이 책에서는 오픈AI 모델을 개선하는 다양한 기법을 비교하는 내용을 체계적으로 정리해 주었어요.


비용과 성능을 고려할 때 처음부터 비싼 방법을 사용할 필요가 없다는 점도 배울 수 있었습니다.


실제로 모델을 개선하는 방법은 여러 가지가 있는데, 단순한 프롬프트 최적화부터 파인 튜닝, RAG까지 점진적으로 적용할 수 있는 전략이 있습니다.


책에서는 단순히 기법을 소개하는 것뿐만 아니라, 최적화가 이루어지는 전체 흐름을 시각적으로 정리한 자료도 제공했어요.


이 흐름을 보면서, 처음부터 비용이 많이 드는 방법을 선택할 필요 없이, 단계적으로 최적화하는 것이 중요하다는 점을 확실히 배울 수 있었어요.


5. AI 프레임워크 사용법(랭체인, 라마인덱스)


이 책에서는 GPT API를 활용할 때 유용한 AI 프레임워크들도 다루었어요.


- 랭체인 (LangChain)

    - LLM을 보다 쉽게 활용할 수 있도록 도와주는 프레임워크

    - 프롬프트 체이닝, 메모리 관리, API 호출을 간편하게 처리할 수 있도록 함

    - 챗봇, 문서 요약, Q&A 시스템 등에 필수적인 기능들을 쉽게 구현할 수 있음

- 라마인덱스 (LlamaIndex, 구 GPT Index)

    - 대용량 문서를 효과적으로 처리하고, 검색 기반 생성(RAG) 기능을 구현하는 데 활용

    - GPT 모델이 문서를 효과적으로 검색하고, 중요한 정보를 추출하는 기능을 강화


이 프레임워크들을 활용하면 단순히 GPT API를 호출하는 것이 아니라, 더 강력하고 효율적인 AI 애플리케이션을 개발할 수 있다는 것을 알게되었습니다!


🤔 아쉬웠던 점


1. LLM 비즈니스 활용 사례가 다소 아쉬웠습니다.


LLM이 실제 서비스들에서 어떻게 사용되는지가 궁금했어요. 목차에 'LLM 비즈니스 활용 사례' 제목이 있는 것을 보고 혹한 이유도 있었죠! 목차에는 아래 기업들이 나열되어 있었어요.




- 비 마이 아이즈

- 모건 스탠리

- 칸 아카데미

- 듀오링고

- 야블

- 웨이마크

- 인월드 AI


제가 아는 기업은 '모건 스탠리', '칸 아카데미', '듀오링고'가 있었습니다. 어떤 서비스인지 알아야 어떻게 적용했다는 것인지 이해할 수 있을 거라 생각했어요.


- 모건 스탠리

    - GPT-4를 사용하여 `챗봇` 구축 : 내부 금융 관련 콘텐츠에 관한 포괄적인 검색을 수행하고, 자사에 축적된 지식을 효율적으로 활용

- 칸 아카데미

    - GPT-4를 사용하여 `칸미고` 개발: 학생들에게 수업하고 질문하며, 시험 문제 제작, 수업 계획, 학생 관리, 교재 제작 등을 수행하는 친근한 형태의 `AI 어시스턴스`

- 듀오링고:

    - GPT-4를 사용하여 `역할극`(Roleplay)과 `내 답변 설명`(Explain My Answer) 기능 추가


하지만 막상 책장을 펼쳐보니 사례는 굉장히 단출하게만 소개되어 있었어요...! 모델을 사용하여 어떤 기능을 만들었다 정도였습니다. 상세하게는 아니더라도 어떤 필요성이 있었고, 어떤 기법을 이용하여 어떻게 구축이 되었고, 어떤 효과를 보았는지가 궁금했었죠. 이 궁금증은 해소하지 못하여 다소 아쉬웠습니다.


다만 오픈AI 웹사이트에서 기업들의 사례가 많다는 것은 알 수 있었어요.


2. LLM 애플리케이션의 개발 및 배포 과정 설명 부족

책의 "6.2 LLM 기반 애플리케이션 개발 과정" 챕터가 있긴 하지만, 실제로 LLM 애플리케이션을 처음부터 배포까지 구축하는 과정을 체계적으로 따라가기엔 부족한 점이 있었습니다.


1. LLM 애플리케이션 프로젝트 구조 가이드 부족

    - LangChain, LlamaIndex 같은 프레임워크를 사용할 때 폴더 구조를 어떻게 설계하는지 설명 부족

2. 실제 서비스 개발 흐름 설명 부족

    - LLM 애플리케이션의 주요 컴포넌트(예: 프롬프트 처리, 메모리 관리, 벡터DB 연동 등)를 어떻게 설계해야 하는지 설명이 부족

    - 단순 API 호출 예제는 있지만, 대화 히스토리를 관리하거나, RAG를 적용하는 등의 실제 서비스 설계 과정이 빠져 있음

3. 배포 및 운영 전략 설명 부족

    - 서버리스 환경(AWS Lambda, Cloudflare Workers 등)에서 GPT API를 어떻게 최적화해서 배포하는지 설명 없음

    - Hugging Face Spaces, Vercel, FastAPI, Flask 등 어떤 배포 옵션이 적절한지 비교하는 내용이 부족

    - LLM 모델을 사용할 때 API Rate Limit을 어떻게 관리하는지, 캐싱 전략, 비용 최적화 방법에 대한 설명 부족

4. 테스트 및 모니터링 관련 내용 부족

    - API 호출 시 실제 서비스에서는 LLM 응답의 일관성을 테스트하는 방법이 중요할 것 같은데, 이에 대한 가이드가 없음

    - LangSmith, Weights & Biases 같은 LLM 애플리케이션 모니터링 도구 활용법이 포함되지 않음


단순한 API 호출을 넘어서 실제 운영 가능한 형태로 애플리케이션을 만들려면 프로젝트 구조, 배포,테스트, 모니터링까지 고려해야 한다고 생각했어요. 또한, GPT API를 실무에서 어떻게 활용하는지 제대로 배우려면, 단순한 코드 조각이 아니라 하나의 완성된 서비스 구축 과정을 보여줄 필요가 있다고 생각했어요.



누가 읽으면 좋을까요?


이 책은 다음과 같은 분들에게 특히 추천해 드려요:


1. AI와 GPT API에 관심이 있는 개발자

2. 파이썬 기초 지식을 가진 프론트엔드 개발자

3. AI 서비스나 챗봇 개발을 시작하려는 분들

4. AI 관련 비즈니스 아이디어를 구상 중인 분들

5. 프롬프트 엔지니어링에 관심 있는 분들


파이썬 지식이 전혀 없는 분들은 기본적인 파이썬 문법을 먼저 학습한 후에 이 책을 접하시는 것이 좋을 것 같아요. 그래도 예제 코드가 비교적 간단하게 구성되어 있어서, 기초적인 프로그래밍 지식만 있다면 충분히 따라갈 수 있어요.




마치며


이 책을 읽으면서 GPT API에 대한 기본적인 이해를 높일 수 있었고, 실전 프로젝트를 따라 하면서 실제 개발에 적용할 수 있는 감각을 익힐 수 있었어요. 단순한 개념 학습을 넘어 직접 만들어보고 실행해보면서 AI 기술을 실무에 어떻게 적용할 수 있을지 고민할 기회가 되었어요.


앞으로는 책에서 다룬 내용을 바탕으로 간단한 챗봇이나 AI 기반 기능을 직접 만들어보려고 해요. 특히 프롬프트 엔지니어링과 API 최적화 기법을 실제로 실험해보고 싶습니다!


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
그림으로 이해하는 알고리즘 - 알고리즘과 자료구조, 쉽고 재미있게 시작하자! 그림으로 이해하는 시리즈
이시다 모리테루.미야자키 슈이치 지음, 이동규 옮김 / 길벗 / 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% 적립)
양탄자배송
밤 11시 잠들기전 배송
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% 적립)
*지금 주문하면 "9월 24일 출고" 예상(출고후 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 |다음 다음 | 마지막 마지막