본문 바로가기

개발/App Developer

Core Data 란? 개발하려는 아이폰 앱의 데이터 관리가 복잡해 질 경우 코어 데이터 사용은 필수가 될 것이다. 코어 데이터 프레임워크는 원래 Mac OS X에서 사용되던 기술이었는데 iPhone OS 3.0부터 아이폰에서도 사용할 수 있게 되었다. 코어 데이터의 특징은 다음과 같다. 웹 개발자라면 ORM 개념을 상기한다면 쉽게 이해가 될 것이다. --------------------------------------------------------------------------------------------------- * OMR (Object-relational mapping) 1. 객체의 속성과 관계형 데이터베이스의 대응 전략, ORM의 개요 가. ORM(Object Relational Mapping)의 정의 - 데.. 더보기
아이폰 객체의 직렬화 방법 - 맥부기 펌 아이폰 객체의 직렬화 방법 아이폰 프로그래밍으로 객체를 저장하거나(파일로 혹은DB로) 네트워크로 보내거나 할려면 다른 플랫폼과 마찬가지로 직렬화(Serialization) 과정을 거쳐야 합니다. 코코아 프레임웍에서는 직렬화를 위해 오브젝트를 엔코딩/디코딩 해주는 편리한 클래스를 제공하고 있는데 아이폰에서 사용가능한 놈은 NSCoder를 상속받 은 NSKeyedArchiver와 NSKeyedUnarchiver입니다(아이폰에서 NSArchiver는 사용불가니 주의) 그럼 간단한 사용 방법을 보도록 하죠 먼저 NSString 오브젝트를 NSData타입으로 직렬화 해보도록 하겠습니다 엔코딩 NSString *str = @"블라블라블라"; NSData *data = [NSKeyedArchiver archivedD.. 더보기
HIG HIG 는 Human Interface Guidelines 의 약자이다. 예를 들면 Window 의 경우 제품정보는 맨 오른쪽 메뉴의 맨 아래에 위치한다. Apple 의 경우는 맨 왼쪽 메뉴의 맨 아래에 위치한다. 한마디 말을 안해도 ▶ 이 모양의 버튼를 보면 "직감적으로" play 될 것이라고 기대하게 하고 실제로 버튼을 누르면 기대대로 play 하는것. 이것이 HIG 이다. 이버튼은 실생활의 녹음기, 비디오, CD player 등에서 익히 알고 있던, "직감적인" 버튼인 것이다. 컴맹과 컴도사의 차이가 여기서 크게 난다는 것을 아는지? 얼마나 컴퓨터의 "HIG"를 빨리 눈치 채는지에 따라 지식의 습득 속도는 천지차이가 된다. 컴퓨터의 다양한 Tool 을 사용해본 사람은 새로운 Tool 이더라도 쉽게 .. 더보기
cocos2d-iphone (예제포함) Cocos2d-iphone 은 아이폰에서 게임을 손쉽게 만들 수 있게 해주는 무료 라이브러리이다. http://code.google.com/p/cocos2d-iphone/ 다운로드를 받고 Xcode에서 열어보면 라이브러리 소스코드와 함께 수많은 간단한 데모가 들어있는데, 이게 프로젝트 한개에 묶여 있다보니, 나처럼 Xcode 에 초보인 사람이 나만의 새로운 Cocos2d 프로젝트를 시작하기에는 어디서 부터 손을 대야 할지 모르겠다. 그래서 검색을 통해서 이렇게 저렇게 실행을 해보다가 간단한 Scene한개를 포함하는 프로젝트 시작점을 템플릿으로 만들어 봤다. 다운 받은 예제파일 참조 압축을 풀면 Developer 폴더가 생기는데 이 폴더를 통채로 /Library/Application Support/ 밑에 .. 더보기
Apple Human Interface Guidelines - Characteristics of Great Software(7/7) Apple Human Interface Guidelines - Characteristics of Great Software(7/7) Characteristics of Great Software High Performance Ease of Use Attractive Appearance Reliability Adaptability Interoperability MobilityMobility에 대한 디자인은 노트북 사용의 급등함에 따라 점점더 중요해지고 있다. Mobility를 지원하는 프로그램은 시스템 폴링이나 불필요한 주변 장치에 대한 접근을 통한 배터리 파워를 낭비하지 않고, 사용자가 이동할 때나 모니터 구성을 변경하거나 슬립모드 또는 활성화되었을 때 멈추지 않게 하는 기능을 제공해야 한다. Mobili.. 더보기
Apple Human Interface Guidelines - Characteristics of Great Software(6/7) Apple Human Interface Guidelines - Characteristics of Great Software(6/7) Characteristics of Great Software High Performance Ease of Use Attractive Appearance Reliability Adaptability Interoperability MobilityInteroperability는 프로그램이 다른 환경들 사이로 커뮤니케이션할 수 있는 능력을 뜻한다. 이 커뮤니케이션은 사용자 또는 프로그램 레벨에서 일어나고 현재 컴퓨터 또는 원격 컴퓨터의 프로세스에서 발생할 수 있다. 프로그램 레벨에서, 상호 사용 가능한 프로그램은 다른 프로그램과 자신의 프로그램 사이에 데이터를 옮기는 것을 지원한다.. 더보기
Apple Human Interface Guidelines - Characteristics of Great Software(5/7) Apple Human Interface Guidelines - Characteristics of Great Software(5/7) Characteristics of Great Software High Performance Ease of Use Attractive Appearance Reliability Adaptability Interoperability MobilityAdaptable 프로그램은 주변 환경에 적절하게 적응하는 것이다. 현재 환경이 바뀔 때 동작이 멈추지 않는다는 것이다. 네트워크 연결이 다운된다면, adaptable 프로그램은 사용자가 오프라인에서 계속 작업할 수 있게 해준다. 마찬가지로, 특정 리소스가 잠기거나 사용 불가능하게 되었을 때, adaptable 프로그램은 사용자의 요청에.. 더보기
Apple Human Interface Guidelines - Characteristics of Great Software(4/7) Apple Human Interface Guidelines - Characteristics of Great Software(4/7) Characteristics of Great Software High Performance Ease of Use Attractive Appearance Reliability Adaptability Interoperability Mobility사용자의 신뢰를 받을 수 있는 프로그램이 신뢰할만한(reliable) 프로그램이다. 사용자가 예상하고 바라는 방향으로 정보를 보여주는 그런 프로그램 말이다. 신뢰할만한 프로그램은 사용자의 데이터의 무결성을 유지시켜주고 데이터 상실이나 전와될만한 것을 방지해주기 위해 가능한 모든 것을 수행한다. 또한 이러한 것들을 충분히 해결할 수 있고 .. 더보기
Apple Human Interface Guidelines - Characteristics of Great Software(3/7) Apple Human Interface Guidelines - Characteristics of Great Software(3/7) Characteristics of Great Software High Performance Ease of Use Attractive Appearance Reliability Adaptability Interoperability Mobility사용자가 매킨토시 플랫폼과 특히 Mac OS X에 끌리는 한가지 특징은 멋진(stylish) 디자인과 하드웨어와 소프트웨어의 attractive appearance다. 매력적인 하드웨어와 시스템 소프트웨어를 만드는 것이 애플의 일이지만, 소프트웨어에 attractive appearance를 가미하기 위해 Mac OS X의 강점을 이용해야.. 더보기
Apple Human Interface Guidelines - Characteristics of Great Software(2/7) Apple Human Interface Guidelines - Characteristics of Great Software(2/7) Characteristics of Great Software High Performance Ease of Use Attractive Appearance Reliability Adaptability Interoperability Mobility사용하기 편리한 프로그램은 사용자에게 강력하고 직관적인 경험을 제공한다. 복잡한 문제를 해결할 수 있는 고상한(elegant) 해결책을 제공하고 친숙한 패러다임을 사용하는 아주 잘 계획된 인터페이스를 갖게 된다. 사용자에게 이해가 빠른 선택을 제공하기 때문에 설치와 설정이 쉬우나, 필요할 때 이러한 선택을 되돌릴 수 있는 옵션을 사용자에.. 더보기