2020년 읽은 책의 리뷰나 거창한 정리 글은 아니고, 읽으면서 부족했던 부분, 추가적으로 깊이 있게 알아봐야 할 내용을 정리한다.

1. 이펙티브 자바 - 제3판

자바 플랫폼 모범 사례 완벽 가이드 ‘이펙티브 자바’의 개정판. 3판에는 자바 7, 8, 9에서 자바 언어와 라이브러리에 추가된 특성들을 녹여냈다. 특히 그동안 객체 지향에 치중하던 자바에 새로 도입된 함수형 프로그래밍 요소도 자세히 알아본다. 람다(lambda)와 스트림(stream)만을 다룬 장을 포함하여 새로운 아이템도 많이 추가되었다.
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=171196410

인터페이스를 활용하는 구체적인 방법 등을 좀 더 알아봐야 할거 같다. 제네릭 관련해선 깊이 있게 다시 봐야 할 거 같고 기본적인 다른 부분들도 추가적으로 시간을 할애해서 좀 더 알아보자.

  • 빌더 패턴
  • 제네릭, 한정적 와일드카드
  • Enum, 마커 인터페이스
  • Lamda, Stream
  • Exception 처리
  • 스레드, 병렬 프로그래밍(책)

- 2020.07

2. 모던 자바 인 액션

자바 최신 기능을 애플리케이션에 실용적으로 적용하는 방법을 알려준다. 수정처럼 투명한 예제와 꼼꼼한 정보 제공으로 여러분의 노력에 보답할 것이다. 또한 기존 핵심 자바의 지식뿐 아니라 스트림 API, 자바 모듈 시스템 같은 최신 추가 기능, 동시성의 새로운 접근 방법, 함수형 개념 등 읽기 쉽고 유지보수하기 쉬운 코드를 구현하는 데 어떻게 도움이 되는지 배울 수 있다.
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=200069290

이펙티브 자바보다 먼저 읽으려고 회사에 책을 가지고 왔는데 역시였다. 읽는 중 업무로 인해 늦어졌고, 같이 산 이펙티브 자바를 먼저 읽음, 매일 하루 한 시간 ~ 한 시간 반 속독을 목표로 잡았던지라 개념과 포인트만 짚고 빠르게 넘어갔다. 기회가 되면 예제 파일들을 실행하면서 다시 읽어보면 좋을 듯싶다.

  • 함수형 프로그래밍
  • 리액티브 프로그래밍

- 2020.08

3. 스프링 인 액션 - 제5판

리액티브 프로그래밍 지원을 강화한 스프링 5의 모든 것을 탐구한다. 이 책에서는 스프링 5와 스프링 부트 2를 사용해서 애플리케이션을 개발하는 데 필요한 여러 핵심 기능을 알려준다. 스프링 5에서는 특히 새로운 리액티브 웹 프레임워크인 WebFlux를 중점적으로 다룬다. 개발자들은 더 쉽고 확장성이 좋은 웹 애플리케이션을 개발할 수 있다. 《스프링 인 액션(제5판)》에서는 스프링 최신 버전의 모든 것을 다루고 있으므로 개발자들이 스프링의 새로운 진면목을 파악하는 데 도움이 될 것이다.
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=239755024

리액티브 웹 프레임워크인 WebFlux에 관한 내용이 궁금해서 구입해서 봤다. 기대보단 깊이있는 내용은 아니었지만 초심자가 처음 시작하기 위한 개념 및 방법은 좋을거 같다. 이책을 읽고 느낀 점은 토이 프로젝트의 필요성 이다. 이책의 흐름대로 토이 프로젝트를 발전해 나가봐야 할 거 같다.

  1. MyBatis, Thymeleaf를 활용한 프로젝트
  2. MyBatis -> JPA로 변경한 프로젝트
  3. MyBatis, JPA를 같이 구성하는 프로젝트
  4. REST API 프로젝트
  5. Spring Cloud를 활용한 마이크로서비스 구축
  6. Spring Actuator를 활용한 관리자 모니터링 프로젝트
  7. WebFlux API 프로젝트

토이 프로젝트에 대한 포스트를 따로 작성하면서 진행해야 할듯 싶다. 되도록이면 실 업무에 도움이 될만한 것을 위주로 구성을 해보면서 진행해보자.

  • 마이크로서비스 (Spring Cloud)
  • Spring Actuator
  • JPA
  • 비동기 메세지(JMS, RabbiMQ등)

- 2020.08

4. 인사이드 자바스크립트

자바스크립트의 핵심 원리, 언어적 특성을 정확하고 알기 쉽게 설명하는 책. 국내 개발환경, 입문/초급 개발자 수준에 맞춰 그림과 rule을 통해 이해하기 쉽게 설명하고, jQuery 1.0 소스 분석을 통해서 실제 프로젝트에서 사용된 각종 자바스크립트의 핵심 개념을 설명한다.
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=34486660

5년 전인가 6년 전에 구입한 책을 이제야 읽었다. 자바스크립트 닌자 비급이랑 같이 샀었는데.. 진작에 읽었으면 좋았을 것이다. 일반적으로 잘 알기 힘든 자바스크립트의 특성과 내부 구현 등 책 제목과 같이 자바스크립트를 좀 더 깊게 파고 설명한다.

  • ECMAScript 6 이상의 문법
  • ES6 이상에서의 자바스크립트 패턴

- 2020.08

5. 자바스크립트 닌자 비급

이 책은 여러분이 자바스크립트에 대한 깨달음을 얻을 수 있게 이끌어 줄 것이다. 이 책은 달인의 관점에서 바라본, 함수와 객체 그리고 클로저 사이의 관계와 같은 핵심 개념을 소개하는 것으로 문을 연다. 여러분은 매일 사용했던 기법들을 새로운 시각에서 바라보고, 알지 못했던 기능과 가능성을 발견하게 되는 과정을 통해서 견습생에서 어느덧 닌자로 성장해 있을 것이다. 마지막 장에 이르게 되면, 번뜩이는 자바스크립트 기반의 애플리케이션을 만들 준비가 되어 있을 것이고, 어쩌면 자신만의 자바스크립트 라이브러리나 프레임워크를 만들게 될 수도 있을 것이다.
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=38913750

인사이드 자바스크립트랑 같이 샀던 책이다. 역시 구매 후 일찍 읽었으면 좋았을 내용이다. 현재는 초반 내용 정도 학습하기 좋은 듯싶다. 크로스 브라우징 관련 내용이 좀 있고, 자바스크립트가 5, 6년 전보단 ECMA 기술 규격에 따라 표준화도 많이 되고 발전했기에 늦게 읽은 게 매우 아쉽다.

  • ECMAScript 6 이상의 문법
  • jQuery 지양하고 네이티브 문법으로

- 2020.09

6. 자바 ORM 표준 JPA 프로그래밍

자바 ORM 표준 JPA는 SQL 작성 없이 객체를 데이터베이스에 직접 저장할 수 있게 도와주고, 객체와 관계형 데이터베이스의 차이도 중간에서 해결해준다. 이 책은 JPA 기초 이론과 핵심 원리, 그리고 실무에 필요한 성능 최적화 방법까지 JPA에 대한 모든 것을 다룬다. 또한, 스프링 프레임워크와 JPA를 함께 사용하는 방법을 설명하고, 스프링 데이터 JPA, QueryDSL 같은 혁신적인 오픈 소스를 활용해서 자바 웹 애플리케이션을 효과적으로 개발하는 방법을 다룬다.
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=62681446

예전에 인터넷 등을 뒤지면서 JPA 프로젝트를 했을 때 부족한 부분을 많이 느끼고 좀 더 자세히 학습하고 싶은 마음으로 구입했다. 그래도 쌩판 모르는 상태에서 읽은 건 아니라 크게 어려움은 없었고, 기초나 개념, 읽기 전 기대보다 더 많은 것을 얻은 것 같다. 토이 프로젝트를 하면서 다시 부딪혀 봐야겠다.

  • Spring data JPA
  • Spring data (NoSQL)

- 2020.09