brunch

You can make anything
by writing

C.S.Lewis

by 홍창수 Mar 03. 2024

[리뷰] 개발자를 위한 최소한의 실무 지식

현장에서 바로 써먹는 40가지 핵심 기술


책 리뷰


이 책은 현대 개발 환경에서 필수적인 실무 지식을 폭넓게 다루며, 초보 개발자들이 이론에서 실무로 넘어가는 과정을 소개하고 있다. 저자는 체계적으로 구성된 목차를 통해 데이터베이스 관리, 보안 암호화 기법, 자원 관리, 성능 최적화, 그리고 오픈소스 라이선스에 이르기까지 개발의 기초부터 고급 주제까지 다루고 있다. 이 책은 개발자가 현장에서 마주칠 수 있는 다양한 문제 상황에 대해 실제적이고 구체적인 해결 방안을 제시해준다. 데이터베이스의 효율적 활용부터 시작하여, 암호화 기법을 통한 데이터 보호, 동시성 프로그래밍을 통한 자원 관리의 효율성 증대, 성능 향상 기법, 그리고 오픈소스 라이선스의 이해까지, 개발의 모든 영역을 종횡무진 오가며 독자들에게 꼭 필요한 지식을 전달하고 있다. 개발 도구와 테스팅 도구를 소개하는 부분에서는 개발 환경에서의 협업과 효율성을 극대화하는 방법을 설명하며, 실제 개발 과정에서 마주치게 될 다양한 도구들을 실용적인 관점에서 접근한다.


이를 통해 개발자들은 자신의 작업 효율을 크게 개선할 수 있는 방법을 배울 수 있다. 아울러, 좋은 코드 작성법과 에러 처리, 글로벌 소프트웨어 개발, 그리고 클라우드 서비스에 대한 깊이 있는 논의는 개발자들이 글로벌 시장에서 경쟁력을 갖추고, 다양한 사용자의 요구를 충족시키는 소프트웨어를 개발할 수 있도록 도와주고 있다. 특히 클라우드 서비스의 세계는 개발자들에게 무한한 가능성을 열어주며,  클라우드에 관심있는 사람들을 위한 가이드 역할을 할 수 있다고 생각된다.이 책은 단순히 개발 기술을 가르치는 것을 넘어, 개발자로서의 사고방식과 문제 해결 능력을 길러주는 데 중점을 두고 있으며, 각 장마다 제시된 예제 코드와 그림, 표는 개념을 이해하는 데 도움을 주고 있다. 이를 통해 실무에서 직면할 수 있는 다양한 문제 상황에 대비할 수 있게 한다. 초보 개발자부터 실무 경험이 풍부한 개발자까지 모든 개발자가 중요한 인사이트를 얻을 수 있으리라 생각되며, 개발 실무 지식을 강화하는 데 도움을 줄 수 있다고 판단된다. 


주요내용


·  효과적인 데이터베이스 활용법

·  데이터를 지키는 암호화와 시큐어 코딩

·  체계적인 자원관리

· 성능 최적화와 오토 스케일링

· 오픈소스 라이선스의 이해

· 효율적인 개발을 위한 개발 도구와 테스팅 도구

· 좋은 코드 작성법

· 글로벌 소프트웨어 개발방법

· 클라우드의 기본개념과 개발방법



목차


[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 자원을 탄력적으로 활용하는 서비스 개발하기





브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari