컴퓨터가 십진법이 아닌 이진법을 사용하는 이유를 전선에 빗대어 설명한다. 전선으로 무언가를 전송한다 했을 때, 이진법 체계는 한 가닥의 전선으로 정보를 전달할 수 있다. 전기를 보내면 1, 보내지 않으면 0이다. 반면, 십진법 체계는 최소 다섯 가닥의 전선이 필요하다. 0~1 하나, 2~3 하나, 4~5 하나, 6~7 하나, 8~9 하나. 즉, 이진법은 사용하면 십진법에 비해 전선을 아낄 수 있다. T(참)과 F(거짓), 두 가지로 구성된 논리 연산자에 특히 유용하다.
크롤링을 지렁이 게임에서 지렁이가 여기저기 흩어져있는 사탕을 먹고 성장하는 것으로 설명한다. 지렁이가 돌아다니며 사탕을 수집하듯, 크롤링도 웹페이지를 돌아다니며 데이터를 수집하고 분류하는 것을 의미한다. 웹페이지 내 데이터 저장 위치를 찾아내는 게 크롤링의 핵심이다. 흔히 크롤링과 혼동하는 스크래핑은 크롤링보다 더 포괄적인 개념이다. 인터넷에 존재하는 데이터를 프로그램으로 자동화하여 데이터를 수집하는 모든 작업이 스크래핑이다. 파싱은 일정한 패턴으로 데이터를 추출해 원하는 형태로 가공하는 작업을 의미한다.
사용자가 웹사이트에 접속했을 때 처음 보이는 영역이 프런트엔드다. 이때 활용되는 언어가 HTML, CSS, Javascript인데, 무대 장치와 조명 등 무대의 보이는 부분을 담당한다. 반대로, 백엔드는 눈에 보이지 않는 서버에서 작용하는 기술을 다룬다. 웹사이트나 애플리케이션, 솔루션의 프로세스를 운영한다. 시나리오 작가, 촬영 감독, 조연출 등 공연 스태프의 역할이다. 서버와 데이터 베이스를 다룬다면 백엔드다.
프레임워크는 다른 개발자가 소프트웨어의 설계와 기능을 재사용할 수 있도록 제공되는 소프트웨어 환경을 의미한다. 아파트에서 내 방의 개수와 화장실 등 실내 구조는 동일하더라도 가정 입맛에 맞게 가구를 자유롭게 배치하듯, 프레임워크도 동일한 환경 내에서 개발자들이 자유롭게 활용한다. 라이브러리는 특정 기능만을 수행하도록 개발된 코드로 스스로 동작할 수 있는 완전한 코드가 아니라는 점에서 프레임워크와 다르다. 라이브러리는 도서관에 여러 장서 중 필요한 책만 대여하듯, 필요한 기능만 가져와 사용한다. 직접 만들어 사용하기에는 시간이 너무 고되니 다른 사람의 프로그래밍을 빌려오는 방식이다.
이외에도 객체지향 프로그래밍, API, 클라우딩 컴퓨팅 등 여러 IT 개념을 비유를 통해 설명한다. 조금 더 IT를 모르는 비전공자를 배려했으면 하는 아쉬움이 있었지만, IT를 공부하면서 헷갈렸던 많은 부분을 이 책의 설명으로 정리할 수 있었다. 비전공자와 전공자를 가리지 않고, 프로그래밍 구조를 정리하는 데 도움 되는 교양서다.
출판사에게 책을 제공받아 작성한 리뷰입니다