본문 바로가기

분류 전체보기

UITableViewCell에 Badge 달기 // // MMTableViewCell.h // // Created by 장영준 on 10. 7. 16.. // Copyright 2010 Wizsoft. All rights reserved. // #import @interface MMBadgeView : UIView { NSUInteger width; NSUInteger badgeNumber; UIFont *font; UITableViewCell *parent; UIColor *badgeColor; UIColor *badgeColorHighlighted; } @property (nonatomic, readonly) NSUInteger width; @property (nonatomic, assign) NSUInteger badgeNumber; @prop.. 더보기
넥서스원 초간단 개봉기 요줌 개발 업무에 정신이 없어서 사진으로만 소개하는 넥서스원 초간단 개봉기입니다. 안드로이드 개발 공부를 좀 해볼까 하고 지르긴 헸는데.. 암튼 사진 몇장 올려보겠습니다. 더보기
애플 타임캡슐 사용기 타임캡슐을 구매하여 하루 동안 사용해 보았습니다. 우선 사진 이미지 몇장으로 시작하겠습니다. 제품의 포장 박스입니다. 늘 그렇듯 애플의 제품답게 구성물이 간단합니다. 타임캡슐 전면부 입니다. (애플 사이트에서 퍼왔습니다.) 타임캡슐 전면부 입니다. (애플 사이트에서 퍼왔습니다.) [ 제품의 기능 ] 1. Mac OS X 타임머신과 연동된 백업의 자동화 2. 외장 하드 기능 3. 유/무선 네트워크 허브 기능 4. 기타 자세한 스팩과 기능은 http://www.apple.com/kr/timecapsule/ 참조 [ 백업 기능 ] Mac OS X의 타임머신과 연동되어 아주 편리한 백업 자동화 기능을 제공합니다. 엄밀히 말하면 타임캡슐의 기능이 아닌 Mac OS X 타임머신의 기능입니다. 타임머신에서 백업장소를.. 더보기
iPhone SDK 4.0에서 기존 프로젝트의 Base SDK missing 문제 해결하기 오늘 iOS 4.0 릴리즈와 함께 Xcode 3.2.3 버전과 함께 iPhone OS 4.0 SDK 버전이 정식 릴리즈 되었습니다. 이번 버전을 다운로드 받아서 설치하면 기존 작업중이던 프로젝트가 Base SDK missing 이라는 에러로 빌드가 안되는 문제 때문에 당황하셨던 분이 적지 않으셨을 듯 합니다. 이를 해결하는 방법은 아래와 같습니다. 1. 기존 프로젝트를 열고 Project Info 창을 엽니다. 2. 아래와 같이 Configuration과 Setting 을 All 로 지정하고 Base SDK를 iPhone OS 4.0으로 지정합니다. (iPhone 3.2로 지정해도 됩니다.) 3. 그리고 아래 부분의 iPhone OS Deployment Target 을 원하는 최소 사양의 버전으로 지정합.. 더보기
TabBar와 NavigationBar의 조합 아이폰 어플리케이션의 상당 수가 UITabBarController 와 UINavigationViewController를 이용합니다. UITabBarController는 메인 메뉴를 선택하는 역할을 주로 담당하고 UINavigationViewController는 해당 기능 안에서의 하위 기능으로의 뷰간 전환 시에 주로 이용됩니다. 필자 또한 리딩워치를 개발하면서 TabBar와 NavigationBar를 이용하여 구현하였습니다. 필자가 아이폰 프로그래밍 초보시절 (지금도 초보이긴 마찬가지이긴 합니다만) 바로 이 TabBar와 NavigationBar의 조합 방법을 몰라서 약간 해맨 기억이 있습니다. 애플의 가이드와 구글링을 통해 방법을 찾았었는데, 여러가지 방법이 있겠지만, Interface Bulder를 .. 더보기
Xcode에서 Subversion 이용하기 CVS (Concurrent Versions System)는 소프트웨어 게발에 있어 많은 유용한 환경을 제공합니다. 필자는 CVS가 유용을 넘어서 디버깅과 공동작업, 개발자의 실수나 시스템 오류를 복구할 수 있는 개발에 있어 꼭 갖추어야 할 필수 환경이라 생각합니다. 윈도우 개발환경에서 비쥬얼스튜디오에 포함된 Visual SourceSafe를 주로 이용했었는데, Mac의 Xcode에서는 Subversion이 있다는 것을 알게 되었습니다. Subversion외에도 다른 툴이 몇가지 있긴 하지만 Xcode 3.x for OS X Leopard에 기본적으로 포함된 Subversion을 이용하는 방법을 알아 보겠습니다. 먼저 소스 파일들을 보관할 수 있는 저장소가 필요합니다. Xcode에서는 이를 Reposit.. 더보기
#TweetMusic iTunes로 듣고 있는 음악, 트윗 친구들과 공유해 보세요. (맥용입니다) 필자는 요즘 트위터에 재미를 붙이고 있습니다. 방송과 신문등의 매체에서 소흘히 다루어지는 내용을 실시간으로 접할 수 있다는 장점 외에도 블러그나 개인홈페이지, 메신저 등과는 확실히 다른 매력이 느껴집니다. 트위터 이용 도중 내가 지금 컴퓨터로 듣고 있는 음악을 트위터 친구들과 공유하면 어떨까 하는 생각을 하게 되었습니다. 구글에서 언뜻 찾아보니 몇개가 보이던 것 같았는데 만들지 어렵지 않아 보여 필자가 직접 만들어 보았습니다. 반나절 만에 만든거라 부족하고 약간의 문제도 있으리라 생각되지만 혹시 필요하신 분은 편하게 가져가셔서 그냥 즐기시기 바랍니다 ^^ 필자가 만든 TweetMusic은 AppleScript로만 만들어 졌습니다. UI도 없고 기능도 없습니다. 단지 맥의 iTunes에서 현재 재생되고 있.. 더보기
크롬OS 체험기 필자는 맥유저지만 어쩔 수 없는 생계 때문에 윈도우 어플리케이션 개발을 해야 하고 그로 인해 맥유저이긴 하지만 윈도우 환경하에서 개발작업을 주로 하고 있습니다. 그래서 필자는 Parallels Desktop이라는 툴을 이용해서 맥에서 윈도우를 가상머신으로 돌려서 이용하고 있는데 이번 업데이트에 크롬OS가 지원된다는 소식을 듣고 한 번 설치해 보았습니다. 다른 OS들은 가상머신으로 설치하려면 정품CD가 있어야 하지만 크롬OS는 오픈소스라 그런지 Parallels Desktop 자체에서 다운로드까지 지원하더군요 다운로드가 끝나고 설치 후 실행을 해 보니 로그인 화면이 나오는데 다른 OS 처럼 자체 계정을 관리하는 것이 아니라 구글 계정으로 인증을 거쳐 로그온이 되더군요 즉 로그온을 하려면 구글 계정이 있어야.. 더보기
아이폰 디바이스 OS 버전과 SDK 버전이 일치해야 테스트가 가능하다. 최근 필자는 아이폰 프로그래밍 기초 스터디를 대충 마무리하고 간단한 아이템으로 실전 개발을 시작하였습니다. 역시 스터디 보다 실전이 스터디에 더욱 효과적인 것 같습니다. 스터디도 그렇고 프로젝트 시작도 그렇고 아이폰 개발자 프로그램에 가입한지 1년이 다 되어 가지만 실제 필자의 아이폰 디바이스에서 테스트를 잘 하지 않았었습니다. 윈도우모바일과는 달리 아이폰 시물레이터가 워낙 잘 되어 있었고 디바이스에서 테스트 할만한 이슈가 없었기 때문이었습니다. 그러던 중 오늘, 현재 진행하고 있는 조그만 프로젝트에서 기능의 일부가 구현이 완료되어 아이폰 디바이스를 물리고 테스트를 하려는데 필자의 아이폰 디바이스에서 Provisioning을 찾을 수 없다는 메시지가 나오면서 어플 다운로드가 되지 않더군요 순간 약간 당황.. 더보기
개발자에게 인기있는 외주개발 고객사 필자는 오랜기간 IT 분야 외주 용역 개발을 해왔습니다. 흔히들 말하는 SI가 아닌 고객사의 제품이나 서비스의 일부 또는 전체를 개발하여 납품하는 형태입니다. 그 동안 프로젝트를 진행해 오면서 여러 군데의 고객사를 경험하였습니다. 제품의 기획과 서비스의 준비가 되지 않은 프로젝트를 잘 못 맡아 소송이라는 최악의 상황도 맛보았습니다. 대부분의 고객사는 한 번의 프로젝트 계약으로 모든 것을 이루려는 경향이 있습니다. 단 한 번의 계약으로 모든 기능이 구현되기를 원하고 급기야 개발 도중 기획 내용을 추가하고 이를 구현해 주기를 원합니다. 테스트단계에서도 구현의 오류만 지적하고 기획의 오류는 구현의 오류로 슬거머니 돌리면서 추가비용 없이 오류를 해결하기를 원합니다. 개발 일정의 딜레이 원인 또한 자기네들은 배제.. 더보기