2012/05/08 09:54

맥 파인더 단축키

아무리 뒤져봐도 어디에서나 맥의 파인더를 여는 기본 단축키가 없었다.

윈도우에서는 윈도키+E를 누르면 탐색기가 뜨는 편리함이 있었는데...


더 뒤적거리다가 찾은 창의적인 방법 ㅋ

어디에서나 control + space를 누르면 Spotlight가 나오고 타이핑을 통해 무언가를 찾을 수 있다.

Spotlight 환경설정이라는 메뉴가 맨 아래에 있는데, 그걸 눌러보자.

아래쪽에 Spotlight 메뉴 키보드 단축키/Spotlight 윈도우 키보드 단축키가 있다.

무심코 윈도우 키보드 단축키를 눌렀더니... (control + alt + space)



왠지 파인더가 나오는데 -ㅅ-;;;;;;;;;;;;

대신 파인더 창 우측 상단에 있는 돋보기(Spotlight)에 타이핑 할 수 있는 상태로 되어 있다.

찾기를 파인더 형태로 보겠다는 의미인데, 이건 뭐 파인더 단축키나 마찬가지라는거...




2012/05/01 17:06

[iOS] Google DATA API를 이용하자(구글 문서도구)

어쩌다보니 맥을 구입하고 아이폰 앱을 개발 중이다.

몇 시간 검색하고 삽질한 결과물을 하나 남겨본다.


앱 개발 중 구글 문서도구의 Spreadsheet을 이용해야 하는 일이 생겼다.

Xcode 4 이전 버전을 사용하는 경우라면 구글에서 "GDta 아이폰" 이라고만 검색해도 쉽게 따라 할 수 있다.

하지만 기존 Google Data API는 최신 기능인 ARC(Automatic Reference Counting)를 사용하지 않은 코드다.

실제 Xcode 4에서 Google Data API를 사용하자면 프로젝트를 만들 때 ARC 옵션을 꺼야 한다.


벗뜨! 그러나!

좀 검색하고 기억을 더듬어 결국 최신 Google Data API도 쓰고 ARC도 사용하는 방법을 찾았다.

그럼 시작해볼까?!!




1. Google Data API 다운로드
맥에서 실행되는 프로그램이라면 동적 라이브러리도 상관 없으나 아이폰에서는 동적 라이브러리가 허용되지 않는다.

게다가 구글측에서 Object-C용 라이브러리도 제공하지 않는 듯 싶다. 

대신 구글은 이 API 소스를 몽땅 공개했기에...

그냥 소스를 받아서 같이 컴파일 하면 해☆결

소스 코드는 다음 링크에 방문하면 알 수 있다.
http://code.google.com/p/gdata-objectivec-client/source/checkout

간단히 설명하자면 터미널을 열고 다운로드 받고 싶은 폴더로 이동하자(CD...)

svn checkout http://gdata-objectivec-client.googlecode.com/svn/trunk/ gdata-objectivec-client-read-only

터미널에서 이 SVN 스크립트를 입력하고 엔터치면 쭉 다운로드 받는다.
파일 추출 후 내부는 다음과 같다.

Source가 우리가 필요한 Google Data API 소스 파일이 들어가 있다.


2. 프로젝트에 적용
Google Data API가 필요한 프로젝트를 연다.
1의 Source 폴더를 들어가보면 GData.xcodeproj 파일이 있는데,  방금 연 Xcode 4 프로젝트에 드래그 드랍으로 밀어 넣는다.


이중에 GData Sources를 펼쳐보면 몇 개의 폴더가 또 나오는데, 그 중 필요한 것만 우리의 프로젝트에 드래그 앤 드랍으로 옮긴다.
나의 경우 Spreadsheets만 사용할 것인데, Common 폴더와 Spreadsheets를 옮겼다.


기존 GData.xcodeproj 는 바로 삭제하자. (reference만 삭제...) 

Google Data API를 이용하고자 하는 위치에 "#import "GData.h""를 입력해 놓자



3. 프로젝트 설정 변경
2까지 완료된 후 바로 빌드(cmd+B)를 하면 에러가 난다. Google Data API의 경우 많은 xml을 사용하기에 관련 라이브러리도 넣어주어야 한다. Build Settings로 이동한다.
 1) "Header Search Paths"에 "/usr/include/libxml2"를 입력해 넣는다. Recursive도 체크!
 2) "Other Linker Flags"에 "-lxml2"를 입력해 넣는다.
 3) "Other C/C++ Flags"에 Debug 위치에 "-DDEBUG=1"를 입력해 넣는다.


이제 빌드를 해보면 ARC관련 에러가 난다...
Build Phases로 이동하자. Compile Sources에서 Google Data API의 소스에 모두 "-fno-objc-arc" 쭉 입력해 넣어준다.


또 빌드를 해보면 GData.h import 부분에서 파일이 없다고 할 것이다.
당연한 것이, 위에서 사용하고자 한 것만 남기고 제거했기 때문에다.
GData.h 파일을 열고 아까 삭제한 파일을 주석처리하거나 삭제해 놓자
나는 SpreadSheets만 사용하므로 다음과 같다.


이제 또 빌드를 해보면 링크 에러가 발생한다.
Google Data API에서 사용한 프레임워크가 없어서 발생하는 것이다.
Link Binary With Libraries에서 다음과 같은 프레임 워크를 추가하면 된다.

SenTestingKit, Security, SystemConfiguration 이 세개를 추가해 넣으면 된다. 



삽질 적당히 하고 개발이나 애궁;

Object-C용 소스 SVN 주소가 잘못되어 업데이트

근데 그림이 다 어디갔노;


2012/01/16 13:54

MS WORD에서 블로그 작성

오랜만에 "사진찍는 프로그래머" esstory님의 블로그에 들려보았다.

최근 것부터 관심 가는 제목을 클릭하여 쭉쭉 읽다가 MS Word에서 블로그 작성하는 방법에 대해 올려 놓으신 글을 읽었다.

워드를 이런 식으로 활용 가능했었다니! 지금까지 너무 관심이 없었다.

esstory님은 티스토리 블로그를 사용하고 계시고 해당 블로그 관련해서 글을 쓰셨는데, 이글루스도 가능한 것을 확인했다.


 

블로그 관리 → 기본설정 → API Key 에서 정보를 확인 할 수 있다.



 

재미 있는 점은 계정의 ID와 Password를 이용하는 것이 아니라 API key라는 값을 사용하는 것이다.

워드 상에서 계정을 추가 할 때에는 위의 API key 값을 암호에 복사해 넣어야 한다.


이런 좋은 도구가 있는데도 웹에서 심장이 쫄깃해지는 기분을 맛보며 글을 써야 했다니…

사람은 많이 배우고 익히고 싸질러야(?) 된다.


2010/09/09 11:27

Color Profile (CMS)에 관하여 (색상 프로필)


1. ProPhotoRGB


2. Adobe RGB (1988)


3. sRGB



위 세개의 사진 색이 달라 보인다면 당신은 인터넷 익스플로러(8이하)를 사용하고 있는 것이다.
(잘 모르겠으면 우상단에 위치한 DHL을 유심히 보자)
(이 사진은 상공회의소 앞 분수 물에 비친 반영을 촬영한 것이다. - 반영샷)


사진, 그림파일 등에 사용하는 Color Profile이라는 녀석이 있다.

흔히 CMS라고 불리는 것인데, 색공간이라고 알아두면 좋다.

디지털 세상에 맞추어 색을 표시할 때에는 RGB 세가지 인자로 한다.

흔히 윈도우즈에서 쓰는 색공간은 sRGB...

그러나 색공간을 변경하면 RGB 값이 바뀌게 된다.

RGB 값은 바뀌어도 색공간이 다르므로 현재 색공간에 맞추어 화면 표시를 달리해준다.

문제는 일부 브라우저가 색공간을 무시한채 사진에 있는 RGB값을 그대로 표현한다는 것에 있다.

가끔 "인터넷에 올린 사진의 색이 달라보여요~" 라는 글을 볼 수 있다.

사용하는 브라우저가 색공간을 무시하기 때문에 발생하는 문제이다.

보통 많은 분들이 인터넷 익스플로러를 사용하기 때문에 많은 분들이 경험한다.

파이어 폭스나 오페라 같은 브라우저는 색공간을 지원해서 다른 프로필의 사진이라도 같은 색을 보여준다.

또 다른 브라우저는 알아보지 않았으므로 생략;



인터넷 익스플로러 9에서는 색공간을 지원한다고 하니 참 다행이다.



SLRCLUB 강좌란에 좋은 강좌가 있어서 참고 했다.

색공간 프로파일 이해하기 그리고 올바른 사용방법

2010/02/09 01:33

넥슨 회원 탈퇴 운동

1. 마비노기 영웅전과 함께

 최근에 마비노기 영웅전을 신나게 하고 있었다. 별로 마음에 들지 않는 캐시도 친구들과 어울리기 위해서는 질러야 했다. 그렇게 욕하면서도 플레이 했던 던전 앤 파이터도 잊을 정도로 열심히 마영전을 했다.

사건은 이틀 전에 일어났다. 나는 자주가는 웹사이트는 주소를 외워서 직접 타이핑하는 괴팍한 성격으로 항상 http://heroes.nexon.com/ 을 바로 들어간다.



2. 캐시 증발 사건



 처음 로그인을 하면 위의 그림과 같이 간략한 멤버 정보가 출력되는 것을 확인할 수 있다.  이 화면에서는 넥슨 캐시를 확인 할 수 없다. 오른쪽 위의 넥슨캐시를 눌러 확인을 하는 방법 밖에 없다. 항상 로그인 후 별다른 확인 없이 GAME START를 눌러 게임을 시작했으니 캐시가 얼마나 있는지 확인 할 수 없었다.



 하지만 사건 당일 게임내에서 캐시 아이템으로 고민하던 중 넥슨캐시 값의 변화에 눈이 갔다. 얼마전에 신참 패키지를 지르기 위해 추가적으로 캐시를 구입했고, 신참 패키지를 구입한 후 남은 캐시는 2000에 상당하였다. 넥슨의 괴이한 캐시 결재 시스템에 의해 잔액이 찌질하게 남아있었는데, 캐시가 100 밖에 없던 것이다.


 당황하여 아까 넥슨 캐시 버튼을 눌러 확인을 해 보았다.


 신참 패키지는 내가 구입한게 맞지만 “시몬의 럭셔리 신상품 상자”는 도대체 뭔가??? 시몬이 누구길래 럭셔리 한건지??? 몇년 전에 마비노기를 열심히 했던 기억이 새록새록 난다. 마비노기 사이트에 들어가서 로그인을 해 보았다. 응? 왠지 비밀번호가 틀리다. 혹시나 해서 아주 예전에 사용했던, 허접한 비밀번호를 넣었다... 들어가지네... 역시 데브캣은 넥슨 따위와는 다른 비밀번호를 가지고 있다. 즉, 넥슨 포털과 마비노기는 연동된 서비스가 아닌 듯 하다. 아; 그게 아니라 저번에 던파 해킹 이후 비밀번호를 전부 바꿨는데 바꾸기 전 비밀번호가 마비노기에 되어 있었다!!!

 뭐 내가 비밀번호를 바꾸지 않은 잘못이 있으니 당한 것은 어쩔수 없다. 기간도 일주일이 지나서 마비노기 측에서는 복구 안해준다고 한다.



“해킹은 명백한 범죄행위 입니다.”
그런데, 신고 기간을 기존 이주일에서 일주일로 바꾸셨을까요?
도대체 누구 편인지 구분이 안 갑니다.



 감사하다네요. 캐시 남에게 기부해서 감사한건지...

 1,800원 쓰레기 통에 버린 걸로 생각해야겠다. 집에 쓰레기 봉투도 아직 못 사서 시장에서 받은 검은 봉투에 쓰레기 꽉꽉 눌러담고 있는데, 1,800원이면 종량제 봉투 10리터 두개는 살텐데 말이지. 1,800원이면 야근 해가면서 코딩하는 내게 200원 짜리 커피 9잔이거늘.



3. U-OTP의 문제점

 여기까지 하기로 하자. 괜히 더 열불난다. 1,800원 쿨하게 잊겠다. 그런데 내 친구는 마비노기 베이직 캐릭터 카드를 선물했거덩???? 그 친구는 U-OTP를 철썩같이 믿고 있었다. 하도 난리도 아니니까 그냥 처음부터 U-OTP를 신청해서 마영전도 플레이 하고 있었다.

 그러나 넥슨의 U-OTP 적용범위는 실소를 지을 수 밖에 없게 만든다. 비슷한 일례로 www.nexon.com에서 해당 아이디로 로그인 하고 마비노기 링크를 눌러 들어가면 로그인이 안되어 있다. 하위 카테고리에 속해 있지만 같은 로그인 정보를 사용하지 않는 것이다. 비밀번호를 다르게 할 수 있으니 그럴 수 밖에. 어떻게 서로 로그인 정보(비밀번호)도 다른데 캐시는 사용 할 수 있을까? 역시 X슨.




 넥슨 U-OTP가 적용되는 게임은 SP1, 마비노기 영웅전, 허스키 익스프레스 3종 뿐이다. 나머지 게임은 해당 게임의 다른 U-OTP를 사용하게 되어 있다. 안전하게 게임을 하려면 휴대전화에 각종 U-OTP 프로그램이 설치되어 있어야 한다.

 여기서 더 허탈하게 만드는 일은 해당 U-OTP 프로그램은 위피 기반이라는 것이다. 위피에 대해서는 길게 설명하지 않겠다. 그냥 우리나라 휴대전화 시장을 좀 먹는 휴대전화 O/S 같은거라고 생각하면 된다. 우리나라에 발매되는 모든 휴대전화는 위피를 탑재해야 판매를 할 수 있었다. 다행이 아이폰 열풍에 힘입어 위피 의무탑재 조항이 제거되어 국내에도 아이폰이 들어올 수 있는 퀘거가 있었다.
 그래서 샀다 ㅋ → 본인은 아이폰을 사용한다. → 아이폰은 위피가 없다. (당연히 국내 표준 따위, 세계 표준으로 들이 밀기 힘들다. 최소 S사 정도는 되야 세계 표준 만들기가 비교적 쉽지) → U-OTP 못 설치 한다. → 나는 결국 U-OTP사용하지 않는 요주의 사용자가 되었다...
 먹을 것은 신토불이여도 IT는 세계를 향해야 한다. 하지만 우리 IT 업계의 신나는 로컬화에는 두손 두발 겨털까지 들게 생겼다.

 뭐, 위의 친구는 U-OTP를 다 설치했어도 접은지 몇 년된 마비노기에 까지는 신경을 못 써서 결국 당하고 말았다. 애꿎은 마영전 버그 리포트에 화만 냈었더군. 내가 확인해서 알려주기 전까지 넥슨 U-OTP는 모든 넥슨 게임에 적용되는지 알고 있었더란 후담이...


4. 우리의 호프(Hope) ActiveX

 그래서 결론은 넥슨 회원 탈퇴가 되었다. 절이 싫으면 중이 떠나야 한다. 게임은 좋아하나 온라인 게임의 허술함에 참기가 더 이상 힘들다.
 인터넷 스포츠인 ActiveX 예 버튼 누르기도 마찬가지이다. ActiveX의 보안 취약은 마이크로 소프트도 인정했는데도 불구하고 국내 모든 공인된 사이트 이용에 ActiveX를 사용해야 하다니... 또한, 게임 사이트는 웹과 연동이라는 미명하에 항상 웹에서 로그인 하고 게임 런처를 누르게 만든다. 게임 런처는 무조건 ActiveX를 이용할 수 밖에 없다. 실제 사용자의 리소스(여기서는 게임 실행파일이 된다.)에 접근 하려면 취약하지만 강력한 ActiveX를 사용해야 한다.

 최근 일부 쇼핑몰에서는 탈 ActiveX를 선언하고 https 위주의 페이지를 만들기 시작했다. https는 현존하는 최강의 암호화를 적용하여 해킹이 거의 불가능하다. 예전에 https가 취약하다고 주장하던 사람이 있었는데, 구형 SSL 취약을 가지고 그런 주장을 펼쳤단다. 그리고는 자신이 개발한 보안 솔루션을 소개했는데 알고 보니 본인이 취약하다고 주장했던 구형 SSL을 사용해서 개발한 거라고...
 아무튼 지금 사용하는 https는 구형 SSL보다 수준이 많이 좋아져서 안전하다. 뭐, 탈 ActiveX를 선언한 쇼핑몰은 금세 그런적 없다고 ActiveX 페이지를 제공했다고 한다... 아직 노인네들의 파워가 막강하긴 하다.
 참고로 외국에서는 카드 번호와 CSV 번호만 그리고 카드 비밀번호만 가지고도 인터넷 카드 결재가 가능하다. 위에서 언급한 https가 적용되는 사이트에서는 그런 방식으로 결재를 한다. 나도 몇번 이용해봤는데, https가 적용된 사이트에서는 웹페이지의 주소줄의 색이 달라져서 자신이 안전한 방식으로 통신을 하고 있다는 것이 표시 된다.


5. 아... 그러니까 탈퇴를;;;

 속에 담아 놓고 있던 것을 넥슨 캐시라는 방아쇠에 힘 입어 써 내려가다 보니 별 소리를 다 했다.

 아무튼, 지금 마비노기의 모든 캐릭터를 삭제 했다. 마비노기의 경우 탈퇴를 위해서는 몇 년동안 하지도 않던 게임을 설치하고 게임에 들어가서 모든 캐릭터를 삭제하고, 다음날 오전 7시에 캐릭터 삭제를 확인 한 후, 게임 내에서 탈퇴를 해야 한다. 탈퇴 못 하게 별 수를 다 쓰는 거다.

 아... 마영전 U-OTP도 못하는 거지(??????) 같은 아이폰인데, 해킹 당할까 무서워서 어떻하냐~~~ 하루에 한 번씩 비번을 바꿔야 게임도 할 수 있는 더러운 세상!!!

 역시 작년에 깨닳았던 진리의 콘솔 게임이나 해야겠다. 플스3과 PSP가 차디차게 방바닥에 뒹굴고 있다.

1 2 3