알라딘

헤더배너
상품평점 help

분류

이름:류영선

최근작
2021년 1월 <프레임워크 없는 프론트엔드 개발>

객체지향 자바스크립트 3/e

웹 애플리케이션 개발자라면 자바스크립트에 대해 한번쯤은 들어봤을 것이다. 웹 페이지를 콘텐츠(HTML)와 프레젠테이션(CSS), 동작(자바스크립트)의 세 부분으로 구성하는 최신 패러다임에 따라 이제는 개발자뿐만 아니라 웹 디자이너들도 기본적인 자바스크립트의 구조와 동작 매커니즘을 이해해야 할 필요성이 커지고 있다. 그런 면에서 이 책은 많은 개발자들과 디자이너들에게 자바스크립트에 대해, 나아가 객체지향 프로그래밍에 대해 이해하는 데 큰 도움이 될 것이다. 시중에 이미 자바스크립트와 객체지향 프로그래밍을 다루는 책들이 많이 나와 있고 인터넷상에도 수많은 자료들이 존재하고 있지만, 이 책은 자바스크립트 객체지향 프로그래밍의 기초부터 시작해 함수, 객체, 프로토타입을 한 단계씩 다룸으로써 자바스크립트에 대한 사전 지식이 없는 사람들도 충분히 따라할 수 있게 해주는 좋은 가이드다. 또한 자바스크립트의 기초를 다시 한 번 다지고 새로운 자바스크립트 언어인 ES6에 대한 유용한 입문서 역할도 충실히 해줄 것으로 기대된다. 꽤 많은 노력을 기울여 작업했지만, 저자의 의도를 충분히 전달하지 못하거나 잘못 번역된 부분이 있을 수 있다. 잘못된 부분이나 책의 내용과 관련된 어떤 의견이라도 보내주면 소중히 다루도록 하겠다.

리액트 머티리얼 UI 쿡북

머티리얼 UI는 리액트 컴포넌트들을 모아 놓은 UI 프레임워크다. 세계에서 가장 인기있는 두 가지 프론트엔드 기술인 페이스북의 리액트와 구글의 머티리얼 디자인을 한데 모은 덕분에 애플리케이션 개발을 쉽고 간단하게 해준다. 책 제목에서 알 수 있듯이, 이 책의 목적은 개발자들이 다양한 머티리얼 UI 구성 요소를 사용해 다양한 규모의 여러 가지 애플리케이션을 구축하는 데 도움을 주는 것이다. 이미 무수히 많은 오픈소스 프로젝트와 상업용 프로젝트에서 이 프레임워크를 사용하고 있음에도, 국내에서는 머티리얼 UI가 상대적으로 많이 알려져 있지 않다. 이 책이 부디 국내 개발자들이 머티리얼 UI로 애플리케이션에서 더 나은 사용자 경험을 제공하는 데 작게나마 도움이 될 수 있길 기대해본다. 다소 상투적으로 들릴 수도 있겠지만, 작업을 마치고 나면 미흡한 부분에 대해 아쉬움이 남기 마련이다. 꽤 많은 시간과 노력을 기울여 작업했지만, 저자의 의도를 충분히 전달하지 못했거나 잘못 번역된 부분이 있을 수 있다. 잘못된 점을 비롯해 책 내용과 관련된 어떤 의견이라도 보내주시면 소중히 다룰 것을 약속한다.

모던 C++ 프로그래밍 쿡북

프로그래머라면 누구나 한 번쯤 C++ 프로그래밍에 도전해봤을 것이다. 그만큼 C++는 오랜 기간 동안 사랑 받아온 프로그래밍 언어임에 틀림없다. 하지만 이해하기 어려운 문법과 복잡한 구조로 인해 많은 프로그래머를 절망에 빠뜨리고 결국 포기하도록 만들었던 것도 사실이다. 그러다가 흔히 모던 C++(Modern C++)로 불리는 C++11 표준이 등장하면서 이 언어는 다시금 사람들의 관심을 받으며 새로운 전성기를 누리고 있다. 이 책은 100가지가 넘는 레시피를 통해 C++를 사용하면서 개발자들이 직면하게 되는 공통적인 문제와 그에 대한 솔루션을 제시하고 있다. 따분한 교과서 스타일이 아니라 필요한 부분을 골라 볼 수 있게 구성돼 있어 그동안 C++의 높은 벽에 좌절했던 개발자들이 쉽고 재미있게 C++ 프로그래밍의 세계에 다시 발을 담글 수 있게 해주는 책이라고 생각된다. C++11과 C++14뿐만 아니라 가장 최신 버전인 C++17에 포함된 기능까지 다루고 있어 초/중급 개발자뿐만 아니라 숙련된 개발자에게도 좋은 참고서가 될 것이라 믿는다. 상투적인 문구이기는 하지만, 작업을 마치고 나면 항상 미흡한 부분에 대해 아쉬움이 남기 마련이다. 꽤 많은 시간과 노력을 들여 작업했지만, 저자의 의도를 충분히 전달하지 못하거나 잘못 번역된 부분이 있을 수 있다. 잘못된 점을 비롯해 책의 내용과 관련된 어떤 의견이라도 보내주시면 소중히 다룰 것이다.

사물인터넷 자바스크립트 프로그래밍

사물인터넷이라는 용어가 등장하고 세간의 주목을 받기 시작한 지도 몇 년이 지났고 이미 우리 생활에 익숙하게 사용되기 시작했다. 하지만 사물인터넷 개발자나 프로젝트를 배우는 학생들에게 정말 유용하면서 체계적인 사전 지식을 제공해주는 자료나 관련 서적은 여전히 많지 않은 것이 현실이다. 그런 면에서 이 책은 개발자와 학생들에게 인기 있는 라즈베리 파이 제로와 자바스크립트를 사용해 사물인터넷 프로그래밍 세계에 발을 들여놓는데 필요한 사전 지식을 배우고 애플리케이션을 구축할 수 있게 돕는 좋은 가이드가 될 것으로 기대된다. 이 책에서는 사물인터넷 구축에 가장 널리 사용되는 라즈베리 파이와 아두이노 플랫폼, 자바스크립트, HTML5, Node.js 같은 친숙한 기술을 사용한다. 또한 온도, 습도, 빛, 가스, 모션 등 다양한 센서를 사용해 외부 환경을 모니터링하고 스마트 홈을 제어하는 실질적인 프로젝트를 제공함으로써 독자들이 눈으로 확인하며 쉽게 따라갈 수 있게 구성돼 있다. 상투적인 말로 들리겠지만, 작업을 마치고 나면 항상 미흡한 부분에 대해 아쉬움이 남기 마련이다. 꽤 많은 노력을 기울여 작업했지만, 저자의 의도를 충분히 전달하지 못했거나 오역이 있을 수 있다. 잘못된 부분이나 책의 내용과 관련해 어떤 의견이라도 보내준다면 소중히 다루며 검토해볼 것을 약속한다.

산업인터넷 애플리케이션 개발

산업인터넷은 미국의 GE가 처음 사용하기 시작한 용어이며, 산업의 모든 장비가 인터넷으로 연결된다는 의미로 '사물인터넷(Internet of Things)'을 대신해서 쓰이는 말이다. 아직까지는 사물인터넷이나 대물 통신(Machine to Machine(M2M))이라는 말이 더 익숙하지만, 2013년부터 그 개념이 시작된 생각보다 오래된 기술이다. 이미 항공 산업이나 발전소, 제조, 헬스케어 분야에서는 생산성을 높이고 비용을 절감하는 데 산업인터넷이 활용되고 있다. 아무리 좋은 기술과 방대한 데이터가 있어도 이를 활용할 줄 모른다면 아무런 의미도 없는 법이다. 이 책은 프리딕스 같은 플랫폼을 이용해 산업인터넷 애플리케이션을 설계, 구축, 관리, 운용할 수 있도록 전반적으로 돕는 안내서다. 산업인터넷 환경에서는 기계와 인터넷이 통합돼 방대한 양의 데이터를 만들어낸다. 따라서 그 데이터를 잘 분석하면 생산성을 높일 수 있을 뿐 아니라, 기계를 사용하는 인간이 '의사 결정'을 내리는 데도 결정적인 도움을 얻을 수 있다. 다소 상투적으로 들릴 수도 있겠지만, 작업을 마치고 나면 미흡한 부분에 대해 아쉬움이 남기 마련이다. 꽤 많은 시간과 노력을 기울여 작업했지만, 저자의 의도를 충분히 전달하지 못했거나 잘못 번역된 부분이 있을 수 있다. 잘못된 부분을 비롯해 책 내용과 관련된 어떤 의견이라도 보내주시면 소중히 다룰 것을 약속한다.

자바스크립트 디자인 패턴

자바스크립트는 전 세계에서 가장 빨리 진화하고 있는 가장 인기 있는 언어 중 하나다. 자바스크립트는 더 이상 단순히 브라우저를 조작하기 위한 보조적 언어가 아니다. 모바일을 비롯한 클라이언트 측 애플리케이션은 물론, Node.js의 등장으로 서버 측 애플리케이션 작성도 가능하게 되었다. 나아가 빌드 도구나 편집기, 심지어 마이크로 컨트롤러 제어에도 자바스크립트가 사용되고 있다. 하지만 이런 인기에 비해 태생의 역사적 배경 때문인지 개발자들이 자바스크립트에 디자인 패턴의 적용을 크게 고려하지 않는 듯한 경향이 있다. 하지만 자바스크립트 코드에 디자인 패턴을 적용하면 안정적이고 유지보수가 쉬운 코드를 작성하는 데 많은 도움이 된다. 이 책은 디자인 패턴의 바이블로 불리는 GoF 책에 소개된 생성 패턴과 구조 패턴, 행동 패턴 같은 전통적인 디자인 패턴부터 함수형 프로그래밍과 모델 뷰 패턴, 웹 패턴, 메시징 패턴에 이르는 비교적 최근에 개발된 디자인 패턴까지 다루고 있다. 이 책에서 소개하는 다양한 패턴들을 자바스크립트 애플리케이션 개발에 적용해 보기 바란다.

자바스크립트 언락

한때 웹 페이지를 동적으로 만드는 데 사용하는 스크립트 언어 정도로만 여겨졌던 자바스크립트가 웹 애플리케이션의 발전과 함께 이제는 주류 프로그래밍 언어로 확실하게 자리 잡은 듯하다. 이미 우리에게 익숙한 ES5 이후 ES6와 ES7으로 이어지는 몇 번의 개정 작업과 함께 개발자 커뮤니티의 요구사항을 적극적으로 받아들여 커피스크립트(CoffeeScript)나 타입스크립트(TypeScript) 같은 여러 다른 스크립트 언어들의 우수한 장점들을 흡수함으로써 오늘날에는 OOP나 객체 상속, 이벤트 기반 프로그래밍, 비차단 I/O 등 여러 확장된 기능을 제공하게 됐다. 그러나 자바스크립트의 진정한 힘을 제대로 끌어내기 위해서는 기능적 특징을 배우는 것도 중요하지만 언어의 단점을 해결하거나 개발 과정 중 생기는 문제를 해결할 수 있는 트릭에 관련된 이해도 필요하다. 이 책은 단순히 자바스크립트의 프로그래밍 방법을 나열한 설명서가 아니라 원서의 제목인 'JavaScript Unlock'이라는 말 그대로 언어의 밑바닥에 자리 잡고 있는 비밀을 하나씩 풀어내고 있다. 이 책은 자바스크립트라는 언어의 장단점을 분석하고 실제 프로젝트 진행 과정에서 만날 수 있는 문제점 및 이를 해결할 수 있는 솔루션을 ES5 및 ES6, ES7 방법으로 소개하고 있으므로 코드를 쉽게 유지보수하고 성능을 향상하는 데 도움이 되는 실질적인 가이드가 될 수 있을 것이다. 꽤 많은 노력을 기울여 번역했지만, 저자의 의도를 충분히 전달하지 못하거나 잘못 번역된 부분이 있을 수 있다. 잘못된 부분이나 책의 내용과 관련된 어떤 의견이라도 보내주면 소중히 다루도록 하겠다.

자바스크립트 JSON 쿡북

JSON은 최근 웹 애플리케이션 개발 환경에서 가장 널리 쓰이는 데이터 교환 포맷이다. 이 포맷은 사람들이 읽고 쓰기에 용이하며, 동시에 기계가 분석하고 생성하기에도 용이하다. 이 책을 통해 알 수 있듯이 JSON은 클라이언트 환경과 서버 측의 웹 애플리케이션뿐만 아니라 스마트 가전, 스마트 헬스, 각종 센서 기기를 연결하는 IoT에서도 그 활용도가 높아지고 있다. JSON(JavaScript Object Notation)은 그 이름에서 알 수 있듯이(자바스크립트에 종속적이지는 않지만) 자바스크립트와 잘 맞는다. 또한 문법이 상당히 직관적이면서 가볍다. 이것이 JSON이 십여 년간 사용돼온 XML을 제치고 단시간에 웹에서의 표준 데이터 교환 포맷이 된 이유다. 사실 JSON 사용법이 어렵고 복잡한 것은 아니다. 그래서인지 JSON의 중요도와 활용도에 비해 이를 체계적으로 정리한 도서는 많지 않다. 이 책은 이런 JSON를 어떻게 활용하는지에 대한 구체적인 예제를 총망라한 쿡북 형식으로 구성돼 있다. 실전에서 JSON을 활용할 때 필요한 예제를 선택해 참고할 수 있을 것이다. 이 책은 자바스크립트와 C, C++, C#, 자바, 펄, PHP, 루비 같은 언어뿐만 아니라 몽고DB, 앵귤러JS, Node.js 같은 데이터베이스와 프레임워크에서 JSON을 사용하는 방법을 잘 설명하고 있다. 잘 알고 있듯이 이들은 MEAN 스택을 이루는 중요 구성요소들이다. 이 책을 통해 MEAN 스택에서 JSON을 어떻게 활용할 수 있는지에 대한 기본기도 닦을 수 있을 것이다.

프레임워크 없는 프론트엔드 개발

'프레임워크 없는 운동(Frameworkless Movement)'을 들어본 적이 있는가? 이 운동의 목적은 '프레임워크 없는'이라는 주제를 논의할 커뮤니티를 만들고, 사람들이 프레임워크 없는 프론트엔드 애플리케이션 개발이 가능하다는 것을 이해하도록 돕는 데 있다. 처음 제이쿼리가 등장했을 때만 해도 브라우저 간 호환성이 보장되지 않았기 때문에 이런 프레임워크가 제공하는 표준화된 API와 다양한 도구의 지원은 프론트엔드 애플리케이션 개발자에게 날개를 달아주는 역할을 했다. 그러나 앵귤러JS, 리액트, 앵귤러에 이르기까지 자바스크립트 프레임워크 전성시대라고 불릴 만큼 고성능의 다양한 프레임워크가 등장하면서 오히려 개발자가 공부해야 할 주제는 많아지고 어떤 프레임워크를 사용해야 할지 모르게 되는 소위 '자바스크립트 피로(javascript fatigue)'가 점점 커지게 됐다. 이 책은 프레임워크나 서드파티 라이브러리를 사용하지 않고 프론트엔드 애플리케이션을 개발하는 방법을 알아본다. 현재 브라우저 간 호환성이 잘 보장되고 있고 표준 ECMAScript의 지원 범위가 넓어짐에 따라 대부분의 프론트엔드 애플리케이션을 프레임워크 없이 작성할 수 있게 됐다. 그러나 이 책은 프레임워크 없는 옵션만 옳다고 주장하지는 않는다. 때에 따라서는 적절한 프레임워크의 선택이 개발 시간의 단축과 프로젝트의 성공에 큰 도움이 된다는 사실을 인정하고 체계적인 분석과 의사 결정 기법에 따라 '적합한' 프레임워크를 선택하는 방법도 설명한다.

HTML5 웹소켓 프로그래밍

웹소켓은 폴링이나 스트리밍 등 기존의 클라이언트 서버 간 통신의 한계를 극복해주는 새로운 양방향 통신 방법으로 실시간 응용프로그램 개발에 필수적인 기술이다. 비교적 쉬운 기술임에도 불구하고, 이를 처음 접하는 개발자들이 기존의 HTML5 입문 도서에 나와 있는 수준의 설명으로 완벽하게 이해하고 실제 개발로 연결시키기에 부족할 수밖에 없었다. 그런 의미에서 웹소켓 기술만을 다루는 이 책은 프론트엔드 개발자들에게 가뭄의 단비와 같은 양서가 될 것으로 기대된다. 얄팍하지만 필요한 알짜배기 정보들은 모두 담고 있다. 옆에 두고 편안한 마음으로 읽다 보면 어느덧 책 한 권을 독파하는 기쁨을 맛볼 수 있을 것이다. 최근에는 HTML5의 열기가 살짝 시들해져 보인다. 하지만 이는 HTML5에 대한 지나친 기대와 관심 때문이 아니었나 생각된다. HTML5만 있다고 모든 문제가 마법같이 해결될 수는 없다. HTML5는 좋은 도구 중 하나일 뿐이다. 여기에 어떤 재료를 덧붙이고 아이디어를 가미해 얼마나 좋은 제품을 만들어 내느냐는 결국 개발자들의 몫이다. 웹소켓이 바로 그 중요한 재료 중 하나가 될 것이다. 꽤 많은 노력을 기울였지만, 저자의 의도를 충분히 전달하지 못하거나 잘못 번역된 부분이 있을 수 있다. 잘못된 부분이나 책의 내용과 관련한 어떠한 질문이나 의견을 보내주시면 소중히 다루겠다.

Three.js로 3D 그래픽 만들기 2/e

Three.js는 웹지엘을 쉽게 사용할 수 있게 해 주는 자바스크립트 라이브러리다. 플러그인 없이 웹 브라우저만으로 동작하는 고품질의 3D 그래픽을 구현할 수 있게 해 주는 웹지엘 1.0 규격이 발표된 것이 2011년이지만 웹지엘이 제공해주는 무궁한 가능성에 비해 실제 구현이 많지 않은 것이 사실이다. 이는 직접 웹지엘 장면을 제작하기 위해서는 많은 작업과 3D 그래픽에 대한 이해가 필요하기 때문이 아닐까 싶다. Three.js는 이런 작업을 쉽게 해 주는 강력한 프레임워크다. 책에서 제공하는 풍부한 예제를 따라 하다 보면 웹 브라우저만으로 이렇게 멋지고 화려한 3D 그래픽을 쉽게 제공할 수 있다는 사실에 놀라게 될 것이다. 이제 브라우저만 있으면 많은 작업들이 가능해졌다. 브라우저로 디바이스를 직접 제어하고 네이티브 애플리케이션에 버금가는 웹 애플리케이션 개발이 가능할 뿐 아니라, 화상통신이나 웹소켓 같은 다양한 통신 방법의 제공, 2D 캔버스 그래픽을 이용한 게임도 지원 가능하다. 다음 단계는 3D 그래픽이 될 것이다.

WebRTC 프로그래밍

WebRTC는 브라우저 기반으로 (플러그인 없이) 화상 통화 및 메신저, 파일 공유 등을 가능하게 해주는 P2P 통신 방법으로 W3C에서 표준화가 진행 중인 최신 웹 기술이다. 아직 표준이 완료되지 않아 구글 크롬이나 모질라 파이어폭스, 오페라 브라우저에서만 사용이 가능하지만, 통신사나 단말기, 서비스 제공자와 상관없이 브라우저만 있으면 인터넷을 통해 전 세계 누구와도 화상 통화나 메신저, 파일 공유가 가능하기 때문에 많은 기업들과 개발자들이 주목하고 있는 기술이다. 이 기술로 원격 회의나 이러닝(e-learning), 보이스 콜, 원격 진료 등 다양한 응용이 가능해지기 때문에 많은 서드파티 개발사와 개발자들이 관심을 가지고 지켜볼 필요가 있다. WebRTC가 이처럼 주목받는 기술이지만 한편 완성되지 않은 기술이다 보니, 국내뿐 아니라 국외에서도 체계적으로 이를 설명하는 자료가 아직 많지 않다. 그런 이유로 이 책을 처음 발견했을 때, 마치 가뭄 속 단비가 내리는 듯한 느낌이 들었다. 비교적 쉬운 기술임에도 처음 접하는 개발자에게는 어디서부터 어떻게 시작해야 할지 난감할 수밖에 없다. 이 책은 WebRTC에 관심을 갖고 자신의 애플리케이션에 다양한 실시간 통신 기술을 탑재하고자 하는 개발자들에게 좋은 출발점이 될 것이라 확신한다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자