|
여유 시간에 조금씩 학습할 목적으로 AngularJS를 다루는 서적 중에서 가장 따근한 서적을 선택했습니다. 개인적으로 도서를 구매하기 전에 해당 도서가 어떤 목표를 갖고 저술했으며, 어떤 내용들을 다루고 있는지 확인하기 위해 도서의 목차 및 소개 내용 등의 앞 부분을 여러 번 정독하곤 하는데, 이 도서는 입문서로서 Manning 출판사의 서적을 번역했으며, AngularJS 1.x 버전을 다루고 있습니다. https://www.manning.com/books/angularjs-in-action
예전에 닷넷 프레임워크가 처음 나왔던 시절에는 학습하기가 무섭게 신 버전이 나오는 등 변화 무쌍했더랬죠.ㅜㅜ 아마도, 도서 선택 시 가장 큰 어려움은 신 버전이 나왔으나 관련 도서는 없어서 구 버전의 도서를 구매하는 게 아닌가 싶네요.*^^* 버전에 민감한 IT 도서의 경우 입문자분들의 경우 버전이 달라서 생기는 불 필요한 체력 소모를 많이 봐왔기 때문에 버전에 민감하신 분들의 경우에는 학습목표를 확실히 하셔야 할 듯싶습니다. 일반적으로, 입문자분들의 경우에는 가급적 도서에서 다루는 버전과 실습 환경을 동일하게 구축하시는 게 가장 좋습니다. 책을 저술하거나 강좌를 만들 때 가장 고민되는 부분 중 하나는 독자층을 결정했어도 내용의 범위와 대상을 정하는 것입니다. 또한, 입문자의 경우 제 경험에 비춰봤을 때 지루한 문법 설명보다는 간단하더라도 프로젝트를 정한 후 프로젝트에 필요한 기능들을 만들면서 간단한 개념을 잡고 나서 문법 등을 학습하는 게 가장 효율적이었습니다.
저자 역시 매뉴얼처럼 단순히 AngularJS의 구조를 하나씩 설명하는 건 상대적으로 쉽겠지만 그렇게 부분적으로 얻어지는 지식만으로는 실제 애플리케이션을 구현하기에는 어려움이 많다고 판단하여, 안젤로라는 트렐로와 비슷한 실무용 앱을 개발하는 과정 속에 AngulaJS를 잘 녹이면서 어떤 주제를 다루지 않을 것인지를 결정하기 위해 진지하게 고민한 부분은 공감되는 부분입니다. 이 도서는 크게 AngularJS에 대해 소개하는 1부의 AngularJS와 친해지기, 안젤로 예제를 구현하면서 구체적으로 살펴보는 2부의 AngularJS 제대로 활용하기로 구성되어 있습니다.
이 도서의 특징으로는 AngularJS의 모든 기능에 대해 상세하게 설명하기보다는 안젤로라는 실무 프로젝트를 기준으로 어떤 방식으로 사용하면 좋은지 간단하게 길라잡이 역할을 하고 있어서, 책이 가볍고 흐름을 파악하기에 아주 좋습니다. 아주 상세히 들여다보지는 않지만, 어떤 기능들을 제공하며, 어떻게 활용할 것인지 파악하는데 도움이 됩니다. 이 도서의 목표와 앞에서 잠깐 언급한 부분을 보면 알 수 있듯이 입문부터 가장 실용적인 조언을 제공하기 위해 현업에서는 특정 제품(예:안젤로)를 만들 때 기본 모듈보다 자주 사용되는 서드파티 모듈들도 있으나 서드파티 모듈을 비롯하여 꼭 필요하다고 판단되지 않는 이상 CSS나 HTML, Javascript에 대한 언급도 최대한 자제하고 있습니다. 도서의 경우 각자 선호하는 경향들이 다르기 때문에 이로 인해 호불호가 갈릴 것으로 판단됩니다. 도서의 스타일을 보면, 각 챕터의 초반에는 학습 포인트가 되는 학습할 내용을 미리 알려줍니다.
독자에게 있어 가장 직관적이고 명확하지만 가장 귀찮은 방법은 다양한 그림을 그려가며 설명하는 방식일 것입니다.
AngularJS 인 액션 도서는 다루는 내용 대비 230 페이지의 상당히 적은 분량의 가벼운 도서입니다. 최대한 군더더기 없이 필요한 핵심 부분에 대해서 다루고 있기에 어떤 분들에게는 안 맞을 수 있습니다만 책이 가볍고 내용이 많지 않기 때문에 하루 이틀이면 읽을 수 있는 분량이라서 가벼운 마음으로 몇 번 읽어 보면 좋을듯싶습니다. 이 도서의 예제 애플리케이션인 안젤로(Angello)의 모든 기능은 완벽하게 동작하며, Firebase및 Node.js를 기반으로 한 백엔드 코드가 포함되어 있으며, Auth0를 이용한 소셜 로그인과 같은 몇 가지 추가 기능을 제공합니다. http://www.angelloinaction.com/ 데모 사이트를 방문해서 안젤로가 어떤 앱인지 확인하시는 것도 좋으리라 봅니다. 무엇보다 저자는 집필하는 시점에 Angular 버전 2의 알파 버전이 릴리스되었지만, 아직 제대로 된 애플리케이션의 구현에 사용할 수 있는 수준이 아니라고 판단되었다고 합니다. 비록 도서는 Angular 1 버전으로 설명되어있으나 AngularJS의 변화도 많고 안젤로 소스의 업데이트도 활발하기 때문에 어떤 의미에선 자신이 노력하기에 따라서는 오히려 구 버전부터 신 버전의 모든 소스를 이해하게 되므로 얻는 부분이 많을 것입니다. 도서를 이용해서 단 기간에 AngularJS의 본질을 파악하고 저자 및 안젤로 소스를 통해서 충분한 실력 향상에 도움이 되리라 봅니다. 각자 도서를 어떻게 활용할지에 따라 다르겠으나 개인적으로는 10점 중 9점을 주고 싶습니다.^^ [요약] - Go 언어에 대한 집중적이고 간결하면서도 포괄적인 가이드를 제공 - 책이 두껍지 않고 필요한 핵심 내용을 포함하고 있어서 가벼운 마음으로 Go를 접하기에 무난함. - MEAP과 Go 커뮤니티를 통해 많은 피드백이 반영되어있음. - RSS 피드 검색 예제를 통한 Go 철학을 이해할 수 있음. - 중급 수준 이상의 개발자를 위한 서적 - 그림이 많지 않아서 완전 초보자가 보기에는 다소 어려울 수 있음. - 기존 언어에 대한 이해가 전혀 없는 초보의 경우 다른 Go 문법서와 병행해서 보는 것을 추천 함. - Go의 모든 것을 학습할 수 있어서 초보 입문자에게도 권장 함. - 한글 도서 미리 보기 (목차 및 챕터 1장) : http://goo.gl/LM2SFM - 원서 미리 보기(챕터 2장 6장) : https://www.manning.com/books/go-in-action - 소스 코드 : https://github.com/Jpub/GoInAction |
|
Client-side 프레임웍을 대표하는 AngularJS가 이제 웹 개발의 트렌드가 되었다. 다양한 서버 측 언어와 프레임웍들이 있지만, Node.js와 더불어 클라이언트 프레임웍의 성능과 웹 개발의 효율 모두를 잡았다. MVVM 패턴이나 닷넷에서나 보던 Data Binding 같은 개념들이 도입되었고, Angello의 개념을 이해할 수 있었다. 특히 이 책에서는 라우트로 웹 사이트를 구성하는 부분이 별개의 장으로 독립되어 있다. jQuery와 같은 라이브러리가 아니라 프레임웍이므로 자바스크립트 객체에 대한 이해가 필수다. Spring에서나 볼 수 있었던 의존관계 주입에 대한 개념과 단위 테스트의 기술적인 활용은 일반적인 자바스크립트 라이브러리와 차별이 된다. 로직으로부터 DOM 조작을 분리한 것이 AngularJS의 지향점 중 하나라고 하는데 jQuery 지옥을 경험해 본 개발자들은 익히 동감하는 얘기일 것이다. 구글이 개발하고 배포하는 만큼 차세대 프레임웍으로서의 명성을 습득하기에 충분한 서적이다. |
|
AngularJS란 동적인 웹앱을 구현하기 위해 구글에서 제작 배포하고 있는 구조적 프레임워크라고 한다. 특히, Angular의 데이타 바인딩(data binding)과 의존성주입(dependency injection)은 코드를 매우 간결하게 만들어 준다. AngularJS는 코드를 직관적인 장소에 배치하고, 필요한 경우 코드를 리팩토링할 수 있는 명확한 방법을 제시할 수 있도록 구성되어 있다. 사용자 인터페이스의 외관과 행동을 정의하기 위해 해당 정보를 제공하는 코드를 작성해야 할 필요가 있다면, AngularJS는 이미 그런 코드들을 보관할 위치를 정해두고 있다고 한다. 이 책에서 챕터1, 2에서는 AngularJS의 소개와 기초적인 애플리케이션 구성하는 방법이 나와있다. 챕터3에서는 사용자가 보게 될 화면을 제어하는 것은 물론 사용자의 동작을 캡쳐하고 그와 관련된 이벤트를 처리하기 위해 AngularJS를 바탕으로 뷰와 컨트롤러를 활용하는 방법이 나와 있다. 챕터4에서는 모델과 서비스에 대해서 다루는데 서비스란 무엇이며, 어떻게 구현하는지에 대하여 설명한다. 또한 서비스를 이용하여 원격 서버와 통신을 수행하며 그 결과를 도메인 모델로서 전체 애플리케이션에 제공하는 방법에 대해 살펴본다. 디렉티브는 AngularJS 프레임워크가 제공하는 가장 강력하면서도 중요한 기능 중 하나다. 이 디렉티브에 관해 챕터5에서 설명하고 있다. 챕터6에서는 애니매이션에 대해서 구체적인 예제를 통해 AngularJS의 애니메이션 관련 이벤트와 AngularJS에서 사용 가능한 세 종류의 애니메이션에 대해서 설명하는 장이다. 모든 웹 애플리케이션은 URL을 가지고 있으므로 이를 잘 활용하면 애플리케이션의 상태를 정의할 수 있다. 즉, 실제 사용자가 보고자 하는 애플리케이션의 특정 영역을 URL로 표현할 수 있다. 이런 기법을 URL 라우팅이라고 하며 챕터7에서 설명하고 있다. 챕터8에서는 AngularJS가 어떻게 html 폼을 확장하여 폼 자체와 폼 내에 정의된 요소들을 $scope 객체에 바인딩하는지 설명하고 있다. 이 책을 보면서 느끼는점은 번역판이다보니 조금은 딱딱하게 서술한 느낌이고, 프로그래밍 언어를 알고 있지만 나와 같은 AngularJS를 처음 접하는 사람에게도 조금은 어려운 점이 많다. 보다 실습 위주에 예제를 수록되어 있었으면 더 좋겠다하는 아쉬움이 남는 책이다. 이해하기 벅차지만 나중에 AngularJS가 익숙해지면 핵심만 요약한 책이라고 볼 수 있다. 입문용 책이라기 보다는 핵심 요약집인 책이다. |
|
i n Action 시리즈는 Spring in Action 이후 2번째 보는 시리즈 입니다. 사실 제가 느끼기에는 액션 시리즈는 기초서 한권을 한번 다본 후에 봐야 어느정도 더 효과적으로 책을 이해하기 쉬울 것 같다는 생각이 듭니다. 최근 프로젝트때 공통 관리자 페이지를 만들어야 하는 일이 있었는데 angularJS로 만들고 싶은 생각이 굴뚝같았는데 제대로 나온 레퍼런스 책도 거이 없었고 아쉬웠는데 이렇게 제이펍 출판사에서 좋은 책을 번역서로 내어 주셔서 다시 한번 감사할 뿐입니다. 책은 총 230 페이지로 요즘 나오는 책들과 비슷한 구성에 비슷한 두께로 나왔습니다. 요즘 IT업종에서 자주 사용하는 트렐로라는 프로그램을 앵귤러JS로 컨버팅한 안젤로라는 프로그램을 기준으로 하나하나 씩 풀어가며 설명하고 있습니다. 책의 구성은 기존 액션시리즈와 마찬가지로 군더더기 없이 깔끔하게 설명을 하고 있으나 이 한권으로 앵귤러JS는 이거다 라고는 말할수 없고 위에서 언급했듯이 다른 기본서와 구글의 레퍼런스를 보면서 보면 한결 더 이해하기 쉬우리라 생각됩니다. 다만 아쉬운 점은 책에서 소개하는 앵귤러JS 버전이 낮아 구글의 레퍼런스를 찾기 힘들뿐만 아니라 현재 2.0으로 메이저 버전이 업 되면서 책의 설명과는 많은 차이가 있을 것 같네요. (시간날때 다시 1독을 하면서 앵귤러JS로 SPA 페이지 하나 만들어 봐야겠네요. 과연 언제...) |
|
언제부터인가 자바스크립트 기반 프론트엔드 개발 라이브러리 와 프레임워크들이 대세로 등장을 하게 되면서부터 서버 기반 프로그래밍만 으로는 변화하는 개발 트렌드에 적응을 하지 못할 것 같다는 생각이 들어오던 터에 해당 서적을 접하게 되었다. 사실 그 전부터 블로그나 w3c school 을 통해서 angular js 에 대해서는 어떠한 용도로 쓰이는지 어떠한 방법으로 웹페이지를 작동 시키는지 대충은 알고 있었다. 하지만 실제로 어느정도 완성도 있는 웹페이지를 접해 보지는 못해왔기에 해당 서적이 나에게 갖는 의미는 컸다. 무엇보다 안젤로 라는 angular js 기반의 팀 협업도구 서비스를 구축하는 과정에서 angular js 의 구성과 동작 원리에 대해서 설명을 진행해 나가는 것이 특징이다. 안젤로는 GitHub 에서 다운을 받을 수는 있으나 서적이 만들어 질 당시와 지금의 최신버전은 차이가 있어 angular 구조나 문법의 변화가 생각보다 빠르다는 것을 느꼈다. 의존성 주입과 개발과 관련한 기법 등 angular js 의 직접적인 내용이 아님에도 도움이 될만한 링크 주소 및 설명을 서적에 함께 삽입하여 개발자를 위한 조언들을 아낌없이 하는 저자라는 것을 느낄 수 있었다. 코드 자체는 서적에 자세히 나와 있지는 않으나 코드들에 대한 설명과 구조에 대한 그림고 저자의 견해들에 대해서 읽다보면 어느덧 진도가 훌쩍 나가있는 책이어서 입문하는 개발자들에게는 더할나위 없이 좋은 서적이라고 생각된다. 다만 어느정도 익숙한 개발자에게는 다소 식상한 내용일 수 있겠다는 생각이 든다. angular js 2 버전 기반의 개발 방법에 대해서도 집필을 해주었으면 하는 바램이 생기는 책인 것 같다. |