본문 바로가기

분류 전체보기

[미국여행] 길고도 길었던 LA의 첫날밤 저녁 6시에 도착하여 겨우 저녁 먹고 짐도 풀지 않고 샤워도 하지 않고 바로 뻗어버렸다.그 때만 해도 시차라는게 나하고는 전혀 상관없을 것이라 생각했다.출발당시부터도 개발자로 일하면서 밤과 낮을 수시고 바꾸어 보았기에 더더욱...8시 ~ 9시 에 자면 피곤한 탓에 실컷자고 일어나면 시차적응이 자연스레 될줄 알았다.그 때 까진 그랬다. 8시에 누웠는데 몸운 무지 피곤했지만 바로 잠이 들지 않았다.깜깜한 방에 혼자 누우니 한국에 남아 있는 가족생각이 벌써 나고,마치 나 혼자 암흑속에 버려진듯 한 기분.두려움. 엄청난 두려움이 몰려왔다.여행준비기긴의 당당함과 용기들은 모두 어디로 갔는지...내가 왜 이렇게까지 이 짓을 해야 하는지... 무슨 부귀영화를 보겠다고.거짓말 안하고 다음 날 바로 돌아갈까도 생각했다... 더보기
[미국여행] 출발과 도착 LA로 출발하기 위해 인천공항도착.휠체어를 탄 장애인과 시각장애인은 한사랑라운지를 이용할 수 있다.발권과 탑승수속, 수화물 접수도 전용창구가 아닌 여기서 원스톱에 이용이 가능하다.준비된 스넥과 차를 마시며 책을 보거나 TV를 보거나 준비된 컴으로 인터넷을 하다가 시간이 되면 아시아나 직원이 와서 탑승까지 동행해 준다. 휠체어가 들어갈 수 있도록 설계된 한사랑라운지의 책상 평소에 밤비행기를 타고 싶었다.이제야 이루어지는....그런데 별거 없더라... ㅠㅠ 이륙하고 나온 기내식쇠고기 스테이크 감자튀김, 셀러드, 치즈케익빵에 버터 발라 먹는 것만 맛있었음 ㅠㅠ 착륙 두 시간 전에 나온 기내식닭가슴살 볶음밥 진짜 맛었었음. 한숟가락 먹고 남김 ㅠㅠ 지인에게서 요즘 기내에는 USB 충전장비가 다 준비되어 있다고 .. 더보기
쉽지 않았던 여행 준비를 마치고... 제가 미국여행을 결정한건 작년 12월경이었습니다.미국 땅을 한 번도 밟아 보지 않은 저로서는 3개월을 혼자 낯선 지역을 여행한다는 것이 쉽지 않은 결정이었습니다.미국 문화의 경험과 여행도 여행이지만 미국 진출의 꿈을 가지고 있기에, 여러 가지를 구체적으로 직접 경험해 보고 싶었기에, 무비자입국의 최대 체류기간인 3개월의 일정으로 준비하게 되었습니다. 제일 마음에 걸리는 것은 숙소 문제였습니다.인터넷으로 찾아보면 제가 가고자 하는 LA지역에 수많은 하숙집과 홈스테이가 있지만 일반 가정집으로 된 구조의 하숙집은 전동휠체어를 이용하는 저로서는 접근성이 거의 불가능했습니다."하숙방이 2층인가요?""출입구에 턱은 없나요? 제가 전동휠체어를 이용해서요.""정문에는 계단이 세 개 있던데, 후문에도 턱이 있나요?""화.. 더보기
OS X Dev - NSButton 집중 해부 1 OS X SDK에서는 비교적 다양한 종류의 기본 버튼들을 제공합니다.버튼의 종류와 기본적인 사용법에 대해 집중적으로 알아보겠습니다. 인터페이스 편집기의 Object Library를 보면 아래 그림처럼 많은 종류의 기본 버튼들을 제공합니다. 이들 버튼들은 외형적인 모양 이외에도 클릭했을 때의 하일라이팅 효과나 스위칭 동작 방식에서 약간의 차이가 있으니 구현하고자 하는 기능에 따라 적절한 버튼을 골라 사용하면 됩니다. 모든 버튼들을 배치하여 그 동작을 한 번 살펴보시기 바랍니다. 그런데 사실 이 다양한 종류의 버튼들은 Object Library에서 서로 다른 모양으로 나열만 되어 있을 뿐 NSButton이라는 하나의 버튼이며 버튼의 Style 속성을 변경함으로써 해당 모양으로 변경할 수 있습니다. [ Sty.. 더보기
OS X Dev - Label과 Button의 기초 OS X 프로그래밍에서 어쩌면 가장 많이 사용되는 컨트롤인 레이블과 버튼의 기초적인 사용법, 버튼에 액션을 구현하고 그에 따라 레이블에 텍스트를 지정하고 위치를 이동하는 등의 아주 기초적인 내용에 대해 알아보겠습니다. 예제 소스 프로젝트 준비를 위해 MainWindowController가 메인 UI가 되는 프로젝트를 생성합니다.특별한 언급이 없는 한, 앞으로 진행되는 모든 예제 소스의 프로젝트는 아래의 준비 작업을 거치도록 합니다. [ 기본 프로젝트 생성 ]Xcode에서 OS X Cocoa Application 프로젝트를 생성합니다.MainMenu.xib에서 Window를 제거합니다.File -> New -> File..을 선택하여 OS X의 Objective-C Class를 선택, NSWindowCon.. 더보기
Hello World of OS X Programming 수십년 전 부터 늘 그렇듯... OS X 프로그래밍도 Hello World 로 시작해야겠지요? ^^ Xcode를 실행하여 Hello World 프로젝트를 만들어 봅시다. 프로젝트를 생성하고 나면 아래의 파일들이 보입니다. iOS 프로그래밍을 한 번이라도 경험해 보신 분이라면 아주 익숙한 파일들입니다. 그 중 MainMenu.xib 내용을 한 번 보겠습니다. 프로잭트 설정에서 Main Interface가 MainMenu로 설정되어 있다면 (프로젝트 생성 시에 자동으로 설정 되어 있습니다.) 앱을 실행하였을 때 이 파일 안에 있는 메뉴가 OS X의 메인 메뉴에 표시되고 바로 아래의 윈도우 창이 화면에 뜰 것입니다. 물론 여기서 메뉴를 추가하거나 수정하거나 삭제할 수도 있습니다. 직접 실행 하셔서 한 번 확인.. 더보기
OS X Programming의 시작 필자는 약 4년전부터 iOS 프로그래밍을 접해왔습니다.iOS 프로그래밍은 코코아터치를 기반으로 하고 있는데, 이것은 OS X의 코코아 프로그래밍에서 왔습니다.iOS가 Mac OS X로 부터 왔으니 기반 프레임워크와 SDK 또한 당연히 따라 왔습니다.iOS에서 사용되는 API 중 NS... 로 시작하는 대부분이 OS X SDK에도 있고 사용법도 완전히 동일합니다.(NS는 NextStep의 약자로 스티브잡스가 애플에서 쫓겨났을 때 설립한 회사입니다.)또한 iOS SDK 중 UI로 시작되는 클래스는 OS X SDK의 NS... control 에서 왔습니다. NSButton -> UIButton, NSView -> UIView,... 이런식이지요. 위와 같은 iOS와 OS X SDK의 유사성을 가진 이유로 필자.. 더보기
NSLog를 확장하여 사용하기 - 로그로 가득찬 로그콘솔을 보다 보기 쉽게 구현하자. 프로그래밍을 하다보면 코드 중간중간 로그를 찍어 데이터나 실행위치를 확인하며 디버깅을 하는 경우가 많습니다.코코아 프로그래밍에서는 NSLog 함수를 이용하여 콘솔화면에 찍히는 값을 확인하는데요.아래처럼 함수의 실행위치와 변수값을 확인하는 용도로 많이 사용합니다. 그런데 실행위치를 알기 위해 매번 진입위치를 나타내도록 함수명을 하드코딩하기도 합니다.그러나 이마저도 로그만으로 정확한 코드 위치를 알아내기란 거의 불가능하며,더군다나 코드의 여기저기 들어가 있는 로그들로 인해 빠르게 스크롤되는 콘솔창에서 원하는 로그 기록을 찾는 과정에서 무시하지 못할 정도의 시간을 보내기도 합니다. 이러한 단점들을 보완하기 위해 NSLog를 확장하는 LogEx라는 매크로를 정의하여 사용해 보겠습니다. 우선, pch 파일 (Pr.. 더보기
XML 데이터를 NSArray와 NSDictionary로 구조화하자. 서버 연동 앱을 개발하다 보면 서버로 부터 XML을 받아 파싱하여 처리하는 경우가 많습니다.최근에는 JSON을 많이 쓰긴 합니다만 자바로 구축된 시스템은 여전히 XML을 많이 사용합니다. 이 때 파싱된 결과를 NSArray와 NSDictionary로 구조화하여 쉽게 핸들링할 수 있는 방법을 소개하고자 합니다.JSON의 경우 파싱모듈 자체에 배열과 딕셔너리로 구조화해주는 오픈소스가 제공됩니다만xml은 약간의 구글링으로 직접 구현해야 합니다. 아레의 XML형식으로 된 연락처 데이터가 있다고 가정해 봅시다. 둘리 서울 여의도 010-1111-1111 010-2222-2222 aaaa@me.com aaaa@gmail.com 희동이 서울 신림동 010-3333-3333 010-4444-4444 bbbb@me.co.. 더보기
맥에서 위치정보서비스 어플리스트 제거하기... 위치정보를 사용하는 맥 어플 개발하다 보면제일 처음에 앱을 실행하면 사용자 승인 과정을 거치는데테스트를 위해 이 과정을 다시 거쳐야 하는 경우가 있습니다. 이 경우 위치정보를 사용하는 어플리스트를 제거해야 하는데트친분이신 @godrm 김정님이 친절하게 찾아 주시네요감사합니다. ^^ 아래는 그 방법입니다. Open a root shell in Terminal, and go to /var/folders/zz/. Run ls -l and enter the directory owned by _locationd.Open the C subdirectory, and run the following command to convert the preferences file from binary to XML:plutil -.. 더보기