[PART 1 | 학교에서 배운 이론을 실무에 적용하기]Chapter 1. 데이터베이스의 효과적인 활용 _1.1 논리적인 작업의 단위, 트랜잭션 _1.2 지름길 정보, 인덱스_1.3 쿼리 옵티마이저의 실행 계획 _1.4 데이터에 결점이 없는 성질, 데이터 무결성 _1.5 다양한 데이터베이스의 세계 Chapter 2. 데이터를 지키는 암호화 기법 _2.1 대칭 키와 비대칭 키 암호 알고리즘 _2.2 단방향 암호화를 위한 해시 함수 _2.3 개인정보를 지킬 수 있는 암호화 _2.4 안전하게 코드를 작성하는 법, 시큐어 코딩 _2.5 보안도 이제 클라우드 서비스 시대 Chapter 3. 체계적인 자원 관리 _3.1 여러 가지 일을 동시에 처리하는 동시성 프로그래밍 _3.2 소중한 자원의 소실, 메모리 누수 _3.3 스레드의 수영장, 스레드 풀링 Chapter 4. 성능을 향상하는 방법 _4.1 시스템의 최대 출력, 성능 _4.2 시스템이 느려지는 지점, 병목 지점 _4.3 클라우드 서비스의 오토 스케일링 _4.4 성능을 고려한 5가지 개발 팁 Chapter 5. 오픈소스 라이선스의 세계 _5.1 오픈소스 라이선스란 _5.2 오픈소스 커뮤니티에서 활동해볼까_5.3 오픈소스도 라이선스를 따져가며 사용하자_5.4 소프트웨어의 원산지 증명, SBOM [PART 2 | 더 나은 개발 환경 조성하기]Chapter 6. 개발자를 위한 개발 도구_6.1 개발자의 개발 도구 _6.2 형상 관리를 위한 깃허브_6.3 이슈 관리를 위한 레드마인_6.4 지속적 통합을 위한 젠킨스Chapter 7. 효율적인 테스팅을 돕는 도구_7.1 숨은 버그를 찾아내는 SpotBugs_7.2 단위 테스트를 위한 xUnit _7.3 시스템 부하 상황을 대비하는 LoadRunner와 JMeter _7.4 지루한 작업을 자동화하는 셀레니움 _7.5 보안 약점을 찾아내는 Find Security Bugs [PART 3 | 더 고급진 소프트웨어 개발하기]Chapter 8. 좋은 코드 작성과 에러 처리 _8.1 반듯한 코딩을 위한 코딩 규칙 _8.2 글쓰기처럼 코딩도 의도를 분명하게 _8.3 안전한 코드를 만들기 위한 시큐어 코딩 규칙 _8.4 원인 분석을 위한 에러 처리 _8.5 부적절한 에러 메시지의 종류 Chapter 9. 글로벌 소프트웨어 개발하기_9.1 글로벌 소프트웨어를 만드는 방법, 국제화와 현지화_9.2 코드와 리소스의 이별 _9.3 사용자 취향 저격, 현지화 Chapter 10. 전 세계로 통하는 클라우드 서비스_10.1 대세는 구독형 서비스 _10.2 IaaS, PaaS 그리고 SaaS _10.3 멀티테넌시를 위한 소프트웨어 만들기 _10.4 고객을 위한 셀프 기능 만들기 _10.5 물리적 거리에 구애받지 않는 리전 _10.6 가용성은 제일 중요한 덕목 _10.7 자원을 탄력적으로 활용하는 서비스 개발하기