클로저 시작하기: 기본 개념과 7주 훈련 프로그램

클로저 시작하기 표지_small

작심삼일, 벼락치기는 이제 그만!

올해는 운동을 시작하겠어!! 한 달 안에 3kg을 빼고 복근도 만들어야지!

하지만 살은 쉽게 빠지지 않고…(콰광!!)

운동도 흐지부지, 살을 빼겠다는 의지도 흐지부지되고 끝나기 일쑤입니다.

 

저자인 캐린 마이어(Carin Meier)도 자신의 경험을 소개하고 있습니다. 달리기를 시작했지만 끈기 있게 달리는 것이 너무나 힘들어서 계속 실패한 겁니다. 그러다가 ‘couch to 5k’라는 앱을 알게 되었죠. 이 앱을 만든 사람은 사람들이 운동 목표를 달성하지 못하는 가장 흔한 이유가 너무 빨리, 너무 많은 것을 이루려고 하기 때문이라는 점을 깨닫게 되었다고 합니다. 그래서 사용자가 쉬지 않고 30분을 달리는 것을 목표로 하는, 점진적인 8주 과정의 프로그램을 만들었고, 저자는 이 프로그램을 이용해서 30분 동안 계속 달릴 수 있게 되었습니다.

이와 비슷한 상황이 개발자들에게도 벌어집니다. 새로운 언어를 공부하기 시작하면서 벼락치기로 한 주 만에 모든 것을 배우려고 하는 것이죠. 새로운 언어를 배우는 과정은 새로운 사고방식을 익혀서 새로운 방식으로 문제를 처리하고 풀도록 두뇌를 훈련하는 것입니다. 결코 하루아침에 이루어질 수 없습니다. 달리기처럼 지속적인 훈련이 필요하죠.

 

클로저는 처음인데…. 끈기 있게 배울 수 있을까?

클로저는 최근 각광받고 있는 함수형 언어지만 초보자를 위한 책은 찾기가 쉽지 않습니다. 이 책은 클로저 전반에 대해 소개하는 친절한 안내서를 찾고 있는 프로그래머에게 안성맞춤입니다. 저자는 JVM에서 실행되는 클로저라는 언어와 함수형 프로그래밍 개념에 대해 실용적인 방식으로 설명하고, 클로저를 체계적으로 배울 수 있도록 잘 설계된 7주의 훈련 코스를 제공합니다. 이 책은 다른 언어로 프로그래밍해 본 경험이 있지만 클로저는 처음인 사람을 대상으로 하고 있어서, 프로그래밍 언어에 대해 잘 알거나 클로저를 깊게 알고 싶은 사람에게는 적합하지 않습니다. 이 책은 클로저의 방식으로 생각하는 방법을 배우는 것이 목표이기 때문에 세세하게 설명하기보다는 따라해 보면서 익힐 수 있도록 구성되어 있습니다.

 

『클로저 시작하기』를 지도삼아 클로저 세계를 여행해보자

이 책은 크게 두 부분으로 나눠볼 수 있습니다. 1부는 여기서는 클로저의 일반적 사용법과 유용한 라이브러리를 다루면서 클로저 프로그래밍 언어의 단순성과 강력함을 설명합니다. 2부에서는 클로저 훈련 프로그램을 제공합니다. 7주 과정의 훈련 프로그램을 통해 클로저가 익숙해지도록 연습하고 필요한 지식과 도구가 무엇인지 배우게 됩니다.

클로저 1.8 버전에 맞춰 업데이트한 코드를 차근차근 따라하다 보면 어느새 클로저의 방식으로 사고하는 법을 몸에 익히게 될 것입니다.

 

이 책에서 다루고 있는 자세한 내용은 다음과 같습니다.

■ 클로저 식(expression)의 기본 구조

■ 함수형 방식으로 코드를 만들고 제어하는 방법

■ 클로저에서 현실 세계의 상태와 병행성을 다루는 방법

■ 자바 클래스 이용 방법과 클로저에서의 다형성

■ 클로저 프로젝트에서 라이브러리 사용/관리 방법

■ 비동기적이고 병행적인 통신에 core.async를 사용하는 방법

■ 클로저 프로그래밍에서 매크로의 힘을 알아보기

■ 클로저 방식으로 생각하게 해주는 7주 훈련 코스

 

저자의 생생한 목소리를 통해 클로저에 대해 더 알고 싶으시다면 아래 링크를 클릭하세요!

#171: Living Clojure, ClojureScript, and more with Carin Meier

 

『클로저 시작하기: 기본 개념과 7주 훈련 프로그램』은 다음 서점에서 구입하실 수 있습니다.

[ Yes24 ] [ 교보문고 ] [ 알라딘 ] [ 인터파크 ]

『프로 Git 2판』 오픈 소스 개발자가 Git에 대해 알아야 할 모든 것

Git을 다룬 책 중 결정판이라 할 『프로 Git 2판』
Pro Git 1판이 나온 이래 Git엔 많은 것들이 추가되고 수정됐습니다. Pro Git 2판은 이러한 추가된 것, 수정된 것을 다루고 있습니다.

Git을 사용하는 오픈 소스 커뮤니티의 폭발적인 증가 양상에 맞춰 Git 호스팅 웹사이트인 GitHub 커뮤니티를 한 개장으로 구성해 소개하고 있습니다. GitHub을 같이 배우면 커뮤니티에 참여할 수 있어서 자신만의 Git 호스팅을 사용하는 것보다 더 큰 효과를 얻을 수 있을 겁니다.

1판이 나오고 난 이후 크게 바뀐 또 하나는 Git 데이터를 전송하는 데 사용하는 HTTP 프로토콜이 개선되었다는 점입니다. 이 책 예제의 대부분은 HTTP를 사용하는 것으로 바뀌었습니다. HTTP가 더 간단합니다.

1판을 읽었고 도무지 시간이 없다는 분들은 6장과 7장을 먼저 읽어 보는 것도 좋습니다. 이 부분은 거의 새로운 내용입니다. 마지막 장에서는 Git의 은밀하고 기술적인 구조를 깊이 있게 다루고 있습니다. 단 한 권으로 Git의 고수가 되고 싶다면 이 책을 권합니다.

 

프로 Git 2판_표지앞

프로 Git 2판: 그림으로 이해하는 Git의 작동 원리와 사용법』
스캇 샤콘, 벤 스트라웁 지음 | 박창우, 이성환, 최용재 옮김
* 프로 Git 2판_미리 보기 (클릭!)

생산적이고 효율적으로 Git을 즐기는 안내서
『프로 Git 2판』은 총 10개 장과 3개의 부록으로 아래와 같이 구성되어 있습니다.

1장에서는 버전 관리 시스템(VCS)과 Git이란 게 대체 무엇인지, Git의 탄생 배경과 Git이 다른 VCS와 무엇이 다른지, 많은 사람이 왜 Git을 사용하는지에 대해서 알아봅니다.

2장에서는 기본적인 Git 사용법을 설명합니다. 80%쯤은 이 장에서 설명하는 정도로만 Git을 사용하므로 2장을 읽고 나면 저장소를 Clone하기, 프로젝트 히스토리를 알아보기, 파일을 수정하고 프로젝트에 기여하기 등을 할 수 있습니다.

3장에서는 Git의 핵심 기능이라 불리는 브랜치 모델에 대해서 알아봅니다. Git 브랜치를 어떻게 활용하는지 배우면 다른 VCS와 어떻게 다른지 알게 됩니다.

4장에서는 서버 환경에서의 Git에 대해 살펴봅니다. Git으로 협업할 때 회사 같은 특정 네트워크 안에서 사용할 Git 서버를 구축하거나 자신만의 Git 서버를 운영하고자 하는 사람에게 필요한 내용입니다. 직접 Git 서버를 관리하지 않고 사용하는 여러 호스팅 서비스도 소개합니다.

5장에서는 다양한 분산 환경에서의 워크플로에 대해 알아보고 Git으로 어떻게 워크플로를 달성하는지 알아봅니다. 5장을 읽고 나면 여러 리모트 저장소를 두고 전문가처럼 작업할 수 있습니다. 이메일로도 Git 작업을 할 수 있고, 많은 수의 리모트 브랜치나 기여받은 패치를 다룰 수 있습니다.

6장에서는 GitHub 호스팅 서비스와 GitHub에서 제공하는 도구를 자세히 알아봅니다. 가입하고 계정을 관리하는 방법부터 Git 저장소를 생성하고 다른 프로젝트에 기여하고 반대로 기여받는 워크플로를 살펴봅니다. GitHub이 제공하는 프로그래밍 가능한 인터페이스와 알아두면 피가 되고 살이 되는 팁도 소개합니다.

7장에서는 Git의 고급 명령을 알아봅니다. 때로는 위험할 수도 있는 ‘Reset’ 같은 명령에 도사가 되고, 버그를 찾기 위해 이진 탐색 기능을 사용하기도 한다. 히스토리를 수정하기도 하고 히스토리에서 세세하게 리비전을 선택해서 작업하는 등 다양한 고급 기능을 살펴봅니다. 7장은 Git을 고급스러워 보이게 구사하는 마스터로 만들어 줄 것입니다.

8장에서는 Git 환경설정을 입맛에 맞게 조정하는 방법을 알아봅니다. 사용자가 원하는 정책을 만들어서 Git 환경에 적용할 수 있는 훅 스크립트를 설명합니다. 원하는 대로 커밋 규칙을 세우고 이를 강제하도록 스크립트를 작성하는 예제도 소개합니다.

9장에서는 Git과 다른 VCS를 함께 사용하는 환경에 대해 알아봅니다. Subversion 환경에서 Git을 클라이언트로 사용하는 방법이나 다른 VCS 프로젝트를 Git 프로젝트로 변경하는 방법을 살펴봅니다. 예를 들어 Subversion 서버를 써야 하는 환경에서도 Git이 제공하는 다양한 장점을 사용하는 법을 알려줍니다. 다른 VCS 환경이나 프로젝트를 Git으로 변환하는 방법을 터득함으로써 동료에게 Git이 왜 좋은지 이해시키는 데 도움이 될 수 있습니다.

10장에서는 Git 안으로 깊숙이 파고듭니다. Git이 실제로 어떻게 동작하는지 이해하고 나면 아주 우아하고 강력하게 Git을 사용할 수 있게 됩니다. 이처럼 내부를 이해하고 나면 이제 데이터를 어떻게 다루는 것이 좋은지, 객체를 다루는 모델로 무엇을 사용하는지, Packfile은 정확히 어떻게 이루어져 있는지, 서버 프로토콜은 어떻게 이루어져 있는지 논하는 경지에 이르게 됩니다. 남들과는 다르게 Git의 은밀한 기술적인 구조를 이해하고 싶다면 다른 부분보다 여기 10장에 먼저 손이 갈 것입니다.

부록 A에서는 다양한 환경에서 Git을 사용하는 예제를 살펴봅니다. 여러 GUI, 여러 IDE 환경에서 Git을 사용하려면 어떻게 해야 하는지, Shell이나 Visual Studio, Eclipse 같은 환경에서 Git을 어떻게 쓰는지 훑어보려면 부록 A를 보면 됩니다.

부록 B에서는 Git을 스크립트로 사용하거나 libgit2나 JGit 같은 라이브러리로 기능을 확장해서 사용하는 방법을 알아봅니다. 맞춤 도구를 제작해서 사용해야 한다거나 Git의 저수준 접근이 필요한 경우 부록 B를 살펴보면 어떻게 해야 할지 감을 잡을 수 있습니다.

마지막으로 부록 C에서는 주요 Git 명령을 한꺼번에 살펴보고 각 명령을 어디서 설명하고 있는지 안내하고 어떻게 사용했는지를 알려줍니다. 어떤 명령이 책의 어디에서 소개되었고 어떤 예제가 있는지 찾아볼 때 부록 C가 유용합니다.

 

한글 Pro Git 오픈 소스 프로젝트에 이바지한 분들
역자들을 도와 2판 리뷰에 힘써주신 많은 리뷰어께도 감사드립니다. :)

김경범 님, 김경진 님, 이거성 님, 정규철 님, 정봉훈 님, 조현기 님, 조현태 님, 최병훈 님 (역자 서문에 기재)

* 샤콘느님이 GitHub에 공개해둔 Pro Git 2판 원문 보기 (클릭!)

* Git 명령어를 한눈에! Git 치트시트.pdf (종이책 맨 뒤에 첨부)

 

오픈 소스 개발자가 Git에 대해 알아야 할 모든 것
버전 관리 시스템과 오픈 소스 프로젝트를 활용하는 법을 배우려는 초보 개발자나 웹 디자이너는 물론 협업을 통해 코드 수정과 버전 관리를 깔끔하게 해내고 싶은 엔지니어 분들께 이 책을 권합니다. 『프로 Git 2판』은 다음 서점에서 구입하실 수 있습니다.

Yes24 | 교보문고 | 알라딘 | 인터파크 | 강컴