2013년 12월 25일 수요일

C++ / C with xcode 5.0.2

그동안 회사에서 맥을 이용하여 개발을 하여도
정작 xcode를 이용하지 않았다.
처음 app을 개발을 할 때는 xcode에 엄청난 code complete 기능 때문에
익숙하지 않은 objective-c 코딩과
익숙지 않은 코코아 터치 프레임워크를 암기 하지 않고도 타이핑 할 수 있어서 너무 좋았다.

하지만 실제 회사에서 업무는 C/C++이고
회사 소스 코드를 xcode로 프로젝트를 만들면 인덱싱도 안되고 해서 사용하지 못했다.

그런데... 그렇게 있고 살았던 xcode

xcode가 안돼서 그냥 eclipse를 써왔는데...

드디어 5버젼에서 무언가 엄청난 C/C++ 파싱 능력이 생긴 것인지

인덱싱이 된다.

물론 callee/ caller 검색 이라든지 다른 IDE에 비해 부족하지만
jump to define은 확실하게 된다.

그리고 무엇보다. code complete가 완벽히 되고 있다.

이제 eclipse에서 xcode로.... 갈아 타려 한다.

그러기에 가장 중요한 단축키 몇 가지는 반드시 익히고 가야 한다.

먼저 좌측에 있는 창을 바꾸는 단축키



그리고 각 화면에서 선택 필터링을 하려면
하단에 직접 입력 해도 되지만

Option+Command+J

그리고 프로젝트 전체에서 찾기는
Shift+Command+F

에디터 변경

중앙 에디터의 변경

Standard Editor
Command + Enter

Assistant Editor
Option + Command + Enter

Version Editor
Option + Shift + Command + Enter



코드 분석중에 가장 필요한 Navigator 단축키들..

Jump to definition
Ctrl+Command+J
Jumpt to definition Assistant Editor
오른쪽 보조 에디터에 정의 부분을 보여주는 아주 좋은 기능
Ctrl + Otpion+Command + J

Ctrl + Command + <-- back
Ctrl + Command + --> Go

그리고 Find next previous는
Command +G / Shift + Command + G

이 정도만 익히면 될 것 같다.


짧은 코드들을 등록해서 빨리 찾아서 코드에 넣고 싶다면
code snippet
Ctrl + Option + Command + 2



osx 타임머신 백업 디스크 변경 작업

기존에 타임머신을 설정하고 백업을 하고 있는데
용량이 부족 하는 이유이거나 나처럼 백업 디스크가 새로 생겨서
이전 백업에서 새로운 디스크로 백업을 옮기고 타임머신을 설정 하고 싶을 때가
분명이 있을 것이다...

그래서 검색 했다.

http://macs.about.com/od/backupsarchives/qt/Moving-Time-Machine-To-A-New-Hard-Drive.htm

http://support.apple.com/kb/HT5096?viewlocale=en_US&locale=en_US

이 글들의 간단하게 요약하면
타임머신을 끄고

새로운 백업 디스크를 GPT 파티션 테이블로 디스크를 구성하고

디스크 정보를 보기
Get Info를 수행 하여
맨 아래에 있는 체크를 해제 하고 기존에 백업 디스크에 백업되어 있는 데이터 폴더
Backups.backupdb 전체를 새로운 디스크에 복사를 하는 것이다.

그런 후 타임머신을 다시 켜고 백업 디스크를 새로운 디스크로 교체 하면
이전 백업에 추가로 백업이 되고
이전 백업 정보도 모두 된다는 것인데....

내가 실제로 해보니 수백 기가바이트 복사하는 과정에 복사 오류가 난다.
복사 오류 메세지는 iWork 버전이 어쩌구...

참을성이 없는 나는 바로 취소해 버리고

이전 백업을 모두 제거하고

새로운 디스크에 처음부터 그대로 다시 백업 했다.

결국 실패!!



2013년 10월 14일 월요일

iOS 개발 인증서 갱신 ... 오랜만에 하려고 하니 어질.....

오랜만에 먼가 개발해보려고 하니 인증서가 다 만료 되었다.

APP id를 만들고
Provisioning을 만들려고 하는데...
먼가 안된다..

개발 인증서가 없나 보다.

developer certificate와 distribute certificate를 만들어야 한다.



먼저 developer.apple.com에서 인증서 추가를 누른다.


키체인 접근을 실행시킨 다음 환경 설정에서 위와 같이 해준다.

인증서 요청을 한다.


메일주소를 입력하고 디스크에 저장.


developer.apple.com에서 제너레이트 버튼을 누르고 나면 생성된 인증서를 내려 받아 더블클릭 한다.



간 만에 접속 해서 앱 한번 만들려고 하니 생각도 안 나고 어질 어질 했다.

이 개발 용 배포 용 인증서를 다른 맥 머신에 내려 받아서 더블 클릭하면 해당 머신 에서도 개발 배포가 가능하다.








2013년 9월 4일 수요일

cocos2d 기본 클래스들...

CCNode

iPhone SDK의 NSObject와 같이 cocos2d의 최상위 클래스
CCNode 클래스는 당양한 프로퍼티가 있다. 위치, 색상, 투명도, 크기, 회전, 가시성 여부, 카메라, 그리드 등 등이 있다.
이 객체는 자식 노드를 가질 수 있고 계층 구조로 만들수 있다.
계층구조로 만들면 부모 객체의 투명도 같은 속성이 바뀔때 자식 노드도 함께 손쉽게 변경이 가능하다.
스케줄러도 포함하고 있다.

CCDirector

싱글톤 클래스임, 어플리케이션에서 단 하나의 인스턴스만이 존재한다.
cocos2d는 게임의 화면을 장면 (Scene) 단위로 구성해서 처리한다.
CCDirector는 여러 장면들을 뒤로 가게 하거나 앞으로 가게 하는 등의 역할을 한다.

CCScene & CCLayer

UIKit의 UIView의 해당하는 클래스다. 
Sprite, Label, Menu등과 같은 클래스 객체들을 자식으로 가질 수 있다.
CCScen과 CCLayer의 차이점은 CCScen은 사용자의 터치 이벤트를 받아서 처리할 수 없고 Accelerometer 입력 또한 처리 할 수 없지만 CCLayer는 사용자의 터치 이벤트를 받아서 처리할 수 있다.

CCSprite

Sprite는 화면을 구성하는 정적인 이미지나 애니메이션이 되는 일련의 이미지를 가리키는 표현으로, 보통 게임에서 사용되는 이미지를 말하는데, 이러한 CCSprtie는 이미지 파일을 화면에 출력하는 역할을 하므로 이미지 파일의 로딩과 화면 출력과 관련한 다양한 메서드를 제공 한다.

Action

Sprite의 애니메이션 처리를 위해 Action 클래스를 제공한다.
[sonesprite runAction: [[CCMoveBy actionWithDuration:2 position: ccp(50,10)]];
2초동안 50픽셀 오른쪽으로 이동, 위쪽으로 10픽셀 이동

다양한 액션을 제공한다.
이동, 회전, 점프, 크기 변환 등의 기본 액션과 기본 액션을 결합하거나 반복하는 액션을 제공한다.
By , To 라는 두 가지 종류로 나뉘는데, By는 현재 값에서 지정한 값만큼 변하는 액션을 수행하고, To는 지정한 값으로 변하는 액션을 수행한다.


2013년 8월 28일 수요일

Logitech Ultrathin keyboard cover 사용기

일단 이제품 리뷰는 인터넷에서 엄청나게 많고 나도 그러한 리뷰를 보고 구매 충동이 있었지만....
참고 견디고 참아 드디어 이제야 내 손에 들어 왔다.

아이패드 악세사리 중에 정말 사고 싶었던 아이템이다.
인터넷에서 처음 이제품을 보고 사고 싶었고
실제로 사용하는 사람들을 보고도 부러워만 했다.
문제는 가격이다.
10만원... 후덜덜... 소셜에서 8만원정도... 그것도 후덜덜...
그런데 갑자기 49000원에 .. 올라와서 덮석 사버렸다.

지금 이 글도 이 키보드를 이용해서 아이패드로 쓰고 있다.

대략 이틀정도 사용 하고 후기를 기록한다.

가격 10만원대 에 샀다면 땅을 치고 후회 했을 것이다.
49000도 싸다고 생각 되지는 않다.
29000짜리 이미테이션 제품도 있다.

품질 사진상으로는 엄청 좋아 보였지만 실제로 만져 보니 로지텍 답지 않게 좀 어설픈 면도 있다.
일단 전원 스위치나 블루투스 스위치는 싸구려 틱하다.
그리고 알루미늄 커버가 아이패드 알루미늄과 결코 같지 않다. 훨씬 저렴한 느낌이 난다.
그리고 키보드로 사용할때 하판이 되는데 고무 받침이 조금은 있어야 하지 않나 생각된다.
너무 잘 미끄러진다. 그리고 바로 잔기스가 생길 듯 하다.

거치 부분이 후면 커버를 사용하면 잘 맡지가 않다. 난 그래서 벨킨 백커버를 과감하게 톱질 해서 쓴다.
물론 세로 방향으로는 쓸수가 없다.
좀더 얇은 백커버를 쓰거나 아에 쓰지 않거나 해야 할 듯 하다.

자석 채결부분, 이 부분... 음... 순정 아이패드 스마트커버에 자석 채결 부분에 비해 완전 싸구려 느낌이 난다.
자석 새기도 너무 약해서 실수로 키보드만 잡는다면 아이패드가 바닥과 키스하는 장면을 목격 할 것이다.
자석 채결 부분을 스마트 커버에 자석 채결로 바꾸고 싶은데 분해 방법을 모르겠다. 정말 이겄담 스마트 커버의 자석 채결로 변경하면 훨씬더 좋을 듯 하다.

너무 단점만 썻나...
장점이라면 좀 가볍고
덮어 놧을때 어울리고
이쁘고 베터리가 오래간다고 한다. 아직 얼마 사용하지 않았기 때문에 베터리는 써봐야 알겟다.
일단 메뉴얼 상으로는 한번 충전으로 하루 2시간 사용하고 사용하지 않을때 전원을 끈다면 6개월 사용한다고 한다.

또하나의 장점은 단축키이다. 이것은 애플 무선 키보드로 아이패드에 연결 했을때 보다. 훨씬 좋은 장점이 되는듯 하다. 홈키.. 이거 정말 좋은거 같다. 더블 클릭으로 실행중 앱도 되고.
요부분은 정말 만족한다.

키감은 처음에는 오타가 조금 나고 어색했지만 금새 익숙해지는 듯 하다.
최고의 장점은 역시나 휴대성이다. 애플 무선 키보드가 있지만 그걸 들고 다니기에는 먼가 그렇지만
이 제품은 아이패드와 일체로 휴대하게 되니 좋다.

여하튼 49000원도 좀 비싼감은 있는 아이템이다.
이가격에 풀리는 이유는 아무래도 애플 아이패드에 이 디자인은 이제 끝이라고 판단하는 업자들이
제고를 푸는거 같다.

조금더 기다리면 엄청 싸게 나올수도 있을듯...

2013년 8월 15일 목요일

cocos2d 시작해봅시다!


cocos2d를 한번 해보자
몇달 전에 책을 훑어 보았다.
생활이 바빠서인지 맥미니를 켜본지도 한참 오래된거 같다.
실제로 코딩을 해보지 않으니까 다 잊어 버렸다.
다시 시작..!


http://www.cocos2d-iphone.org/download/

안정버젼을 다운로드 받는다
현재 시점 안정버젼은 2.1

다운로드 받은 파일에 압축을 풀고 적당한 위치로 저장 한다.

터미널에서 다음과 같이 수행하면 xcode 템플릿을 설치 할수 있다.

sparrow-mac-mini2:cocos2d-iphone sparrow$ ./install-templates.sh -f
cocos2d-iphone template installer



Installing cocos2d templates
----------------------------------------------------

...creating destination directory: /Users/sparrow/Library/Developer/Xcode/Templates/cocos2d v2.x/
...copying cocos2d files
...copying CocosDenshion files
...copying Kazmath files
...copying template files
done!



Installing Physics Engines templates
----------------------------------------------------

...copying Box2d files
...copying Chipmunk files
done!



Installing JS Bindings templates
----------------------------------------------------

...copying JSBindings files
...copying JSBindigns Support files
...copying SpiderMonkey files
...copying JR Swizzle files
...copying CocosBuilderReader files
done!



Installing CCNode file templates...
----------------------------------------------------

...creating destination directory: /Users/sparrow/Library/Developer/Xcode/Templates/File Templates/cocos2d v2.x/
done!

설치된 템플릿은 다음과 같이 Xcode에서 보인다.



이제 모든 기본 프로그램 hello world를 작성해봅시다.!

이런 아무것도 작성하지 않고 템플릿으로 만들어진 코드가 hello World 다!


이미 책도 오래 되었고 
소개된 버젼도 1.0.1

버젼도 2.0

많이 바뀐듯 하지만

실제로 코딩을 하면서 틈틈이 블로그에 글을써서 익혀야 겠다.



2013년 8월 5일 월요일

PRW-2500 TOUGH SOLAR

태양광 충전
어릴적 집에 전자 계산기에 태양광 충전을 손으로 가리면 점차 글씨들이 흐리 흐리 하게 변하면서 꺼진다.

이 시계도 태양광 충전이라고 되어 있다.
처음 개봉했을때 베터리 레벨이 M이였다.
해외 배송을 길게 오면서 어두운 상자 속에서 베터리가 닳았나?
C L M H 
C는 충전이 필요한 상태이고
Low, Mid, High 표시다.

처음부터 M이라서 좀 그랬다.
거기에 장마라서 날도 흐리고 좀처럼 H가 되지 않았다.

강원도에 가서 부모님 농사일을 이틀 도와드리고 나니 H가 되었다.
그러다가 다시 장마철 주말 방콕을  했더니 다시 M

아무래도 AUTO LIGHT 기능이 밤에 내가 자면서 자주 불이 켜져서 베터리 소모가 심한가 보다.
그래서 설정을 OFF했는데도 좀처럼 베터리 레벨은 H로 오르지 않는다.

지난 7월 중순 소야도에서 땡볕 백사장에서 애들과 하루를 놀아 주었더니 짜짠 H가 되었다.
그후로 지금껏 계속 H상태를 유지 하고있다.

물론 AUTO LIGHT는 OFF로 사용중이다.

아무리 태양광 충전이라고 해도 내부 베터리에 수명은 잇겟지만 그래도 베터리 교환 없이 오래도록 사용할수 있을듯 하다.