본문 바로가기

추천 검색어

실시간 인기 검색어

시작하는 개발자들을 위한 기술 여행 가이드

이재용 지음
로드북

2024년 01월 31일 출간

종이책 : 2023년 11월 10일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (41.70MB)
ISBN 9791193229132
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 전자책 화면에 표기된 주석 등을 모두 읽어 줍니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
  • '교보 ebook' 앱을 최신 버전으로 설치해야 이용 가능합니다. (Android v3. 0.26, iOS v3.0.09,PC v1.2 버전 이상)

PDF 필기 Android 가능 (iOS예정)
소득공제
소장
정가 : 20,000원

쿠폰적용가 18,000

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 300원

작품소개

이 상품이 속한 분야

개발을 한번 선택하면 은퇴할 때까지 해야 할지도 모릅니다. 정말 길고 긴 여행이 될지도 모르는데, 나침반과 지도 같은 가이드가 필요하지 않을까요? 이 책은 저자의 경험을 바탕으로 개발이라는 긴 여행을 하면서 필요한 여행 정보를 두루두루 실은 기술 여행 가이드입니다. 두렵기도 하고 설레기도 한 개발 여정에 오래오래 함께하는 책이 될 수 있도록 만들었습니다. 높은 곳에서 넓게 바라볼 때 시야가 트이고 가야 할 길도 또렷하게 잘 보이는 법을 생각하며 만든 책입니다. 기술과 교양을 넘나들며 누구나 쉽게 읽을 수 있게 만들었습니다.

_대상 독자
“개발자가 되기 위해 코딩만 열심히 하고 있는데, 내가 잘하고 있는 건지 모르겠다. 배워야 할 게 너무 많아 항상 불안하다.”
“개발자가 된 지 이제 불과 1년도 안 됐는데, 밤낮으로 프로젝트에 파묻혀 살다 보니 단순 코딩 머신이 되어 가는 느낌이다. 높은 곳에서 내가 있는 위치를 한번 확인해보고 싶다.”
저자 서문

1부 | 코드 이야기

1장_좋은 코드를 위한 고민
코드의 본질
좋은 코드를 위한 은유
좋은 코드를 위한 추상화
관심사의 분리
1장을 마치며

2장_안전한 코드를 위해서
버그와 장애
테스트 자동화
테스트 가능한 코드
테스트 환경
포스트 모텀
2장을 마치며

3장_코드 속 버그 잡아내기
동전의 양면과 같은 코딩과 디버깅
기상천외한 버그들
탐정이 될 시간
기본적인 디버깅 기술
그래도 안 풀려요!
3장을 마치며

4장_코드에도 패턴이 있다
건축학 개론
소프트웨어에서의 패턴
패턴의 발견
패턴이 유용한 이유
패턴의 유혹
4장을 마치며

5장_깃, 나는 네가 지난여름에 짠 코드를 알고 있다
버전을 관리해야 하는 이유
버전 관리 시스템의 역사
깃을 만든 리누스 토발즈
커밋 메시지 잘 작성하기
하나의 변경은 하나의 커밋으로
커밋으로 협업하기
5장을 마치며

6장_여전히 성장 중인 자바
다재다능한 자바
자바의 탄생
자바와 JVM
자바를 싫어하는 사람들
객체 지향 패러다임
6장을 마치며

7장_간결한 코드를 위한 파이썬
파이썬의 탄생
파이썬의 생산성
파이썬 vs. 펄
Pythonic하게 코드를 짜세요
7장을 마치며

8장_구글이 만든 프로그래밍 언어, Go
Go의 탄생
Go가 해결하고자 했던 문제
동시성 프로그래밍의 어려움
Go의 동시성 프로그래밍
경량 스레드, 고루틴
Go의 오류 처리
8장을 마치며

2부 | 환경 이야기

9장_서버 환경의 변화
정적 링크와 동적 링크
패키지 관리자
설치 문서
프로비저닝 도구
컨테이너의 시대
새로운 시대의 운영체제, 쿠버네티스
9장을 마치며

10장_클라우드로의 여정
전산실에서 IDC로
IDC에서 클라우드로
IaaS, PaaS, SaaS
클라우드 전환기
클라우드 네이티브의 특징
10장을 마치며

11장_태생의 한계에 도전하는 웹 이야기
웹의 탄생
정적인 웹에서 동적인 웹으로
Ajax의 등장
또 하나의 자바스크립트
jQuery의 군림
새로운 자바스크립트 프레임워크의 등장
싱글 페이지 애플리케이션
서버 측 랜더링이 포함된 SPA
11장을 마치며

12장_데이터베이스: 초기부터 오늘날까지
데이터가 사는 곳: 메모리와 디스크
데이터베이스의 등장
관계형 데이터베이스의 저력
관계형 데이터베이스의 한계
새로운 데이터베이스를 위한 시도: NoSQL
12장을 마치며

13장_웹 서비스를 위한 아키텍처 성장기
최초의 애플리케이션
애플리케이션 서버의 확장
데이터베이스 서버의 확장
캐시
HTTP 캐시
애플리케이션 캐시
CDN을 이용한 캐시
13장을 마치며

14장_모니터링으로 꿰뚫어보기
베일에 감춰진 코드의 동작
시스템 관리자의 모니터링
모니터링 데이터: 메트릭
모니터링 데이터: 로그
데이터 시각화
24/7 모니터링을 위한 알림 창
이상치 탐지
14장을 마치며

15장_코드는 파이프라인을 타고
소프트웨어 배포
배포의 고통
지속적인 배포를 위해
간단한 ‘지속적인 배포’ 맛보기
GitOps
무중단 배포
15장을 마치며

16장_마이크로서비스
서브 루틴의 진화
마이크로서비스의 출현
마이크로서비스의 한계
마이크로서비스 간의 통신
마이크로서비스로의 전환
장애 전파
SRE: Site Reliability Engineering
16장을 마치며

17장_데이터 포맷
네트워크 너머로 데이터 보내기
0과 1로 표현하기
비트들을 그대로 저장할 수 없는 이유
직렬화
17장을 마치며

3부 | 개발자 이야기

18장_프로그래밍에 대한 열정
재미있고 어렵다
프로그래밍을 향한 동기
결과물 파 vs 순수 코드 파
몰입의 즐거움
18장을 마치며

19장_더 나은 개발자로 성장하기
성장 가능성
무엇을 먼저 공부해야 하나
개발자의 자질
좋은 개발자의 모습
끊임없는 학습
안전지대 벗어나기
나보다 나은 개발자 만나기
기술 블로그 만들기
토이 프로젝트 및 스터디
19장을 마치며

20장_더 나은 팀 문화를 위하여
개발팀의 문화
업무 환경의 변화
비동기 의사소통
문서화의 중요성
모두의 코드를 위한 리뷰
20장을 마치며

찾아보기

“하지만 컴퓨터라는 독자만을 염두에 두고 코드를 작성하다가는 머지않아 큰 문제에 부딪히게 됩니다. 2차 독자인 사람을 염두에 두지 않았기 때문입니다.”

“자바에서 예외를 처리할 때 사용되는 throw와 catch라는 키워드 역시 일종의 은유입니다. 사실 이 은유는 다른 언어와는 다른 자바의 예외 처리 방식을 효과적으로 나타내기 위한 목적이 있습니다.”

“관심사를 분리하여 코드를 작성하면 각각의 코드 영역에서 적은 수의 관심사에만 집중할 수 있기 때문에 코드를 파악하는 것이 훨씬 수월합니다.”

“코드가 강하게 결합되어 있다면 유지 보수 비용이 크게 드는 경향이 있습니다. 일반적으로 ‘의존성 주입 (Dependency Injection)’ 등의 기법을 통해 결합도를 낮출 수 있습니다.”

“이 과정에서 인상적이었던 부분은 깃랩의 사고 수습 및 복구 과정이 상당히 투명하게 공개되었다는 것입니다. 그들은 복구 진행 프로세 스 전반을 트위터 계정을 통해 실시간으로 알렸습니다.”

“이제부터는 바야흐로 탐정이 될 시간입니다. 디버깅은 수수께끼를 푸는 것과 비슷합니다. 복잡한 수수께끼를 풀기 위해 관찰력, 지식, 직관, 추론 능력으로 중무장하고 끈기와 인내로 문제를 해결해 나가는 셜록 홈즈가 되어야 합니다.”

“버그 재현과 로그를 통해 디버깅을 수행할 때 그 과정을 꼼꼼히 기록하는 것도 큰 도움이 됩니다. 복잡하거나 난해한 버그의 경우 이를 추적하는 데 며칠에서 길게는 몇 달까지 걸릴 수 있습니다. 이 기간 동안 획득한 단서나 실험 결과를 머릿속에만 유지하기보다는 일종의 디버깅 문서를 만들어 기록하는 것이 좋습니다.”

“패턴에는 이름도 중요합니다. 만약, ‘문’이라는 이름이 없었다면 건축 사무소에 온 손님에게 도면을 설명하기 위해 “여기에 문을 달겠습니다” 대신 “여기에 경첩이 달린 직사각형 형태의 나무를 대고 손잡이를 달아서 여닫을 수 있는 물체를 달겠습니다”라고 설명해야 할 것입니다.”

“그제서야 각 개발자는 각자의 사본을 가지고 직접 브랜치를 생성하고 커밋을 만들어 나갈 수 있었습니다. 이를 통해 정말 훌륭한 기능을 추가하거나 심각한 버그를 고칠 수 있게 되었습니다.”

““혼자 가면 빨리 갈 수 있지만 함께 가면 멀리 간다”라는 말이 있습니다. 본문에서 언급한 리누스 토발즈도 사실은 리눅스와 깃을 오롯이 혼자 만들지는 않았습니다. 수많은 오픈소스 기여자들과 함께 수십 년 간 훌륭한 소프트웨어를 만들어 오고 있습니다.”

“자바의 생태계에서도 이러한 문제를 인식하고 자바의 장황함을 줄이고자 노력하고 있습니다. 예를 들어, 자바 8에서 ‘람다 표현식’을 도입함에 따라 새로운 스레드를 생성하기 위한 코드가 아래와 같이 간결해졌습니다.”

“재미있는 점은 위의 코드 대신 for (i = 0; i 〈=9; i++)로 써도 동작은 동일하게 돌아가지만 이렇게는 잘 쓰지 않는다는 점입니다. 사람들은 이미 전자의 패턴에 익숙해져 있는 상태에서 0~9가 아닌 0~8까지 도는 반복문이라고 잘못 인식할 가능성이 있기 때문입니다.”

“이와 같이 Go의 특징을 통해 설계 철학을 엿보다 보면 Go의 목적이 가장 뛰어난 프로그래밍 언어를 만들기 위한 연구의 성격이 아닌 동료의 작업 환경을 개선하고 생산성을 향상시키기 위한 시도였다는 것을 알 수 있습니다. 대학을 갓 졸업하고 구글에 입사한 주니어 개발자들도 새로운 언어를 쉽게 익혀 안전한 코드를 작성할 수 있도록 말입니다.”

“개발자들이 자주 하는 변명에 대해 순위를 매겨본다면 아마 다음의 말이 1위를 차지하지 않을까 싶습니다. “제 컴퓨터에선 잘 되는데요?””

“json 같은 텍스트 형태의 데이터는 저장할 때 파일 전체를 처음부터 끝까지 다시 기록해야 합니다. 수천 명의 회원 목록 중 단 한 명의 데이터만 변경되었다고 하더라도 수천 명의 회원 목록 전부 다시 기록해야 한다는 이야기입니다”

매일 파도처럼 밀려오는 새로운 지식에 치이지 않기 위한 나침반과 같은 책
넓은 기술 분야의 지식을 높은 곳에서 한눈에 조망할 수 있는 책
각 지식 간의 연결 고리를 이어주어 인사이트를 주는 책

매일 파도처럼 밀려오는 새로운 지식들을 헤쳐 나가는 것은 어두운 미로를 손전등 하나만 들고 헤매는 것과 같습니다. 그것들 간의 맥락을 설명해주는 나침반과 지도가 꼭 있어야 합니다. 높은 곳에서 한눈에 조망할 수 있다면 이를 기반으로 각 지식 간의 연결 고리를 쉽게 이어갈 수 있습니다.

때로는 한껏 줌을 땡겨 좁은 영역에 복잡한 기술 지식을 자신만의 언어와 표기법으로 새겨 넣습니다. 이러한 과정을 반복하다 보면 멀리서 봤을 때 여러 기술 지식들이 얽히고 설켜 복잡한 개미굴과 같은 3차원의 지도가 완성되어 갑니다.

여러분의 기술 지도를 확장해 나가는 데 도움이 되었으면 좋겠습니다.
닻을 올리고 개발자로서 여행을 떠나는 이들이 더 멀리까지 바라볼 수 있도록 도와주는 책이면 좋겠습니다.

여행 가이드 북이라는 제목처럼 아주 세세한 내용까지는 다루지는 못했습니다. 이때 둘러대기 가장 좋은 핑계는 역시 "지면의 한계"일 것입니다. 하지만 설령 그 한계가 무한하다 하더라도 앞으로 여러분이 기술 분야에서 겪게 될 모든 경험과 즐거움을 책 한 권에 녹여내는 일은 불가능합니다.

그 부분은 여러분의 설레는 탐험의 몫으로 남겨놓겠습니다.

어쩌면 저도 미처 발견하지 못한 아름다운 여행지를 찾게 될지도 모르는 일입니다. 아니, 분명 그렇게 될 것입니다.

작가정보

저자(글) 이재용

출간작으로 『시작하는 개발자들을 위한 기술 여행 가이드』 등이 있다.

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품/오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    시작하는 개발자들을 위한 기술 여행 가이드 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    시작하는 개발자들을 위한 기술 여행 가이드 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    시작하는 개발자들을 위한 기술 여행 가이드
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)