본문 바로가기

분류 전체보기

개발자 입장에서 본 아이폰 프로그래밍의 매력 제목을 써 놓고 보니 무언가 찜찜하네요. 어플리케이션은 사용자를 위한 것인데 개발자의 입장에서 아무리 매력이 있어도 사용자로 부터 외면을 받으면 아무 소용도 없는데 말이죠. 그러나 아직은 아이폰이 스마트폰 시장에서 외면당하고 있지 않다는 점과 아이폰이 지원해주는 여러 리소스를 활용하여 아이폰 사용자에게 유용한 어플리케이션을 제공한다면 이 또한 아이폰 사용자에게는 반가운 일일 것입니다. 물론 타 플랫폼 제품 사용자에겐 상관없는 이야기겠지만요. 아무튼 마음에 들지 않는 제목 이야기는 이쯤 하고 아이폰이 개발자에게 주는 여러가지 매력에 대해 이야기해 보겠습니다. 1. 애플의 폐쇄성이 개발자를 매우 편하게 합니다. 흔히 "폐쇄성"이라는 단어는 부정적인 의미를 내포하고 있습니다. 그러나 애플의 폐쇄성은 꼭 부정적.. 더보기
우리나라 IT 하도급의 현실 필자는 지난 12월부터 과기부 위탁 프로젝트를 하도급 받아 진행하고 있습니다. 하도급의 구조는 대기업 S사가 1차 수주하여, T사를 포함한 여러 회사가 파트별로 2차 하도급을, 그리고 그 T사로 부터 V사를 포함한 몇군데 회사가 3차 하도급을, 그리고 필자는 프리랜서 형식으로 V사와 개발용역을 계약하여 진행하고 있습니다. 전체적인 공정은 10월에 시작되어 8월에 종료되는 프로젝트이지만 V사와 필자가 맡은 업무는 2월 말에 종료되는 전체 시스템의 일부를 맡고 있습니다. 원래 개발용역이라는 것이 선금을 일부 받고 프로젝트를 시작하여 필요할 경우 중도금을 거쳐서 개발 완료 이후 검수과정을 통하여 잔금을 결재받는 형식입니다. 그런데 프로젝트가 시작된지 2개월이 지나고 있는 이 시점까지 V사와 필자는 아직 계약금.. 더보기
저도 트위터가 되었습니다. 그 동안 트윗이라는 용어만 들어 보고 트윗이 뭔지 몰랐는데 트윗을 해보니 정말이지 웹의 상호작용의 장점을 극대화 시킨 것 같습니다. 제 블러그에도 트윗과 연동하였는데 연동 테스트로 글 한 번 남겨봅니다. 더보기
Parallels Desktop 아이맥을 구매하여 사용하고 있지만 필자의 대부분의 업무는 아직 윈도우 어플리케이션 개발입니다. 이 상황에서 필자에게 꼭 필요한 것이 바로 맥에서 윈도우를 구동시킬수 있는 가상 머신일 것입니다. 맥에서 윈도우를 구동시킬 수 있는 방법으로 BootCamp, VMWare, Parallels Desktop 등을 이용하는 것이 일반적입니다. BootCamp 가상머신이 아닌 일종의 파티션 관리도구입니다. 맥의 지정된 파티션에 윈도우를 설치하고 부팅 시에 OS를 선택하는 것이라 OS를 변경하려면 사용중인 OS를 반드시 종료해야 하는 불편함이 있지요 반면 VMWare와 Parallels Desktop은 맥 OS상에서 또 하나의 가상머신을 만들어 거기에 다른 OS를 설치하여 동시에 2개 이상의 OS를 이용하는 것입니다... 더보기
아이맥27 구입기 / 개봉기 지난 11일 아래와 같은 사양으로 아이맥을 주문하였습니다 2.8GHZ QUAD-CORE INTEL CORE I7 8GB 1066MHZ DDR3 SDRAM - 4X2GB 1TB SERIAL ATA DRIVE ATI RADEON HD 4850 512MB 8X DOUBLE-LAYER SUPERDRIVE APPLE MAGIC MOUSE-PA WL KYBD & USER'S GUIDE-KH COUNTRY KIT,IMAC 27-INCH-PAC 상담원 말로는 1개월 정도 기다려야 된다고 하여 해를 넘겨서나 받겠구나 싶었는데 15일 출고하여 18일까지 배송될 수 있다는 메일을 16일 받았습니다. 주문에서 배송까지 딱 일주일이 결렀군요 TNT Express 라는 국제특송업체를 통해 배송이 되는데 물품번호로 조회를 해보니 .. 더보기
크롬으로 갈아 타다 몇일동안 코감기로 집중이 안되어 작업도 못하고 이것 저것 하다가 1년 이상을 써오던 파폭을 버리고 구글크롬으로 갈아 타보았습니다. 여타 브라우저 보다 훨씬 가볍고 빠르군요. 맥용 크롬도 베타버전 나왔다던것 같던데 얼릉 나오기를 기대해 봅니다. 아 그리고 몇일 전 주문한 아이맥은 싱가폴이 아닌 상하이에서 오네요. 국제택배 추적해보니 어제 밤에 푸동공항까지 와있더군요. 그 이후로 데이터가 없는걸로 봐선 아직 비행기 탑승을 기다리고 있는건지 비행기 탑승해서 중국 해안선을 따라 우리나라로 오고 있는건지... 이래가지고 애플에서 제시한 내일까지 배송이 될지 불안불안하네요 ^^; 더보기
아이맥27형 질렀습니다. 아이맥 27형 쿼드코어 구매하려고 한국 애플 스토어에 직접 전화했습니다. http://store.apple.com/kr/configure/MB953KH/A?mco=MTM3NzMwMzc 주문 후 수령까지 한 달이 걸릴 수도 있다네요 ㅎㄷㄷ 국내에 재고가 없어서 현지 주문 조립해야 한답니다. 아~~~ 한달~~~ 주문하고 한달동안 해킨토시로 다시 스터디 해야 하나 봅니다. 해킨토시 깔 일이 다시 아득하네요 ㅠㅠ 그러나 일단 지르기로 했습니다. 기본사양에서 약간 추가하여 다음과 같이 주문하고 입금 완료하였습니다. 예상시간이 한 달이지만 그 전에 올 수 있다니 연말까지 받아볼 수 있기를 한 번 기대해 봅니다. 2.8GHZ QUAD-CORE INTEL CORE I7 8GB 1066MHZ DDR3 SDRAM - 4X.. 더보기
쭌의 근황 최근 몇개월 동안 신규 프로젝트 진행과 기존 프로젝트의 추가 작업 등으로 정말 많이 바빴습니다. 덕분에 아이폰 프로그래밍 공부를 전혀 못하고 이 카페에 강좌도 못올리긴 했지만 그래도 수입은 꽤 짭짤했습니다. ^^ 다행히 프로젝트가 하나씩 마무리 되어 가고 있긴 합니다만 예약되어 있는 작업들이 또 있어서 많은 시간을 아이폰 공부에 투자하기 어려울 것 같습니다. 아이폰 프로그래밍을 빨리 익혀야 아이폰 관련 프로젝트도 진행할텐데 말이죠 ^^ 지난 주에 아이폰 32기가 블랙을 질렀습니다. 10년을 사용한 SK를 버리고 아이폰 하나 때문에 기존 2G 전화번호도 버리고 KT로 과감히 번호 이동했습니다. 예약을 하지 않아 당일 구매 및 개통이 쉽지 않았는데 수소문끝에 광명까지 가서 개통했습니다. 개통한지 오늘로서 딱.. 더보기
CFileDialog 에서 "내컴퓨터"를 초기 폴더로 지정하기 CString sf_GetComputerDir() { IMalloc *pShellMalloc = NULL; IShellFolder *psfParent; LPITEMIDLIST pidlItem = NULL; LPITEMIDLIST pidlRelative = NULL; STRRET str; WCHAR szDisplayName[MAX_PATH] = L""; WCHAR szPath[MAX_PATH] = L""; HRESULT hres = SHGetMalloc(&pShellMalloc); if (FAILED(hres)) return _T(""); hres = SHGetSpecialFolderLocation(NULL, CSIDL_DRIVES, &pidlItem); if (SUCCEEDED(hres)) { hres .. 더보기
NSTimer를 이용한 타이머 호출 매 일정 시간마다 특정 루틴이 실행되게 하고 싶을 때 타이머를 주로 이용합니다. 코코아 프로그래밍에서 타이머를 이용하는 방법은 아래와 같습니다. 1. 타이머에 의해 호출될 인스턴스 메소드를 작성합니다. 2. 타이머를 생성합니다. 3. 생성된 타이머를 RunLoop에 등록합니다. 자 그럼 샘플코드로 살펴볼까요? @interface MainView : UIView { @private NSTimer* _timer; // 타이머 클래스 변수 선언 } - (void)timerFireMethod:(NSTimer*)theTimer; // 타이머에 의해 호출될 메소드 선언 @end @implementation MainView - (id)initWithCoder:(NSCoder *)coder { if (self = [s.. 더보기