기본 콘텐츠로 건너뛰기

라벨이 objective-C인 게시물 표시

Meteor 와 다른 언어/플랫폼과의 통신 수단인 DDP

Meteor 0.6.x 대부터 DDP 라는게 생겼는데 이걸로 Meteor application 과 다른 application 사이에 통신을 할 수 있는 인터페이스가 생겼다. Mobile 에서도 예외는 없는데 가령 websocket으로 직접 meteor 서버랑 붙어서 데이터를 교환하는게 가능. 이게 참 매우매우 강력하면서도 단순한 것이. collection에 subscribe 하는 것과 method 를 호출하는 것만으로 다른 언어에서도 meteor application처럼 쾌적하게 자료 교환을 할 수가 있다 :) DDP Spec. https://github.com/meteor/meteor/blob/master/packages/livedata/DDP.md 언어별 클라이언트 Node.js : https://github.com/alansikora/node-ddpclient Objective-C : https://github.com/alansikora/objective-c_ddp-client Ruby : https://github.com/tmeasday/ruby-ddp-client Java : https://github.com/kutrumbo/java-ddp-client Python : https://github.com/meteor/meteor/tree/master/examples/unfinished/python-ddp-client  (얘는 왜;;;) .NET : https://github.com/sonyarouje/DDPClient.NET

XCode OS X Application : Drag & Drop 후 파일 처리

개인적으로 필요한 유틸이 있어서 appleScript 로 만들까하다가 XCode 4.4 로 OS X Application 을 만들어 본 적이 없어서 Drag & Drop, Pipe, File 처리 같은 걸 해봤다. xib 에 드래그할 대상인 NSImageView 를 놓고 그 NSImageView 를 Customize 한 NSCImageView 를 만들어서 구현했다. performDragOperation 이벤트에서  NSPasteboard  *paste = [sender draggingPasteboard]; 로 NSPasteboard 객체에 드래그 한 것들을 가지고 NSFilenamesPboardType 인것들을 타입으로 추출하여 NSData로 받았다. NSArray *fileArray = [paste propertyListForType : @"NSFilenamesPboardType" ]; 파일 목록은 propertyListForType으로 string array 를 받을 수 있다. http://borkware.com/quickies/one?topic=nstask shell 실행하고 결과 stdout 을 받는 것 처리하는데 위의 링크를 참조했다.   NSTask *task = [[ NSTask   alloc ]  init ];   [task  setLaunchPath : @" <SHELL COMMAND> " ]; NSTask 를 setLaunchPath 메서드를 사용하여 콜할 커맨드를 지정하고   [task  setArguments :[ NSArray   arrayWithObjects : <@args> , file,  nil ]]; N개의 argument 를 지정   NS...