확장메뉴
주요메뉴


닫기
사이즈 비교
소득공제
Programming iOS 5 한국어판

Programming iOS 5 한국어판

: iOS 프로그래밍의 모든 것

에이콘- 모바일 프로그래밍 시리즈-46이동
첫번째 리뷰어가 되어주세요
베스트
모바일 프로그래밍 top100 1주
정가
58,000
판매가
52,200 (10% 할인)
구매 시 참고사항
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청

품목정보

품목정보
발행일 2012년 12월 17일
쪽수, 무게, 크기 1252쪽 | 2090g | 188*250*60mm
ISBN13 9788960773745
ISBN10 8960773743

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

저자 소개 관련자료 보이기/감추기

저자 : 매트 뉴버그(Matt Neuburg)
고전 문학 박사이며, 많은 대학과 전문대학에서 강의했다. 1968년부터 지금까지 컴퓨터 프로그래밍을 해왔다. 맥 OS X와 iOS를 위한 애플리케이션을 작성했고, 맥테크(MacTech) 잡지의 편집자로 일했으며, TidBITS에 오랫동안 공헌한 편집자다. 오라일리에서 출판한 책은 『Frontier: The Definitive Guide』와 『REALbasic: The Definitive Guide』, 『AppleScript: The Definitive Guide』가 있다. 책과 기사, 소프트웨어 문서를 작성하고, 그와 겸해 프로그래밍과 컨설팅, 교육을 전문 분야로 삼고 있다.
역자 : 황진호
IT 경력은 미국에서 시작됐다. 국내에서 석사 과정을 마치고 1년여 동안 미국의 연구기관에서 방문 연구원으로 재직했다. 미국에서 유명 통신회사의 시스템을 연구/개발하는 몇 가지 프로젝트를 마무리하고, 한국으로 돌아와 포스코 ICT에서 통신 시스템 소프트웨어 개발자로 3년 동안 근무했다. 현재는 미국의 조지 워싱턴 대학교의 컴퓨터 사이언스 학과에서 박사 과정을 밟는 중이며, 클라우드 컴퓨팅과 빅 데이터에 관한 연구를 진행 중이다. 역서로는 에이콘출판사에서 펴낸 『Learning PHP,MySQL & JavaScript 한국어판』(2011), 『Concurrent Programming on Windows 한국어판』(2012), 『Creating iOS 5 Apps Develop and Design 한국어판』(2012), 『리눅스 API의 모든 것』(2012)이 있다.

책 속으로 책속으로 보이기/감추기

애플은 아이폰OS 2를 발표하면서 놀라운 일을 실현해냈다. 맥에서 사용하던 코코아(Cocoa) 애플리케이션 프로그래밍 프레임워크를 개선해, 제한적인 메모리와 속도, 그리고 매우 작은 화면을 지닌 터치 기반 디바이스용 애플리케이션을 만들 수 있는 프레임워크로 재창조한 것이다. 애플의 결실인 코코아 터치 프레임워크는 여러모로 기존 코코아보다 한층 뛰어난 특징을 지니고 있다.

프로그래밍 프레임워크는 일종의 퍼스낼리티를 지닌다. 프레임워크의 곳곳에 프레임워크를 만든 개발자의 통찰력과 기호가 드러나기 마련이다. 처음 코코아 터치를 마주한 순간 “와, 이걸 만든 사람은 정말 천재야!”라는 생각이 들었다. 인터페이스 위젯의 수는 가혹하리만치 제한적이었지만, 일부 위젯, 특히 UITableView 같은 위젯은 맥 OS X의 UITableView를 한층 뛰어넘어 막강하면서도 유연한 기능을 지니고 있었다. 더욱 중요한 점은 애플이 UIViewController라는 특별한 수단을 통해 철저한 관리하에 계층 구조로 이뤄진 인터페이스 블록 전체를 자유롭게 왕래하거나 다른 인터페이스로 교체할 수 있게 만들었다는 점이다. 그렇기 때문에 사용자를 혼란스럽게 만들지 않으면서도 다양한 인터페이스를 작은 아이폰 화면 안에 펼쳐 놓을 수 있다.

더욱 인상적인 점은, 애플이 코코아를 근본적으로 철저하게 다시 구성해 코코아 터치(Cocoa Touch)를 만들어낼 기회를 놓치지 않았다는 점이다. 코코아는 맥 OS X이 나오기도 전인 넥스트스텝(NeXTStep) 시절에 태어난 매우 낡은 프레임워크다. 코코아는 점점 기능이 늘면서 덩치가 커져왔지만 하위 호환성을 유지할 수 있게 보수적인 자세를 고수해왔다. 하지만 애플은 코코아 터치를 만들면서 앞으로의 발전 가능성을 고려해 하위 호환성을 포기하는 과감한 결단을 내렸다.

그렇기 때문에 코코아 터치는 맥 OS X용 코코아를 바탕으로 만들어지긴 했지만 분명 맥 OS X용 코코아와는 다르며, 맥 OS X용 코코아에 의해 제한을 받지도 않는다. 코코아 터치는 별개의 창작물로 봐야 하며, 더욱 가볍고 한층 뛰어난 코코아라고 할 수 있다. 수많은 선례가 있음에도 불구하고 절감의 법칙(Occam’s Razor)을 제대로 실천해 멋진 시스템을 구축한 코코아 터치를 칭찬할 수밖에 없다. 맥 OS X의 애니메이션 레이어는 나중에 뷰에 덧붙여진 특징으로, 코코아 터치의 뷰는 항상 애니메이션 레이어를 지닌다. nib을 로드할 때 최상위 객체를 관리하는 방식 같은 메모리 관리 정책도 간결하고 명확하다.

동시에 코코아 터치는 코코아의 형태를 유지하고 있다. 코코아 터치를 사용하려면 오브젝티브C를 알아야 한다. 오브젝티브C는 하이퍼카드의 하이퍼톡(HyperTalk)이나 애플의 애플스크립트처럼 프로그래머가 아니어도 쉽게 사용할 수 있는 스크립트 언어가 아니다. 상당히 거대하고 복잡한, 매우 어려운 언어다.

수많은 무료 앱, 저렴한 앱의 확산과 함께 아이폰은 큰 인기를 끌었다. 뒤이어 아이패드 역시 인기를 끌면서 iOS 프로그래밍의 가치와 가능성을 깨달은 새로운 프로그래머들의 합류가 줄을 이었고, 앞으로도 계속 이어질 것이다(물론 맥 OS X과 iOS의 차이점을 잘 모르는 개발자도 있을 수 있다). 애플의 자체 연례 컨퍼런스인 WWDC는 이러한 추세를 반영해 맥 OS X보다 iOS의 비중을 점점 높이고 있다.

iOS 프로그래밍의 확산은 분명 환영할 일이지만, 기초를 등한시하고 일단 해보자는 경향도 나타나고 있다. iOS는 프로그래머에게 상상하는 바를 모두 이룰 수 있을 듯한 강력한 힘을 제공하지만, 힘을 다루려면 기본 원리를 알아야 한다. 종종 온라인상에서 재미있는 앱을 만드는 데 깊이 빠져들었지만, 즐겁게 뛰어 다녀야 할 세상의 기본 원리에 익숙하지 않아 한계를 겪고 좌절하는 프로그래머의 질문을 마주하곤 한다.

상황이 이렇다 보니 iOS의 기초를 제대로 알려주는 책을 써야겠다는 생각이 들었다. 코코아를 좋아했기 때문에 오래 전부터 코코아에 관한 책을 쓰고 싶었지만, iOS의 인기에 영향을 받아 iOS에 관한 책을 쓰게 됐다. 사실 가제는 『코코아 터치 프로그래밍의 기초(Fundamentals of Cocoa Touch Programming)』였다. 목표했던 대로 학습에 도움을 주는 유익한 내용을 논리적인 순서대로 잘 정리해서 자세히 설명하려고 노력했다. C 언어는 물론 오브젝티브C에 관한 기본 지식과 객체지향 프로그래밍의 본질, 개발 툴의 사용법과 함께 인스턴스화, 참조, 객체 간의 통신, 사용 중인 객체의 관리 방법 등 코코아 객체에 관한 모든 것을 소개하고, 주요 인터페이스 위젯과 기타 공통적으로 해야 할 작업에 관한 개관 등 iOS 프로그래밍을 하는 데 필요한 기본 원리를 다뤘다. 한 장 한 장 넘길 때마다 새로운 지식을 배워가며 처음부터 끝까지 잘 읽기 바라고, 읽은 후에도 곁에 두고 볼 수 있는 참고서로 남았으면 한다.

애플의 개발 문서와 예제 프로젝트를 가볍게 볼 생각은 없다. 애플이 제공하는 리소스는 훌륭할 뿐만 아니라 시간이 지날수록 점점 완성도가 높아지고 있다. 책을 준비할 때부터 상당 부분을 애플의 리소스에 의존했다. 하지만 애플의 리소스가 모든 기능을 논리 정연하고 순서에 맞게 설명하진 않는다는 점도 부인할 수 없는 사실이다. 온라인 문서는 독자의 수준을 가정할 수밖에 없고 독자가 문서를 주어진 순서대로 읽을지도 알 수 없다. 그리고 온라인 문서는 내용을 설명하기보다는 참고하기에 알맞은 형태다. 완전한 프로그램 형태의 예제는 아무리 주석이 잘 달려있더라도 따라가기가 어렵다. 즉, 보여주는 용도라면 몰라도 가르쳐주기엔 적당하지 않다.

반면 책은 장에 따라 내용이 나뉘어있다. 객체 기반 프로그래밍을 다루는 2장보다 C언어의 기초를 다루는 1장이 앞에 있다는 사실로도 잘 알 수 있듯이, 나는 독자가 오브젝티브C를 배우기 전에 이미 C 언어에 관해 알고 있을 거라고 가정했다. 더불어 독자에게 좀 더 쉽게 다가가고자 직접 경험한 내용을 추가했다. 책 전반에 걸쳐 ‘초보 개발자가 흔히 저지르는 실수’라고 언급한 내용은 내가 저질렀던 실수와 다른 개발자가 저지르는 실수를 지켜본 경험을 옮긴 것이다. 처음 배울 때 으레 겪을만한 문제점들도 설명하려고 노력했다. 또한 직접 작성하거나 큰 앱에서 추출한 다양한 예제를 곁들여 설명한다. 거대하고 완벽한 프로그램을 예로 들어 프로그래밍 기법을 가르치기보다는 프로그램 개발에 필요한 사고 과정을 설명한다. 무엇보다도 책을 읽으면서 이런 사고 과정을 이해할 수 있기를 바란다.

iOS는 엄청나게 방대하다. 너무 커서 책 한 권에 모두 망라하기는 불가능하다. 그리고 책을 통해 언급하기에 적절하지 않거나 필요 없는 내용도 있다. 이 책에서는 코코아 터치의 전 영역 중에서 제외해야 할 부분을 과감히 버리고 남은 부분을 설명했다. 제외한 내용 중 일부는 따로 책 한 권을 써도 충분한 분량이다. 그 밖의 내용은 때가 오면 애플의 문서를 통해 잘 알 수 있을 거다. 이 책은 기본 원리를 다루는 입문서다. 모쪼록 독자들이 이 책을 읽고 앞으로의 난관을 헤쳐 나갈 수 있게 기초를 확고하게 다짐으로써, 앞으로 즐겁고 보람 있는 iOS 프로그래밍을 할 수 있기를 바란다. ---「저자 서문」 중에서

애플의 iOS, 구글의 안드로이드 OS, 리서치 인 모션의 블랙베리 OS, HP 웹OS, 윈도우폰 OS 등 모바일용으로 구동되는 많은 운영체제가 있다. 그러나 그 중에서도 코코아 터치 프레임워크 같은 강력한 라이브러리를 기반으로 하는 애플의 iOS는 운영체제의 안정성과 성숙도뿐만 아니라 라이브러리의 성숙도까지 다른 모바일 기반 운영체제들을 압도한다. 안드로이드를 장착한 모바일 장치가 전 세계적으로 iOS를 장착한 기기보다 더 많이 팔렸다고 하더라도 기업의 입장에서는 마켓의 안정성이나 이윤을 고려할 때 애플의 앱스토어 마켓을 떠나서는 이윤 창출이 쉽지 않은 것이 현실이다. 기업의 상황이 이렇다 보니 개발자 입장에서도 자바 경험이 있어 자바 기반의 안드로이드 앱을 더욱 쉽게 배울 수 있는 조건임에도 불구하고, iOS 앱이 기반으로 하는 오브젝티브C를 처음부터 배울 수밖에 없는 것이 현실이다.

뿐만이 아니라 애플이 제공하는 아이클라우드(iCloud)와 아이애드(iAd) 등과 관련된 개발도 점점 전문화되고 있다. 아이클라우드는 사용자의 데이터를 모든 기기에서 공유할 수 있는 편리함을 제공할 뿐만 아니라, 기계를 분실하거나 파손한 경우에도 아이클라우드에 저장한 자료를 안전하게 보관할 수 있다. 또한 아이애드는 엑스코드 외에 아이애드 프로듀서라는 프로그램을 통해 광고를 쉽게 제작하고 배포할 수 있으며, 앱과 연동할 수 있는 환경을 제공함으로써 또 다른 수익 창출 모델을 제시한다.

iOS의 이러한 빠른 진화에 겁먹을 필요는 없다. iOS가 나날이 진화 중인 것이 사실이긴 하지만, 가장 중요한 것은 기초를 튼튼하게 다져놓는 것이라고 생각한다. 소프트웨어 개발자로 일할 때 가장 많이 들었던 말 중 하나는 “언어 하나를 완벽하게 배워두면, 다른 언어는 쉽게 익힐 수 있다.”라는 조언이다. 지금 생각해도, 정말 일리가 있는 말임이 분명하다. 모든 프로그래밍의 근본은 비슷하기 때문이다. 따라서 기초를 탄탄히 하기 위해 노력하고, 어떤 작은 문제라도 직접 실험해봄으로써 몸으로 익히는 것은 매우 중요하고도 가장 좋은 방법이다.

많은 개발자가 공감하겠지만 소프트웨어에 100%의 완전함이란 존재하지 않는다. iOS도 기존 기능을 유지 보수하고 새로운 기능을 이전 기능과 잘 호환시키려고 최선의 노력을 다하고 있음을 엿볼 수 있다. 이 책에서도 애플에서 미처 간파하지 못한 오동작이나 버그처럼 느껴지는 많은 부분을 지적한다. 또한 저자가 겪었던 어려운 상황에 대한 경험담에 근거해 네트워크 상황이나 기계의 자원 환경에 따라 동작이 달라질 수도 있는 여러 가지 상황을 언급한 부분에서는, iOS를 세부적으로 다루는 개발자들이 같은 실수를 되풀이하며 시간을 허비하는 일이 없기를 바라는 저자의 깊은 마음을 읽을 수 있다.

한국어로는 초판의 번역서가 출판되지는 않았지만, 영문 초판을 거쳐 개정판이 나오는 과정에서 많은 독자의 리뷰와 iOS 5의 추가 기능들에 대해 상당 부분이 보완됐다. iOS의 완성도 못지않게 이 책의 구성 또한 매우 훌륭하다. 독자들이 충분한 시간을 두고 이 책이 제시하는 구성대로 꾸준하게 공부를 한다면 1년 안에 훌륭한 iOS 개발자가 될 것이라 확신한다. 더 나아가 iOS 개발에 어느 정도 자신감이 생긴다면, 단순히 개발을 하는 것뿐만 아니라 남들이 아직까지 개척하지 않은 앱을 창조해 직접 판매하는 것을 목표로 하기를 바란다. 이런 동기 부여가 있다면 개발이 지루해지거나 싫증나는 일은 없을 것이다.

독자들이 이 책을 통해 훌륭한 iOS 개발자로 발돋움하길 기원해본다.
---「옮긴이의 말」 중에서

출판사 리뷰 출판사 리뷰 보이기/감추기

회원리뷰 (0건) 회원리뷰 이동

  등록된 리뷰가 없습니다!

첫번째 리뷰어가 되어주세요.

한줄평 (0건) 한줄평 이동

  등록된 한줄평이 없습니다!

첫번째 한줄평을 남겨주세요.

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  • 절판 상태입니다.
뒤로 앞으로 맨위로 공유하기