
구매문의 및 도서상담은 031-944-3966(매장)으로 문의해주세요.
매장전집은 전화 혹은 매장방문만 구입 가능합니다.
지은이 : 네이서니엘 슈타
미네소타 트윈 시티에서 수석 소프트웨어 엔지니어로 근무하고 있으며, 자바 엔터프라이즈 에디션 기반 웹 애플리케이션 개발에 풍부한 경험이 있다. 세인트 존스 대학(MN)에서 컴퓨터 공학을 전공했으며, 미네소타 대학에서 소프트웨어 엔지니어링 석사 학위를 받았다. 지난 몇 년간 나다니엘은 사용자 인터페이스 디자인을 중점적으로 해왔다. 기업의 인터페이스 가이드라인을 만들고 다양한 웹 기반 애플리케이션에 관한 컨설팅을 진행했다. 그는 ACM(Association for Computing Machinery)의 CHI(Computer-Human Interaction)-SIG(Special Interest Group)의 오랜 회원이자 썬(Sun)에서 공인한 웹 컴포넌트 개발자로서, 사용자가 애플리케이션을 이해할 수 없다면 개발이 잘못된 것이라는 믿음을 가지고 있다. 사용자 인터페이스 작업뿐 아니라 오픈소스 Taconite 프레임워크의 공동 창시자로서 나다니엘은 두 가지 기업용 자바 프레임워크 개발에 기여했으며 교육 자료를 만들고 다수의 스터디 그룹도 이끌었다. 고향인 미네소타 주의 짧지만 따뜻한 기후 아래 잠시 동안이나마 아내가 허락하는 선에서 골프 수업을 듣기도 했다. 요즘은 루비와 레일즈, (최근 바꾼) 맥 OS X을 살펴보고 있다. 나다니엘은 베스트셀러인 Foundations of Ajax의 공동 저자이기도 하다. 메일(ntschutta@gmail.com) 또는 트위터(@ntschutta)로 연락할 수 있다.
지은이 : 댄 베가
브로드컴(Broadcom)의 스프링 개발자 애드보킷이자 자바 챔피언으로, 20년 이상 소프트웨어 개발 경력을 쌓아왔다. 문제 해결에 큰 열정을 쏟으며, 블로거, 유튜버, 강의 제작자, 연사로 활발히 지식을 나눈다. 지속적인 학습을 바탕으로 동료 개발자들에게 영감을 준다.
1장 프로그래머에서 이제는 엔지니어로
다양한 명칭으로 불리는 엔지니어
기초의 중요성
소프트웨어 엔지니어가 되는 다양한 경로
교육받은 지식과 알아야 할 지식
게으른 프로그래머 정신의 수용
새로운 시각의 가치
성급한 해결책 제시의 위험성
소프트웨어의 황금률 적용
정리
직접 실천해 보자
더 읽을거리
2장 코드 문해력 = 실무 기본 능력
기존 코드 작업의 어려움
인지 편향
낯선 코드 접근법
소프트웨어 고고학
효과적인 코드 이해 전략
__IDE 기능 활용
__테스트에서 얻는 통찰력
완성의 길, 연습
정리
직접 실천해 보자
더 읽을거리
3장 사람을 위한 코드 작성법
바퀴 재발명 금지
좋은 코드란
간결함의 가치
__컴퓨터 과학의 제0법칙
__상용구 코드 주의
__상속보다는 구성
__짧은 메서드 지향
독자를 위한 코드 작성
코드 주석의 문제
테스트를 문서로 사용
멋부린 코드 금지
코드 리뷰
형식적 코드 리뷰 금지
비판받을 용기
신뢰 구축
새로운 언어 학습
정리
직접 실천해 보자
더 읽을거리
4장 소통을 돕는 적정 모델링
소프트웨어 모델링의 정의와 이유
필요한 다이어그램의 종류
__컨텍스트 다이어그램
__컴포넌트 다이어그램
__클래스 다이어그램
__순차 다이어그램
__전개 다이어그램
__데이터 모델
__기타 다이어그램
모델링 모범 사례
__단순하게 유지하라
__독자를 파악하라
__조심해서 색상을 선택하라
__표준과 템플릿을 수립하라
도구
정리
직접 실천해 보자
더 읽을거리
5장 자동 테스트: 좋은 소프트웨어를 만드는 최고의 습관
자동 테스트의 이점
__문서 역할을 하는 테스트
__유지보수성 향상
__자신감 상승
__일관성과 반복 가능성
자동 테스트 유형
__단위 테스트
__통합 테스트
__종단 간 테스트
__테스트 유형별 비중
__테스트하지 말아야 할 것
코드 실행률
테스트 작성
__시작 방법
__단정문
__단위 테스트 작성
__모의 객체
__통합 테스트 작성
__종단 간 테스트 작성
정리
직접 실천해 보자
더 읽을거리
6장 낯선 시스템에 빨리 친숙해지기
낯선 코드 기반 이해
__출발점, 큰 그림
__실행 흐름 파악
__점진적인 정신 모델 구축
샘플 프로세스
안전한 수정
__안전한 리팩터링
__스카우트 규칙
__되돌릴 수 있는 작은 변경
정리
직접 실천해 보자
더 읽을거리
7장 엔지니어라면 꼭 알아야 할 UI 설계 기초
모두를 위한 디자인
__사용성
__접근성
__국제화와 지역화
사용자 파악
__2차 사용자
__개발자는 사용자가 아니다
__문화의 영향
사용성 극대화
디자인 원칙
__대비
__반복
__정렬
__근접성
디자인 원칙 적용
올바른 것을 명확하게 만들기
좋은 오류 메시지의 중요성
파괴적인 작업
정리
직접 실천해 보자
더 읽을거리
8장 다양한 데이터 기술을 적절하게 사용하는 방법
자료형과 형식의 이해
__정형 데이터와 비정형 데이터
__일반적인 데이터 형식
__기타 특수 사항
효과적인 데이터 저장
__데이터베이스 유형과 사용 사례
__데이터 영속성 및 관리
__데이터베이스 연결과 트랜잭션
__일관성 모델 및 캐시 전략
__데이터 증가 대책
데이터 질의와 성능 관리
__효율적인 질의문 작성법
__도구 및 모범 사례
데이터 이전과 변환
__데이터 이동 기초
__스키마 변경 처리
정리
직접 실천해 보자
더 읽을거리
9장 소프트웨어 아키텍처: 복잡하고 중요한 결정
아키텍처란 무엇인가
득실 관계
아키텍처와 설계
품질 속성
__품질 속성 식별
__이해관계자 합의
아키텍처 방식
애자일 아키텍트
적합도 함수
아키텍처 다이어그램
아키텍처 결정 기록
정리
직접 실천해 보자
더 읽을거리
10장 운영 환경: 코드가 살아야 하는 낯선 환경
복잡한 운영 환경
__예측 불가능한 사용자
"내 컴퓨터에서는 되는데요"
운영 준비된 코드 구축
__성능 최적화
__환경별 설정 구성
__오류 처리와 로그
__보안 필수사항
전개 파이프라인
__전개 환경
__버전 관리 전략
__전개 자동화
__전개 전략
__지속적 통합과 지속적 전개
운영 시스템 모니터링과 유지보수
__모니터링
__시스템 유지보수
정리
직접 실천해 보자
더 읽을거리
11장 생산성 강화: 효율적으로 일하기
개발 환경 최적화
__개발 도구를 익혀라
__나만의 광선검 제작
__명령행의 힘
__키보드 단축키의 힘을 키워라
전략적 자동화
생산성 있는 습관의 끝없는 추구
__협업 학습
__개인 지식 관리
정리
직접 실천해 보자
더 읽을거리
12장 즐겁게 배우며 앞서가는 엔지니어 되기
벼락치기의 한계
기술 습득
학습 습관
AI 활용 학습
기회 상실 공포
시간 투자 전략
혁신 실천
아키텍처 브리핑
여유를 실천하자
정리
직접 실천해 보자
더 읽을거리
13장 기술 세계의 소프트 스킬
협력적 소통
__소통 수단
__옮겨 말하기
__청중을 파악하라
영향력 행사
__가치 이해와 표현
__전략적 영향력 행사
이해관계자 관리
시간 관리
__제작자의 일정
__집중력 유지
정리
직접 실천해 보자
더 읽을거리
14장 성공적인 경력 계획과 관리
진로 계획
__열정 발견
__어떤 길이 있는지 살펴보기
__목표에서 되짚어 계획 세우기
__의도적인 역량 습득
__생애 주기별 진로 선택
진로 따라 걷기
__성취를 축하하고 기록하라
__가면 증후군 극복
__전문가 커뮤니티 구축
__전문가 관계 구축
__성공적인 면접
__일과 삶의 균형
정리
직접 실천해 보자
더 읽을거리
15장 AI로 무장한 소프트웨어 엔지니어
AI란 정말 무엇인가
__AI 용어 해설
__AI의 능력과 한계 이해하기
짝 프로그래머로서의 AI
__독립형 챗봇 조수
IDE 인라인 어시스턴트
__에이전트형 AI IDE 환경
프롬프트 엔지니어링 기초
__프롬프트 엔지니어링이란
__핵심 프롬프트 엔지니어링 기법
__고급 프롬프트 엔지니어링 기법
AI가 소프트웨어 엔지니어링을 바꾸는 방법
__AI가 내 일자리를 빼앗을까
__바이브 코드 리뷰
__전력승수로서의 AI: 코드 작성에서 문제 해결로
정리
직접 실천해 보자
더 읽을거리
한국어판 특별 부록: AI 시대에 소프트웨어 엔지니어링의 기본이 더욱 중요해지는 이유
도서 DB 제공 - 알라딘 인터넷서점 (www.aladin.co.kr)