qor***
2021-04-18

실무에 필요한 지식은 너무나 광범위해서 학교에서 배운 내용만으로는 부족하다. "학교에서 이런 것도 안 배웠어?"에 당황하는 주니어 개발자와 "아직도 이걸 몰라?"에 지친 실무자를 위해 17가지 필수 개발 지식을 한 권으로 묶었다.
제목 그대로 학교의 교육 과정에서 알려주기 어려운, 그렇지만 실제 업무에서는 꼭 필요한 기술에 대해 친절하게 담고 있다. 책은 크게 3 부분으로 구성되어, 소프트웨어를 지탱하는 기술, 데이터 처리 기술, 웹을 지탱하는 기술을 다루고 있다.
첫번째 파트인 소프트웨어를 지탱하는 기술에서는 문자열 인코딩, 다국어 처리, 날짜와 시간, 정규 표현식, 범용 고유 식별자 (UUID), 난수(RANDOM), 해시 함수의 7개 주제에 대해 소개하고 있다. 두번째 파트인 데이터 처리 기술은 JSON, YAML, XML, 프로토콜 버퍼, Base64, 데이터 압축 (zlib) 를 다룬다. 마지막 파트인 웹을 지탱하는 기술에는 HTTP, RESTful API, HTTPS, OAuth 2.0 의 내용이 포함되어 있다.
이 책에서 다루는 17개의 주제는 실제 업무에서 상당히 많이 사용될 수 있는 내용들이다. 특히 1부, 2부에 포함된 주제들은 실제 종사 분야와 관계없이 공통적으로 도움이 될만한 것들이다. 정규표현식은 개발자에 따라 이해도와 활용도에 차이가 나는 주제인데, 꼭 필요한 내용을 한정적인 지면에 잘 압축해서 설명하고 있다. 해시 함수 편에서 다루고 있는 솔트(Salt)는 현업에서의 노하우를 잘 보여주는 대목이다.
지은이의 말에서 저자가 밝힌 것처럼 이 책에서 소개하는 기술을 모두 사용해보거나 외울 필요는 없다. 하지만 이러한 기술이 있다는 것을 알고 필요할 때 찾아서 적용할 수 있는 능력은 무엇보다 중요하다. 학교에서 컴퓨터 관련 학과를 다니고 있는 학생들 뿐 아니라, 현업의 개발자들도 옆에 두면 좋을 책이다.
** 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.