모두의 자바(강경미, 길벗, 2020)

old/BOOK 2021. 1. 7. 01:26

프로그래밍 언어와 관련하여 자주 언급되는 통계 자료의 2021년 1월 프로그래밍 언어 순위를 보면 JAVA는 C에 이어 2위를 하고 있으며, 작년 중반까지는 오랜기간 1위를 차지하고 있었다.
개발자 커뮤니티를 보더라도 JAVA의 큰 비중을 쉽게 느낄 수 있다. 이러한 인기 언어인 JAVA를 알아보고 싶은 호기심을 충족시켜 줄 JAVA입문서 서평단으로 참여할 수 있는 좋은 기회가 생겼다.
책의 제목은 '모두의 자바'라는 왠지 친근한 분위기를 풍기는 제목의 입문서이다.

책을 살펴보면 기초 입문서에 충실한 구성과 내용을 담고 있어서, 다른 언어를 학습한 적이 있으면 어렵지 않게 책의 예제를 따라가며 자바를 학습할 수 있다.
만약, 프래그래밍을 처음 접하더라도 개발환경 준비를 위한 툴 설치부터 시작하여 차근차근 안내를 하고 있어서, 학습 속도에 욕심을 내지 않고 차근차근 책의 안내를 따라가면서 학습을 하면 코딩의 기초개념을 익힐 수 있도록 되어 있어서 코딩을 처음 접하는 사람에게도 좋은 가이드가 될 수 있을 것 같다.

책의 구성은 입문서 답게 JAVA 개발을 위한 개발환경 구축, 변수, 제어문, 부터 시작하여 프로그램의 기초 개념을 충실히 설명하고 있다. 
또 각 주제별 학습의 도입에서는 해당 학습에서 다룰 주제의 개념을 알기 쉬운 도식으로 가능한 쉽게 먼저 설명하고 있으며, 학습 내용을 다루면서는 전반적인 내용을 설명하면서도 입문서인 만큼 가능한 학습자의 혼란을 줄려는 의도가 보였다. 

특히 간간이 보이는 NOTE 라는 글상자에서는 학습자가 접할 가능성이 높은 오류에 대한 해결방법이나 본문에서 다룬 것 중 설명의 보강이 필요한 내용들에 대해 보충 설명을 해 주고 있는데, 학습 초반에 설명되어 있는 코드 작성 규칙에 대한 설명은 JAVA를 처음 학습하는 사람과 코딩을 처음 접하는 초보자에게 좋은 팁이 될 수 있다고 생각한다. 
그리고 책을 통한 학습만이 아니라 프래그래머스(programmers.co.kr)를 통해 책과 관련된 강의를 들을 수 있도록 한 것도 좋은 배려라고 생각된다.

기본 개념으로 알아야 할 내용을 충실히 다루고 있는 JAVA 입문서이며, 이 책으로 기초를 학습한 후 책에서 다루고 있는 주제나 개념들을 키워드 삼아서 자료를 찾아가며 학습을 하면 조금 더 심도 있는 학습단계로 이어질 수 있을 것으로 생각되어진다.

쉽게 배워 바로 써먹는 디자인 패턴(이호진, 한빛미디어, 2020)

old/BOOK 2020. 12. 18. 19:42

이 책에서 말하는 디자인 패턴은 공학적인 측면에서 패턴의 원리에 접근한 것으로써 문제를 해결하는 과정과 방법을 일반화 한 것으로, 소프트웨어 분야에서 패턴은 문제를 해결할 때 적용한 코드의 구현을 패턴화 한 것이다.

이 책의 첫 챕터는 디자인 패턴의 이해를 간략히 설명하는 것부터 시작한다. 
객체지향 디자인 패턴을 다루기에 앞서 학습을 좀 더 수월하도록 돕기 위해 객체지향의 개념과 설계 방법을 설명하고 있다. 

책에서 다루고 있는 패턴은 총 3개의 파트로 다음과 같이 분류하고 있고
-생성 패턴(선언된 클래스로 객체를 생성하는 방법에 대한 문제점과 해결책을 제안)
-구조패턴(객체를 확장하는 방법) 
-행동패턴(객체의 행위가 어떻게 목적을 수행하는지)

각각 하위 패턴으로는 다음의 24가지 패턴들이 있다.
-생성 패턴: 팩토리, 싱글턴, 팩토리 메서드, 추상 팩토리, 빌더, 프로토타입,
-구조패턴: 어댑터, 브리지, 복합체, 장식자, 파사드, 플라이웨이트, 프록시,
-행동패턴: 반복자, 명령, 방문자, 체인,감시자,중재자, 상태, 메멘토, 템플릿 메서드, 전략, 인터프리터

코드는 PHP를 이용하여 설명하지만, 특정 언어에 종속되어 다루지 않고, 동작 원리 위주로 구성을 한, 객체지향 디자인 패턴의 카달로그식 구성인 만큼 특정 언어에 종속된 것을 다루기 보다는 이 책을 총해 객체지향 개발에서 사용할 수 있는 디자인 패턴을 학습할 수 있다.

좋은 기회에 증정 이벤트를 통해 받은 '쉽게 배워 바로 써먹는 디자인 패턴'은 저자가 2년을 준비하고 10개월 동안 집필했다고 한다. 이 책은 초보 개발자들이 조금 더 큰 프로젝트를 수행할 때 직면할 수 있는 문제를 해결하기 위한 선배들의 노하우를 정리한 일종의 족보가 될 수 있을 것이다.

 

Do it! 점프 투 플라스크(박응용, 이지스퍼블리싱, 2020)

old/BOOK 2020. 12. 16. 16:14

근레에 가장 핫안 프로그래밍 언어 중 하나가 파이썬이다. 파이썬에 흥미를 가지고 학습하던 중 위키독스(wikidocs.net)를 통해 제공되던 게시판 서비스를 만드는 과정을 담은 '점프  플라스크'의 출간과 서평단 모집 공고를 보고 참여하게 되었다. 이 책은 파이썬을 이용하여 파이보 게시판 시스템을 개발 배포하는 전체 과정을 담고있다. 이 책을 통해 만들 수 있는 파이보 게시판은 'https://pybo.kr/'를 통해 그 외향과 기능을 엿볼 수 있다.

본글 시작전 학습 계획표에는 한달 계획으로 입문자들이 지치지 않고 학습을 할 수 있도록 안내하고 있으나, 책이 어렵지 않고 친절하게 안내하고 있어서 파이썬이나 프로그래밍 개발 지식이 있으면, 전반적인 내용을 빠르게 살펴보며 습득 할 수 있다.

책의 전개는 시작부터 끝까지 아주 친절하다. 낮선길을 네비게이션 안내에만 의지하여 찾아가듯이 파이썬 설치부터 서버 구동, 깃과 AWS를 통한 웹 배포까지 그 과정을 차근차근 설명하고 있다.
책의 내용과 코드를 제대로 이해하고 학습하려면 파이썬이나 프로그래밍에 대한 사전 지식이 있어야 하겠지만, 파이썬이나 코딩에 대한 사전지식이 없더라도 실습 파일과 책에서 안내하는 절차와 코드를 단계별로 따라하면, 파이보 게시판 배포까지 가능하도록 친절하게 안내하고 있다.

다루고 있는 내용의 범위는 백엔드, 프론트엔드, 웹 네트워크를 모두 다루고 있다고 볼 수 있으나, 각각의 전문서적 처럼 깊게 다루는 것이 아닌 게시판 배보를 위한 과정으로써 다루고 있으며, 그 내용들은 명확하다. 
파이썬부터 시작하여 에디터까지 파일 다운 및 설치 과정을 따라하기만 하면 되도록 하였고, 파이썬과 웹 프레임워크인 플라스크(Flask) 설치와 세팅부터 시작하여, ORM을 이용한 SQLite DB제어 방법과 게시판의 세부 기능 하나하나를 추가하고, 부트스트랩을 이요한 화면 구성 및 이후 서버 도메인 연결과 배포 그리고 PostgreSQL 적용까지 가이드를 담고 있다. 

이 책을 통해 만들게 되는 게시판에 대한 처음 기대는 입문자용 책인만큼 간단한 글 등록, 삭제, 수정 과 페이지 리스트와 페이지네이션 정도만을 기대하였으나, 책에서 다루고 있는 코드는 회원가입시스템은 물론이고 실제 질답 게시판으로 사용하기에 기본 기능에서 부족함 없이 게시판에서 있음직한 기능들을 대부분 다루고 있다. 그리고 그때 그때 알아야 할 개념들도 적당히 설명하고 있다.

'점프 투 플라스크'는 단순한 파이썬 코딩 학습보다는 입문서를 학습한 후 무엇을 할 지 막연한 느낌이 들거나, 파이썬의 기초개념을 배운 후 실용적인 프로젝트를 해보고 싶거나, 파이썬을 이용한 웹개발과 배포과정의 전반적인 사항을 이해하고자 할때 좋은 가이드가 될 것 같다. 또 기초적인 개발과 배포 과정 전체를 다루고 있기에 책에서 다루는 전체 프로젝트를 진행하고, 각 과정에서 다루는 내용들을 키워드 삼아서 추가적인 학습 자료를 찾아보며 더 심화된 학습의 발판으로 삼기에도 좋을 것 같다.

웹 개발 환경에서 게시판이란 CRUD(Create, Read, Update, Delete) 및 화면 구성까지 모두 다루는 것이기 때문에, 코딩 입문서를 학습하며 특정 키워드나 함수의 동작을 설명하는 단편적인 프로젝트를 경험했다면, '점프투플라스크'를 통해 그 단편적인 코드들과 기능들이 어떻게 융합되어 실용적인 프로젝트로 구성되는지 경험해 보기를 추천하고 싶다.