알라딘

헤더배너
상품평점 help

분류국내저자 > 컴퓨터/인터넷
국내저자 > 번역

이름:강권학

최근작
2019년 12월 <파이썬을 이용한 컴퓨터 과학 입문>

만들면서 배우는 아이폰 게임 프로그래밍

[2판 지은이 서문] 수많은 게임이 있지만, 그중에서 앵그리버드는 갓 돌이 지난 아기부터 성인까지 누구나 좋아하고 아이폰 이외에도 여러 스마트폰과 PC에서도 즐길 수 있는 대중적인 게임입니다. 이 게임은 전 세계 휴대전화의 절반 이상을 독점하던 노키아의 나라인 핀란드에서 4인 게임 개발팀이 3개월이라는 짧은 시간 동안 만들었으나, 전 세계에서 가장 성공한 앱이며 캐릭터 자산가치 12억 달러에 달하는 폭발적인 성장을 했습니다(개발사인 Rovio는 앵그리버드 출시 당시에는 파산 직전의 회사였습니다). 핀란드에서 수출의 20%를 차지하던 노키아가 쇠퇴하는 반면, 소규모 앱 개발이 이 공백을 메우고 있습니다. 이 상황을 보면 모바일화되어 있는 현재와 미래의 산업 구조를 예측해볼 수 있습니다. 이런 시대적 흐름에 따라 자신의 아이디어로 게임을 만들겠다는 생각을 하게 된 사람을 많이 봅니다. 독자 여러분도 이런 생각으로 이 책을 선택했다고 생각합니다. 하지만 누구나 프로그래밍을 하고 게임을 개발한 경험이 있는 것은 아닙니다. 짜임새 있는 훌륭한 기획에서 출발해 프로그래밍 언어를 배우고, 개발에 사용하는 IDE와 프레임워크를 배우고 익혀야 실제 프로그램 개발을 시작할 수 있으며, 게임에 들어가는 훌륭한 그래픽과 사운드, 루프 등 리소스를 갖추어야 성공적인 게임 앱을 개발할 수 있습니다. 그러나 배워야 할 것이 많다고 출발이 고통스럽거나 힘들 필요는 없습니다. 이 책은 여러분이 좀 더 수월하게 출발할 수 있게 도와줄 것입니다. 원래 저는 이 책 1판의 열렬한 독자였습니다. 한 줄 한 줄 따라하면서 완성되어가는 게임을 보면서 작은 희열을 느낄 수 있었습니다. 어려운 줄로만 여겼던 다양한 게임 효과를 구현하는데 cocos2d는 정말 훌륭한 프레임워크입니다. 원래 아르헨티나 개발자가 게임 개발 경진대회에서 게임을 빠르게 만들고자 파이썬용으로 개발했던 프레임워크를 아이폰과 오브젝티브-C용으로 포팅한 것이기 때문에 게임을 빠르게 개발하기 위한 다양한 기능을 지원하고 있습니다. 그러나 빠르게 업데이트되고 있는 Xcode와 iOS SDK, 이에 발맞춰 OS X까지 지원하게 된 cocos2d는 이 책 내용을 그대로 따라하기에는 너무 많이 변해 있었습니다. 그러던 중 이 책 1판을 현재 상황에 맞게 업데이트하자고 출판사로부터 요청을 받았고, 좋아하던 책의 공저자가 된다는 일은 정말 가슴 벅찬 일이어서 거절하지 않고 요청을 받아들였습니다. 먼저 Xcode 3.2.x 버전을 4.x 버전으로 올리고, iOS SDK 5.0, cocos2d도 OpenGL ES 2.0을 지원하는 cocos2d 2.0.0 알파 버전을 기반으로 바뀐 환경에 맞춰 원고 수정 작업을 진행했습니다. 또한 오브젝티브-C와 OpenGL ES 2.0을 이해하기 위한 최소한의 설명을 책에 포함하였습니다. 그러나 원고 작성 도중 iOS는 5.0.1, 5.1로 업데이트되었고, 이에 맞춰 Xcode는 4.3, 4.3.1, 4.3.2로 업데이트되었습니다. 또한 cocos2d는 베타, 베타 2, 그리고 2012년 3월에 출시된 뉴아이패드에 맞게 아이패드 레티나를 지원하게 cocos2d 2.0 RC0이 숨가쁘게 릴리스되었습니다. 작성 중인 원고를 멈추고 새로 릴리스된 환경에 맞춰 일일이 다시 검증하고 필요한 화면을 다시 캡처하는 일은 고된 노동으로 생각되기도 했습니다. 그러나 이런 검증 과정을 거치고 가능한 최신 상태에 맞춰 설명하지 못한다면 그만큼 독자 여러분이 직접 해결해야 하는 숙제를 많이 남기게 된다는 생각에 조판이 끝난 후에도 대대적인 수정을 하는 과정도 힘들게만 느껴지지는 않았습니다. 이 책은 출판 직전까지 Xcode 4.3.2, iOS SDK 5.1, cocos2d 2.0 RC0에 맞게 검증하고 완료되었습니다. cocos2d 2.0 알파에서부터 수정되어 온 코드와 원고 양을 보면 이 후에는 큰 변화나 독자 여러분이 직접 찾아보고 수정해야 할 부분은 매우 적어질 것으로 예상됩니다. 그러나 만약 책 내용대로 원활히 실습할 수 없다면 언제든 한빛미디어 홈페이지에 의견을 주시면 가능한 빨리 업데이트된 정보를 제공해드리겠습니다. cocos2d에 관심을 갖고 한빛미디어의 책을 선택하신 독자 여러분께 감사 인사를 드리며, 이 책이 아이폰 게임 개발을 시작하는 독자 여러분께 힘들기보다는 즐겁고 다양한 경험, 폭넓은 설명을 제공하는 유익한 책이 되길 바랍니다. 마지막으로 지금의 제가 있도록 이끌어주신 부모님, 동생 경아와 매제 최창용, 그리고 아내와 두 아들에게 감사와 사랑의 말씀을 전합니다. _강권학

버그 없는 안전한 소프트웨어를 위한 CERT 자바 프로그래밍

90년대 들어 일반인도 인터넷에 접속할 수 있게 되면서 인터넷은 무한한 탐구의 장이 되었습니다. 초기에 사용한 gopher, archie 등 텍스트 터미널 기반의 서비스가 Mosaic과 HTML/WWW를 시작으로 그래픽 기반의 환경으로 넘어가면서, 일반인도 사용하기 쉬워지고 다양한 멀티미디어를 쉽게 공유하고 확산시킬 수 있게 되었습니다. 저도 WWW Virtual Library에서 당시에 다른 방법으로 구하기에는 너무 비쌌던 논문을 쉽게 구해 공부하고 연구할 수 있어 무사히 학위 논문을 썼던 기억이 납니다. 그러나 인터넷에 실시간으로 다양한 정보가 넘쳐 나고, 금융 거래나 각종 중요한 문서와 정보를 교환하게 되면서 인터넷이 지닌 좋은 기능뿐만 아니라 나쁜 기능도 활발해졌습니다. 유닉스 계열의 r-시리즈 명령의 취약점을 장난처럼 사용하고, 여러 버그를 이용해 시스템에 몰래 들어가서 남의 정보를 엿보던 장난은 이제는 추억 속 금지된 불법 행위가 되었습니다. 현재는 반정부 활동의 일환으로 정부 사이트를 해킹하고 정부가 주도해 특정 기업이나 국가 정보를 캐내는 활동이 많아지고 있습니다. 최근 한국의 대형 포털과 은행 사이트 등이 해킹당해 개인 정보와 금융 정보가 파괴 및 유출되면서 보안이 시급하고 중요한 문제로 다시 부각되고 있습니다. 그런데 해킹할 때 사회공학적 기법을 사용하기도 하지만, 시스템이나 애플리케이션의 보안 취약점이 큰 약점이 되기도 합니다. 공격받는 취약점의 2/3 가량은 소프트웨어를 구현할 때 생기는 오류에 기인하는 버그에서 나온다고 분석한 보고서도 있습니다. 그리고 시스템의 취약점을 악용하는 해커의 능력도 상당히 발전했습니다. 2001년도에 한국을 강타했던 CodeRed 웜의 경우 취약점이 발견된지 약 1년 반만에 이 취약점을 공격하는 코드가 나왔습니다. 그러나 7~8년 전부터 제로데이 어택 Zero-Day Attack 이라는 말이 유행할 정도로, 이제 해커는 소프트웨어 취약점을 발견하는 즉시 이 취약점을 악용하는 코드를 만들 수 있게 되었습니다. 그러므로 소프트웨어를 개발할 때 아예 취약점과 버그 없이 개발하는 것이 중요해졌습니다. 이 책은 자바로 구현한 애플리케이션을 보안에 취약하지 않게 만드는 좋은 프로그래밍 규칙과 습관을 입력 검증, 수치 연산, 객체 관리, 스레드와 락 사용 등 여러 분야별로 체계적으로 분류하여 설명하고 있습니다. 한국의 개발 환경을 보면 소프트웨어를 개발하고 릴리스하기 전에 전문가 그룹이 소스를 면밀히 검토하고 코드 안전성을 검증하는 과정을 거치기 어렵습니다. 이 책에서는 CERT가 C와 C++ 언어로 안전하게 코딩하는 규칙을 정하고, 소스 코드 보안 검증 서비스를 운용해온 경험을 자바 언어에 적용해 지금까지 자바 프로그래머가 범해왔고 범할 수 있는 오류를 짚어내어 안전하게 코딩하는 규칙을 예제와 함께 설명합니다. 이 책 서문에서도 밝히고 있듯이 이 책이 기업이나 기관에 적용할 안전한 자바 코딩 표준의 좋은 안내서로 활용되길 바랍니다.

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