이전

리뷰 (3)

한줄평
평점 분포
  • 리뷰 총점10 0%
  • 리뷰 총점8 67%
  • 리뷰 총점6 33%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 0.0
  • 30대 0.0
  • 40대 6.0
  • 50대 8.0

포토/동영상 (1)

리뷰 총점 종이책
iOS 네트워크 프로그래밍, 애플세상을 꿈꾸는 이들
"iOS 네트워크 프로그래밍, 애플세상을 꿈꾸는 이들" 내용보기
오래간만에 개발관련 서적을 읽게 된 것 같다. 옛날에 모바일쪽에 처음 기획일을 할때는 독립적으로 동작하는 App의 수가 적지 않았으나 지금은 서버와 네트워킹을 하지 않는 App은 거의 찾아볼 수가 없다. 게임이던 유틸이던간에 서버와 항상 통신하면서 정보를 업데이트 한다. 단말기의 성능이 올라간 부분도 있겠지만 네트워크 비용이 현저히 낮아졌기 때문에 비즈니스 환경이 변한것
"iOS 네트워크 프로그래밍, 애플세상을 꿈꾸는 이들" 내용보기

오래간만에 개발관련 서적을 읽게 된 것 같다. 옛날에 모바일쪽에 처음 기획일을 할때는 독립적으로 동작하는 App의 수가 적지 않았으나 지금은 서버와 네트워킹을 하지 않는 App은 거의 찾아볼 수가 없다. 게임이던 유틸이던간에 서버와 항상 통신하면서 정보를 업데이트 한다. 단말기의 성능이 올라간 부분도 있겠지만 네트워크 비용이 현저히 낮아졌기 때문에 비즈니스 환경이 변한것이다.

 

잘 돌아가는 iOS App을 개발하기 위해서는 아키텍처 설계를 위해 실행 루프 (run loop)와 각각의 네트워킹 API를 연동해 반응성이 좋은 네트워킹 애플리케이션 프레임워크를 만드는 핵심 개념을 이해해야 한다.

 

네트워킹에 대해서 모르는 개발자라 하더라도 책을 차분히 보면서 배운다면 기본적인 소양을 갖출 수 있을것으로 보여진다. 애플리케이션이 엔드포인트를 직접 조회하는 형태는 아래와 같은 형태로 보여줄 수 있다.

 

아이폰 -> SOAP -> 레코드 회계 시스템

아이폰 -> SOAP -> 레코드 재고 시스템

아이폰 -> JDBC -> 위치 데이터베이스

아이폰 -> REST JSON -> 마케팅 콘텐츠 시스템

아이폰 -> REST XML -> 충성 고객 포인트 밴더

 

 

2장의 퍼사드 서비스 예제에서는 주식 정보 서비스와 날씨 서비스라는 두 가지 웹 서비스를 사용해 보여준다. 많은 경우가 데이터를 별도 소스에서 가져오고 각 데이터 집합을 공통 출력 형식으로 변환하여 보여준다.

 

버전 관리 서비스 예제

 

날씨 서비스 1.0 버전 weather_v1.php

{"city";"Richmond","state":"Virginia","currentTemperature":"63"}

 

날씨 서비스 2.0 버전 weather_v2.php

{"city":"Richmond","state":"Virginia","currentTemperature":63,"currentConitions":"Mostly Cloudy"}

 

iOS 네트워킹은 대부분 HTTP 통신 방식에 의해 이뤄진다. HTTP API가 가장 자세히 문서화되어 있기 때문에 그것을 사용하여 개발하는 것이 가장 무난하다.

 

URL의 구조

http://user:password@hostname:port/absolute-path?query

프로토콜|인증정보|호스트이름|TCP포트|절대경로|쿼리문자열

동기요청이나 큐를 활용한 비동기 요청, HTTP 요청 방식을 활용하는 방법, HTTP 쿠키를 조작하는 방법, HTTP 고급 헤더를 활용하는 방법등을 잘 정리해 놓고 있다.

 

에러 처리의 기본 원칙

1. 인터페이스 계약에 에러 처리를 포함한다.

2. 에러 상태도 거짓말을 한다.

3. 페이로드의 유효성을 검증한다.

4. 정상적인 비즈니스 조건과 에러를 분리한다.

5. HTTP 상태를 항상 검사한다.

6. NSError를 항상 검사한다.

7. 에러를 일관성 있게 처리하는 방식을 개발한다.

8. 타임아웃을 항상 설정한다.

 

아래의 예제는 시스템이 서비스에서 사용할 수 있는 포트를 지정하는 방법과 연결 시도를 리스닝하는 소켓 콜백을 등록하는 방법을 보여준다.

 

CFSocketContext socketCtxt = {0, (__brideg void*)self, NULL, NULL, Null};

ipv4socket = CFSocketCreate(kCFAllocatorDefault,

PF_INET,

SOCK_STREAM,

IPPROTO_TCP,

kCFSocketAcceptCallBack,

(CFSocketCallBack)&BonjourServerAcceptCallBack,

&socketCtext);

 

ipv6socket = CFSocketCreate(kCFAllocatorDefault,

PF_INET6,

SOCK_STREAM,

IPPROTO_TCP,

kCFSocketAcceptCallBack,

(CFSocketCallBack)&BonjourServerAcceptCallBack,

&socketCtext);

 

if (ipv4socket == NULL || ipv6socket == NULL) {

if (ipv4socket) CFRelease(ipv4socket) ;

if (ipv6socket) CFRelease(ipv6socket);

ipv4socket = NULL;

ipv6socket = NULL;

return;

}

.

.

.

.

CFRunLoopAddSource(cfrl, src6, kCFRunLoopCommonModes);

CFRelease(src6);

 

책의 마지막에 봉쥬르는 애드혹 네트워킹을 통해 같은 네트워크에 있는 기기 사이에서 데이터를 공유할 수 있게 해주는 예제를 구현해 놓았다. 네트워크에서 서비스를 성공적으로 발행하는 방법, 호스트를 검색하고 호스트와 피어를 연결하는 방법을 기술하였다. 봉쥬르 서비스를 발행할 수 있는 기기의 유형은 프린터, DVR, 홈 자동화 도구까지 다양하다고 저자는 말한다.

c****d 2014.01.10. 신고 공감 2 댓글 0
리뷰 총점 종이책
iOS 네트워크 프로그래밍
"iOS 네트워크 프로그래밍" 내용보기
iOS 네트워크 프로그래밍  - 아이폰, 아이패드, 아이팟과 기업 서비스를 연결하는   이 책은 제목 그대로 iOS에서 제공하는 기술을 이용해서 네크워크 프로그래밍을 할 수 잇는 방법을 알려주고 있습니다. OS가 무엇이든 네트워크 프로그래밍은 그 자체로 쉽지 않은 내용입니다. 처음 샘플 코드를 사용해서 하나씩 기능을 확인할 때야, 잠깐 '별것아니네'라고 생각하는 분들이
"iOS 네트워크 프로그래밍" 내용보기


iOS 네트워크 프로그래밍

 - 아이폰, 아이패드, 아이팟과 기업 서비스를 연결하는

 

이 책은 제목 그대로 iOS에서 제공하는 기술을 이용해서

네크워크 프로그래밍을 할 수 잇는 방법을 알려주고 있습니다.


OS가 무엇이든 네트워크 프로그래밍은 그 자체로 쉽지 않은 내용입니다.

처음 샘플 코드를 사용해서 하나씩 기능을 확인할 때야,

잠깐 '별것아니네'라고 생각하는 분들이 나올 수도 있겠지만,

실제로 실무에 들어가게 되면, 샘플 코드는 그저 샘플 코드일 뿐,

실무와는 별개의 세계가 펼쳐지기도 합니다.

이 책의 제목처럼 iOS에서 네트워크를 개발하는 것은 결코 쉽지 않습니다.

그렇지만 꼭 필요한 일이기도 합니다.


이 책은 iOS에서 네트워크를 학습하기 위한 첫 책으로는 그다지 매력이

없을 것 같습니다. 네트워크에 대한 기본적인 학습은 좀 더 쉽고,

예제가 많은 학습서를 이용하는 것이 좋을 것 같습니다.

다만 이미 프로그래밍 경험이 있고, 네트워크 프로그래밍에 대한

경험도 있는 분이 본다면 좋은 참고서가 되리라 생각합니다.

특히, 다른 OS의 개발 경험이 있고, 네트워크 프로그래밍에 대한 경험도

있으나 iOS의 개발 경험이 적어서, 네트워크 프로그래밍에 대한

팁을 얻으시려는 분이 본다면 좋을 것 같습니다.

다시 말해, 아주 초보자용은 분명히 아닙니다.


이 책은 책의 분량이 많지 않습니다. 350쪽 정도 밖에 되지 않는 책에

목차에 나와있는 다양한 항목들을 넣어놓았기 때문에,

대부분의 설명을 깔끔하고 짧게 정리해 놓았습니다.

초보자가 보기 어려운 것은 이런 이유 때문입니다.

앞에서 말한 것 처럼 기존에 경험있는 분이 빠르게 iOS의 네트워크 팁들을 확인할 때,

가장 좋은 효과를 볼 수 있을 것입니다.


 

YES마니아 : 골드 m*********u 2014.01.26. 신고 공감 1 댓글 0
리뷰 총점 종이책
iOS 네트워크 프로그래밍
"iOS 네트워크 프로그래밍" 내용보기
ios 네트워크 관련해서는 처음 읽어보는 책인거 같다. 책의 두께는 340 페이지 정도로 그리 두껍지는 않다. 책의 구성은 서술형이다. 설명을 하고 그에 따른 예제 소스를 보여주는 구성으로 되어 있다. 구성방식은 서술형이라 읽기에 따라  지루할 수 있다. 다만 서술형인 대신 챕터마다의 내용은 방대하지 않고 간략하게 구성되어 있다. 2장과 같은 경우는 내용은 괜찮으나 아키텍쳐 설
"iOS 네트워크 프로그래밍" 내용보기

ios 네트워크 관련해서는 처음 읽어보는 책인거 같다. 

책의 두께는 340 페이지 정도로 그리 두껍지는 않다. 


책의 구성은 서술형이다. 

설명을 하고 그에 따른 예제 소스를 보여주는 구성으로 되어 있다. 

구성방식은 서술형이라 읽기에 따라  지루할 수 있다. 

다만 서술형인 대신 챕터마다의 내용은 방대하지 않고 간략하게 구성되어 있다. 


2장과 같은 경우는 내용은 괜찮으나 

아키텍쳐 설계에 대한 내용을 다룬 양으로는 퍼사드 패턴 하나만 간략하게 다루고 끝내어 

아쉬움이 있다. 


개인적으로 가시적으로 설명하는 바를 볼 수 있는 구성이었다면 하는 아쉬움이 있다. 

챕터마다의 내용이 간략하기에 좋은점도 있지만 그렇기에 오히려 읽는데 어려울 수도 있다.  


소스의 구성부분도 설명부분에 대해서 그냥 나열보다는 

해당 부분도 영역에 따라 구분을 지어서 설명을 했다면 하는 아쉬움이 있다. 


그래도 전체적인 책의 내용은 

ios 네트워크 프로그래밍을 하는데 참고하기에는 괜찮은거 같다. 





j***o 2014.01.12. 신고 공감 1 댓글 0