메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

독자리뷰

IT 종사자라면 반드시 알아야 할 실무에 가까운 주요 기술의 친절한 설명

8delp***

|

2021-04-18

학교에서 알려주지 않는 17가지 실무 개발 기술

실무에 필요한 지식은 너무나 광범위해서 학교에서 배운 내용만으로는 부족하다. "학교에서 이런 것도 안 배웠어?"에 당황하는 주니어 개발자와 "아직도 이걸 몰라?"에 지친 실무자를 위해 17가지 필수 개발 지식을 한 권으로 묶었다.

  • 저자 : 이기곤
  • 출간 : 2020-04-16

이 책은 보통 대학교 과정에서 소프트웨어, 컴퓨터 공학 강의에서는 깊게 다루지 않는 실무에 좀 더 가까운 개발 기술을 소개하고 있다. 

 

 

 

총 세 부분으로 나눌 수 있는데,

1. 소프트웨어를 지탱하는 기술

: 인코딩, 날짜와 시간 처리, 정규 표현식, 고유식별자, 난수 등을 배울 수 있다.

 

 

2. 데이터 처리 기술

: JSON, YAML, XML 등 다양한 데이터 표현 형식과 이를 처리하는 방법에 관해 배우게 된다.

 

 

3. 웹을 지탱하는 기술

: HTTP, RESTful API 와 같이 웹 개발에 필수적인 기초 실무 지식에 관하여 다룬다.

 

 

 

 

내가 생각하는 이 책의 강점은 소프트웨어나 IT 관련 전공을 이수한 사람이라면 한번쯤은 들었을 내용을 추상적인 형식의 겉핧기 식의 설명이 아니라 실제로 사용되는 방법을 아주 쉽게 설명한다는 것이다. 예를 들어, 문자열 인코딩 중 아스키코드, 유니코드 등은 한번씩 들어봤을 것이다. 그러나 그것이 정확히 어떤 식으로 나타나며 각 인코딩 방식별 차이점, 인코딩이 깨지는 이유 등을 이해가 쉽도록 서술한 책은 많지 않을 것이다. 

 

개인적으로는 대학교 신입생 때 '전산학 개론'에서 배웠었던 내용이지만 거기에는 그냥 한 문단 정도로 간략히 설명하고 넘어가버린다. 시험에도 설명하는 내용이 어떤 방식의 인코딩인지 정도만 물어보는 것이다. 그런데 이것이 중요한 이유는 바로 개발을 할때 문제되는 상황이 있기 때문이다.

 

 

 

 

나의 경우 이클립스로 작성하여 저장해왔던 Perl 스크립트들이 많았는데 이클립스를 다시 설치해보니 저장된 코드들이 전부 책 그림에서처럼 깨져있었다. 그 이유는 UTF-8로 작성되어 있는 코드를 EUC-KR 인코딩 설정에서 읽으려 했기 때문이다. 당시에는 그냥 해결하는 방법만 알게 되었는데 이 책을 보고 왜 그런 일이 발생하게 되었는지 알게 되었다. 

 

 

그리고 이 책에 설명된 정규표현식 파트가 아주 유용하다. 나는 Perl의 가장 강력한 기능인 정규표현식을 매일 다루기 때문에 어느정도 정규표현식에는 자신이 있다고 생각하는데 Perl 책에도 잘 소개는 되어있지만 비밀번호 검증, 이메일 주소 검사, 웹 크롤러 등 실제로 쓰이는 사례 위주로 공부하니 더 기억에 많이 남지 않을까 생각했다. 완전히 책 한권을 정규표현식만 다루는 책이 있는데 그런 책을 볼 것이 아니라면 사례 위주로 모르는 내용은 '정규표현식' 연습장 사이트 등에서 직접 작성해가며 보충하여 깨닫는 것이 중요하다고 생각한다.

 

나머지 난수나 해시 함수를 이해하는 것도 인증 부분을 설계하고 개발할 때 중요하다고 생각한다. 보안 기사 등의 이론서에서 나오기는 하지만 파이썬 코드를 이용한 예제로 그 결과를 직접 보면서 과정을 배우지는 않기 때문에 이 부분도 이 책의 가장 큰 장점이라 하겠다.

 

 

 

아까 언급했던 정규표현식도 같은 맥락에서 나는 Perl을 주로 쓰지만 이 책에서는 파이썬 코드로 설명을 하고 있다. 사실 웹 크롤러 때문에 파이썬에서의 정규표현식이 궁금했고 익숙치 않았는데 여기서 잘 기술된 설명으로 다시 보게 되다니 좋았다.

 

 

제 2장에서는 데이터를 표현하고 처리하는 규격에 대해서 배우게 된다. 솔직히 말하면 학생 시절에 XML이 뭔지 가르쳐주는 것도 없고 책의 설명이나 인터넷 내용들은 어렵기만 했다. 그리고 그런 설명들도 너무 추상적이어서 실제로 어떻게 쓰는지 알고 싶었다. 마찬가지로 JSON, YAML 같은 방식도 내가 IT 업체를 다니게 되면서 알게 된 것이다. 특히 JSON을 파싱하는 코드를 짜야 했을 때 어려움이 많았다. 그때는 맨땅에 헤딩으로 그냥 내가 데이터 표현 방식을 직접 눈으로 보며 파악해가는 방향으로 개발했었는데 이 책의 내용은 너무도 쉽고 친절하게 설명해주고 있다. 

 

 

 

마지막으로 제 3장은 많은 분들이 어느정도는 알고 계시리라 믿는다. HTTP. HTTPS에 관한 내용이 나오는데 이정도는 보통 네트워크 관련 수업에서 배우니 말이다. HTTP 메소드의 경우도 정보처리기사나 정보보안기사에 필수적으로 공부해야 하는 부분이 아닌가. 그러나 이 범위에 나오는 약간은 생소할 수도 있는 RestfulAPI나 OAuth 같은 기술은 마찬가지로 좀 더 실용화된 예제를 학교에서는 가르쳐주지는 않을 것이므로 웹 분야에서 일하는 개발자라면 반드시 이해하고 넘어가야 하는 내용이라 생각한다.

 

 

 

이 책의 독자 대상으로는 IT 분야를 최소한 학교에서 배우거나 기초적인 지식이 어느정도 있으면서 한 가지 프로그래밍 언어 정도는 익힌 사람이 될 것 같다. 내가 완전히 IT와 프로그래밍, 컴퓨터에 대해서 전혀 모르는데 바로 첫장부터 이해하기는 쉽지는 않을 것 같다. 사실 실제 내용이 그렇게 어려운 수준이 아닌데도 말이다. 그러나 아주 불가능한 것은 아니라고 생각한다.

 

 

 

마무리로서 이 책의 코드는 책 앞쪽 부분에 있는 깃허브 저장소에서 모두 다운로드하거나 볼 수 있고 요즘 가장 많이 쓰이고 인기 있는 언어 중에 하나인 파이썬으로 실무에서 쓰는 방식을 예제로 만들어 수록하였기 때문에 파이썬을 공부하거나, 파이썬은 아니지만 해당 코드를 자신이 주로 쓰는 언어와 환경에서 변환하는 과정 속에서 더 깊은 이해를 할 수 있을 것 같다.

 

 

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?