'Mac'에 해당되는 글 19건

  1. 2009.03.11 cocoa 의 MVC
  2. 2008.11.16 cococa 勉強会 見学記 (2)
  3. 2008.09.11 the Funnest iPod EVER.
  4. 2008.09.10 Mac OS X Internals 프레젠
  5. 2008.09.06 맥 링크들
  6. 2008.09.06 iMac 스킨
  7. 2008.09.04 재미있는 정보들.
  8. 2008.09.03 Mac Fan 10월호 (11)
  9. 2008.09.01 몇몇 맥용 프로그램 결론. (6)
  10. 2008.08.30 몇몇 추가 프로그램 (2)

cocoa 의 MVC

Mac 2009.03.11 22:11
 최근 cocoa 공부를 하고있는데 다른 언어와는 다른 특이한것이 많이 있다.
그중에 책에서는 깊게 설명이 안되어 있는 것이 cocoa MVC모델의 구현이다.

 사실 프로그래밍을 짜본 해본사람은 누구나 알만한 개념이 MVC이기 때문에
자세한 설명은 생략하고 이것을 코코아에서는 자신만의 방식으로 구현하고 있다.

cocoa의 MVC를 이해하기 위해서는 아래의 사항들을 알아두어야 한다.
기술구현의 순서대로 설명을 하면,

1. NSObject
objective-c에서 cocoa framework는 언어의 일부분이라 부를수 있을 정도로 중요하다.
예로서  NSObject를 들수가 있는데 cocoa를 사용하는 모든 class는 NSObject class를 상속받는다.
이 class는 프로그래밍을 하는데 있어 편의를 돕는 많은 기본 기능을 포함하고있다.

이 class가 중요한 이유는 대부분의 객체가 상속하고 있기 때문에 언어의 일부분으로
이해해야 한다는 것이다.

2. Dynamic binding
objective-c는 dynamic binding을 지원하는 언어다.
예를들면
id rtn = [obj message];
에서 rtn값은 실행시간이 되서야 알수가 있다.

3. Selector
dynamic binding으로 가능한 objective-c의 여러가지 기술 중 selector형 변수가 있다.

아래와 같은 용법으로
SEL method = @selector(methodName)
method 이름을 변수로 지정하여 원하는 객체에  전달할수가 있다.

예를들면
[target description];
[target performSelector:@selector(description)];
위의 두 명령행은 같은 의미이다.

꽤나 단순해 보이는 이 기능은 나중에 delegate패턴을 구현하는데 있어 엄청난 장점을 가져온다.

*내부적으로는 모든 methodName은 SEL형으로 불변객체로서 저장된다. 이것은 즉 같은이름의
함수는 같은곳을 가르킨다는 이야기.

4. target - action paradigm
selector가 있기에 가능한 기술이다.
간단히 설명을 하면 일종의  delegate패턴이다.

예를들면
[button setTarget:obj];
[button setAction:@selector(showpanel:)];
위 처럼 실행시키고 싶은 메소드를 대상 object와 함께 지정하여 실행을 위임할수가 있다.


5. KVC(key-value coding) , KVO(key-value observing)
이 기술이 가장 재미있는 기술이다.
KVC - VO(value object)의 property의 이름만으로 값을 읽고 쓸수가 있다.
이건 앞서 말한 selector 변수가 존재하기에 가능한 기술로서 setName , name(getName)
메소드를 생성하여 프로퍼티에 접근할수가 있다.
물론 이것 이외에도 many relationship 변수 추적이라든지 KVC준거등이 존재한다.

예를들면
valueForKey - 키로 값을 구함
setValue forKey - 키로서 값을 설정
valueForKeyPath - 값이 존재하는 경로를 지정 접근 department.member.name 같은형식

KVO -Object를 등록하여 자신이 가지고 있는 property가 변경이 생길 경우 보고할수가 있다. 
일종의 observer패턴을 구현해놓았다고 생각하면 쉽다.
*이 기능또한 NSObject단위에서 제공하는기술

6.Cocoa Binding
KVC,KVO를 이용해 view와 controller를 연결하는것을 의미한다.
너무 길기에 자세한 설명은 생략.

7.Core data
Cocoa binding 및 KVC,KVO를 이용해 Model에 해당하는 데이타들의 변화를 관리할수가 있다.

8. Object graph
GUI툴을 이용해 data model을 그리고 코드를 생성한다.
그리고 objective-c 에서 지원하는 category를 이용해 기존코드와 통합할수도 있다.(아마도?)

잠깐 설명하려했는데 생각보다 길어지게되었다.

정리하자면 Model , Controller , View를 cocoa binding 및 core data를 이용하여 MVC 구현한다.
그리고 이 모든 통합의 밑바탕에는 위에서 열거한 언어의 특성에서 나오는 모든 기술들이 이용된다.

p.s 많은 태클 바람. 업데이트 예정.
Trackbacks 0 : Comments 0

cococa 勉強会 見学記

Mac 2008.11.16 15:48
 어제 오모테산도에서 열린 코코아 스터디에다녀왔습니다.
오후1시  - 6시 까지 약 5시간정도 긴시간에 걸쳐 참가자들이 각자 자신의
프로젝트의 진행상태라든지 공부한 내용을 발표하는 시간을 가졌습니다.
전 참관인 자격으로 들어가서 많이 배우고 왔네요.

짧게 요약하자면

더보기


 전체적으로 수준높은 발표들이 많이 있었습니다.
멤버들의 평균연령은 30대-60대?까지 다양했었습니다.
예전 iPhone app 세미나에 갔을때 보았던 눈에 익은 분들도 많이 계셨습니다.
스터디가 끝나고 회식을 하러 갔는데 생각보다 새로운 사람은 얼마 없었고 다들 3-5년 이상의
꾸준히 스터디를 하며 경력이 8-10년 되는 듯 했습니다.


 p.s 1차 후기는 여기까지 나중에 다시 생각이 나면 정리해야겠네요.
tags : iPhone, iPhone dev, mac
Trackbacks 0 : Comments 2

the Funnest iPod EVER.

Mac 2008.09.11 08:04
the Funnest iPod EVER.

재미있어 보이는 게임이 한가득이다.

활용하기에 따라서 색다른 프로그램이 많이 나올수 있을듯.

Trackbacks 0 : Comments 0

Mac OS X Internals 프레젠

Mac 2008.09.10 12:01
Mac OS X Internals

책 사라는 프레젠테이션인듯;

복잡해보이지만 그래도 재미있다.
Trackbacks 0 : Comments 0

맥 링크들

Mac 2008.09.06 23:02
A free book for starting with Cocoa using Objective-C
Become an Xcoder
objective-c를 이용해서 cocoa프로그래밍 하려는  사람들을 위한 무료책
영어,일본어로도 다운받을수 있다!


맥 오픈소스 사이트(macforge)
iCal , WebKit 등의 소스코드가 있다고하는데 실제로 찾아보면
objective-c 코드를 찾기가 너무 힘들다.
NDA때문인가?


Mac OS X Internals: A Systems Approach (Hardcover)
AMAZON Review

 "Overall, I recommend this book to anyone that wants a deeper understanding of the internals of the Macintosh. If you are a developer, this is a must-have book."--Justin Williams, Founder, Maczealots.com

리뷰에 써있듯 개발자을 위한 맥킨토시 시스템에 대한 좀더 깊은 이해를 주는 책이라고한다.



Trackbacks 0 : Comments 0

iMac 스킨

Mac 2008.09.06 22:35

사용자 삽입 이미지

 오늘 요도바시 카메라에 가서 iMac 키스킨을 사왔습니다. 가격은 1250엔정도 하네요. (비닐이..만2천원..)
집에와서 바로 써 본 결과 키감이 많이 안좋아지네요. 누르는데 힘이 더들고 적응이 안되서 그런지
오타가 늘어나는 느낌입니다. 일단 물과 먼지방지를 위해 사긴했는데 불편하네요.

Trackbacks 0 : Comments 0

재미있는 정보들.

Mac 2008.09.04 07:04
Mac on Mac
VMware Fusion 2.0 beta2 에서 맥 OS X Server까지 가상화 할수 있다네요 ㅎ
CPU및 메모리를 감시하는 툴이 없어서 , 얼마나 유용하게 쓰일지는 미지수인듯.
Feature를 보니 DirectX까지 지원하네요, 게임메니아에게는 선택의 여지가 없을듯.

LA FONERA (일본어 사이트 한국어사이트)
FON이란 서비스라는게 있는데 FON이라는 무선 라우터를 구입한 사용자끼리
무선대역폭(AP)을 공유하여 어디에서나 인터넷을 사용하자는 서비스인듯합니다.
인터넷으로 사용가능한 위치까지 검색가능한듯하네요.
현재 일본에 사용자가 8만4천명이 넘어섰다고 합니다.
iPhone이 발매되면서 더욱 잘 팔릴듯.

Ubiquity
Firefox의 플러그인프로그램인데 동영상만 보아도 꽤나 멋진 아이디어인듯합니다.
클릭만으로 한정지어진 브라우져 안의 대상(데이타,링크)과의 관계가 더욱더 자유로워질듯하네요!
Trackbacks 0 : Comments 0

Mac Fan 10월호

Mac 2008.09.03 01:54
오늘 맥 팬 10월호를 샀습니다.
책안에 아이폰 구입을 생각하는 사람들에 대한 조언들도 있고 이것저것 볼만한 정보가 있어보여 구입했네요.
(패킷가격, 활용성 , 비교기기들 , 유용한 소프트웨어들 등등등)

아직 다 읽어보진 않았지만 몇가지 기사를 말하면,

1. 도코모SIM카드로 iPhone3G를 사용할수 있는가?, 그리고 다른 통신사에 발매 가능성은?

 3G폰에는 SIM카드란것이 있어서 다른 통신사의 폰들끼리라도 SIM카드만 꼿으면 사용가능하다고하는데
실제 아이폰에서도 사용가능할수도 있지 않을까 하는 이야기입니다. 홍콩판(홍콩판은 SIM LOCK이
걸려있지 않답니다.) 아이폰에 도코모 SIM 카드를 넣어본결과 문제없이 동작한다는 군요.

 둘째로 일본에서 현재 iPhone3G을 판매하고있는곳은 소프트 뱅크 하나뿐인데요 발매한지 한달만에
패킷요금제를 바꾸었답니다. 그이유로는 아마 애플측에서 팔아야하는 판매대수를 정해 놓지 않은게 아닐까
하는 추측이 있습니다. 애초 일본에 판매권을 넘길때 설정한 옵션중에 하나가 아닐가 한다는것이지요.
 즉 일정 판매대수를 넘지 않으면 다른 통신사에게 판매권을 넘긴다던가 하는 상황이 올수도 있는것이지요.

2. 꽤심각한 iPhone3G의 통화품질문제?그 경향과 대책 .

 다른 통신사에비해 통화품질에 문제가 있는 이야기가 많이 나오고있는데
무선기지국이 거의 오래된곳이 많아서 3G을 지원하는 무선기지국이 부족하다는 이야기입니다.
또 통화품질에 대해서는 따로 소프트웨어 패치가 있는듯하네요.

3. 일본의 소프트개발자가 "이대로는 일본의 iPhone에는 미래가 없다"라고 했답니다.

 그 이유로는 맥에서의 디벨로퍼 서포트의 부족함 ,책,도큐멘트부족,, 이전 맥과같은 공유정보의 부족등을
언급합니다. 그 중 몰랐던것은 맥에 걸려있는 NDA라는 계약인데요, 책을 언급하자면,

--중략---
이것은 즉 NDA(Non-Disclosure-Agreement) 기밀유지계약(機密保持契約)을 뜻합니다. 의미는 어느
특정한기밀이 누출되면 안될경우, 비밀을 제공하는측과 받는 측 쌍방에 관련된 계약을 말합니다.
 이것을 iPhone SDK를 간단히 예를들어 설명하면 "같은 회사의 같은 프로젝트관계로있는 멤버 동료가 아니면 SDK에 관한 정보교환은 해서는 안됩니다"라는 내용이 되어 버립니다.
 요컨데 iPhone개발관련의 서적과 기술세미나 잡지등 웹으로의 기술해설과 토론등도 전부 금지가 됩니다.
외주 개발자에 iPhone용 어플리케이션을 개발을 부탁했을경우 "무엇이 가능하고 무엇이 가능하지않나"
라는 회의도 금지라고하는 비현실적인 이야기도 가능합니다.
 iPhone의 경우 누구라도 오픈으로 어플리케이션을 개발가능한것이 매력이 되지만 해볼까라고 생각해
다른 사람들에게 물어보고 잘못된 방법은 피하고 싶다고 생각해도 문제가 될수가있습니다.
 NDA자체는 나중에 제외될지도 모르지만 그 존재가 스타트업해 들뜬 개발자들에게 물을 끼얻는 것이
될수도 있습니다.
---중략---


 NDA에 대해선 미국에 곧 iPhone에 관련된 서적이 나오기에 어떻게 해결되지 않을까 생각되지만
일본에는 아직 그런이야기가 없어서 불만인듯보이네요 . 이것이외에도 프로그램의 버그라든지
를 언급하고 있습니다.


나머지는 내일 다시 올려야겠습니다 . 자야겠네요;
tags : iPhone, mac,
Trackbacks 0 : Comments 11

몇몇 맥용 프로그램 결론.

Mac 2008.09.01 15:03
최근에 사용해본 맥(Mac)용 프로그램에 대핸 결론을 내자면

1. ecto

 맥용 블로깅툴로 유명한 ecto를 약 1주일간 써본 결과 장점도 많이 있었지만 몇몇 치명적
 단점으로 인해 나한테는 안맞는다는 결론을 내렸다.

 가장 큰 단점은 개행처리 , 문서를 작성하다가 엔터를 누르면 <p></p>테그로 변환되어
개행이 되기에 보통 <br/>로 인한 폭보다 2-3배정도 넓어진 보기흉한 모습이 된다.
물론 control+enter 단축키로 <br/>개행을 지원하긴하지만 사용하다보면 잊어버리기 일수에
P테그와 겹쳐서 실행될경우 몇몇 버그가 보였다. 즉 p테그를 지워도 지워지지 않는 일이 벌어진다.
 티스토리 내장 rich text 에디터가 더 편하다.

 둘째 동기화가 조금 불안만 모습이 보인다.
tistory의 open api를 사용하여 동기화가 가능하지만, 공개비공개 설정 및,
카테고리 설정에 가끔 문제가 생기고 , 데이터도 전부 가져오는것이아니다.
 
 위의 단점이외에도 몇개더있지만, 전체적으로는 잘만들어진 프로그램이었다. 특히나
flickr와의 연동은 편리한기능이었음.

2. together

 이전 포스팅에서 언급한 요짐보의 단점을 채워줄 프로그램으로 생각되었으나 , 너무나 큰 리소스차지에 포기;
현재 내 아이맥의 램은 4기가인데 패러럴즈에 1기가 , 로컬 프로그램을 돌리는데 1기가 정도 사용하고있다.
보통 2기가이상 정도 여유를 가지고 쾌적한 환경으로 작업이 가능했는데 , together를 설치하고 리소스를
확인해보니 cpu리소스 20%정도에 물리적 메모리 950메가정도; 가상메모리는 1.5기가정도 사용하는 듯 하다.
다른 프로그램이 살짝 느려지는것을 느낄정도니 많이먹긴 하는모양.
 사실 저정도 리소스는 safari나 firefox도 먹긴하지만, together와 둘다 돌리기는 무리이다,
두개중 하나 선택하라고한다면 웹브라우져를 선택하는수밖에...
 리소스가 좀 줄어들면 사고싶은 1순위 프로그램이다.

3. skitch

 다재다능한 화면 캡쳐,에디터,메모 프로그램이다. 특히나 flickr랑 연동되어 사용가능한점은 멋지다.
현재 무료 베타기간이라 즐겁게 사용중. 인터페이스도 직관적이고 쉽워서 금방 적응할수가있다.
디자인은 아름다워서 눈이 즐거운 한편 역시 맥이구나 하는 느낌을 받을수있다.
 윈도우에서 저런 프로그램을 볼수 있을까?..

tags : ecto, mac, skitch, Together,
Trackbacks 2 : Comments 6

몇몇 추가 프로그램

Mac 2008.08.30 11:24

Leap
문서 및 이미지,동영상 화일 등을 한화면에 보여주는 프로그램
꽤 직관적으로 대상을 확인할수가있다.

Skitch
이미지 리사이징,저장,메모프로그램

Trackbacks 0 : Comments 2