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

한빛미디어

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

문자열 인코딩부터 웹 필수 지식까지

한빛미디어

집필서

판매중

  • 저자 : 이기곤
  • 출간 : 2020-04-16
  • 페이지 : 308 쪽
  • ISBN : 9791162242988
  • 물류코드 :10298
초급 초중급 중급 중고급 고급
4.7점 (26명)
좋아요 : 7

빠르게 성장하는 개발자가 되려면 반드시 알아야 할 핵심 기술 17가지!

 

실무에 필요한 지식은 너무나 광범위해서 학교에서 배운 내용만으로는 부족하다. "학교에서 이런 것도 안 배웠어?"에 당황하는 주니어 개발자와 "아직도 이걸 몰라?"에 지친 실무자를 위해 17가지 필수 개발 지식을 한 권으로 묶었다. 소프트웨어를 지탱하는 7가지 기술, 데이터를 처리하는 6가지 기술, 웹을 지탱하는 4가지 기술을 파이썬 코드를 활용해 핵심만 설명한다. 더 나아가 17가지 기술을 언제, 어떻게 써야 하는지도 배운다. 이 책을 정독하고 나면, 남들보다 앞선 출발점에서 시작하는 자신을 보게 될 것이다. 학교에서 알려주지 않는 기술과 경험을 실무에 활용할 준비가 되었는가?

 

 

주요 내용

  • 소프트웨어 기술: 문자열 인코딩, 난수, 범용 고유 식별자, 다국어 처리, 해시 함수, 날짜와 시간, 정규 표현식
  • 데이터 처리 기술: JSON, YAML, XML, Base64, 프로토콜 버퍼, 데이터 압축
  • 웹 기술: HTTP, RESTful API, HTTPS, OAuth 2.0

 

대상 독자

  • 초보적인 코드 작성은 할 줄 알지만, 실력을 한 단계 업그레이드하고 싶은 개발자
  • 실무에 필요한 기술이 무엇이 있는지 궁금한 학생

 

fin_200410_학교에서알려주지않는실무기술개발_700.jpg

 

 

저자

이기곤

소프트웨어 프레임워크와 개발 프로세스를 만드는 C++ 개발자다. 한편으로는 개발의 본질적 가치와 의미를 찾기 위해 고민하고, 그 과정을 책으로 옮기며 살아간다.

저서로 『FFmpeg 라이브러리』, 『모던 스타트업』, 역서로 『The Nature of Software Development』, 『도커 오케스트레이션』, 『Docker로 PaaS 구성하기』가 있다.

 

 

[1부 소프트웨어를 지탱하는 기술]

1장 문자열 인코딩

__1.1 문자열 인코딩이란 

__1.2 아스키 코드(ASCII) 

__1.3 EUC-KR(CP949) 

__1.4 유니코드(UTF-8, UTF-16, UTF-32) 

__1.5 UTF-8 

__1.6 UTF-16 

__1.7 마치며 

 

2장 다국어 처리

__2.1 i18n이란

__2.2 i18n 적용하기: gettext

__2.3 마치며

 

3장 날짜와 시간

__3.1 타임스탬프 

__3.2 단조 시간 

__3.3 실제 시간 

__3.4 타임 존 

__3.5 마치며 

 

4장 정규 표현식

__4.1 정규 표현식 기초 

__4.2 실사용 예 

__4.3 마치며

 

5장 범용 고유 식별자

__5.1 UUID 구조 

__5.2 UUID 버전 

__5.3 실사용 예 

__5.4 마치며

 

6장 난수

__6.1 유사 난수 

__6.2 암호학적으로 안전한 난수 

__6.3 공정한 난수, 셔플 백 

__6.4 ‘무엇’을 위해 사용하는가 

__6.5 마치며

 

7장 해시 함수

__7.1 해시 함수 정의

__7.2 해시 함수를 사용하는 곳 

__7.3 해시 함수의 종류 

__7.4 해시 함수의 생성 속도 비교 

__7.5 실사용 예 

__7.6 마치며 

 

[2부 데이터 처리 기술]

8장 JSON

__8.1 JSON 특징 

__8.2 JSON 구조 

__8.3 JSON 메시지 읽고 쓰기 

__8.4 JSON의 한계 

__8.5 마치며 

 

9장 YAML

__9.1 YAML 특징 

__9.2 YAML 구조 

__9.3 YAML 메시지 읽고 쓰기 

__9.4 주석 사용하기

__9.5 앵커와 별칭

__9.6 마치며

 

10장 XML

__10.1 XML 특징

__10.2 XML 구조 

__10.3 XML 메시지 읽고 쓰기 

__10.4 마치며 

 

11장 프로토콜 버퍼

__11.1 프로토콜 버퍼의 특징 

__11.2 프로토콜 버퍼 사용 준비 

__11.3 스키마 파일 정의 

__11.4 인터페이스 코드 사용 방법 

__11.5 메시지 객체 정의 

__11.6 마치며 

 

12장 Base64

__12.1 Base64를 사용하는 이유 

__12.2 Base64 인코딩 구현 

__12.3 Base64 디코딩 구현 

__12.4 파이썬 모듈 사용 

__12.5 URL-Safe Base64 

__12.6 마치며 

 

13장 데이터 압축(zlib)

__13.1 zip, zlib, DEFLATE, INFLATE 

__13.2 압축 시 중요한 요소 

__13.3 파일 압축 예제 

__13.4 파일 압축 해제 예제 

__13.5 마치며 

 

[3부 웹을 지탱하는 기술]

14장 HTTP

__14.1 무상태성 

__14.2 간단한 HTTP 서버 만들기 

__14.3 HTTP 요청 

__14.4 HTTP 응답 

__14.5 세션과 쿠키 

__14.6 스티키 세션 

__14.7 CORS 

__14.8 아파치와 Nginx 

__14.9 마치며 

 

15장 RESTful API

__15.1 글쓰기 API 

__15.2 글 읽기 API 

__15.3 글 업데이트 API 

__15.4 글 삭제 API 

__15.5 마치며

 

16장 HTTPS

__16.1 HTTPS를 사용하는 이유 

__16.2 HTTPS의 구성 요소 

__16.3 HTTPS 핸드셰이킹 과정 

__16.4 마치며 

 

17장 OAuth 2.0

__17.1 OAuth 1.0a vs 2.0

__17.2 OAuth 2 기본 용어

__17.3 OAuth 2 동작 구조

__17.4 OAuth 2 사용 시 주의할 점

__17.5 마치며 

성장을 꿈꾸는 개발자를 위한 책

 

이 책은 복잡한 소프트웨어를 개발하는 데 기반이 되는 기술을 설명한다. 따라서 실무에서 마주할 복잡성이라는 문제를 해결하고 올바른 길로 나아가는 데 도움이 될 것이다. 소프트웨어 개발에서 가장 중요한 기술로 문제가 생기기 전까지는 배울 수 없는 인코딩을 시작으로, 소프트웨어 동작에 꼭 필요한 데이터 처리 기술까지 다룬다. 나아가, 어떤 환경에서 개발하더라도 데이터를 안전하고 효율적으로 주고받을 수 있는 웹 서비스의 근간이 되는 핵심 기술도 살펴본다. 

 

파이썬을 활용해 이런 기술들을 배울 것이다. 파이썬을 모르더라도, C, C++, JAVA 중 한 가지만 알면 쉽게 이해할 수 있는 코드로 구성되어 있다. 파이썬이 익숙한 독자라면 파이썬이라는 친구와 더 깊은 관계를 이어가는 기분으로, 파이썬이 낯선 독자라면 새로운 친구를 사귀는 기분으로 이 책을 여행할 수 있다.

 

현실에 안주하지 않고 성장을 꿈꾸는 개발자라면 이 책에서 설명하는 내용을 숙지하는 것을 강력하게 추천한다. 나아가 개발자를 꿈꾸는 학생에게도 유용한 책이다. 독자가 꿈꾸는 최고의 개발자가 되는 것을 상상해보아라. 그 개발자로 성장하기 위한 첫걸음을 이 책에서 시작해보자.

  • 이 책은 제목 그래도 학교에서 알려주지 않거나 전공시간에 짧게 훑고 지나갔던 내용들을

     

    사례와 예제코드를 바탕으로 현업에 바로 사용할 수 있게 쉽게 알려주는 책입니다.

     

    제일 기본적인 문자열 인코딩에서부터, 날짜 및 시간, 정규표현식, 해시 함수, JSON 및 기타 마크업 랭기지,

     

    웹의 기초인 http부터 RESTful API까지 프로그래밍을 하는 사람이라면

     

    언젠간 한 번 쯤은 접할 내용들을 넓게 다루고 있습니다.

     

    특히 RESTful API부분이 설명이 쉽고 이해가 잘 되게 설명해 주고 있습니다.

     

    만약 신입 프로그래머가 입사하기 전에 이 책을 읽고 기본적인 내용을 습득하고 간다면, 

     

    면접에서도 도움이 많이 되고, 팀에선 더 환영받을 것 같습니다.

     

    취직을 준비하는 취준생 개발자부터, 초보 개발자, 다른 분야에 대한 배경지식을 알고싶으신 개발자 분들까지

     

    모두에게 추천드리고 싶은 책입니다.

     

    쟁여놨다가 부사수나 후배가 오면 꼭 주고 싶은 책입니다. 강추!!

     

  • [나의 한줄 추천사]

    현재 RESTful API 개발하고 실무에 적용하고 있는데, 백그라운드 지식이 없었다. 그냥 이상없이 작동하니

    잘되는거라 싶었고, 운영하는 입장에서 손도 안가니 그냥 덮고 있었다. 이책에서는 RESTful API 대한 버전관리 방법이면,

    사용법을 파이썬 코드로 제시해 주면서 백그라운드 지식들을 알기쉽게 설명해주고 있다. 문자열 인코딩 부터 필수 지식까지

    설명하고 있어서 알쓴신잡 느낌도 난다. 거꾸로 읽는 것을 추천한다.

     

    [책을 구매한 이유]

    그냥 쓰는 것도 좋지만 알고 쓰면 좋은 기본기를 놓치지 않기위해서 구매하였다.

     

    [내가 찾고자 했던 질문과 대답들]

     

    데이터를 주고 받을때 여러 프로토콜이 있는데 굳이 RESTful API 쓰는 이유는?

    -요청주소와 메서드(GET, POST), JSON 규격을 이용하여 웹주소를 콜하면 사람이 읽기 쉬운 형태로 데이터를 전송받을수 있기 때문이다.

    - POSTMAN 툴로 쉽게 테스트 해볼수 있어서 빠르게 개발하기 쉽다.

     

    HTTPS TLS(Transport Layer Security) 역할은 무엇인가?

     - TCP 대신 TLS 프로토콜 기반으로 하는 HTTP 예전에는 SSL(Secure Sockets Layer) 프로토콜을 사용하였으나, 너무 많은 취약점으로

    더이상 사용하지 않고 TLS 쓰고 있고, OSI 4 계층에 해당한다.

     

    CORS(Cross-origin resource sharing) 문제 해결방법은?

     - ajax 콜할때 다른 도메인에서 콜할 경우 same origin policy 때문에 리소스 접근이 안될때가 있다. 리소스 무단 사용을 방지하기 위한 정책인데

    Access-Control-Allow-Origin, Methods Headers 명시적 설정을 통하여 다른 도메인에 대해서 공유할수 있다.

     

    UUID(Univerally Unique IDentifier) 사용하는가?

     - 식별이 필요한 액션이나 오브젝트에 대해서 지정이 필요할 경우 UUID 생성시킨다. 낮은 확률로 쫑날 수가 있는데, 이때 저장 DB 통해서 기생성 유무 확인후

     

    재생성 방식으로 쫑나는 상황을 방지할 있다.

  • 이 책의 목차를 보고 신입 때가 많이 생각났다. 아무것도 모르는 시절, 이런저런 문제들을 어찌어찌 해결하던 날들 말이다. 내 컴퓨터에선 잘 보이던 웹 페이지가 다른 컴퓨터에선 깨져서 인코딩을 수정했던 일들, 날짜 계산을 하는데 갑자기 1970년이 나와서 당황했던 경험. 그래서 이 책은 반갑다. 개발하면서 많은 시간을 할애하진 않지만 잘못 쓰면 문제가 생길 수 있는 주제들에 대해 친절하게 설명하고 있다. 왜 Java 클래스의 hashCode()를 구현해야 하는지, 암호화할 때 MD5는 사용하면 안 되는지, 단순히 '이렇게 하면 된다'가 아닌 기술의 히스토리 알고 나서 '이런 이유 때문에 이렇게 하면 된다'라는 지식이 쌓이면 개발을 하는데 더 풍요롭게 일 할 수 있다고 생각한다.

    UUID를 사용하지만 어떤 원리로 문장열이 생성되는 건지, JSON과 YAML을 사용하지만 그 이유가 무엇인지 생각해본 적이 없다면 이 책을 읽는 것을 추천한다. 이미지를 DB에 저장할 수 있는 방법이 있을까? 이런 고민을 하다 보면 BASE64라는 키워드를 만나게 되고 잘은 모르지만 BASE64를 사용해서 문제를 해결하기도 할 것이다.

    이 책에서 소개하는 기술을 모두 사용해보거나 외울 필요는 없습니다. 이러한 기술이 있다는 것만 기억하면 됩니다.
    더 나아가 언제 사용하는 게 가장 적합한지도 알아두면 더 좋겠습니다.

    저자의 말에 쓰인 이 두 문장이 책의 목적을 말해준다. 우리는 이 책에서 설명하는 지식을 최소 한 번 이상 경험하며 일을 해나가겠지만 제대로 알지 못하고 개발한다면 언젠가 문제가 발생하거나 문제 해결에 어려움을 겪을 수도 있다. 어쩌면 이런 문제가 있는지도 모른 채 지나갈 수도 있다. 하지만 이 책을 한 번 읽고 나면 코드에서 더 많은 것을 보고 깨달을 수도 있지 않을까 싶다.

  • KakaoTalk_Photo_2020-05-31-20-06-43.jpeg

    > <학교에서 알려주지 않는 17가지 실무 개발 기술>은 크게 소프트웨어, 데이터, 웹에 대한 기술을 주제로 삼고 있다.  

    > 나는 웹 기술에 관심이 있어서 집중적으로 읽고 리뷰를 쓰려고 한다.

     

    ## 전체 목차

     

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

    -   문자열 인코딩

    -   다국어 처리

    -   날짜와 시간

    -   정규 표현식

    -   범용 고유 식별자

    -   난수

    -   해시 함수

     

    2.  데이터 처리 기술

    -   JSON

    -   YAML

    -   XML

    -   프로토콜 버퍼

    -   Base 64

    -   데이터 압축(zlib)

      

    3.  웹을 지탱하는 기술

    -   HTTP

    -   RESTful API

    -   HTTPS

    -   OAuth 2.0

     

    ## 중요하게 생각하지 않았던 기술들

     

     

    나는 최근 프론트엔드 개발을 공부하고 있어서 한 번씩 들었던 단어들이 있었다.  

    특히 **웹을 지탱하는 기술** 파트를 나는 인상깊게 봤다.  

    웹에 있어서 꼭 알아야 하지만 깊게 살펴보지 않고 사용했던 개념들이 나와 있다.  

     

    요즘 하고 있는 웹 개발 프로젝트에서 주로 쓰이는 개념은 아래와 같다.  

     

    - HTTP 통신을 할 때의 쿠키와 세선에 관한 보안적 문제

    - CORS에 대한 설명 

    - RESTful API 의 사용 예제와 설명

    - OAuth 인증할 때의 주의사항 

     

    나는 주로 화면 위주의 개발을 하고 있어서 지나치기 쉬운 주의사항이 쉽게 표현되어 있어서 읽기 좋았다.

    개념이 헷갈릴 때나 키워드가 궁금할 때 한 번씩 펼쳐보면 좋을 책인 것 같다. 

     


  •  

    <학교에서 알려주지 않는 17가지 실무 개발 기술>에는 대략 두 가지로 표현할 만한 지식이 담겼습니다.

    1. 선배나 나보다 경험 많은 듯한 동기에게 어디에서 배웠는지 어디에 나오는지 물었을 때 신통한 대답이 나오지 않는 지식
    2. 구글에서 검색해 보면 나오기는 하는데 뭔가 속시원히 앞뒤 맥락을 알기에는 힘든 지식

    목차를 보면 알겠지만 17장에 걸쳐 나오는 내용 각각을 전문적으로 다룬 서적으로 추리면 10권 이상 나올 수도 있습니다. 그만큼 다방면을 다루는 책으로, 각 주제를 입문자로서 알아야 할 수준으로 정리했습니다. IT 업계 종사자로서는 필수적으로 이해해 두고 있어야 할 지식들입니다. 업무에 따라서는 이 책에 나온 이상을 알지 않아도 될 수도 있겠지만 그렇지는 않길 바랍니다.

    개발경험이 많지 않아 보이는 신입사원이나 구직자를 보다가 안타까울 때가 있습니다. 'py나 java 파일을 만들' 줄은 알지만 실제 서비스를 올리는 데에 필요한 지식이나 인터페이스를 바꾸는 등의 응용력이 부족하기 때문입니다. 신입사원 열 명을 공채로 한번에 뽑았다 치면 한두 명, 많으면 서너 명이 이럴 때도 있습니다. 신입사원 전반적으로 모르는 사안이 아니라서 저 소수인원만 업무에 적응하지 못하는 상황이 벌어지곤 합니다. 특정 범위에 대한 무지가 아니기에 매뉴얼을 만들 엄두를 내지 못합니다.

    저자는 아마 그런 상황을 몇 차례 경험하지 않았을까 합니다. 이 책은 현장 투입 이후에 사소한 어려움을 자주 겪어야 하는 이들에게 도움이 될 겁니다. 더불어 어깨 너머로 익혔거나 급한 불만 끄느라 맥락을 익히지 못했던 기술에 입문하고자 할 때 유용하겠습니다.

    누군가는 이 책에서 다루는 주제를 모르는 IT 업계 입문자들이 의아할 수도 있겠습니다만 사람 사는 세상에는 드물지 않은 일이라 봅니다. 이런 사안으로 힘들어 하는 동료가 있다면 방황을 일찍 끝내도록 <학교에서 알려주지 않는 17가지 실무 개발 기술>을 슬쩍 권해도 좋겠습니다.

  • KakaoTalk_20200531_205732951.jpg

    리뷰내용

    한빛미디어에서 이벤트를 통해서 신청한 책이다.
    해당 책을 신청한 이유는 매일 무언가 새로운 기술이나 기능들을 학습하고 이를 정리하지 않았던 것 같다.
    그러니 자주접하고 자주 사용하는 것 들은 잊을 수가 없지만 잊을만 하면 나오는 기술들은 매번 구글링을 통해 다시 학습했다.
    구글링이 나쁘다는 것은 아니지만 신청한 책들 중 이 책이 오면 이번엔 책을 통해서 해당 기술들을 내용정리를 하려고 했다.

    결과적으로는 베스트 선택이였다.
    완독을 해보니 인코딩 종류, timestamp, 정규표현식 등 학교다닐때 배웠던 항목들도 있었고 실제 업무에서 사용해본 것도 있었다.
    1장에서는 해시함수와 정규표현식이, 2장에서는 YAML, 3장에서는 Restful API 가 좀더 명확하게 머릿속에 자리잡은 느낌이다.

    요즘은 기술들도 많이 나오고 매번 빠르게 변화하는 세상인데
    가끔 이런 책을 통해서 뒤돌아보는 시간을 가져보고싶은 사람들에게 추천하고 싶은 책이다.
    또한 기술부채가 많이 쌓인 사람들에게는 꼭 필요한 책인 것 같다.

  • K322638441_f.jpg

     

     

    한빛미디어의 '나는 리뷰어다' 5월 도서로 받은 책이다.

    나는 리뷰어다 제도 괜찮네.

    석 달째 따끈따끈한 신간을 계속 받아보고 있다.

     

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

    파트 1에서는

    문자열 인코딩, 다국어 처리, 날짜와 시간, 정규 표현식, 범용 고유 식별자, 난수, 해시 함수에 대해 다룬다.

     

    CHAPTER 01. 문자열 인코딩

    EUC-KR, UTF-8은 들어는 봤는데

    누가 설명하라고 하면 제대로 못했을 것 같다.

    작가님은 이해하기 쉽게 참 잘 적어주셨네.

     

    팁도 잘 숙지해 둬야겠다.

    엄격하게 구분하면 문자 집합(Charset)에는 유니코드, ISO-8859, ASCII 등이 이에 해당하고

    문자열 인코딩은 UTF-8, UTF-16, UTF-32 등을 말한다고 하네.

     

    CP949는 EUC-KR의 확장 문자 집합이라더라.

    CP949는 생소한데 MS949랑 같은 거더라.

    이클립스였던가? 거기서 인코딩 방식을MS949로 체크한 기억이 났다.

     

    UTF-16, UTF-32라는 것도 책 덕분에 알았다.

    리틀 인디언, 빅 인디언 참 오랜만에 봤다.

     

    어느 순간부터 EUC-KR/CP949/MS949에서 UTF-8로 넘어간 것 같은데..

    다 이유가 있었네(UTF-8가 나중에 ISO에서 정한 국제표준).

     

    이제까지 프로젝트 할 때에는 어설프게 알고 막 썼던 것 같은데,

    다음에는 좀 제대로 알고서 쓰게 될 것 같다.

     

    CHAPTER 02. 다국어 처리

    국제화라고, i18n(internationalization) 표준에 대해 설명한다.

    이런 게 있는지도 몰랐다.

    내가 우물안 개구리이긴 했나 보다.

    해외 서비스를 안 해봤으니 알 리가 있나.

    생소한 내용이다 보니 확실이 이해가 빨리 되지는 않더라.

     

    CHAPTER 03. 날짜와 시간

    올해 초에 timestamp 넣어야 해서 계산 방식에 대해 공부를 좀 했는데

    이게 바로 나오네.

    시험공부한 부분이 딱 시험에 나온 그 느낌이었다.

     

    맨 뒤에 ETCD, 주키퍼를 사용해서 여러 서버가 같은 타임 존을 사용해 보라는데,

    이게 뭔가 했더니 분산처리 관련된 거네.

    후.. 내가 제일 약한 부분이네.

    갑자기 허를 찔린 기분이더라. 공부할 게 너무 많다.

     

    CHAPTER 04. 정규 표현식

    정규표현식은 2년 전에 수천개의 소스 코드를 일괄 리팩토링하면서

    재대로 좀 많이 익혔는데..

    그 때 기술부채를 좀 덜어서 읽는데 어렵지는 않더라.

    다만 그 때 따로 정리를 안 한 게 아쉽더라.

     

    CHAPTER 05. 범용 고유 식별자

    범용 고유 식별자라길래 뭐지? 했는데.

    UUID(universally unique identifier)였네.

     

    예전에 운영이가 개발인가 할 때 단말기 정보로 사용자를 구분해야 했던 것으로 기억한다.

    안드로이드 계열은 MAC, 아이폰은 이것으로(UUID)로 식별한 줄 알아서

    오 또 아는 거 나왔구나, 했는데..

    찾아보니 내가 한 건 UUID가 아니라 UDID 였나보더라.

     

    세상이 계속 휙휙 바뀌니 쫓아가기가 좀 버겁고 그러네.

     

    CHAPTER 06. 난수

    난수 이야기 하면서 Seed 이야기 할 때에는 십수년 전에 확률 수업에서 배운 게 생각이 나더라.

    그 때 (초반에만) 열심히 공부했었는데.

    그래도 공부했던 것 기억이 새록새록 났다.

    학교 커리큘럼이 정말 중요하긴 한 것 같다.

     

    셔플 백shuffle bag(공정한 난수)이라는 개념도 있고..

    '난수'만으로 한 챕터를 만들 수 있는 작가님의 역량도 부럽더라.

     

    OTP 이야기가 나오길래 OTP 인증 프로세스에 대해

    따로 공부할 기회도 얻을 수 있었다.

     

    CHAPTER 07. 해시 함수

    대강의 해시 함수 개념은 알았는데 책에서 충실히 잘 설명해주어서

    제대로 확실히 알 수 있었던 것 같다.

     

    MD5(message-digest algorithm5)는 들어는 본 것 같은데.. 설명을 보고서야 이제 좀 알겠더.

    뒤의 SHA-1(Secure Hash ALgorithm-1), SHA-2 보면서 예전에 운영할 때 암호화 알고리즘 전환한 것 생각도 잠시 났다.

    전환 그 자체보다 여기저기 테스트해달라고 요청하고 취합 받는 게 많이 빡셌지.

     

    뒤의 '솔트' 개념도 설명이 잘 되어 있더라.

    이것도 들어는 본 것 같은데..

    내 머리 속에 허점이 참 많기도 한 것 같더라.

     

    PART 2. 데이터 처리 기술

    파트 2에서는

    JSON, YAML, XML, 프토토콜 버퍼, Base64, 데이터 압축에 대해 다룬다.

     

    CHAPTER 08. JSON

    JSON은 이전에도 있는 것은 알았지만, 작년에 팀 이동 후 코딩하면서 JSON으로 계속 주고 받고 하니깐 좀 JSON에 대해 겁이 덜 해졌다.

    덕분에 이 챕터는 가볍게 아는 내용을 복습하는 정도로 넘길 수 있었다.

     

    CHAPTER 09. YAML

    YAML이라는 단어는 작년에 처음 들어보고 사용하게 되었다.

    찾아보니 2001년에 처음 나왔던데..

    언제부터 많이 쓰였는지는 모르겠지만 그래도 꽤 된 듯하네.

     

    대부분은 아는 내용인데, 뒤에 앵커와 별칭 부분은 처음 들어보는 부분이었다.

    앵커는 &, 별칭은 *를 뜻한다네.

    C의 포인터 비스무리 하네.

     

    민감정보 저장하지 말라면서 레디스Remote Dictionary Server(Redis) 이야기가 잠시 나온다.

    레디스가 뭔가 해서 찾아봤다만..

    역시 이것도 한 번 써봐야지 뭔지 제대로 알게 되겠지.

     

    CHAPTER 10. XML

    이게 드디어 나오는구나.

    나 같은 라뗴에게 제일 친숙한 것이겠지.

    ant, maven, spring, iBatis/MyBatis, ...

    워낙 여러 군데에서 썼으니.

     

    그래도 나보고 책 쓰라고 하면 못했겠지.

    사원 시절에 siblings, child 등등 써서 설문조사 만들었던 생각이 났다.

     

    CHAPTER 11. 프로토콜 버퍼

    이건 처음 들어보는 개념이었다.

    구글에서 만든 데이터 직렬화 규격이구나.

     

    작가님이 테스트 데이터로 만든 메시지 파일 비교를 해보니,

    JSON: 225 bytes

    YAML: 215 bytes

    XML: 607 bytes

    Protobuf: 86 bytes

    라고 한다.

    전송 속도가 무지 빨라지긴 하겠더라.

     

    세상 참 빨리도 변한다.

    (아니면 반대로 내가 너무 고인물인 건가)

     

    CHAPTER 12. Base64

    문자열 뒤에 '=', '==' 로 끝나는 것 가끔 봤었는데

    그게 다 이유가 있었구나. 이게 Base64라는 것을 이번에야 알았다.

     

    3바이트로 뚝뚝 끊어지게 해서 모자란 바이트만큼

    패딩(=)을 붙이는 거였구나.

     

    CHAPTER 13. 데이터 압축(zlib)

    이번 장은 개념들이 많이 나오는데, 이것들 각각 숙지해 놓으면 좋겠더라.

     

    손실압축/무손실압축, 압축률처럼 어느 정도 알고 있던 개념부터 시작해서

    압축 레벨, 압축 속도, 합축 해제 속도, 체크섬 등등 잘 몰랐던 개념까지

    압축에 대한 내용이 참 잘 정리된 것 같다.

     

    PART 3. 웹을 지탱하는 기술

    파트 3에서는 HTTP, RESTful API, HTTPS, OAuth 2.0에 대해 다룬다.

     

    CHAPTER 14. HTTP

    간단한 HTTP 서버 만들면서 Flask 써서 웹서버 만드는 게 예제로 나온다.

    실무에서 Flask 써보지는 않았지만, 라즈베리파이 독서 통신 하면서 Flask 써 본 경험이 있길래 대충 감이 잡히더라.

    그 때 좀 해놓길 잘했다는 생각도 들었다.

     

    이번 달까지 1% 네트워크 원리/와이어샤크 독서통신도 하고 있는데, 거기서 나온 개념이 여기에서 많이 중복된다.

    내가 제너럴한 제너럴리스트라 뭐 딱히 잘 하는 게 없다고 자조하긴 하는데

    아주 가끔 이럴 때 좋긴 한것 같다.

     

    그래도 이왕 하는 거면 기술 부채 안 쌓이게 잘 정리해 둬야지.

     

    HTTP 챕터 부분은 그래도 거의 다 한 번 쯤은 들어본 부분인데,

    챕터 뒷부분의 CORS(Cross-origin resource sharing, 교차 출처 리소스 공유)는 처음 들어보는 부분이더라.

    확실히 프로젝트 하면서 직접 써보지 않은 개념들은 여러 번 읽어도 잘 머리에는 안 들어오긴 하더라.

     

    CHAPTER 15. RESTful API

    IT 용어 중에 남들은 다 아는데 나만 모르고 있는 것 같은 개념이 몇 개 있다.

    그 중에 하나가 이거였다.

    REST는 representational state transfer의 약자로 분산시스템을 위한 소프트웨어 아키텍처의 한 형태를 말하며, RESTful이란 REST의 조건을 만족한다는 뜻이랜다.

     

    작년에 Java로 열심히 API 만들고 Swagger로 주구장창 테스트했는데..

    그게 바로 RESTful API였네.

    올해에는 다른 프로젝트에서 만들어진 API 테스트할 때 많이 쓰고 있다.

    다행이다.

    어디 가서 RESTful API 썼다고, 쓰고 있다고 말할 수 있어서.

     

    CHAPTER 16. HTTPS

    이 업계 일하면서 여러 번 마주쳤으나, 그 자세한 내용은 잘 몰랐던 부분에 대한 챕터다.

     

    얼마전에 HTTP를 HTTPS로 리다이렉트 시키는 데 고생을 해서..

    많이 익숙한 부분이었다.

    단어만 익숙하지 난 역시 구체적인 건 취약한데, 그에 대한 설명이 참 잘 되어 있더라.

     

    HTTPS 챕터답게 SSL, TLS 등에 대한 설명부터 시작한다.

    RSA, DHE, ECDHE 등 메시지 암호 키 교환 알고리즘 소개도 되어 있고,

    X.509, CA 등등 들어는 봤던 개념들에 대해 충실히 설명도 되어있더라.

     

    이쪽 분야 역시 이야기 나오면 움추러 드는 분야이긴 하다.

    책을 읽어도 암호 알고리즘의 내부는 모르고 인증서 오고 가는 게 눈에 안 보여서 그런가?

    아직도 나는 이에 대해 신나게 떠들 만큼의 역량은 부족하지 않나 싶다.

     

    CHAPTER 17. OAuth 2.0

    처음 리뷰할 책을 고를 때 뒷부분에 HTTPS, OAuth 2.0이 있길래 이 책으로 골랐다.

     

    예전에 프로젝트 했던 부분이 나왔네.

    근데 그 때도 제대로 공부를 안 해놔서.. 기술 부채가 쌓였나보다.

     

    챕터 말미에 JWT(JWON Web Token) 잠시 언급되는데,

    이걸 지금 프로젝트에서 쓰고 있어서인지 눈이 반짝거리게 되더라.

    역시 아는 만큼 보이는 듯.

     

    * 전체 후기

    지은이 소개를 하는데, 작가님이 7년차 C++ 개발자라고 하신다.

    헉. 내가 7년차 때 이 정도의 책을 쓸 역량이 되었던가 싶다.

    난 15년차 된 지금도 17개의 기술 중에서 나는 한 챕터도 제대로 못 쓰겠는데 대단하네.

     

    웹툰 작가 주호민 님의 군대 만화 '짬'이 생각났다.

    입대할 때부터 군대생활을 만화로 그려보자고 생각하면서 모든 것들을 기록한 덕에,

    전역하고 군대 만화를 그릴 수 있었겠지.

     

    작가님도 그런 마음으로 하나씩 하나씩 기록하다 보니

    이렇게 책도 낼 수 있지 않았을까 싶다.

    나도 지금부터라도 열심히 기록을 해둬야지.

     

    여기 있는 대부분은 어디선가 한번씩은 들어본 부분인데..

    그만큼 실무에서 쓰는 기술들이 잘 설명된 것 같다.

     

    대부분은 출근시간/퇴근시간에 버스에서 보면서 읽을 정도로 어렵지 않게 잘 풀어서 설명이 되어 있더라.

    바쁘다는 핑계로 예제로 나온 파이썬 코드는 실습해 보지 못했다.

    파이썬을 쓰는 프로젝트 하게 되면

    공부도 할 겸 이 책에 있는 예제 소스 전부다 한 번씩 실습해 보면 좋을 것 같다.

    그 이전에 혼자서 하게 되면 좋을텐데..

    닥쳐야 하는 내 성격상.. 아무래도 안 할 듯 싶다.

     

    지은이의 말 부분 보면 '언젠가 한 번 이상 사용하게 될 기술을 알고 회사에 들어가면 좋겠다고' 한다.

    그래서 주니어를 타겟으로 쓴 책인 것 같은데, 나처럼 고인물 라떼도 읽으면 좋을 것 같다.

    어쩌면 나같은 이에게 더 필요한 채찍일지도 모르겠다.

     

    이것 저것 뭔가 많이는 했는데,

    엉성하게 알고 있던 지식을 제대로 쌓을 수 있게 해줬다.

     

    사상누각에 D라서 보강 공사를 한 듯한 기분?

    점과 점을 잇은 선이 그어진 기분?

    서말 있던 구슬이 꿰어진 기분?

    을 느끼게 해준 책이었다.

    

     

  •  

    IMG_0349.jpeg

     

     

     

     

    오늘은 또 새로운 한빛미디어 책을 읽고 리뷰 해보려고 한다. 이번에 나온 책은 되게 읽고 싶은 책이었다. 개발을 하다보면 생각보다 개발에 필요한 기타 지식들이 많이 필요한데, 이런 것들은 대부분 직접 부딪히면서 배워서 되게 힘들 때가 많았고, 이런걸 어디서 가르쳐주는지도 몰랐다. 가끔씩 웹수업이나 DB 같은 수업에서 이런 것들을 엑스트라 식으로 가르쳐 줄 때가 있긴 했었다.

    암튼 이 책은 확실히 실무중심에서 적혀진 책인 것은 확실하다.

     

    IMG_0350.jpeg

     

    생각보다 내용들이 놀라웠다. 뭐 사실 Protobuf 를 다룰만한 과목은 DB정도? 이긴 할 것 같은데, 뭐 전문적으로 이런 것들을 배운다기 보다는 이론에 중심을 둔 수업들이니까 이런걸 배울 수 있다는 것에서 제한된다. 책이 얇아서 깊은 지식을 얻기에는 부족하지만 적어도 이런 기술들이 있고, 간단히 개념을 파악하고 사용하는데 무리가 없도록 하는 것에 초점을 둔 것 같다.

    IMG_0351.jpeg

     

    개발자 중심으로 적힌 책이여서 아예 개발을 잘 모르는 사람들이 읽기에는 무리가 있는데, 적어도 웹이나 앱, 게임개발을 한번쯤 제대로 해본 사람이라면 굉장히 많은 도움을 얻을 수 있는 책인 것 같다. UUID는 사실 이번에 모바일 앱 개발 수업을 들으면서 처음 알았던 개념이다. 이런걸 어디서 배우나 싶은데 이런 책이 나와줘서 참 좋은 것 같다.

    사실 이 책의 초반부는 개발 어느 분야든 공통된 내용이긴 하지만 후반에 가면 갈 수록 웹에 관련된 내용이 많이 등장한다. 그렇다고 다른 개발 분야 사람이 읽으면 아예 쓸모없는 것이 아니다. 항상 다양한 것들을 알고 있으면 도움이 되기 마련인 것 같다. 그런 의미에서 나는 또 다양한 소프트웨어 개발 지식을 넓힌 것 같다.

    * 이 책은 한빛미디어 나는 리뷰어다 이벤트로 제공받은 책입니다.

  • 파일을 읽었는데 갑자기 인코딩이 깨져서 당황스러울 때가 있었을거다. 분명히 읽혔던 파일인데 다른 장비에서 읽거나 백업해서 읽었더니 한글이 다 깨져보인다든지 코드의 주석이 다 깨져보인다든지 하는 경험을 해본 적이 있을거다.

    그래서 여러가지 방법으로 찾아보다가 그게 인코딩 문제라는 것을 깨닫게 된다. 또 세부적인 인코딩의 차이점이 무엇인지 인코딩을 설정해서 파일을 읽어오긴 했는데 다른 사람에게 전송했더니 인코딩이 깨진다는 얘길 듣기도 했을거다.

    책의 제목대로 학교에서 알려주지 않는 실무 개발기술에 대해 잘 정리가 되어 있다.

    이 책의 코드는 파이썬으로 되어 있지만 어떤 언어를 사용하든 공통적으로 마주칠 수 있는 문제라 다른 언어를 사용하고 있더라도 무리 없이 읽을 수 있는 책이다.

    코드도 깃헙에 공개가 되어 있다.

    https://github.com/sorrowhill/17techs

    코드나 파일은 거의 UTF-8을 사용하지만 다른 경로로 받은 파일은 인코딩 때문에 열리지 않는 경우가 종종 있다. 또 DB에 저장된 인코딩과 코드에서 불러오는 인코딩이 다 달라서 이런 설정을 맞춰야지 어렵게 인코딩 문제를 해결한적도 있는데 인코딩에 대한 기본지식이 없다면 인코딩을 맞추는데 애를 먹을 수 있을거다.

    이 책은 내가 업무에서 만났던 어려웠던 점들을 잘 집어 설명하고 있다. 다국어 처리 같은 경우에도 해당 업무를 해보고 이해할 수 있었다. 업무에서 마주쳐서 직접 구글링을 하며 어려움을 겪었던 기억이 떠올랐다. 이런 꿀팁들이 이 책에는 잘 정리가 되어 있다.

    타임스탬프로 시간을 처리하는 문제라든지 왜 시간을 불러왔는데 1970년 1월 1일 인지 그리고 원하는 패턴을 찾기 위해 정규표현식을 활용한다든지 여러 파일의 포맷이라든지 JSON, XML, YAML 의 차이점은 무엇이고 장단점은 무엇인지 이 책에서 친절하게 정리해서 설명해 주고 있다.

    대부분 현업에서 꼭 필요한 내용인데 학교에서 가르쳐주지 않아 현업에서 삽질과 구글링으로 많은 시간을 보내게 되는 문제들을 너무 잘 정리해 놓았다.

    출간 전부터 읽어보고 싶었는데 기회가 되어 처음부터 끝까지 너무 재미있게 읽었다. 이제 막 개발을 시작한 사람이라면 고민하지 않고 사용했던 실무 팁을 익힐 수 있고 또 경험이 많은 개발자는 친절한 언어로 정리할 수 있는 책일거 같다.

  • 이번에 신청한 책은 학교에서 알려주지 않는 17가지 실무 개발 기술이라는 책입니다.

     

    KakaoTalk_Photo_2020-05-31-16-34-59.jpeg

     

     

    지금은 주니어는 아니지만 요즘 주니어일 때는 핵심적으로 알아야 할 기술들이 어떤 것이 있을까?

     

    좀 더 알아보고 싶어서 이렇게 신청하였습니다.

     

    그리고 오히려 시니어분들한테도 좋을 것 같아요. 가이드를 제시하기 위해 개념을 다시 한번 익히기도 좋은 책 같습니다.

     

    기본적으로 책은 3가지 파트로 나뉘어있습니다.

     

    소프트웨어를 지탱하는 기술, 데이터 처리 기술, 웹을 지탱하는 기술로 나뉘어있습니다.

     

    내용의 소스 코드는 주로 파이선으로 되어 있어서 요즘은 파이선 언어를 많이 쓰니 예제만 보셔도

     

    이해가 많이 가실 겁니다.

     

    현업에서 일하고 있는 저도 책을 읽으면서 다시 한번 용어 관련해서 다시 머릿속에 넣기 좋았고

     

    또한 책 구성이 기본적으로 이해하기 쉽게 도표와 그림으로 이해를 돕게 하고 있어서

     

    좋았던 거 같습니다.

     

    저는 간만에 문자열 인코딩 쪽이랑 날짜와 시간 및 다국어 처리 내용을 다시 한번 읽어보니

     

    쉽게 정리가 되어 있어서 좋았던 거 같아요

     

    그리고 최근에 프로토콜 버퍼라던지 관심이 있었는데 책에도 내용이 있어서 좋았던 거 같고요

     

    특히 파트3인 웹을 지탱하는 기술에서 HTTP, Restful API랑 HTTPS, OAuth 2.0은 현업에서도 계속 쓰이고 있는 기술이니 특히 아파트는 꼭 읽어보셨으면 좋겠습니다.

     

    제가 주니어일 때 이런 책이 나왔으면 더 좋았을 것 같은데 요즘에는 기술 익히기에 좋은 세상이니

     

    이 책을 작성해 주신 작가님과 한빛미디어 관계자분들께 감사의 말씀을 드립니다~!

  • 공부를 처음 시작할 때 부터 지금까지,  개발에 관한 모르는 용어나 기술은 줄어들지 않고 있다. (오히려 계속 늘어가고 있는 실정이다.) 

     

    보통 무언가 작업을 하다가 모르는 내용이 나와서 막히면 구글신의 은혜를 입기 위해 크롬을 키기 마련이다. 다만, 제대로 정리된 내용을 찾아내고 그걸 또 이해하는 것은 온전히 나의 몫이다.

     

    더욱이 시작한지 얼마 안된 상태에서는 무엇을 먼저 찾아야 할지도 모르는 경우가 수두룩 하다.  그래서 간단하게 나마 여러가지 기술을 소개 하는 책에 대한 요구가 있어 왔고 이미 그런 책들을 많이 보아 왔다.

     

    “학교에서 알려주지 않는 17가지 실무 개발 기술” 은 실제로 실무에서 사용 하는 여러가지 기술에 대한 내용을 소프웨어를 지탱하는 기술, 데이터 처리 기술, 웹을 지탱하는 기술 이라는 3가지 파트로 나누어 17가지의 기술을 설명 하고 있다.

     

    기술에 대한 레퍼런스 북이 아니라, 소개서나 입문서의 포지션을 지니고 있기 때문에 자세한 내용은 설명하지 않는 것도 많이 있지만, 설명 자체가 군더더기 없고 깔끔해서 읽으면서 딱히 막히는 부분이 없었다.

     

    그리고 요즘 많이 사용 하고 있는 파이썬 언어로 간단한 예제를 작성하여 보여주기 때문에 때론 뜬구름 잡기가 될 수 있는 부분에 대한 설명도 구체적으로 보여 주고 있다. (책을 읽으면서 각자 사용하는 언어별 예제를 작성해 보는 것도 재미있을 듯 하다.)

     

    기본이 되는 기술들에 대한 개략적인 이해를 배우고, 사용하는 언어별로 내용에 대항하는 라이브러리나 기술 등을 찾아서 공부 하는 로드맵을 스스로 그리다 보면, 개발 실력이 어느순간인가 일취월장 해질 것으로 기대 된다.

     

    신입 사원이 들어 온다면 꼭 한권 선물하고 싶은 책이다.

     

  • KakaoTalk_20200531_102525760.jpg

     

    표지는 또 진짜 안예쁘다

    학교에서 잘 다루지 않지만(과목으로 새로 만들기가 애매하거나, 컴퓨터 공학적으로 크게 중요하다고 교수님이 생각하는 부분) 분명히 실무에서는 많이 쓰이는 주제들이 있다.

    이 책에서는 그러한 내용들을 다루고 있고, 나도 실제 게임제작에서 UTF8 인코딩, 난수, JSON, 정규표현식, RESTful API 등을 사용하는 입장에서 이러한 서적이 굉장히 재미있게 다가왔다.

    물론 이 책에서 다루는 내용이 어디에서도 구할 수 없고, 정말 컴퓨터 공학을 하는데 있어서 필수적인가라는 생각은 하지 않는다. 하지만 검색으로만은 해결되지 않는 그 정보가 어디에 있는지도 모르는 상황을 이 책은 다소 해결해줄 수 있다.

    KakaoTalk_20200531_102525760_01.jpg왜 어떤 인코딩에서는 한글이 3바이트고 어떤 인코딩에서는 이모지가 안보이는지 알겠다

    나는 텍스트 인코딩 방식에 관련된 부분에서 도움을 개인적으로 많이 받았는데, 비전공자 출신 개발자로서 그동안 엔디언이 뭔지, UTF-8이 뭔지 16이 뭔지에 대해 전혀 알고있지 않았다. 그래서 인코딩이 이상하게 됐을 때도 왜이럴까 싶은 채로 문제를 해결하기 어려워했다.

    하지만 이 책에서 자세하게 설명되어 있는 내용을 보고, UTF-8, UTF-16, Euc-kr의 대표적인 논리를 이해하면서 텍스트 인코딩에 대한 자신감을 얻기도 했다.

    또한 뒷부분에 나와있는 http와 관련된 부분은 tcp기반의 통신에 대한 설명도 되어서 개발하고있는 C# 서버에서도 도움을 받을 것 같다고 생각했다.

    이 책은 전자책으로도 상당히 가치가 있을 것 같다고 생각했고, 옆에다가 딱 화면 띄워놓고 개발하기에도 나쁘지 않다고 생각했다.

    다만 조금 더 다양한 기술에 대한 설명이 있었으면 했다. 학교에서는 깃도 알려주지 않고, AWS도 안알려주지 않는가. 어차피 파보면 깊은 기술들이 많아서 단순하게 인스턴스 생성하는 수준까지 보여주고 서버 / 클라이언트 프로그램 정도 구동만 보여줘도 괜찮을 거라고 생각했다. 그냥 개인적 의견이다.

     

    KakaoTalk_20200531_102525760_02.jpg

    가끔 찾아볼 일이 있을 것 같은 책이다.

    * 본 리뷰는 한빛미디어에서 서적을 제공받아 작성되었으며, 원고료 등은 일체 지급되지 않고 객관적으로 리뷰를 남긴 것입니다.

    화면이 돌아가보이는 것은 한빛미디어홈페이지 잘못입니다. 이미지 돌아가는 기능도 없게 만든 쪽이 잘못이죠.

  • i18n, 서머타임, UUID, RSA, HTTPS, OAuth2, YAML 등의 실제 서비스 개발에 꼭 필요한 친구들을 잘 설명해 주고 있습니다.

     

    토이 프로젝트에서는 해당 단어들을 사용하기가 쉽지 않은데, 이 책으로 간접 경험 하는게 나쁘지 않아 보입니다ㅎㅎ~

  • 대학을 졸업한지도 어느덧 4년, 그 말은 개발자로 일하기 시작한 지도 어느덧 4년이라는 뜻이 되네요.

    컴퓨터공학부에서 웬만한 전공수업은 다 듣고 졸업하였지만 이 책을 보면서 학생 때 이런 걸 배웠었나? 싶은 것들도 많았습니다.( 그래서 학교에서 알려주지 않는 17가지 실무 개발 기술이라는 제목이겠지요? )

    17가지 전부를 가르쳐주는 학교도 적겠지만 17가지 중에 1가지도 가르쳐주지 않는 학교도 없을 거라 봅니다.

    그만큼 개발자로서 현업에서 실무를 수행하는데 필요한 기술들이기 때문이지요.

    어떤 기술들이 있는지 쓱 보면서 제 생각을 가볍게 끄적여 봅니다.


    소프트웨어를 지탱하는 기술 7선

    1. 문자열 인코딩: 요즘엔 대부분 UTF-8을 사용하지요?
    2. 다국어 처리: 글로벌 시대에 필수라고 봅니다.
    3. 날짜와 시간: 로그 기록할 때 처음 접해봤네요.
    4. 정규 표현식: 입력값 처리할 때 중요하죠!
    5. 범용 고유 식별자: 이 책에서 알게 되었습니다. 말 그대로 고유한 식별자.
    6. 유사 난수: 난수면 난수지 웬 유사 난수?라고 생각했지만 그 이유가 있었죠.( 책을 봅시다! )
    7. 해쉬 함수: 라이선스 키를 생성할 때 처음 접해봤네요.


    데이터 처리 기술 6선

    1. JSON: 정말 많이 쓰이는 데이터 포맷
    2. YAML: 이 책에서 알게 되었는데 왜 이런 것들이 자꾸 생기나 했는데 이유가 있었죠.( 책을 봅시다! )
    3. XML: JSON에 의해서 설자리를 많이 잃었지만 그래도 많이 쓰이죠
    4. 프로토콜 버퍼: 구글 갓
    5. Base64: 영상, 이미지 등등 텍스트가 아닌 데이터들을 처리하기 위해 사용된다는군요. 처음 알게 되었습니다.
    6. 데이터 압축(zlib): 학생 때 과제가 생각났던.. 허프만 아저씨도 생각났던..


    웹을 지탱하는 기술 4선

    1. HTTP: HTTPS를 씁시다.
    2. RESTful API: 설계의 중요성
    3. HTTPS: 보안의 중요성
    4. OAuth 2.0: 얘는 많이 들어봤는데 아직 써본 적은 없네요..

    필자는 윈도우 응용프로그램 개발자였다.

    그럼에도 불구하고 이 책에서 알려주는 기술들을 실무에서 접하게 되었으며 그만큼 핵심적인 기술들이란 이야기.

    오픈소스를 사용해보면서 알게 된 기술들도 있는데 이것 또한 그만큼 책에서 알려주는 기술들이 중요하단 이야기.

    결과적으로 어찌 되었든 개발자로서 세상의 문제를 해결하고자 한다면 알아야 할 기술들이란 이야기.


    그래서 이 책이 어떻다는 건데?

    기술을 17가지나 소개하지만 책은 300페이지 정도밖에 안된다.

    그 말은 즉슨 최대한 핵심적인 개념사용하는 이유어디에 쓰이는지무엇을 고려해야 하는지 등등 꼭 알아야 될 포인트들만 콕콕 집어서 이야기해준다.

    가끔 깨알 같은 팁들은 저자의 세심함을 보여주는데 개인적으로 크게 공감하는 이야기가 많았다.( 그만큼 도움이 된다는 이야기 )

    취준생이라면 상식을 쌓는다는 느낌으로, 실무자라면 한 번쯤 복습하는 느낌으로 읽어보길 권합니다.

  • 학교에서뿐만 아니라 회사에서도 누가 알려주기 힘든 개발 기술들을 엮어 놓은 책이다.

     

    책은 문자열 인코딩, 다국어 처리, 날짜와 시간, 정규 표현식, 범용 고유 식별자, 난수, 해시 함수, JSON, YAML, XML, 프로토콜 버퍼, Base64, 데이터 압축(zlib), HTTP, RESTful API, HTTPS, OAuth 2.0에 대한 주제로 10~20페이지 내외로 구성되어 있고 각 기술별 이론과 특징, 왜 사용하는지, 그리고 간단한 사용 예로 구성되어 있다. 참고로 사용 예는 모두 파이썬 코드다.

     

    평소에 잘 알고 쓰는 기술들도 있고, 듣기는 했지만 책을 읽으며 '아, 이런 거였구나.'라고 알게 된 기술들도 있다.

    저자가 서문에서 이야기한 대로 알아두면 언젠가는 한번 사용하게 되거나 문제로 맞게 될 것들이라 생각된다.

     

    "이 책에서 소개하는 기술을 모두 사용해보거나 외울 필요는 없습니다. 이러한 기술들이 있다는 것만 기억하면 됩니다."

     

    한 권의 책으로 내기에는 각각 하나의 주제들의 분량이 많지 않고, 그렇다고 여기저기 검색하면서 찾고 참조하기에는 쉽지 않은 주제들을 잘 설명해 놓았다.

     

    너무나 당연하게(아무 생각 없이 쉼 쉬며 사는 것처럼) 여겨지고 사용되는 기술들이지만, 무언가 문제가 발생하면 그제서야 이 기술이 무엇이고 왜 이런 일이 발생했고 어떻게 해결해야 하는지 찾아 헤매야 하는 것들을 어떻게 이렇게 잘 모을 생각을 했을까 하는 생각으로 책을 읽었다. 요소마다 무릎을 탁 치게 만드는 책이다.

     

    인코딩 하나만 하더라도 문제없을 때는 아무런 것도 하지 않아도 되지만, 한번 꼬이기 시작하면, 웹페이지를 편집한 편집기 설정과 저장 속성, 웹서버 설정, DB 인코딩 설정까지 다 짚어보는 과정을 거쳐야 겨우 해결될 때가 있다.

    그럴 때는 파일, 서버, DB 간 인코딩이 왜 깨지는지, 어디가 문제인지, 어느 인코딩으로 통일시켜야 하는지 등을 고민해야 하는데 그럴 때 이 책을 한번 훑어보고 해결에 들어간다면 도움이 되지 않을까 싶다.

     

    실제 나도 얼마 전 정규표현식 하나 만들어야 하는 일이 있어서 반나절 정도 이 사이트 저 블로그 돌아다니며 결국 완성했는데, 이 책을 좀 더 빨리 만났다면 그렇게 고생할 일이 없었을 것 같다.

     

    저자 경력 연차가 꽤 될 거라 생각했는데, 이제 7년차라고 하니 앞으로 많은 발전과 성장이 기대된다.

  • 어차피 회사에서 실무로 몇 년 굴러먹기까지는 다 거기서 거기랍니다.

    어쩌면 입사한지 몇 년되었다고 해도 규모있는 프로젝트를 접하지 않았다면, 새로 입사하는 그들하고도 별반 다르지 않습니다.

    그래서 언제든지 투입될 수 있게 미리 미리 준비하느냐가 중요합니다.

    그래서 가끔씩 선배들이 던져주는 과제들 속에서 기본적인 실수들은 만회하기가 어렵답니다.

    그리고 과제나 프로젝트들의 문제가 생겼을때 보통은 기본적인 실수가 많기에 그런것들을 캐치한다면 사뭇 달라보일 수 밖에 없습니다.

    크그림이나 전체적인 관점에서 보는 선배들하고는 조금 다른 어프로치가 더 적합해 보입니다.

    그럼 어떻게 무엇을 그런 거대한 질문들만 남습니다.

     

    그런 측면에서 최근에 책 한권에 눈에 들어옵니다.

    제목도 세련되었고, 구성, 그리고 실제 목차내용도 솔깃합니다. 

    그래서 신입이든 오래된 중간관리자든 집에서 티내지 않고 몰래보는 책으로 추천드립니다.

     

    한빛미디어 사이트 큰 장점은 미리보기가 참 좋다는 것입니다.

    미리보기로 맛보고 구매결정이 가능하답니다.

    https://preview2.hanbit.co.kr/books/nayi/

    12.png

     

    11.png

     

    문자열 인코딩

    33.png

     

    Base64를 사용하는 이유

    29.jpg

    REST란

    28.jpg

    TCP와 HTTP26.jpg

     

    27.jpg

    17가지 실무 개발 기술

    25.jpg

     

    24.jpg

    빠르게 성장하는 개발자가 되려면

    23.jpg

     

    22.jpg

     

     

  •  

    책에서 다루는 주요 내용은 다음과 같습니다.

     

    소프트웨어 기술
    문자열 인코딩, 난수, 범용 고유 식별자, 다국어 처리, 해시 함수, 날짜와 시간, 정규 표현식
    데이터 처리 기술
    JSON, YAML, XML, Base64, 프로토콜 버퍼, 데이터 압축
    웹 기술
    HTTP, HTTPS, RESTful API, OAuth 2.0

     

    이 책은 학교에서 알려주진 않지만 실무에서는 필요한 지식들을 전해주기 위해서 집필된 책입니다. 실무에서는 아주 다양한 기술들이 사용됩니다. 쉽게 프로그램이라고 하지만 사람마다 프로젝트마다 사용되는 기술들이 다르다 보니 신입은 헤매기 마련입니다.

     

    책을 읽으면서 신입 개발자의 관점에서 보면 좋을 내용들이면서 비개발직군이지만 개발적인 이해를 필요로 하는 마크업 엔지니어나 디자이너, 기획자들도 접하면 좋을 것 같습니다. 전체적으로 읽는 데 있어 어려움은 없는 편이었습니다. 개발 기술에 대해 궁금할 경우, 개념에 대한 설명이 필요한 경우 읽어 본다면 방향을 잡는데 도움을 받을 수 있을 것 같습니다.

     

     

     

     

    조금만 검색해 보면 알 수 있지만 책에서 다루어지고 있는 내용에 따라선 한 권으로 다루어지는 내용도 있습니다. 그만큼 책 한 권에 17가지에 달하는 기술들을 다루고 있기 때문에 깊이 있게 들어가지는 못하는 부분도 있습니다.

     

     

     

    초급 개발자의 입장을 고려해서 집필된 책이지만, 비개발자인 사람에게도 도움이 되는 내용들로 구성되어 있으니 시간을 들여 읽어 둘 가치가 있다고 생각됩니다.

     

     

  •  

    KakaoTalk_20200529_160730956.jpg

     

    제목부터 끌렸다.

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

    책에서 소개해주는 17가지란 다음과 같다.

    1.문자열 인코딩, 2.다국어 처리, 3.날짜와 시간, 4.정규 표현식, 5.범용 고유 식별자, 6.난수, 7.해시 함수,

    8.JSON, 9.YAML, 10.XML, 11.프로토콜 버퍼, 12.Base64, 13.데이터 압축(zlib) 14.HTTP,

    15.RESTful API, 16.HTTPS, 17.OAuth 2.0

    책은 17가지 기술을 크게 3파트로 나누어서 소개한다. 소프트웨어 기술, 데이터 처리 기술, 웹 기술 이렇게 3파트 이다. 소프트웨어 기술은 말 그대로 소프트웨어 전반에 걸쳐 쓰는 기술이다. 학교에서 단순하게 입출력만 다루었다면 실무에서는 사용자 컴퓨터에 맞게끔 문자열을 다루어야 하므로 중요한 기술들이다. 난수 파트는 학교에서 가르쳐주는 내용과 큰 차이가 없다고 생각한다. 책에서 다루고 있는 개념들은 프로그래머로써 살아가기 위해 반드시 알아야되는 기본 개념들이다.

    아쉬운 점은 프로그래밍 기본 개념서와 별다른 차이점이 없다. 사실상 프로그래밍 언어 책에 부록으로 실무에서는 이런 개념들이 자주 쓰이니 꼭 알아두자! 이런 느낌이다. 프로그래밍 언어 개념서를 보면 대부분이 다음과 같이 진행된다.

    이 언어에는 이런 기능(함수)들이 있습니다.

    main 함수에서 이러이러 어렇게 사용하면 됩니다. 쉽죠?!

    자 다시 리셋시키고 다음 기능을 보겠습니다.(1번으로)

    이 책도 마찬가지다. 실무에서 이런 개념들이 자주 쓰입니다. 이거는 파이썬으로 이렇게 쓰면 되요. 끝

    저자소개란에 C++ 개발자라고 적혀있는데 책에서 사용하는 언어는 파이썬이다. 아마 파이썬 사용자들이 많으니 독자층을 고려하여 선택한 것 같으며 기본 개념을 설명하는 것이니 굳이 C++로 할 필요는 없어서 파이썬을 선택한 것으로 보인다. C++ 개발 희망자로써 조금 아쉬운 부분이였다.

     

  • > 진행에 앞서

    타이틀 정말 길다.

    이 책의 첫 느낌이었다.

     

    그리고 어딘가 상당히 초보적인 내용과 뻔한 내용이 들어있을 것 같은 불안감이 있었다.

     

    결론을 미리 이야기하자면, 어느정도는 맞고 어느정도는 아니었다.

    사실 실무에서 도움이 되는 내용이기에, 현직 개발자 입장에서 보자면 당연하게도 뻔한 내용이었지만, 실무에 도움이 되는 내용임에는 틀림이 없었다. 그리고 그 내용은 구체적이기도 해서, 실제 책 제목에 부합하는 내용이었다.

     

     

    > 책에 대한 간단한 정보

    책의 표지

    일단 이 책은 2020년 4월 16일 초판 발행한 책이다.

    어딘가 복잡하게만 돌아가는 느낌으로 표지 구성이 되어있으며, 17을 강조하였다. 왜 하필 17일까. 딱 떨어진 숫자를 많이들 사용할텐데, 개인적으로는 소수(Prime number)의 느낌이 들었으나, 이건 개인적인 느낌일 뿐이다.

    개발자라면 대부분이 알아야 할 내용, 하지만 학교에서는 대놓고 가르치지 않는 지식을 가르치고 있다는 느낌을 받았다.

    그래도 어떤 내용이 들어있는지는 매우 궁금하였던 것이 사실이다.

     

    > 목차

    목차는 곧 이 책에서 말하고자 하는 17개의 항목과도 같다.

     

    [소프트웨어를 지탱하는 기술]

    문자열 인코딩, 다국어 처리, 날짜와 시간, 정규 표현식, 범용 고유 식별자, 난수, 해시 함수

    [데이터 처리 기술]

    JSON, YAML, XML, 프로토콜 버퍼, Base64, 데이터 압축(zlib)

    [웹을 지탱하는 기술]

    HTTP, RESTful API, HTTPS, OAuth 2.0

     

    위와 같은 항목으로 나열되어 있으며, 분류에 대해서는 대충 느낌이 올 수 있었다.

     

    문자열 인코딩에 대한 소제목을 보면 알 수 있듯이, 뻔한 내용일 수 있겠지만, 그래도 우리가 실무에서 접하면 필요한 내용을 담았다는 사실을 알 수 있다.

     

    > 인상깊은 부분들

    각 기술을 설명할 때, 사수가 부사수에게 설명한다는 느낌이 들었다.

    그래서 뻔할 수 있다는 생각이 들었나보다.

    각 개념에 대해 이론을 설명한 뒤, 그에 관한 실습을 실었다. 물론 기준이 파이썬이기 때문에 실제로 와 닿지는 않을 수 있으나, 의사코드(PSUDO CODE) 정도의 느낌으로 접하면 그리 또 어렵지만은 않다.

    개발자로서 첫발을 디디는 신입이라면, 이 책이 매우 도움이 될 것으로 보인다.

    특히 어떠한 환경상 자신을 전담하는 선임이 존재하지 않거나 그 도움을 받기 어려운 환경이라면 이 책이 어느정도는 그역할을 대신할 수도 있을 것이다. 전반적인 느낌에 해당하지만, 참 인상적인 부분이다.

     

    > 괜찮은 부분

    - 첨삭지도 해주는 느낌으로 접근하는 책이기에 친절하다.

    - 타겟이 분명해서 이 책을 필요로 하는 사람에게는 큰 도움이 될 것이다. 혹은 두고두고 볼 수 있는 부분도 존재한다.

    - C++개발자가 작성한 책이지만, 파이썬으로 예제를 수록함으로 쉽게 예제에 접근할 수 있도록 잘 선택하였다고 본다.

    - 각 개념에 대한 설명이 풍부하며, 실무에 매우 가깝게 느껴진다.

     

    > 아쉬운 부분

    - 2020년 4월이면, 최신 트렌드 기준으로 좀 더 회자되는 기술 중심으로 더 다뤘으면 좋지 않았을까(가령 클라우드에 필요한 개념들이라든가, Front-end, Back-end에 대한 스택 이야기 등)

    - 웹과 일반적인 데이터 처리 기준으로 작성된 책이지만, 쉽게 배우기 어려운 용어에 대해서도 다뤘으면 좋았을 것 같다.

     

    > 개인적인 평점

    - 가격: 7 / 10

    - 내용: 8 / 10

    - 디자인: 5 / 10

    - 구성: 8 / 10

     

    > 정보

    저자: 이기곤

    출판사: 한빛미디어

    가격: 20,000원

    전체 페이지: 308페이지

     

    ** 이 리뷰는 "한빛미디어"를 통해 도서를 제공받아 작성하였습니다.

  • IMG_6374.JPG

     

    이 책의 목차를 처음 봤을 때, 과거에 경험했던 어려움들이 생각났습니다.

     

    제가 일했던 분야는 수출을 많이 했습니다. 그래서 다국어가 중요했고 Day Light Saving이 적용되는

    시간대의 지역이 많았습니다.

     

    그럴 때 마다 서버를 담당했던 엔지니어와 (저는 그때 클라이언트 담당이었습니다.) 문자열의 인코딩 타입을 계속 맞추고

    시간이 왜 서로 안맞는지에 대해 계속 논의했던 기억이 납니다.

    또한 시큐리티 이슈로 HTTPS와 OAuth2.0를 개념조차 몰랐던 상태에서 실제 어플리케이션에 구현 하기 위해 고생했던 기억이 납니다.

     

    목차를 통해 이 책에서 다루는 기술을 보면 실제 실무에서 많이 사용하는 내용들입니다. 

     

    - 다국어

    - 날짜와 시간

    - 정규식

    - 고유 식별자 

    - 해시함수

    - JSON, XML, YML

    - 프로토콜 버퍼 

    - Restful API

    - HTTPS

    - OAuth2.0

     

    등 이런 기술이 있다는 것은 알고 있으면 개발을 할때 상당히 도움이 될 것입니다.

     

    이 책의 저자가 책의 서두에서 말한 것 처럼 이 모든 것을 다 기억할 필요도 없고 기억할 수도 없습니다.

    또한, 이 기술들은 인터넷에 자세하게 설명되어 있습니다. 

    그러나 어떤 기술들이 있는지 대략적으로 알고 있는 상태에서 접근하는 것과 아무것도 모르는 상태에서 찾는 것과는

    천지 차이 입니다.

     

     

    이 책은 제목 처럼 이런 내용은 학교에서 알려주지 않고 실제 실무에서 겪을 수 있는 또는 알고 있으면 좋을 내용들로

    채워진 책입니다. 

     

    개발을 막 시작한 개발자에게 추천하고 싶은 책입니다.

  •  

    1.인트로 - 

    최근에 컴퓨터 공학이 대세 학과롤 떠오르면서 많은 사람들이 컴퓨터를 공부하기 시작했다. 조기 코딩교육은 물론 관심도가 많아지고 무한한 가능성이 펼쳐져 있다고 생각한다. 하지만 학교나 학원에서 배우는 것은 기본적인 것과 어떻게 시험을 통과해야하는지에 초점이 맞춰져 있다. 그 누구도 실무개발 기술에대해서는 직장에서 사수에게 배우기 전까지 알려주지 않는다. 하지만 이책은 그런 내용에 초점을 맞췄다.

     

    2.메인 내용 - 

    Chapter 01 : 문자열 인코딩

    Chapter 02 : 다국어 처리

    Chapter 03 : 날짜와 시간

    Chapter 04 : 정규 표현식

    Chapter 05 : 범용 고유 식별자

    Chapter 06 : 난수

    Chapter 07 : 해시함수

    Chapter 08 : JSON

    Chapter 09 : YAML

    Chapter 10 : XML

    Chapter 11 : 프로토콜 버퍼

    Chapter 12 : Base64

    Chapter 13 : 데이터 압축

    Chapter 14 : HTTP

    Chapter 15 : RESTful API

    Chapter 16 : HTTPS

    Chapter 17 : OAuth2.0

     

    기본적으로 제목에 나와있듯이 17가지의 실무기술을 설명해준다. 내용은 실전 개발 능력이라서 그런지 꽤나 어려운 편이였다. 하지만 어떻게 하면 좀 더 편리하고 좋은 알고리즘으로 개발을 할 수 있는지에 초점이 맞춰져 있다. 대부분의 기술들을 들어보지 못했었고 코드의 내용도 쉽게 이해하기는 힘들었다. 하지만 일단 이해가 되면 이런 새로운 방법이 있고 실전에서는 어떻게 하는지 잘 알게 된 것 같다.

     

    3.마무리 - 

    확실히 초급자 수준이 아닌 이제 취업을 앞둔사람들이나 실무에서 개발하는 사람들을 위해 만들어진 책인 것 같다. 언제나 배울점은 있고 부족한건 많다. 이 책을 통해 실무 경험에 좀더 새로운 공부를 해보는 것은 어떨까?

  • 한빛미디어 리뷰어로 선정되고 세번째 활동 도서 목록에 다소 재미난 제목의 책을 발견했다.

     

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

     

     

    제목만 봐도 이쪽을 공부하는 학생 또는 신입급 개발자 또는 이제 막 초급 개발자를 넘어선 대리급 개발자들이 보면 좋을 것 같다는 느낌이 물씬 난다.

     

    이 책은 IT업계에 종사하는 사람들이 알면 좋을만한 17가지의 주제에 대해서 정리가 되어 있다. 목차를 보면 고개가 절로 끄덕끄덕 해진다.

     

    실무에서 개념과 원리를 알고 있으면 좋기는 한데 막상 겪어보지 않으면 딱히 따로 시간을 내서 공부하거나 하기에는 사전에 알아서 챙기기에 애매한 내용들...

     

    수많은 개발서에 어디 속 시원하게 정리되어 있거나 하지는 않고... 간단하게 언급되는 정도?

     

    학교에서는 이런것까지 가르쳐주지는 않고, 실무에서는 당연히 알고 있는 것 아닌가 하는... 일종의 그레이존에 있는 개념들 17가지를 잘 정리해놨다.

     

    단순히 이게 이런거에요 설명하기 보다...

    해당 기술이 어떻게 활용하는지 -> 코드로 직접 돌려보고 -> 현업에서의 노하우도 양념으로 곁들이며 -> 함께 살펴보면 좋은 것들 순으로 각 장이 짜임세 있게 구성되어 있다.

     

    예제들은 요즘 대세인 파이썬으로 기술되어 있다.

     

     

     

    꼭 IT 뿐만 아니라 다양한 분야에서 다양한 종류의 초급입문서 / 중급 활용서들이 많은데 그 어딘가에도 속시원하게 설명되어 있는 것이 아닌 것들이거나... 실무에 종종 알고 있으면 좋은데 누구도 애써 정리하지 않는 것들... 현업노하우 등이 있을 수 있는데... 과하지 않는 범위내에서 일종의 옴니버스식 구성으로 쏙쏙 모아 정리하는 이런 활용서도 구성도 괜찮다는 생각을 해본다.

     

    대학교 3~4학년 내지 초급개발자들이 꼭 한번 가볍게 읽어봤으면 하는 책... 

     

     

    ※ 본 리뷰는 IT 현업개발자로서 한빛미디어 리뷰어로 출판사로부터 제공받아 읽고 작성한 글입니다.

     

  • 목차

    [1부 소프트웨어를 지탱하는 기술]

    1장 문자열 인코딩

    2장 다국어 처리

    3장 날짜와 시간

    4장 정규 표현식

    5장 범용 고유 식별자

    6장 난수

    7장 해시 함수

    [2부 데이터 처리 기술]

    8장 JSON

    9장 YAML

    10장 XML

    11장 프로토콜 버퍼

    12장 Base64

    13장 데이터 압축(zlib)

    [3부 웹을 지탱하는 기술]

    14장 HTTP

    15장 RESTful API

    16장 HTTPS

    17장 OAuth 2.0

    이 책의 특징으로는

    1. 실무에서 쓰이는 17가지 기술(소프트웨어를 지탱하는 기술, 데이터 처리 기술, 웹을 지탱하는 기술)을 한 권에 담았다.

    2. 기술을 '어떻게' 사용하는지 소개한다.

    3. 간단하면서 실용적인 파이썬 코드를 제공한다.

    4. 저자의 노하우를 공유한다.

    5. 각 장 별 내용 요약 및 핵심 내용을 제공한다.

    추천대상

    1. 입사를 앞둔 신입 개발자

    2. 개발자를 꿈꾸는 모든 학생

    3. 실무에서 자주 쓰이는 기초 기술이 궁금한 주니어 개발자

    학교 교육과 실무와의 괴리감을 없애고자 하는 분들께 이 책을 추천드립니다.

    리뷰어클럽 서평단 자격으로 작성한 리뷰입니다.

  •  

    저는 요즘 학교에서 무엇을 가르쳐 주는지 잘 모릅니다.

    학교를 졸업한지 정말 꽤 오래 되었거든요~

    그래서 학교에 다닐때는 이 책에서 만나는 기술들의 몇몇을 제외하고는 있지도 않은 기술이었기에 당연히 교육을 받지 못했던것은 사실이네요.

    하지만 제가 실무를 하면서 많이 막혔던 부분들~

    어떤때는 한 문제에 막혀서 몇일을 부딪혀서 해결했던 문제들~

    특히나 다른 시스템과 연동할때의 문제들은 지금도 항상 두려움에 맞닥뜨리게 됩니다.

    실제로 실무에 투입이 되면 프로젝트를 수행하면서 다른 프로그램들과 연동을 해야 할일이 많은데 실제로 요즘 IT 업무는 협업이 대세이기 때문에 서로 다른 시스템과의 연동은 필수 불가결의 요소 입니다.

    이 책은 실무에서 연동할때 꼭 필요한 정보들을 알려 주고 있습니다.

    [1부 소프트웨어를 지탱하는 기술]

    1부에서는 문자열 인코딩,다국어처리,날짜와시간,정규표현식 등 소프트웨어의 기본이 되는 기술에 대해 설명해 주고 있는데요.

    문자열 인코딩 부분이 특별하게 문제 될것 같지 않지만 다른 시스템과의 연동에서는 서로 다른 인코딩에 따라 잘 못 이해 하는 경우에 연동이 되지 않아서 몇일씩 걸리는 경우가 있거든요. 다국어 처리 같은 경우는 여러 국가에 시스템을 납품하는 경우라면 한가지 프로그램을 가지고 언어를 처리하는 기술등에 대한 부분도 기술이 되어 있구요.

    [2부 데이터 처리 기술]

    2부 데이터 처리 기술에서는 요즘 데이터를 연동하기 위해 주고 받는 프로토콜에 대해서 설명을 하고 있습니다.

    JSON,YAML,XML 과 같이 데이터 구조와 메시지를 읽고 만드는 방법 등에 대한 설명에 대해서 나와 있습니다.

    실제로 저도 XML 이 처음 나왔을때는 XML 에 관한 책이 1000페이지가 넘게 두꺼운 책을 구매 했지만 결국은 읽다가 포기 했었는데요.

    데이터를 처리 하기 위해서는 XML 의 역사 부터 모든 것을 알 필요 없이 그냥 구조와 데이터 파싱하는 방법 만드는 방법에 대해서만 알고 있으면 데이터 처리하는데는 무리가 없었는데 1000 페이지 넘는 두꺼운 책을 보면서 두려움을 느꼈던 적이 있었네요.

    여기서는 실제로 다루어야 할 부분 실무에서 필요한 부분들에 대해서만 다루고 있기에 프로그램을 배우시고 실무에 접근하시는 분들에게는 유용한 분야가 아닌가 싶네요.

    [3부 웹을 지탱하는 기술]

    3부에서는 웹을 지탱하는 기술에 대해서 다루고 있는데요.

    저는 실무경험이 응용 프로그래밍 분야이기에 웹을 가지고 만드는 것은 별로 좋아 하지는 않습니다.

    HTML 을 가지고 화면을 하나 구현하려고 해도 너무 많은 수고와 디자인이 들어가기 때문에 이러한 디자인이 없으면 웹 프로그래밍을 하는 것은 내부가 아무리 잘 만들어 진다고 해도 고객이 보는 것은 별로 이뻐 보이지 않기 때문에 웹 프로그래밍 쪽은 접근하는 것을 싫어 했던 것일 수도 있습니다.

    하지만 요즘에는 대세가 웹을 구현하는 기술이기 때문에 응용 프로그래머라고 해도 웹과 연동을 해야 할 일이 많아 질 수 밖에 없는데요.

    여기서는 웹의 기본 기술인 HTTP 에 대해서 다루고 서버를 만들어 보고 데이터를 주고 받으면서 서로 연동을 할 수 있는 RESTful API 에 대해서 다루고 있습니다.

    또한 제가 몇달 전에 다른 시스템과 연동을 하면서 TLS 보안 부분 때문에 몇일을 고생했던 적이 있는데 이 책에서는 이러한 부분 까지도 다루고 있네요.

     

    이 책은 실무에서 프로그래밍을 하는 분들에게 도움이 많이 될것 같습니다.

    https://www.hanbit.co.kr/store/books/look.php?p_code=B9288599157

     

     

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

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

    www.hanbit.co.kr

    위의 사이트에서 미리보기가 가능합니다.

     

    특히나 다른 시스템과의 연동을 주로 하는 업무에 투입되시는 분들이시라면 읽어 보시면 아무래도 실무에서 많은 도움이 될것 같습니다.

    저도 실무 경험이 있지만 실무에서는 시간 안에 어떤 프로젝트를 끝내야 하는 것 때문에 어떤 기술에 대해서 검색을 해서 어찌 어찌 처리 하기는 하지만 그것이 어떤 원리 때문에 처리 되었는지 그 원리를 찾아 내지 못하고 그냥 프로젝트를 끝냈으니 됐어 하고 넘어가는 경우가 종종 있었던 것 같아요.

    그러면서 다음에 똑같은 원리의 프로젝트를 수행하면서 다시 한번 더 헤매고 나서 원리를 깨닫는 경우가 있는데~~

    이 책을 읽는 다면 그 원리를 깨닫기에 좋은 책이라고 판단이 됩니다.

  • [한줄평]

    6년차 선배 개발자의 개발 엑기스를 기술을 배울수 있다.


    [목차구성]

    [1부 소프트웨어를 지탱하는 기술]

    1장 문자열 인코딩

    2장 다국어 처리

    3장 날짜와 시간

    4장 정규 표현식

    5장 범용 고유 식별자

    6장 난수

    7장 해시 함수


    [2부 데이터 처리 기술]

    8장 JSON

    9장 YAML

    10장 XML

    11장 프로토콜 버퍼

    12장 Base64

    13장 데이터 압축(zlib)


    [3부 웹을 지탱하는 기술]

    14장 HTTP

    15장 RESTful API

    16장 HTTPS

    17장 OAuth 2.0


    [이 책의 특징]

    • 실무에서 감초처럼 쓰이는 17가지 기술을 한 권으로 묶었다.

    • 기술을 ‘어떻게’활용하는지 소개한다.

    • 간단하면서 실용적인 파이썬 코드를 제공한다.

    • 현업에서 저자가 쌓아온 노하우를 아낌없이 방출한다.

    • 장마다 내용 요약과 함께 살펴볼 내용을 제공한다.


    [이 책의 대상 독자]

    • 입사를 앞둔 신입 개발자

    • 개발자를 꿈꾸는 모든 학생

    • 실무에서 자주 쓰이는 기초 기술이 궁금한 주니어 개발자


    [서평]

    ‘학교에서 알려주지 않는 17가지 실무 개발 기술’은 7가지 소프웨어 기술, 6가지 데이터 처리 기술, 4가지 웹 기술등 실무에 도움이 되는 기술들을 소개 합니다. 우선 책의 구성은 1부 소프트웨어를 지탱하는 기술에서는 소프트웨어 동작과 관련된 기술들을 배울수 있습니다.  2부 데이터 처리 기술에서는 소프트웨어가 동작하기 위해 필요한 데이터를 가공하는 기술을 배웁니다. 이 기술들은 텍스트 기반 규격과 바이너리 기반으로 나눌 수 있는데, 비슷한 텍스트 기반 규격들이 각각 어떤 특징이 있는지 알아보고 바이너리 기반 규격으로 데이터를 가공하는 것이 어떤 장점이 있는지 살펴봅니다. 3부 웹을 지탱하는 기술에서는 크게 4가지를 배웁니다. 서버와 클라이언트가 데이터를 보다 효율적으로 주고받기 위해 필요한 기술을 배우고, 데이터를 안전하게 주고 받기 위해 필요한 기술을 배웁니다.

    이책은 기본 문법을 알려주는 것이 아니라 저자가 6년동안 회사 생활을 하면서 실무에서 중요하다는 것을 17가지를 정리해서 개발 기술을 알려주고 있습니다. 각 기술은 파이썬 문법으로 실무에서 빠르게 적용해서 쓸수 있는 코드입니다. 선배 개발자가 실무를 하면서 경험한 것을 한권의 책으로 배운다고 생각하며 읽으면 어제 보다 더 나은 개발자가 될수 있을것이라 생각합니다.

  • 학교에서 배우는 프로그래밍은 다분히 언어 중심이다.
    자바나 C, 파이썬과 같은 언어의 문법을 배운다.
    그 다음에는 컴퓨터 공학의 주요 기술과 활용 방법을 배운다.
     - 소프트웨어 공학, 데이터베이스, 데이터 분석, 빅데이터 등등
     
    학교에서 배운 지식을 실무에서 바로 사용하는 것은 어렵다. 프로그래밍도 예외는 아니다. 실무에서 중요한 것은 언어의 문법이 아니라 주어진 문제를 가장 효율적으로 해결하는 능력이다. 
     
    300 페이지 정도의 책에 가볍지 않은 주제 17개를 소개하다 보니, 각 주제에 대해서 깊숙히 설명하지는 못한다. 아무래도 각 주제 하나하나가 책 한권이 될 수 있을 만큼의 내용이 있다보니, 책에서 소개하는 것은 기술에 대한 소개, 사용처, 간단한 사용법 정도이다. 각 주제에 대해 자세히 알고 싶다면 각 장의 '마치며'에 나오는 내용을 찾아 함께 보는 것이 좋을 듯 하다. 

     

     

부록/예제소스
자료명 등록일 다운로드
DOWNLOAD 예제소스(GitHub) 2020-04-17 다운로드
결재하기
• 문화비 소득공제 가능

배송료 안내

  • 책, 아이템 등 상품을 1만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
학교에서 알려주지 않는 17가지 실무 개발 기술
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
학교에서 알려주지 않는 17가지 실무 개발 기술
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
학교에서 알려주지 않는 17가지 실무 개발 기술
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

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

자료실