자바 잘 읽는 법 - 자바 코드를 이해하고, 디버깅하고, 최적화하는 요령
라우렌치우 스필커 지음, 이일웅 옮김 / 제이펍 / 2024년 5월
평점 :
장바구니담기


《자바 잘 읽는 법》은 자바 애플리케이션의 문제를 진단하고 해결하는 데 필요한 기술과 방법을 소개합니다. 한 권으로 자바 애플리케이션 코드를 더 잘 이해하는 방법과 애플리케이션의 작동 로직·분석 방법을 익힐 수 있습니다. 


책은 디버깅·프로파일링·로그를 통해 자바 가상 머신(JVM) 애플리케이션의 문제를 해결하고, 버그와 성능 문제를 찾아내고 최적화할 수 있는 기술을 소개합니다. 책은 크게 세 부분으로 나뉘며, 트러블슈팅의 기본·심화 그리고 대규모 시스템에서의 분석 방법을 다룹니다.


1부에서는 디버깅, 로그를 활용한 트러블슈팅 기본 테크닉을 다룹니다. 디버깅의 필요성과 기본적인 디버깅 기능과 IDE를 활용한 문제 분석·원격 앱 디버깅·로그 활용 등을 소개합니다.


2부에서는 트러블슈팅 고급 테크닉을 다루며, 다양한 시나리오에서 프로파일링 기법을 적용하며 자세히 살펴봅니다.


3부에서는 대규모 시스템에서의 트러블슈팅을 다루며, 마이크로서비스와 같은 여러 앱에서 발생한 문제를 해결하는 방법을 소개합니다. 네트워크 문제인지, 애플리케이션의 문제인지 구분하고 접근하는 방법을 다루고 있습니다.


부록에서는 다운로드한 예제를 실행하기 위한 프로젝트를 여는 법‧참고 도서‧자바의 스레드 및 메모리 관리에 대한 설명이 있습니다.


《자바 잘 읽는 법》의 장점입니다.

✅ 복잡한 개념을 쉽게 설명하고, 풍부한 그림과 예제를 통해 이해를 돕습니다.

✅ 프로파일링, 고급 디버깅, 로그를 통해 버그와 성능 문제를 찾아내고 수정하는 방법을 상세히 설명합니다. 

✅ 실제 개발 현장에서 활용 가능한 실용적인 기법들을 소개합니다.


이 책을 코드를 읽고 이해하는 능력을 향상시키고 싶은 개발자, 프로파일링, 디버깅, 로깅 등 자바 개발에 필수적인 기술을 익히고 싶은 개발자, 코드의 작동 방식을 이해하고, 성능을 최적화하는 방법을 배우고 싶은 개발자에게 추천합니다. 서비스 지향 시스템 및 마이크로서비스 아키텍처 개발 경험이 있다면 3부의 '대규모 시스템의 트러블슈팅'을 이해하기 쉽습니다.


추천하는 책으로는 《프로그래머의 뇌》(펠리너 헤르만스 지음, 옮김, 제이펍, 2022)입니다. 《자바 잘 읽는 법》에서 언급되는 책으로, 인지과학적으로 프로그래밍을 이해하는 책입니다. 효율적인 코드 작성법부터 대규모 시스템 설계, 멀티태스킹과 온보딩 과정까지 배울 수 있습니다.


자바는 스프링 프레임워크와 함께 많이 수많은 기업에서 널리 사용되고 있습니다. 이번에 읽은 《자바 잘 읽는 법》은 자바 개발자들에게 문제를 해결력을 기를 수 있도록 도와주며, 특히 백엔드 엔지니어라면 이 책에서 얻은 지식은 매우 값질 것이라 생각합니다.


책을 읽으면서 코드를 빠르게 파악하고, 버그와 성능 문제를 해결하는 데 필요한 실용적인 기법들을 많이 배울 수 있었습니다. 특히, 프로파일링과 디버깅에 대한 내용이 유익했습니다. JVM의 작동 방식에 대한 이해를 높여 성능을 최적화하는 데 도움이 되는 내용도 많았습니다.


책에서 가장 인상 깊었던 점은 실제 개발 환경에서 발생한 복잡한 버그를 해결하는 과정을 다룬 부분입니다. 예를 들어, 스프링 데이터 JPA의 경우 실제 실행된 쿼리를 알기 어려워 문제가 발생해도 대처하기가 어렵습니다. 책에서는 프로파일링을 통해 조사하면서 어떤 쿼리에서 문제가 발생했는지와 의도한 대로 앱이 작동하는지를 확인할 수 있었습니다. 


《자바 잘 읽는 법》은 DB 커넥션, 메모리 누수, CPU 사용률, 지연 시간 등 개발하면서 만날 수 있는 다양한 문제를 진단하고 해결책을 얻을 수 있어, 곁에 두고 읽어볼 든든한 책이 될 것입니다.



"해당 서평은 제이펍 출판사로부터 책을 제공받아 작성했습니다."




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
코드 작성 가이드 - 현직 LINE 개발자가 알려주는 읽기 쉽고 코드 리뷰하기 좋은
이시가와 무네토시 지음, 정기욱 옮김 / 길벗 / 2024년 4월
평점 :
장바구니담기


《코드 작성 가이드》(이시카와 무네토시 지음, 정기욱 옮김, 길벗, 2024)는 모바일 메신저 서비스인 LINE의 현직 개발자가 쓴 책으로, 읽기 쉽고 코드 리뷰하기 좋은 코드 작성 방법에 대해 소개합니다. 




책은 가독성 높은 코드를 작성하는 방법을 상세하게 설명하며, 개발자들이 자주 겪는 문제를 해결하는 데 도움을 주고자 합니다. 저자는 LINE의 안드로이드 버전 개발을 담당하는 시니어 소프트웨어 엔지니어로, 소스 코드의 가독성 향상을 위한 리팩터링과 코드 리뷰·가독성을 위한 개발 문화를 위해 노력하고 있습니다.


책의 구성은 가독성 높은 코드를 작성하는 법을 시작으로 네이밍, 주석 작성법, 상태, 함수, 의존 관계, 코드 리뷰 방법까지  실무에 적용할 수 있는 다양한 주제를 다룹니다. 부록에서는 책을 읽는 데 필요한 문법(변수, Null 허용형, 고차 함수, 스코프 함수 등)을 설명합니다.



《코드 작성 가이드》의 장점입니다.


✅ 책의 가장 큰 장점은 얇습니다. 효과적인 코드 작성을 위한 핵심적인 내용을 담았습니다.

✅ 실제 코드를 작성하는 데 도움이 되는 실용적인 조언과 예제에 중점을 둡니다.

✅ 나쁜 코드를 좋은 코드로 개선하는 방법을 다룹니다.

✅ 다른 책에서 다루지 않는 효과적인 코드 리뷰 방법에 대해 다룹니다.



추천 독자는 기본적인 프로그래밍 지식을 갖춘 모든 개발자입니다. 특히, 코드의 가독성과 유지 보수성을 향상시키고자 하는 개발자들에게 이 책은 유용할 것입니다. 팀 내에서 코드 리뷰 문화를 구축하거나 개선하고자 하는 시니어에게도 도움이 될 거라 생각합니다.


추천하는 책으로는 《읽기 쉬운 코드》(마크 시먼 지음, 김현규 옮김, 길벗, 2024)입니다. 이해하기 쉬운 코드 구조 작성부터 실무에 활용 가능한 구체적인 코드 개선 기법들을 소개합니다. 레스토랑 예약 시스템을 차례대로 구현하면서 API 설계, 테스트 주도 개발, 관심사 분리, 성능과 보안 등 《코드 작성 가이드》 보다 한 단계 더 높은 주제들을 다룹니다.




코드의 가독성은 지속 가능한 개발 환경을 만드는 데 큰 도움이 됩니다.

《코드 작성 가이드》, 20페이지



《코드 작성 가이드》는 코드 네이밍부터 코드 리뷰까지 가독성을 위한 코드 작성에 대한 모든 것을 다룬 책이었습니다. 저자의 고민과 노하우가 반영된 책은 명확하고 간결한 코드를 작성하는 것이 얼마나 중요한지 알려주고, 가독성을 높일 수 있는 다양한 기술을 소개해 유용했습니다.


우리가 언어를 통해 의사소통을 하듯이 다른 개발자와 효과적으로 소통하기 위해서는 코드를 읽기 쉽게 작성하는 것이 중요합니다. 책에서 나오는 기술과 노하우를 통해 코드의 가독성을 높일 수 있다면 보다 효율적인 협업이 가능하고, 시간 낭비를 줄일 수 있을 것입니다.


전체적으로 같은 팀원이 번역을 해서 그런지 이해하기 쉬웠던 책이었습니다. 최근 '라인 사태'라고 부르는 일본 정부의 라인야후 네이버 지분 매각 압박 논란이 있는데, 두 분의 우정처럼 좋은 방향으로 해결되었으면 좋겠습니다.


이 책은 초보 개발자부터 경력 개발자까지 모두에게 도움이 될 수 있는 내용을 담고 있습니다. 특히, 코드 리뷰를 자주 하는 개발자나 코드 가독성을 높이는 데 관심 있는 개발자들에게 유용한 정보가 많았습니다. 가독성 있는 코드 작성을 통해 더 나은 개발자가 되고 싶은 모든 개발자들에게 이 책을 추천합니다.



"해당 서평은 길벗 출판사로부터 책을 제공받아 작성했습니다."




댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
실전 스벨트 & 스벨트킷 입문 - 쇼핑몰 사이트 웹 애플리케이션을 만들면서 배우는 Svelte & SvelteKit
하마구치 교헤이.고세키 야스히로 지음, 이춘혁 옮김 / 제이펍 / 2024년 4월
평점 :
장바구니담기


웹 개발의 세계는 끊임없이 변화하고 있으며, 보다 단순하면서 성능까지 좋은 프레임워크를 원하고 있습니다. 

『실전 스벨트&스벨트킷 입문』은 이러한 변화 속에서 개발자들의 사랑을 받고 있는 자바스크립트 UI 라이브러리인 스벨트(Svelte)와 프레임워크인 스벨트킷(SvelteKit)을 소개합니다. 



책은 스벨트와 스벨트킷을 소개하기 앞서 간단한 튜토리얼(쇼핑몰 웹 사이트)로 파악한 뒤 스벨트 기초와 스벨트 심화, 스벨트킷 기초와 심화에 대한 내용을 학습합니다. 다음으로 Vercel에 배포와 DB로 MongoDB를 도입하고, 로그인 구현과 세션 관리 순서, 사용자 경험 개선을 위한 OGP 태그와 프리렌더링을 구현하는 순서로 구성됩니다.



자바스크립트 UI 라이브러리인 스벨트는 컴파일러를 사용해, 런타임 없이 실행 가능한 형태로 변환되어 로딩됩니다. 이를 통해 개발자의 실수를 방지할 수 있고, 리액트와는 달리 가상 DOM을 사용하지 않아 최소한의 필수 코드만 자바스크립트로 변환됩니다.  

리액트, 뷰와 같은 웹 애플리케이션 프레임워크인 스벨트킷은 스벨트로 풀스택 개발을 할 수 있게 기능을 확장하여 서버 사이드 렌더링(SSR), 정적 사이트 생성(SSG), 라우팅 등을 포함하고 있습니다. 


책은 스벨트와 스벨트킷의 장점을 실습을 통해 직접 경험하고 싶은 사람들에게 유용합니다.


✅ 스벨트의 기초부터 고급 기능까지 체계적으로 학습할 수 있습니다. 

✅ 초보자부터 경험 있는 개발자까지 다양한 수준의 독자들이 스벨트를 효과적으로 배울 수 있습니다.

✅ 실용적인 예제(쇼핑몰 웹 사이트)를 만들면서 스벨트를 활용한 웹 개발 실무에 대한 이해를 높일 수 있습니다.

✅ 'Column'으로 스벨트 개발의 주의 사항과 노하우를 얻고, 심화 학습을 할 수 있습니다.


그 밖에도 Vite로 개발 환경 구축, 부록으로 개발에 필요한 등록 및 환경 설정을 사진과 함께 제공하여 유용했습니다.



이 책을 웹 개발을 쉽게 시작하고 싶은 개발자에게 추천하고 싶습니다. 웹 개발에 필요한 배경지식은 책에서 소개해 도움이 많이 되었습니다. 다음으로는 풀스택 개발에 관심 있는 개발자에게 추천합니다. 스벨트로 프런트엔드, 스벨트킷으로 백엔드를 각 단계별로 추가하면서 스벨트를 활용한 풀스택 개발 경험을 할 수 있습니다.


책을 따라 읽다 보면, 스벨트와 스벨트킷을 이용하여 현대적인 웹 애플리케이션을 구축하는 방법을 배울 수 있도록 구성되어 있습니다. 스벨트를 처음 배우는 개발자부터 기존의 다른 프레임워크 경험이 있는 개발자까지 스벨트와 스벨트킷을 활용한 웹 개발을 쉽게 설명합니다.


책은 스벨트와 스벨트킷의 성능과 단순함, 높은 성장 곡선을 느낄 수 있게 효과적으로 설명하며, 스벨트를 처음 배우는 독자에게 추천할 만한 좋은 책입니다. 체계적인 구성과 쉬운 이해를 통해 스벨트의 기초를 탄탄하게 다질 수 있으며, 실무 중심 내용을 통해 실제 웹 개발에 활용할 수 있는 지식을 쌓을 수 있습니다. 하지만, 스벨트의 업데이트가 자주 되므로 되도록 최신 정보는 스벨트 공식 문서를 확인하는 것을 추천합니다. (2024년 04월 30일에 Svelte 5.0 버전 릴리스 준비 중)



저에게는 스벨트를 개발한 코어팀이 스벨트킷을 배포했다는 것이 마음에 들었습니다. 리액트-Next.js, 뷰-Nuxt와 달리 개발의 일관성을 가진 데다가, 컴파일을 내장한 자체적인 특성으로 인해 배워볼 만한 프레임워크라는 생각을 했습니다. 또한 스벨트의 제작자인 리치 해리스가 Vercel에 합류하여, Vercel이 밀어주는 오픈소스 프레임워크인 Next.js처럼 많은 사람들이 사용하고 점차 점유율이 높아질 것 같아 기대가 됩니다.


이 책을 통해 스벨트와 스벨트킷에 대한 웹 개발에 대한 이해도를 높일 수 있어 유익했던 시간이었습니다. 스벨트의 간결한 문법과 빠른 성능은 웹 개발의 요구사항을 충족시키는 데 효과적이라고 느꼈고, 스벨트킷의 서버 사이드 렌더링과 정적 사이트 생성 기능은 다양한 웹 애플리케이션의 개발에 도움이 됩니다. 


이 책은 스벨트를 처음 접하는 개발자들에게는 좋은 입문서가 될 것이며, 이미 스벨트를 사용하고 있는 개발자들에게는 더 깊은 이해를 돕는 참고서가 될 것입니다.


"해당 서평은 제이펍 출판사로부터 책을 제공받아 작성했습니다."


#스벨트, #스벨트킷, #Svelte, #SvelteKit, #컴포넌트, #리액티비티, #스토어, #라우트, #라우팅, #MongoDB, #몽고db, #Vercel, #Auth0, #OGP, #프리렌더링, #제이펍, #서평, #리뷰


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
클라우드 네이티브 스프링 인 액션 - 스프링 부트와 도커, 쿠버네티스로 애플리케이션 구축하기 I♥Cloud (아이러브클라우드) 27
토마스 비탈레 지음, 차건회 옮김 / 제이펍 / 2024년 3월
평점 :
장바구니담기


클라우드 컴퓨팅이 계속해서 주목을 받으면서 클라우드 환경의 이점을 활용할 수 있는 애플리케이션에 대한 필요성이 점점 더 중요해지고 있습니다.
《클라우드 네이티브 스프링 인 액션》(토마스 비탈레 지음, 차건회 옮김, 제이펍, 2024)은 클라우드 네이티브의 패턴부터 클라우드 네이티브 애플리케이션 구축·개발·테스트·배포·운영에 필요한 개념과 기술을 실용적인 접근법으로 학습할 수 있는 책입니다. 



《클라우드 네이티브 스프링 인 액션》을 읽으면서 느낀 장점입니다. 
1. 클라우드 네이티브의 개념부터 시작하여 보안, 모니터링, 테스트, 지속적 배포 등 과 함께 클라우드 네이티브 개발과 관련된 광범위한 주제를 다룹니다.
2. 실제 사례에 중점(온라인 서점)을 둔 클라우드 네이티브 애플리케이션을 처음부터 차례대로 구축할 수 있습니다.
3. 서버리스, 그랄VM, 케이네이티브 등 최신 기술을 습득할 수 있습니다.
4. 스프링 부트 버전 2.x부터 3.x 까지 저자의 지속적인 업데이트로 편리한 실습을 할 수 있습니다.





추천 독자로는 스프링 개발자로 스프링 프레임워크로 클라우드 네이티브 애플리케이션을 만들기 위한 기술을 확장하고자 하는 개발자에게 꼭 필요한 책입니다. 두 번째로 클라우드 엔지니어입니다. 클라우드의 활용부터 스프링을 이용한 개발까지 배울 수 있습니다. 마지막으로는 데브옵스(DevOps) 엔지니어입니다. 클라우드 네이티브 애플리케이션의 배포, 모니터링 및 운영을 다루는 책을 통해, 스프링 개발자와 함께 일하는 DevOps 엔지니어에게 유용할 거라 생각합니다.다만, 이 책은 자바와 스프링 관련 기술에 대해 어느 정도 익숙하다고 가정하고 있는데, 자바와 스프링에 대해 잘 모르는 독자들에게는 어려울 것이라 생각합니다.





기술을 다루는 사람들은 최신 유행의 최첨단 기술에 쉽게 사로잡힌다. 
특정 기술이나 접근 방식이 문제를 해결할 수 있는지 파악하는 것이 핵심이다.
 
《클라우드 네이티브 스프링 인 액션》, p.25

《클라우드 네이티브 스프링 인 액션》은 스프링 프레임워크를 사용하여 클라우드 네이티브 애플리케이션을 구축하는 데 필요한 지식과 기술을 아낌없이 제공하는 책입니다. 클라우드 네이티브에 대해 잘 모르는 독자도 이해할 수 있게 코드에 대한 자세한 설명, 아키텍처와 프로세스를 파악할 수 있는 그림으로 다양하면서도 복잡한 주제를 잘 담아냈습니다.      

책에서 인상적이었던 부분은 클라우드 네이티브 애플리케이션을 처음부터 제작하는 과정이었습니다. 스프링 그리고 도커와 쿠버네티스를 활용하여 애플리케이션을 배포하는 과정으로 기술에 대한 이해를 할 수 있고, 이를 통해 필요한 기술을 프로젝트에 적용하는 데 기반을 마련할 수 있을 것 입니다.

아쉬웠던 점은 클라우드 컴퓨팅 서비스로 디지털오션을 활용했다는 점입니다. 우리나라의 많은 회사와 개발자들이 사용하는 아마존의 AWS를 활용하는 방법을 부록으로 제공했다면 더 좋았을 것 같습니다.





실전 중심의 설명이 가득한 이 책을 통해 클라우드 네이티브 기술을 터득한다면, 클라우드 중심 IT 환경으로 변하고 있는 현재의 상황에서 유리한 고지에 올라설 수 있을 것입니다. 클라우드 네이티브 이해를 넘어, 실습을 통해 클라우드 네이티브에 대한 역량을 확장시키고자 하는 개발자와 엔지니어에게 《클라우드 네이티브 스프링 인 액션》을 추천합니다. 

"해당 서평은 제이펍 출판사로부터 책을 제공받아 작성했습니다."


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
데이터 분석을 위한 줄리아 - 시계열 데이터, 예측 모델, 랭킹 등 핸즈온 프로젝트로 마스터하는 줄리아 데이터 분석
보구밀 카민스키 지음, 류현지 옮김 / 제이펍 / 2024년 3월
평점 :
장바구니담기


《데이터 분석을 위한 줄리아》(보구밀 카밀스키 지음, 류현지 옮김, 제이펍, 2024)은 줄리아의 장점과 다양한 기능을 실제 데이터 분석 예제를 통해 소개합니다. 데이터 분석에 관심과 새로운 프로그래밍 언어를 배우고 싶은 호기심이 있는 사람에게 안성맞춤인 책입니다.



데이터 분석을 위한 프로그래밍 언어로서 줄리아의 인기가 높아지고 있습니다. 저자인 보구밀 카민스키는 줄리아 생태계에서 데이터 조작을 위한 핵심 패키지인 DataFrames.jl의 주요 개발자 중 한 명입니다. 20년 이상의 데이터 과학 프로젝트 경험과 데이터 과학을 가르친 저자의 경험과 노하우가 책에 잘 반영되어 있어, 줄리아 언어를 통한 데이터 분석의 이해에 도움이 되었습니다.






책은 줄리아 언어의 효율적이고 읽기 쉬운 프로그램을 작성하는 데 도움이 되며, 필수 데이터 분석 스킬을 마스터하는 데 도움을 줍니다. 제가 느꼈던 《데이터 분석을 위한 줄리아》가 가진 장점입니다. 

1. 줄리아로 다양한 데이터 형식을 읽고 쓰는 방법을 소개합니다.
2. 현실에 있을 법한 예제와 연습 문제가 있어 줄리아를 실용적으로 배울 수 있습니다.
3. 각 장의 마지막에 요약으로 배운 내용을 정리하기 편했습니다.
4. 데이터 분석 결과를 공유하는 웹 서비스를 만드는 방법을 소개합니다.

그 밖에도 줄리아 설치 및 환경 설정에 대한 자세한 설명, 깃허브에 연습 문제에 대한 풀이를 제공하여 유용했습니다.





책은 줄리아에 대한 경험이 없는 독자들을 대상으로 데이터 분석의 관점에서 필요한 줄리아 언어를 쉽고 빠르게 알려줍니다.  다만, 데이터 분석을 초심자의 관점에서는 설명하지 않아 데이터 분석에 대한 경험이 없는 사람들보다는 최소한 파이썬이나 R을 통해 데이터 분석을 수행한 데이터 분석에 익숙한 사람들에게 적합하다고 생각했습니다. 


이 책의 목표는 모든 사용자가 데이터 분석을 할 때 유용하게 사용할 수 있는 
줄리아 핵심 기능과 자주 사용되는 패키지에 대해 알려주는 것이다. 
《데이터 분석을 위한 줄리아》, 시작하며


책은 데이터 변환, 시각화 등의 기술을 연습하면서 줄리아 특징을 알아보는 것부터 시작하여 실생활에 가까운 예제를 통해 필수 데이터 분석 기술을 마스터할 수 있습니다. 줄리아 언어의 기본부터 고급 기능까지 폭넓게 다루고 있으며, 데이터 과학자들이 실제로 데이터 분석 작업을 수행할 때 유용하게 사용할 수 있는 팁과 노하우를 제공합니다.





책에서 인상 깊게 읽었던 부분은 줄리아 프로그램을 사용하여 데이터 분석 결과를 공유하는 웹 서비스를 만드는 방법이었습니다. 많이 들어보기는 했지만 실습해 본 적은 없었던 몬테카를로 시뮬레이션에 대한 학습과 줄리아로 멀티스레딩을 사용하는 방법과 genie.jl 패키지를 통해 웹 서비스를 구축하면서 분석 결과를 사람들에게 편하게 제공하는 실습을 해보았는데, 웹 서비스 구축이 생소한 데이터 과학자에게 유용할 부분이라고 느꼈습니다. 

《데이터 분석을 위한 줄리아》는 데이터 과학을 위해 태어난 언어인 줄리아와 데이터 분석과의 만남을 아름답게 보여주는 책으로, 줄리아에 대한 이해와 실무적인 데이터 분석이라는 이론과 실전을 모두 갖추고자 하는 사람들에게 추천합니다.


"해당 서평은 제이펍 출판사로부터 책을 제공받아 작성했습니다."



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo