본문 바로가기

추천 검색어

실시간 인기 검색어

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

개발 지식을 높은 곳에서 한눈에 조망할 수 있는 책
이재용 저자(글)
로드북 · 2023년 11월 10일
10.0
10점 중 10점
(3개의 리뷰)
도움돼요 (50%의 구매자)
  • 시작하는 개발자들을 위한 기술 여행 가이드 대표 이미지
    시작하는 개발자들을 위한 기술 여행 가이드 대표 이미지
  • A4
    사이즈 비교
    210x297
    시작하는 개발자들을 위한 기술 여행 가이드 사이즈 비교 152x222
    단위 : mm
01 / 02
무료배송 소득공제
10% 22,500 25,000
적립/혜택
1,250P

기본적립

5% 적립 1,250P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 1,250P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서 포함 15,000원 이상 구매 시 무료배송
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
새벽배송 내일(4/26,토 오전 7시 전) 도착
기본배송지 기준
배송일자 기준 안내
로그인 : 회원정보에 등록된 기본배송지
로그아웃 : '서울시 종로구 종로1' 주소 기준
로그인정확한 배송 안내를 받아보세요!

이달의 꽃과 함께 책을 받아보세요!

1권 구매 시 결제 단계에서 적용 가능합니다.

알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

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

책 소개

이 책이 속한 분야

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

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

작가정보

저자(글) 이재용

공자의 논어는 "배우고 때때로 이를 익히면 또한 즐겁지 아니한가"라는 구절로 시작합니다. 코드와 만나게 되면서 처음으로 이 구절에 공감하게 되었습니다. 컴퓨터와 소통하는 방법을 배우고 직접 코드를 작성해가며 배운 것을 체화하는 과정을 통해 즐거움을 맛보았습니다. 그렇게 개발자가 되기로 마음을 먹었습니다.

보안 솔루션 개발을 시작으로 웹 개발, 모니터링 서비스 개발 등 다양한 경험으로 쌓아왔으며, 현재는 네이버 클라우드에서 클라우드 플랫폼을 만드는 일을 하고 있습니다. 10년이 조금 넘는 기간 동안 개발자로서 복잡한 미로 속에서 길을 찾아가는 모험을 해왔습니다. 이제 새로운 여행을 시작하는 이들을 위해 도움이 되고자 경험의 편린을 정리하여 한데 모았습니다.

목차

  • 저자 서문

    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차원의 지도가 완성되어 갑니다.

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

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

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

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

기본정보

상품정보 테이블로 ISBN, 발행(출시)일자 , 쪽수, 크기, 총권수을(를) 나타낸 표입니다.
ISBN 9791193229033
발행(출시)일자 2023년 11월 10일
쪽수 608쪽
크기
152 * 222 * 38 mm / 963 g
총권수 1권

Klover 리뷰 (3)

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

10점 중 10점
/최고예요
IT 개발자 커리어를 시작하기 위한 최고의 길잡이!
10점 중 10점
/집중돼요
가볍게 읽기 좋은 책입니다

문장수집 (0)

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)

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

이 책의 첫 기록을 남겨주세요.

교환/반품/품절 안내

  • 반품/교환방법

    마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환 신청, [1:1 상담 > 반품/교환/환불] 또는 고객센터 (1544-1900)
    * 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900)
  • 반품/교환가능 기간

    변심반품의 경우 수령 후 7일 이내,
    상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
  • 반품/교환비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 반품/교환 불가 사유

    1) 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
    2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
    3) 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
    5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
    6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
    9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등
  • 상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
  • 소비자 피해보상 환불 지연에 따른 배상

    1) 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
    2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

기분 좋은 발견

이 분야의 베스트

용선생 추론독해 초등 국어 3단계
이벤트
  • 당문전 세트 오픈
  • 완결의 미학
01 / 02
TOP