알라딘

헤더배너
상품평점 help

분류

이름:황진호

최근작
2019년 12월 <IBM QX로 배우는 양자 컴퓨팅>

IBM 왓슨 애널리틱스와 인지 컴퓨팅

부분적인 데이터를 바탕으로 감성과 감정으로 의사를 결정하는 시대는 이미 저물었고, 데이터가 모든 의사 결정을 지배하는 시대가 도래했다. 지금까지 수많은 기업들이 쌓여가는 데이터를 제대로 사용하지 못했고, 창고에 처박아뒀던 습관을 다시 고쳐보기 시작했다. 방대한 데이터를 바탕으로 기업의 이윤에 도움이 될 만한 여러 가지 통찰을 얻기 위해 어떤 툴을 이용할지 고민하고 있다. 아직까지 완벽한 인지 분석 툴은 존재하지 않지만, IBM 왓슨은 상당히 진보된 분석 결과를 통찰로 보여준다. 오래지 않아 알려지기 시작한 빅데이터란 용어가 이제 그다지 낯설지 않고 오히려 친숙하게 느껴진다. 모든 정보는 빅데이터 분석을 통해 통찰로 분석되고, 이는 일반 사람들이 쉽게 이해할 수 있는 수준에 이르렀다. 빅데이터의 선두 주자라고 주장하는 많은 기업들이 즐비하다. IBM은 단연 이 분야에 있어서 선두를 달리고 있다. IBM은 단순히 왓슨 분석 툴을 제공하는 것뿐만 아니라, 머신 러닝(기계 학습)을 처리하는 컴퓨터 라이브러리를 무료로 공개하고, 많은 사람들이 사용할 수 있도록 하는 등의 많은 기여를 하고 있다. 바야흐로 데이터의 시대다. 데이터의 시대에서는 전문적으로 데이터를 분석할 수 있는 사람이 어디서나 필요하기 마련이다. 굳이 복잡한 수학에 기반한 전문적인 통계 관련 분야에 종사하지 않더라도, 관련된 툴을 다루며 빅데이터를 처리하는 데이터 분석가는 단연 인기 있는 직종 가운데 하나다. 미국에서 데이터 과학자의 연봉이 2만 달러를 넘어선 지 이미 오래다. 앞으로 이런 추세는 틀림없이 지속될 것이다. 내 경험에 비춰볼 때, 학교에서 배운 데이터 분석에 대한 지식을 바탕으로 이 책에서 제공하는 기술만 완전히 익혀도 데이터 분석의 기반은 갖췄다고 할 수 있다. 이 책의 역자로서 궁극적으로 바라는 바는, 독자 분들이 이 책에서 제공하는 데이터 분석의 실제 사용처 예제를 완전히 자신의 것으로 만들어 몸담은 회사의 데이터에 적용함으로써 많은 통찰을 얻을 뿐 아니라 이를 통해 개인의 발전을 이루고 산업의 발전에 기여하는 것이다.

IBM QX로 배우는 양자 컴퓨팅

현재 여러 분야에서 사용하고 있는 컴퓨터의 구조는 0과 1로 나타내는 비트 조합을 레지스터라는 하드웨어를 기초로 해 컴퓨팅에 사용하고 있다. 지금까지는 컴퓨터 하나의 계산 능력, 즉 컴퓨팅의 한계를 극복하기 위해 병렬 처리, 분산 처리, 슈퍼 컴퓨팅, 그래픽 프로세싱 유닛 등의 방법을 점증적으로 발전시켜왔다. 하지만 머신러닝이나 암호학과 같이 현재의 방법으로는 단시간 내에 처리할 수 없는 새로운 컴퓨팅에 대한 요구가 계속되고 있다. 이에 대한 대안으로 양자 컴퓨팅이 떠오르고 있는 것이다. 이론적인 관점에서 양자 컴퓨터는 잠재된 컴퓨팅 계산 능력에 있어서 근본적인 변화를 제시한다. 하지만 현재 양자 컴퓨팅 전문가들은 전통적인 컴퓨터에 비해 양자 컴퓨터가 더 낫다는 것을 증명하기 위해 복잡한 컴퓨팅 문제를 찾고 있는 중이다. 과학자들의 이런 노력은 양자 컴퓨터의 발전을 이끌 것이다. 머지않은 미래에 상용화된 양자 컴퓨터를 만날 수 있기를 기대해본다. 양자 컴퓨팅은 물리적으로 여러 방식으로 실행할 수 있다. 개발 방식에 따라 양자 가열 냉각 컴퓨터(Quantum annealing computers)와 보편적인 게이트 양자 컴퓨팅(universal gate quantum computing)이 대표적인 예다. 예를 들어 전자의 양자 컴퓨터는 디-웨이브(D-Wave) 컴퓨터가 있고, 후자는 IBM과 리게티(Rigetti)의 양자 컴퓨터가 있다. 이 책은 보편적인 게이트 양자 컴퓨팅에 초점을 맞춘다. 게이트 양자 컴퓨팅은 모든 양자 연산을 수행할 수 있고, 전통적인 컴퓨터의 개념인 비트, 게이트, 회로와 동일한 개념의 가장 일반적인 형태의 양자 연산 형태다. 일반 목적의 양자 컴퓨터는 안정적으로 디자인하기 더욱 어렵지만, 양자 가열 냉각 컴퓨터와 같은 특수 목적의 양자 컴퓨터는 결국 사용이 제한될 수밖에 없을 것이다. IBM 연구소는 세계 최초로 양자 컴퓨팅을 일반인에 공개해 누구나 데스크톱이나 모바일 기기로 클라우드에 접속해 사용할 수 있게 했다. 이 책은 최첨단의 실제 시나리오를 완성해 실세계에 적합한 프로그래밍을 통해 양자 컴퓨팅의 강력함을 이해할 수 있게 도울 것이다. 그리고 양자 컴포저(Composer)와 키스킷(Qiskit)과 같은 사용자 툴의 도움으로 양자 개발을 용이하게 하는 IBM의 생태계를 살펴볼 것이다. 이 책을 끝까지 읽는다면 자신의 양자 프로그램을 만드는 방법을 알고, 자신이 속한 사업과 미래 경력에서 양자 컴퓨터가 가진 영향력을 가늠해볼 수 있을 것이다. 물리학이 아닌 컴퓨터 공학의 관점에서 보면 양자 컴퓨팅은 이제 한걸음 뗀 것이나 다름없다. 양자 프로그래밍은 아직 완전히 정의된 것도 아니고 계속 발전 중이다. 양자 컴퓨팅 전문가들은 양자 컴퓨터가 머지않은 미래에 특별한 분야에 사용되기 시작해, 점점 개인이 사용할 수준까지 도달할 것으로 내다보기도 한다. 지금부터 양자 컴퓨팅에 관심을 갖고 서적을 읽어 두는 것은 분명 미래에 도움이 될 것이다. 이 책에 나오는 기본 개념과 적용 예제는 현재의 양자 컴퓨팅을 이해하기에 충분한 학습이 될 것이다. 이 책을 통해 독자 여러분이 양자 컴퓨팅에 관한 개념을 완전히 이해하고 기본적인 사용법을 익히길 바란다.

iOS 코어 오디오 프로그래밍

음악 관련 앱에 관심이 있는 독자분들은 관련 앱을 한 번쯤은 사용해 봤을 것이다. 현재 앱 스토어에 등록된 음악 관련 유료 앱 중 가장 인기 있는 것은 oPcketGuitar, Drum Kit, Ocarina, Pianist, Band, Tuner Internet Radio, Beat Maker, Guitar Toolkit, Harmonica, Guitarist 등이며, 무료 앱은 Pandora Radio, Shazam, AOL Radio, Midomi, Mini Piano, iheart Radio, MixMeister Scratch, FlyCast Mobile Radio, Last.FM, DigiDrummer Lite 등이 있다. 음악과 직접적으로 관련된 앱뿐 아니라 게임에 사용되는 음악, 사람의 음성, 통화 등에 사용되는 모든 음원을 재생하는 방법이나 사용성에 있어서 엄청난 발전을 했다는 것을 이미 경험을 통해서 알고 있을 것이다. 이런 음악의 발전은 음원을 재생하는 기술에 그치지 않고, 음악과 관련된 많은 데이터베이스와의 연계를 통해서 더욱 발전해가고 있는 추세다. 한 가지 훌륭한 예로 길을 걷다가 음악이 흘러나오는데 제목이 전혀 생각이 나지 않는 곡이 있을 것이다. 예전 같으면 그 음악을 쉽게 찾을 수 없어 답답했겠지만, 요즘에는 간단히 아이폰을 꺼내서 Shazam 앱을 실행하고 음악 태깅(Tagging)을 하면 노래 제목, 가수, MP3 등 관련된 모든 정보를 얻을 수 있다. 또한 이를 보관해 다음에 다시 들을 수도 있다. 또 다른 예로는 노래를 잘하는 누군가가 자신의 노래를 인터넷에 올려놓고 다른 사람들이 들어줬으면 하고 바랐을 때가 있을 것이다. 예전에는 유튜브로 비디오를 찍어서 올리는 방법을 사용했다. 하지만 지금은 간단히 아이폰을 꺼내서 smule 앱을 실행하고, 노래를 선택한 후 부르면 전 세계의 모든 사용자들이 그 노래를 듣고 평가를 하게 된다. 또한, smule 앱을 통해서 모르는 누군가와 함께 노래를 부를 수도 있다. 이외에 악기와 관련해서도 많은 앱이 존재한다. 이 모든 앱을 소개하려면 한도 끝도 없을 것이다. 이렇게 많은 앱이 개발되고 있는 중에도 일반 개발자에게 음악에 관련된 프레임워크인 코어 오디오는 그렇게 친숙한 API가 아니다. 많은 개발자들이 음악과 관련된 개발을 두려워하고 잘 모른다고 치부하는 경우가 허다하다. 그 이유 중의 하나가 바로 쉬운 지침서가 존재하지 않기 때문이다. 참 아이러니한 상황이다. 이 책은 그 동안 코어 오디오에 대해서 궁금증을 가지고 있으나 자료가 부족했던 모든 개발자들에게 매우 유용하게 사용될 수 있다. 쉽게 구성된 예제를 통해서 설명하기 때문에 책 한 권을 통달하는 데 그렇게 오랜 시간이 걸리지도 않는다. 모두 알다시피 시작이 어렵지, 우선 감을 익히고 나면 독립적으로 알아서 하는 것은 그렇게 어려운 일이 아니다. 이 책은 그런 역할을 한다. 개발자들이 코어 오디오의 바다로 항해하는 첫 발을 내딛게 도와주고, 노를 젓는 방법을 가르쳐준다. 이 책을 모두 학습한 이후에는 어느 곳을 향해서라도 항해를 할 수 있을 만한 자신감을 얻게 될 것이다. 이 책을 번역하면서 우리나라의 노래방과 관련된 앱이 있는지 찾아보았는데, 한두 개의 노래방 앱이 존재한다는 것을 발견했다. 하지만 인터페이스나 노래를 제공하는 방식 등이 조금 불편하게 구성돼 있고, 사용자 중심으로 만들어지지 않았다는 것을 쉽게 알 수 있었다. 누구나가 좋아하는 노래방 기능을 추가한 SNS(소셜 네트워킹 서비스)를 만들어보는 것은 어떨까? 이런 아이디어는 무궁무진하지만 모두 만들어지지는 않는다. 단지 그 아이디어를 실현할 실력을 키우는 것이 필요할 뿐이다. 독자 여러분들이 이 책을 통해서 그런 실력을 길러서 대한민국을 대표하는 음악 관련 앱을 개발했으면 하는 바람을 가져본다.

Learning PHP, MySQL & JavaScript With jQuery, CSS & HTML5, 4th Edition

오늘날 사람들이 가장 많이 개발하는 애플리케이션의 형태는 단연 웹앱(또는 웹 애플리케이션)이다. 사람들은 더 이상 웹 페이지를 단순한 페이지로만 보지 않고, 많은 애플리케이션을 구동할 수 있는 기능을 가진 웹앱의 형태로 간주한다. 이는 물론 스마트폰의 혁명으로 인한 것도 있겠지만, 윈도우와 리눅스, 맥 OS, 심지어 iOS와 안드로이드에 이르기까지 웹 브라우저만 있다면 웹앱은 어디서나 동일하게 표현되는 애플리케이션의 표준이라고 믿기 때문이다. 하나의 웹앱만 개발해 놓으면 각종 디바이스에서 동일하게 사용이 가능하니 어느 개발자가 마다할 것인가? 초판에 이어 이번 4판에서도 동적 웹 페이지를 구성하는 PHP와 사용자의 데이터를 저장하는 MySQL, 사용자의 웹 페이지에서 이벤트를 처리하는 자바스크립트를 모두 소개한다. 추가로 웹의 외관을 담당하는 핵심 기술인 CSS 기능을 상세하게 다룸과 동시에 PHP와 자바스크립트 기능과의 연관성까지 설명한다. 먼저 서버 측에서 동적인 웹 페이지를 생성하는 PHP 기술에 대해 알기 쉽게 설명한 기본 문법과 사용 방법, 그리고 사용 예까지 모두 자세히 설명하기 때문에 이 책의 순서대로만 따라 하면 훌륭한 동적인 웹 페이지를 자유자재로 구성할 수 있다. 그리고 사용자에게 보여주거나, 사용자가 직접 입력한 정보를 저장하는 데이터베이스인 MySQL을 소개한다. MySQL은 무료로 쓸 수 있는 데이터베이스 중 가장 강력한 기능을 제공한다. 또한 쉽게 데이터베이스를 구성할 수 있는 여러 가지 툴도 제공하기 때문에 개발 시간도 상당히 단축되며, 완성도도 높일 수 있다. 이 책에서는 MySQL에 직접 들어가서 조작할 때 사용하는 SQL 문법과 예제를 쉽게 따라 하며 익힐 수 있는 형태로 함께 제공한다. 또한 사용자 측면에서 동적인 동작을 제공할 수 있는, 그야말로 가장 '핫한' 프로그래밍 언어인 자바스크립트를 소개한다. 자바스크립트는 오랜 역사 속에서 기억돼 온 기능적인 프로그래밍 언어(functional programming language)의 새로운 저변을 확대했다고 할 수 있다. 선언적 언어의 특성도 그대로 갖추고 있어 개발 시에 익히기도 쉽다. 하지만 문법과 사용 방법, 그리고 웹 페이지와의 연동에 대해서는 많은 부분을 익히고 연습할 필요가 있다. 특히 사용자의 웹 페이지를 다시 불러오지 않고(refresh), 데이터를 처리할 수 있는 Ajax 기술은 많은 가능성을 제시한다. 이 책에서는 이에 관한 내용을 자세히 설명하고, 예제를 제공한다. 마지막으로 웹의 외관을 동적으로 변경할 때 없어서는 안 될 CSS에 대해 설명한다. CSS의 첫 번째 장점을 들자면 CSS는 HTML이나 PHP 파일과는 무관하게 독립적으로 정의할 수 있기 때문에 향후에 HTML이나 PHP 파일을 변경하지 않고도 외관을 전체적으로 변경할 수 있다. 그리고 변경하길 원하는 요소를 쉽게 찾고 수정할 수 있으며, 이미 내장된 동적인 기능을 자바스크립트의 도움 없이 쉽게 사용할 수도 있다. CSS를 한번 쓰기 시작하면 놀라운 기능에 감탄할 것이다. 바야흐로 웹의 시대다. 웹의 시대에서는 전문적으로 웹을 만드는 개발자가 아니더라도 컴퓨터와 관련된 일에 종사하다 보면 웹 기술과 관련된 일은 꼭 발생하게 마련이다. 가령 어떤 시스템을 개발하든 간에 가시적인 인터페이스를 만들라치면 특정 플랫폼에서만 돌아가는 독립형(stand-alone) 애플리케이션보다는 웹과 연동해서 언제 어디서든 접근할 수 있게 만드는 쪽을 선호한다. 이 책에서 제공하는 기술만 완전히 익히면 웹 프로그래머로서의 기본은 모두 갖췄다고 할 수 있다. 이 책을 번역한 역자로서 궁극적으로 바라는 바는 독자들이 책에서 제공하는 소셜 웹 예제를 더욱 발전시켜 스스로 소셜 네트워크를 구성하는 웹을 만들어 페이스북과 정면 대결하는 상상을 해보는 것도 많은 자극이 될 것이라 생각한다. 웹 개발이 당장 필요하거나 대세를 앞서 배우려는 독자에게 이 책을 강력히 권한다. 한국에서 마크 주커버그 같은 소셜 네트워크의 귀재가 나오기를 기대해본다.

OpenGL ES를 활용한 iOS 3D 프로그래밍

지금은 디자인의 시대다. 기본 기능들이 평준화되고, 무엇을 보여주느냐가 가장 중요한 시대가 됐다. 2차원을 넘어 3차원의 렌더링으로 사용자의 눈을 현혹한다. 게임, 가상 현실, 인터넷 마켓, 광고 등 너나 할 것 없이 3차원의 그래픽을 앱에 구동하기 위해 노력 중이다. 제품을 360도로 살펴보는 시대는 이미 옛날 얘기가 됐다. 이제는 이것을 뛰어넘는 기술을 향해 달려가고 있다. 예를 들어, 예전에 음악을 그래픽으로 렌더링하기 위해서 여러 개의 막대를 사용하여, 길이를 늘렸다가 줄였다가 하면서 소리를 표현했던 응용 프로그램들을 기억할 것이다. 하지만 이제는 그 막대들도 3차원으로 표현하는 시대가 됐다. 즉 가능한 모든 것을 입체 영상으로 표시하는 것이 대세다. 이뿐만이 아니다. 가상 현실(Augmented Reality) 앱은 현실에 그래픽을 입혀서 추가 정보를 보여주는 기술이다. 두말할 나위도 없이 이 기술의 근간은 3차원을 기반으로 한다. 현실 세계는 3차원으로 이루어져 있기 때문이다. 그만큼 현재의 아이디어들이 기술의 발전을 몰아붙이고 있다. 3차원의 그래픽을 가능하게 하는 기술의 중심에는 OpenGL이 있다. 데스크톱에서의 성공을 발판으로 이제는 임베디드 시스템(Embedded System)을 기반으로 OpenGL ES가 출시됐다. iOS와 안드로이드 같은 기기뿐만 아니라, 게임 콘솔, 비행기 계기판 등 디스플레이를 하는 모든 전자 장치에 도입되고 있다. 애플은 OpenGL ES 기술을 기반으로 많은 발전을 이루어왔으며, 최적의 지원을 하는 연산처리 장치를 끊임없이 내놓고 있다. OpenGL ES 3.0을 지원하는 새로운 장치들이 소개됐고, 데스크톱에서만 가능했던 기능들이 작은 iOS 장치에서 가능해지고 있다. 예전에는 평면으로만 보였던 휴대전화 화면이 보는 방향에 따라 원근감을 가지게 됐다. 이는 소프트웨어와 하드웨어 기술이 얼마나 발전했는지 보여주는 단적인 예다. 그만큼 처리 속도가 빠르게 발전했다는 말이다. 이런 흐름을 볼 때, iOS에서 OpenGL ES의 무게는 차츰 커질 것이다. 계속해서 많은 앱이 하드웨어 그래픽 가속 기능을 사용하게 될 것이며, 좀 더 세련된 디자인을 만들기 위해서 최선의 노력을 기울일 것이다. 하지만 여기서 중요한 것은 아직까지 3D 그래픽 기술의 평준화가 이루어지지 않았고, OpenGL ES도 계속해서 새로운 버전으로 발전해가고 있다는 것이다. 여러 가지 이유 중 하나는 데스크톱에서 편안하게 사용하던 하드웨어 가속 기술들이 작은 휴대전화 안의 칩에서는 그 기능을 제대로 발휘하지 못하기 때문이다. 따라서 OpenGL ES의 입장에서는 휴대전화의 하드웨어 발전이 소프트웨어의 적용을 저해하고 있다는 결론이 만들어진다. 많은 회사에서 OpenGL ES 개발자들을 찾고 있다. OpenGL ES는 다양한 앱 개발에 기본으로 사용되는 기술이 됐다. 즉 이 기술에 회사의 미래뿐만 아니라, 개인의 미래도 달려있다는 말이다. 지금이 기회다. 빨리 배워서, 전문가가 돼야 한다. 이 책은 OpenGL ES를 시작하는 사람들에게 그래픽의 기본 개념부터 예제를 통한 실전 연습까지 다양하게 제공하기 때문에 책을 다 읽고 난 이후에는 독자적으로 고급 기능들을 계속해서 공부할 수 있는 자립심이 생기게 만들었다. 이 책을 통해 3차원 개발의 꿈에 한발 더 다가가기 바란다.

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