장바구니 담기 close

장바구니에 상품을 담았습니다.

주니어 백엔드 개발자가 반드시 알아야 할 실무 지식

주니어 백엔드 개발자가 반드시 알아야 할 실무 지식

  • 최범균
  • |
  • 한빛미디어
  • |
  • 2025-04-28 출간
  • |
  • 356페이지
  • |
  • 183 X 235mm
  • |
  • ISBN 9791169213745
판매가

28,000원

즉시할인가

25,200

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
25,200

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

프레임워크는 알려주지 않는 진짜 백엔드 실무, 시작하자마자 부딪히는 문제들의 해법을 한 권에!
이 책은 성능 병목, DB 쿼리, 보안, 네트워크 등 실무에서 마주치는 핵심 이슈를 실제 사례 기반으로 풀어낸다. 왜 문제가 생기고 어떻게 풀어야 하는지를 짚어주며 시행착오 없이 한 단계 더 성장할 수 있도록 돕는다. 코드 너머의 운영과 안정성을 고민하는 개발자에게 지금 꼭 필요한 실전 가이드다.

★ 대상 독자
이 책은 백엔드 개발을 시작한 지 몇 년 안 된 주니어 개발자를 대상으로 한다. 백엔드 개발자로 성장하기 위해 필요한 다양한 기초 지식을 쌓을 수 있을 것이다.

★ 이 책의 구성
● 1장: 초보 개발자가 자주 겪는 실무 이슈를 통해 서버 개발 과정에서 기능 구현 외에도 고려해야 할 요소들을 짚어본다.
● 2장: 성능의 핵심 지표인 응답 시간과 처리량에 대해 알아본다. 또한 성능과 관련된 다양한 주제(커넥션 풀, 캐시 등)에 대해 알아보고 이를 통해 응답 시간을 낮추고 처리량을 높이는 방법을 살펴본다.
● 3장: DB와 관련된 내용을 다룬다. 인덱스를 이해하고 조회 성능을 높이기 위한 몇 가지 방법을 소개하며, 쿼리 타임아웃을 포함한 몇 가지 주의 사항도 함께 살펴본다.
● 4장: 마이크로서비스가 증가하는 환경에서 고려해야 할 내용을 다룬다. 타임아웃, 재시도, 동시 요청 제한, 서킷 브레이커에 대해 알아보고 외부 연동과 DB 연동을 함께 할 때 주의할 점도 살펴본다.
● 5장: 비동기 외부 연동에 대해 다룬다. 비동기 외부 연동을 위한 5가지 방법을 소개한다. 먼저 스레드를 이용한 방식과 메시징을 이용한 방식을 살펴보고, DB 트랜잭션을 고려한 트랜잭션 아웃박스 패턴을 소개한다. 이어서 배치를 이용한 전송과 CDC를 활용한 데이터 복제 방식도 알아본다.
● 6장: 서버 프로그래밍에서 신경 써야 할 동시성에 대해 다룬다. 프로세스 수준에서 동시성을 제어하기 위한 몇 가지 방법을 알아보고, DB의 잠금을 이용한 동시성 제어 방식과 잠금을 사용할 때 주의할 점도 함께 알아본다.
● 7장: 서버 처리량에 큰 영향을 주는 IO와 성능의 관계를 알아본다. IO로 인한 대기가 자원 효율에 미치는 영향을 살펴보고 이를 해소하기 위한 2가지 방법인 가상 스레드와 논블로킹 IO에 대해 알아본다.
● 8장: 개발자가 놓치기 쉬운 보안에 대해 다룬다. 인증과 인가의 기본 개념을 정리하고 2가지 암호화 방식인 단방향 암호화와 양방향 암호화를 소개한다. HMAC을 이용한 데이터 검증 방식과 보안에 도움이 되는 몇 가지 방법도 함께 알아본다.
● 9장: OS 계정과 권한, 프로세스, 디스크 용량 관리 등 백엔드 개발자가 알고 있어야 할 서버 관리 기초 지식을 정리한다.
● 10장: IP, NAT, VPN 같은 네트워크 기초 지식을 설명한다.
● 11장: 자주 사용하는 서버 아키텍처 패턴을 소개한다. MVC 패턴, 계층형 아키텍처, DDD의 전술 패턴, 마이크로서비스 아키텍처, 이벤트 기반 아키텍처, CQRS 패턴을 다룬다.

이 외에 부록 A부터 C까지는 백엔드 개발자가 참고하면 좋을 내용을 추가로 담고 있다.
● 부록 A: 성능 테스트의 기초를 다룬다.
● 부록 B: NoSQL에 대해 간략히 소개한다.
● 부록 C: DB를 이용한 분산 잠금 구현 방법을 설명한다.

목차

1장 들어가며
코딩을 할 수 있게 된 것일 뿐

2장 느려진 서비스, 어디부터 봐야 할까
처리량과 응답 시간
서버 성능 개선 기초

3장 성능을 좌우하는 DB 설계와 쿼리
성능에 핵심인 DB
조회 트래픽을 고려한 인덱스 설계
몇 가지 조회 성능 개선 방법
알아두면 좋을 몇 가지 주의 사항
실패와 트랜잭션 고려하기

4장 외부 연동이 문제일 때 살펴봐야 할 것들
우리는 문제가 없는데
타임아웃
재시도
동시 요청 제한
서킷 브레이커
외부 연동과 DB 연동
HTTP 커넥션 풀
연동 서비스 이중화

5장 비동기 연동, 언제 어떻게 써야 할까
동기 연동과 비동기 연동
별도 스레드로 실행하기
메시징
트랜잭션 아웃박스 패턴
배치 전송
CDC(Change Data Capture)

6장 동시성, 데이터가 꼬이기 전에 잡아야 한다
서버와 동시 실행
잘못된 데이터 공유로 인한 문제 예시
프로세스 수준에서의 동시 접근 제어
DB와 동시성
잠금 사용 시 주의 사항
단일 스레드로 처리하기

7장 IO 병목, 어떻게 해결하지
네트워크 IO와 자원 효율
가상 스레드로 자원 효율 높이기
논블로킹 IO로 성능 더 높이기
언제 어떤 방법을 택할까

8장 실무에서 꼭 필요한 보안 지식
중요한 보안
인증과 인가
데이터 암호화
HMAC을 이용한 데이터 검증
방화벽으로 필요한 트래픽만 허용하기
감사 로그(audit log) 남기기
데이터 노출 줄이기
비정상 접근 처리
시큐어 코딩
개인 보안

9장 최소한 알고 있어야 할 서버 지식
개발자와 서버
OS 계정과 권한
프로세스 확인하기
백그라운드 프로세스
디스크 용량 관리
파일 디스크립터 제한
시간 맞추기
크론으로 스케줄링하기
alias 등록하기
네트워크 정보 확인

10장 모르면 답답해지는 네트워크 기초
네트워크 기초를 모르면
노드, 네트워크, 라우터
IP 주소와 도메인
NAT
VPN
프로토콜과 TCP, UDP, QUIC

11장 자주 쓰는 서버 구조와 설계 패턴
MVC 패턴
계층형 아키텍처
DDD와 전술 패턴
마이크로서비스 아키텍처
이벤트 기반 아키텍처
CQRS 패턴

부록 A: 처음 해보는 성능 테스트를 위한 기본 정리
성능 테스트 종류
포화점과 버클존
주요 측정 지표
성능 테스트 설계 시 고려 사항
성능 테스트 도구
성능 테스트 실행 시 주의 사항

부록 B: NoSQL 이해하기
NoSQL이란
NoSQL 종류
NoSQL 도입 시 고려 사항
CAP 정리

부록 C: DB로 분산 잠금 구현하기
잠금 정보 저장 테이블
분산 잠금 동작
DB 잠금 구현

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.