dhan***
2024-05-06

개발자를 직업으로 선택했을 때 개인적으로 중요하게 생각하는 것은 업무를 진행하면서 물음표를 남기는 습관을 가지면 안된다는 것이다. 물음표는 엉킨 실의 매듭으로 비유할 수 있는데, 물음표를 하나씩 해결할 때 꼬인 매듭이 비로소 풀릴 수 있기 때문이다. 그리고, 꼬인 매듭은 실에 모두 연결되어 있다.
개발자가 다루는 프로그래밍, 컴퓨터(구조), 운영체제, 네트워크는 하나의 실과 같다. 모두가 유기적으로 연결되어 있기 때문에, 어느 하나 놓치지 않고 공부해야 한다. 그래야 매듭을 가장 잘 풀 수 있다.
혼자 공부하는 네트워크는 컴퓨터 네트워크에 관한 책이다. 이 책을 읽고 나면 LAN, WAN, OSI 7계층, TCP/IP 4계층, NIC, MAC주소, 트위스티드 페어 케이블(랜케이블), 광케이블, 허브, 스위치, IP, 라우팅, 라우팅테이블, 포트, TCP, UDP, DNS, HTTP, 이중화, 다중화, 로드 밸런싱, 프록시, L2/L3/L4/L7 스위치, HTTPS, SSL, TLS, 인증서, 무선 네트워크, WIFI, AP, SSID에 관한 물음표를 해결 할 수 있다. 아니, 자신 있게 말할 수 있게 될 것이다.
책의 구성은 크게 2개의 파트로 되어 있는데, 기본편 (1장~5장)에서는 컴퓨터 네트워크의 기본 개념과 네트워크 계층 구조를 단계별로 설명하고, 고급편(6장 ~ 7장)에서는 실습을 통해 기본편을 복습하고, 심화과정으로 네트워크 안정성과 안전화 기법 및 무선 네트워크 내용을 알려준다.
기본편 Chapter 01 '컴퓨터 네트워크 시작하기'는 컴퓨터 네트워크의 개념과 개발자와 네트워크의 상관 관계, 네트워크의 거시적인 관점, OSI 모델과 TCP/IP 모델의 미시적인 관점에 관해 알아보고,

<01-3 | 네트워크 미시적으로 살펴보기, p063>
Chapter 02 '물리 계층과 데이터 링크 계층'에서는 이더넷, NIC, 유선 통신 케이블과 허브, 스위치의 개념 및 동작방법을 설명한다.
Chapter 03 '네트워크 계층'은 IP의 기능과 형태등 IP와 관련된 전반적인 내용과 라우팅을 살펴보고,
Chapter 04 '전송 계층'에서는 포트의 개념과 TCP/UDP 구조와 동작방법에 관해 알아본다.
Chapter 05 '응용 계층'은 DNS와 URL의 동작방법과 HTTP 프로토콜의 특성과 구조에 관해 설명하며,
고급편 Chapter 06 '실습으로 복습하는 네트워크'에서는 와이어샤크 프로그램의 설치 및 사용법을 통해 기본편의 내용이 어떻게 사용되는지 사례를 통해 살펴본다.
Chapter 07 '네트워크 심화'는 안정성을 위한 이중화, 다중화 기법, 안정성을 위한 HTTPS 동작 방법, 무선 네트워크를 설명한다.
마지막으로, 혼공 용어 노트는 용어 중심으로 각 장의 내용을 다시 정리할 수 있도록 도와 준다.
각 장은 소주제 3~4개로 구성되며, 분량은 많지 않다.
먼저 '학습 목표'와 '핵심 키워드'를 제시하고 '시작하기 전에'에서는 배울 주제를 설명한다. '말풍선'과 'note'는 기억해야 할 내용이나 질문, 팁등 저자의 실무 경험을 알려 준다. '좀 더 알아보기'에서는 추가 설명이 필요한 내용을 담고 있다. 설명이 끝나면 마지막에 '마무리'로 내용을 리마인드하고 확인 문제로 마무리한다.
책을 읽으면서, 이 책이 좀 더 일찍 나왔더라면 하는 생각을 수없이 많이 했었다. 기존에 (잘못)알고 있었던 부분을 많이 수정할 수 있었으며, 대충 알고 있었던 부분도 제대로 알게 되었다.
책의 난이도는 개인적으로는 혼자 공부해도 충분할만큼 많이 쉬었다. 특히 책 중간중간 그림과 표가 많은 도움이 되었다.
책 디자인은 혼자 공부하는 시리즈답게 들고 다니면서 볼 사이즈는 아니다.(크다) ^^
개인적으로 책사이즈와 분량, 폰트와 혼공맨, 그림, 표도 모두 보기 좋았다. 시원시원하고 페이지도 잘 넘어간다. ㅎㅎ
이전에 '강민철'저자의 혼자공부하는 컴퓨터 구조+운영체제를 인상깊게 읽었었는데, 역시 선택이 틀리지 않았다. 아직 '혼자공부하는 컴퓨터 구조+운영체제'를 읽지 않았다면, 꼭 읽어보시기를 추천드린다.
저자가 생각하는 개발자 네트워크를 알아야하는 내용을 인용하면서 마무리한다.
프로그램이 네트워크를 통해 다른 장치와 상호 작용하며 실행되는 경우가 많다는 것은 그만큼 개발자가 네트워크를 이용하는 프로그램, 즉 다른 장치와 상호 작용하며 실행되는 프로그램을 개발하는 경우가 많다는 것을 의미합니다. 개발 직군이 네트워크를 제대로 이해해야 하는 것도 바로 이러한 이유 때문입니다.
01-1 컴퓨터 네트워크를 알아야 하는 이유, p029
"한빛미디어 베타리더로 책을 제공받아 작성된 서평입니다."