2주 전쯤 미국 아마존에서 트랙볼 마우스를 구입해서 받았습니다.


아마존 로고가 새겨진 테이프로 포장이 되어있네요. 국내 배송을 위해 국제 송장 위에 국내 업체의 송장이 추가적으로 붙어있습니다.


내용물은 에어백으로 감싸져있는데 빈 공간만 넣은거라 충격 보호는 그닥일 듯 합니다 ㅎㅎ


제품 박스


내용물은 제품, 기능 설명서, 소프트웨어 안내서, 다국어 메뉴얼(트랙볼 아래 깔려있네요)이 전부입니다.


단독 샷. 크기 짐작이 잘 안되시죠?


기존에 사용하던 MS 마우스입니다. 트랙볼이 거의 마우스만 하네요 ㅎ


버튼은 볼을 중심으로 4개가 있으며 기본적으로 소프트웨어를 설치하지 않아도 좌, 우 버튼과 스크롤 휠(볼을 수평 상태로 시계, 반시계 방향으로 돌리면 됩니다.)은 정상적으로 작동합니다.


위쪽 두개의 버튼에 기능을 부여하려면 http://www.kensington.com/ 홈페이지에서 소프트웨어를 내려받아 설치해야 합니다.


이제 3~4일 정도 사용했는데 일반적인 사용엔 거의 적응 했습니다. 다만 미세한 컨트롤은 아직 힘드네요. 목표 좌표 근처에서 약간 왔다갔다 하는정도?


마우스 사용이 많은 게임은 조금 무리가 있어보이며, 하스스톤류의 카드게임은 플레이 하는 데 전혀 지장이 없습니다. ^^

'Story' 카테고리의 다른 글

stackoverflow의 한국판, codeflow  (0) 2015.06.21
컴퓨터 부품..  (0) 2014.04.13
amazon에서 물품 구입기  (0) 2014.02.14
Xcode의 단축키  (1) 2014.01.13
라즈베리파이에 transmission 설치기  (0) 2013.10.09

회사에서 사용하는 iMac 의 사양은 3.06 Ghz Intel Core 2 Duo, 8GB, 500GB 입니다.


Xcode를 사용하면서 빌드 - 시뮬레이터 실행 의 속도가 생각보다 많이 답답한 경우가 많습니다.


예를들면 소스를 수정하지 않고 앱 종료 - 재실행의 경우 어떤 때에는 몇 초만에 재 실행이 이루어질 때가 있고.


느릴 땐 10초 이상 걸리는 경우가 있습니다.


왜 그런지도 모르기 때문에 더 답답하죠.



웹 서핑을 하다가 램디스크를 이용한 속도 향상 방법이 있어서 따라 해 보았습니다.


해당 글을 http://blog.shpakovski.com/2014/02/how-to-reduce-xcode-and-appcode.html 입니다. 해보실분은 이곳을 참조해서 따라 해 보세요. ^^


1. DerivedData 폴더를 램디스크를 하드링크 걸어서 사용할꺼라 이 폴더의 내용을 싹 비워줍니다. 안해도 되는데 램디스크가 연결되면 어차피 폴더 내의 기존 파일은 사용이 불가능합니다.


2. 위 링크 글에서 소개하는 램디스크 생성 스크립트를 실행합니다. 저같은 경우에는 처리가 안되길래 권한을 775로 바꿨더니 실행이 되었습니다.


3. 램디스크 설치중엔 Mac이 잠시 먹통이 되었는데 몇 분 후 괜찮아졌습니다. (대략 3~4분정도 버벅임.)


4. 기존 DerivedData 폴더가 어디로갔는지 찾아볼 수 없고 Xcode에서 해당 폴더를 열면 열리긴 합니다.

  (제가 Unix 계열 OS를 잘 다루는 편이 아니라 제가 못찾은것 일 수도 있습니다 ^^; )


5. Xcode 에서 기존 프로젝트 빌드 타임 비교.


기존 HDD 만 사용하는 경우 : 35초



램디스크 설치 후 : 51초.. 응??



뭔가 이상합니다. 왜 램디스크를 사용했는데 빌드 시간이 더 오래걸린걸까요?



딱히 설정이나 최적화가 필요 없는것 같은데 말이죠 ㅡ_ㅡ;;


이번 테스트는 실패. 램디스크 해제하고 재부팅하니 이전 상태로 돌아왔습니다.



다음엔 Xcode에 맞게 최적화 해주는 스크립트 말고 그냥 램디스크만 설치하고 DerivedData를 직접 지정해서 테스트를 해봐야 할 것 같습니다.

아래 매크로는 http://dadabeatnik.wordpress.com/2013/09/12/xcode-and-asynchronous-unit-testing/ 에서 찾은 내용입니다.


// Macro - Set the flag for block completion

#define StartBlock() __block BOOL waitingForBlock = YES


// Macro - Set the flag to stop the loop

#define EndBlock() waitingForBlock = NO


// Macro - Wait and loop until flag is set

#define WaitUntilBlockCompletes() WaitWhile(waitingForBlock)


// Macro - Wait for condition to be NO/false in blocks and asynchronous calls

// Each test should have its own instance of a BOOL condition because of non-thread safe operations

#define WaitWhile(condition) \

do { \

while(condition) { \

[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]; \

} \

} while(0)




사용 예제


페이스북의 문자로 된 ID를 숫자 형태의 ID로 바꿀 때 사용하는 facebook의 graph api 조회를 예로 들어보겠습니다.


비동기로 수행되는 로직이 있는경우 해당 로직이 끝나기 전에 테스트 케이스가 끝나버리기 때문에 위의 매크로를 이용해서 비동기 처리가 끝날 때 까지 테스트 케이스가 종료되지 않도록 기다립니다.


주의할 점은 비동기 로직이 실패했을 때에도 EndBlock();을 호출 해 주어야 정상적으로 종료 됩니다.


- (void)testFacebookURL {

NSString *urlString = @"https://graph.facebook.com/사용자 또는 페이지 아이디";

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

manager.responseSerializer = [AFJSONResponseSerializer serializer];


StartBlock();

[manager GET:urlString parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {

NSLog(@"response : %@", responseObject);

NSLog(@"id : %@", responseObject[@"id"]);


EndBlock();


} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

NSLog(@"Error : %@", error);

EndBlock();

}];

WaitUntilBlockCompletes();

}


몇일 전 Amazon 에서 켄싱턴 슬림 블레이드 트랙볼 마우스를 구입을 했습니다.


한국으로 배송이 안되면 구매할 생각이 없었는데, 되더라구요.. ^^;


결제 1~2일 후 i-parcel 이라는 곳에서 Amazon.com order of "Kensington Slimblade Trackball.... 로 시작하는 메일이 옵니다.


아마존에서 직접 배송하는게 아닐테니 배송 회사인가보다 생각하고 아마존에서 저 회사로 넘겼나보다 하고 지나갔죠.


그런데 생각해보니 굳이 메일을 보낼 필요가 있나? 하고 다시 메일을 자세히 들여다 봤습니다.


메일 내용은..

2010년 2월부터 한국 내 세관 규정이 변경되어, 물품 통관 진행을 위하여 주민번호를 요청드립니다.

고객님의 주민번호는 물품 통관을 위해서만 사용될 예정이며, 기입 시 별도의 비용은 발생하지 않습니다.

고객님의 물건을 미국에서 한국으로 발송 후 그 물품에 대한 통관 진행을 위해 주민번호 기재를 부탁드립니다. 여기를 클릭해주세요.


주민번호가 기입 전에는 고객님의 물품이 미국에서 발송하지 못함을 공지드립니다.


주민번호 요청에 대한 문의는 한국 내 배송 협력사인 CJ GLS로 연락부탁드립니다.


이렇게 왔더군요.. 내용 자세히 안보고 지워버렸으면 물건은 한국으로 출발도 못하고 아마존으로 돌아갈 뻔 했습니다.


영문으로 된 내용중에 링크가 있는데 이 링크를 타고 들어가면 주민번호를 입력받게 되어있습니다.


처음엔 폰으로 열어서 했는데 처리가 안되었더라구요. 나중에 PC로 다시 들어가서 주민번호를 입력해주니 제대로 처리가 되었습니다.


2/20 수정.

통관을 위한 개인정보를 입력하고 6일 후 메일을 받고 트래킹 정보를 확인해보니 물건이 한국에 도학했네요.

아마 빠르면 오늘쯤 국내 배송업체에 넘겨지고 내일? 늦어도 모레쯤엔 받을 수 있을 것 같습니다.


물건을 구입할 땐 예상 배송일이 9~10일이었는데 통관 정보 입력등의 문제로 조금은 더 길어지는 것 같군요.

다음번에 아마존을 다시 이용한다면 조금 더 들여서 빨리 받아보는게 좋을 것 같습니다.


국내 쇼핑몰 1~2일이면 받아보는거에 익숙해서 10일 기다리는건 할 짓이 못되는것 같습니다 ㅠ_ㅠ



2/21 물품 도착 ^^


i-parcel 홈페이지에는 국내 배송업체의 데이터를 다시 조회해서 업데이트 하다보니 물품이 배송되고 1~2일정도 있다가 배송 완료 상태로 전환이 되네요.

'Story' 카테고리의 다른 글

컴퓨터 부품..  (0) 2014.04.13
켄싱턴 슬림 블레이드 트랙볼 마우스 개봉기  (3) 2014.02.24
Xcode의 단축키  (1) 2014.01.13
라즈베리파이에 transmission 설치기  (0) 2013.10.09
ipTime Extender 2 설치  (0) 2013.09.30

국내 3대 모바일 메신저 카카오톡, 네이버 라인, 다음 마이피플.


카카오톡이야 워낙 연동되는 앱들이 많아 URL Scheme를 쉽고 빠르게 사용할 수 있도록 개발자 페이지가 존재합니다.

마이피플도 마찬가지고 메인 소개 페이지 하단에 Open API 링크가 존재합니다.


그러나 라인의 경우 소개 페이지를 아무리 뒤져봐도 Open API 안내 페이지를 찾을 수가 없었습니다.

결국 구글링을 통해 찾긴 했는데... http://blog.naver.com/PostView.nhn?blogId=apocalypsegm&logNo=130171221611&redirect=Dlog&widgetTypeCall=true


이분도 일본 웹사이트에서 찾았다고.. ㅡ_ㅡㅋ


아무리 일본 법인을 통해 출시된 앱이라고 해도 개발자 지원 페이지조차 없다는건 좀 납득이 안가네요..


아래는 Open API를 다운 페이지들 입니다. 개발할 때 참고하세요~ ^^



국내 메신저 open API


Kakao Link API

http://kakao.com/services/api/kakao_link


My People

http://blog.daum.net/my.people/46


Naver Line

http://blog.naver.com/PostView.nhn?blogId=apocalypsegm&logNo=130171221611&redirect=Dlog&widgetTypeCall=true



해외 메신저 open API


What's App

http://www.whatsapp.com/faq/en/iphone/23559013



+ Recent posts