(웹 프로그래머를 위한 서블릿 컨테이너의 이해) 리뷰


한빛미디어 - 웹 프로그래머를 위한 서블릿 컨테이너의 이해

스프링을 이용해 개발하고 있지만 스프링이 구동되는 서블릿 컨테이너에 대한 이해가 부족해 읽게 되었다. (어떻게 돌아가고 있는지 궁금했다…)

책의 구성은 서블릿 컨테이너를 학습해야 하는 이유를 시작으로 HTTP 프로토콜에 대한 이해 그리고 서블릿의 이해로 이어진다.
그 후에는 실제 서블릿 컨테이너에서 HTTP 프로토콜을 어떻게 분석해 서블릿에 전달해주는지, 스레드 풀을 이용해 동시에 들어오는 request 들을 어떻게 처리하는지에 대한 내용을 다루고 있다.

도입 부분(서블릿 컨테이너를 학습해야 하는 이유)에 다음과 같은 이야기가 있다.

특히 성능과 관련된 문제가 발생했을 때, 웹 기반 시스템의 하위 레벨 영역인 웹 애플리케이션 서버가 담당하는 부분을 모르고서는 근본적인 원인 규명 자체가 불가능합니다. 웹 애플리케이션 서버의 내부구조와 동작 원리를 이해하지 못하는지가 웹 프로그램의 고성능, 고가용성에 대한 요구를 충족시킬 수 있는지 결정한다고 할 수 있습니다.

위의 말에 전적으로 동의한다. 스프링을 이용해 웹 애플리케이션을 만들기 위해 스프링을 공부하고 이해하듯, 스프링이 실행되는 서블릿 컨테이너에 대한 공부와 이해도 필요하다. 아마 나와 같이 서블릿을 이용한 개발 경험 없이, 스프링을 시작했다면 이 책을 읽어보기를 더욱 추천하고 싶다.

(이펙티브 자바 2판) 리뷰

Java 개발자라면 꼭 읽어보아야 한다는 Effective Java 책이다.
Java 언어를 처음 접하는 개발자보다는 어느정도 Java를 이용해 개발을 하고 있는 개발자에게 많이 추천되는 책이다. 실제 책 도입 부분에서도 Java 언어를 처음 공부하는 개발자 보다는 중급 이상의 프로그래머 반열에 오르려면 반드시 읽어야 할 내용들을 포함하고 있다고 말하고 있다.

나는 아무래도 이직 후 자바 개발과 스프링 프레임워크를 처음 접하게 되었는데, 자바 웹 애플리케이션 개발 전반에 대해 이해하고자 스프링 관련된 서적을 먼저 읽고 있었지만, 여러 팀 동료분들이 코드리뷰를 해주시면서 “이펙티브 자바” 책을 읽어보면 도움이 많이 될 것 같다고 조언해주셔서 읽어보게 되었다.

이 책은 총 78개의 규칙으로 구성되어 있으며, 각 규칙은 최고의 프로그래머와 노련한 프로그래머 대부분이 유용하다고 믿는 지침들을 요약한 것이다. 책에서 등장하는 첫 번째 규칙이 **”규칙 1. 생성자 대신 정적 팩터리 메서드를 사용할 수 없는지 생각해 보라”**인데, 동료분께 코드리뷰 받으면서 조언 받았던 부분이기도 했다. 그래서 첫 부분부터 아주 재밌게 읽어나갔다. 그 외에도 평소 코드리뷰에서 말씀해 주셨던 여러 내용들을 이 책을 통해 자세하게 알 수 있었다.

책 자체 내용은 쉽게 읽을 수 있는 정도는 아니었다. 오히려 이해하기 위해 고민하는 부분에서 깨닫게 되는 부분도 많은것 같다. (특히 제네릭 부분과 병행성 부분은 아직도 좀 어려운데 이 부분은 앞으로 어느 정도 시간이 지난 후 다시 읽어보면 또 다르게 받아들여지지 않을까 싶다.)
결과적으로 책을 읽고 난 후, 이부분을 개발할 때는 어떤 부분을 고려해 보아야 겠다라는 생각이 조금은 들게 된것 같다.

책 자체는 얇지는 않지만 각 파트 별로 여러개의 규칙으로 구성되어 있고, 각 규칙들은 정말 길어봐야 5~6장 정도의 분량이기 때문에 짬내서 읽기에도 좋았던것 같다.
Java를 사용해 개발하고 있는 개발자 분들 중 읽어 보시지 않은 분들이 계시다면 꼭 추천드리고 싶은 책이다.

(라즈베리파이 쿡북) 리뷰

벌써 라즈베리파이 강의를 한지 약 한달 정도가 지났습니다. 조금 늦은 감이 있지만 강의를 준비하며 도움을 많이 받은 책이기에 후기를 남깁니다.

강의는 대체로 라즈베리파이를 처음 접하는 학생들이 대부분이었기에 어려운 주제를 다루기보다는 간단히 라즈베리파이에 라즈비안(OS)를 설치하고 리눅스 명령어를 실습, 파이썬 기본 문법, 파이썬을 사용해 라즈베리파이 GPIO 사용하기를 강의 목표로해서 진행했었습니다.

한빛미디어 라즈베리파이 쿡북

**한빛미디어의 라즈베리파이 쿡북**은 책의 순서 및 내용이 제가 하고자 했던 강의와 대부분 일치하여 강의 준비를 하면서 많은 도움을 얻을 수 있었습니다.

간단하게 책에서 다루는 내용을 살펴보면 다음과 같습니다.

  • 라즈베리 파이의 구입, 설정, 기본 관리 방법 익히기
  • 네트워크에 라즈베리 파이 연결하기
  • 리눅스 기반의 운영체제와 사용법 익히기
  • 라즈베리 파이에 기본 내장된 소프트웨어를 사용하기
  • 라즈베리 파이를 위한 파이썬 프로그램 익히기
  • GPIO 커넥터를 통해 하드웨어 제어하기
  • 라즈베리 파이와 함께 다양한 모터 사용하기
  • 디지털 장비를 통한 입출력 살펴보기
  • 센서를 연결해 다양한 상태 살펴보기
  • 라즈베리 파이와 아두이노를 혼합한 프로젝트 만들기

너무 어렵지 않은 주제들을 다루고 있고, 처음 프로그래밍을 접하는 사람도 천천히 따라하면 파이썬을 사용해 라즈베리파이 프로젝트를 할 수 있을 정도로 내용을 다루고 있습니다.

책에서 다루는 센서들도 대부분 많이 사용하고 있는 센서들이기 때문에 검색을 통해 추가적인 자료를 얻는것도 쉽습니다.

라즈베리파이를 사용해 프로젝트를 해보고자 하시는 분들은 라즈베리파이 쿡북을 참고해서 진행해보는것을 추천드립니다!