외규장각 도서 환수 모금 캠페인

'Interesting'에 해당되는 글 74건

  1. 2012.04.17 디자인 패턴(Design Pattern)이란?
  2. 2012.04.17 Design Patterns
  3. 2012.04.17 jQuery 소개
  4. 2012.03.12 Xcode Debug 시에만 NSLog 출력
  5. 2012.03.12 Xocde 암호화(AES256 + base64)
  6. 2012.02.07 mac eclipse 단축키
  7. 2011.01.11 정적 라이브러리 생성
  8. 2011.01.04 IB없이 코딩하기 #1
  9. 2010.12.14 Info-pList 파일
  10. 2010.10.28 MacBook Shortcuts

하나의 패턴에는 다음의 네가지 요소는 반드시 들어 있다.


1. 패턴 이름(pattern name)은 한두 단어로 설계 문제와 해법을 서술

2. 문제(Problem)은 언제 패턴을 사용하는가를 서술하며 해결할 문제와 그 배경을 설명

3. 해법(Solution)은 설계를 구성하는 요소들과 그 요소들 간의 관계, 책임 그리고 협력 관계를 서술

4. 결과(Consequence)는 디자인 패턴을 적용해서 얻는 결과와 장단점을 서술


"특정한 전후 관계에서 일반적 설계 문제를 해결하기 위해 상호교류하는 수정 가능한 객체와 클래스들에 대한 설명"



디자인 패턴 영역

   

 목적

 


 생성

 구조 

 행동 

 범위

 클래스 

 팩토리 메서드

 적응자 

 해석자

 템플릿 메서드

   객체

 추상 팩토리
 빌더
 원형
 단일체

 적응자

 가교

 복합체

 장식자

 퍼사드

 플라이급

 프록시

 책임 연쇄
 명령
 해석자
 중재자
 메멘토
 감시자
 상태
 전략
 방문자 





디자인 패턴을 이용하여 문제를 푸는 방법

  1. 객체지향 프로그램은 객체(object)를 만듦
    • 객체는 데이터와 이 데이터에 연산을 가하는 프로시저(procedure)를 함께 묶은 단위
    • 프로시저를 일반적으로 메서드(method) 또는 연산(operation)이라고 함
    • 객체는 요청(request) 또는 메시지(message)를 사용자에게 받으면 연산을 수행
    • 요청은 객체가 연산을 실행하게 하는 유일한 방법
    • 연산은 객체의 내부 데이터의 상태를 변경하는 유일한 방법
    • 이러한 접근의 제약 사항으로 객체의 내부 상태는 캡슐화(encapsulate)된다고 말함.
  2. 적당한 객체 찾기
  3. 객체의 크기 결정
  4. 객체 인터페이스 명세
    • 객체가 선언하는 모든 연산은 연산의 이름, 매개변수로 받아들이는 객체들, 연산의 반환 값 명세. 이를 시그니처(signature)라고 함
    • 인터페이스(interface)는 객체가 정의하는 연산의 모든 시그니처들을 일컫는 말로 객체의 인터페이스는 객체가 받아서 처리할 수 있는 연산의 집합
    • 타입(type)은 특정 인터페이스를 나타낼 때 사용하는 이름. 다른 인터페이스를 포함하는 인터페이스를 서브타입(subtype), 다른 인터페이스가 포함하는 인터페이스를 슈퍼타입(supertype)이라함. 서브타입은 슈퍼타입의 인터페이스를 상속한다고 이야기함. 서브타입이 슈퍼타입을 상속하면 서브타입은 슈퍼타입에 정의된 연산을 포함
    • 어떤 요청과 그 요청을 처리할 객체를 프로그램 실행 중, 즉 런타임에 연결 짓는 것을 동적 바인딩(dynamic binding)이라고 함
    • 다형성(polymorphism)은 런타임에 동일한 인터페이스를 갖는 다른 객체로 대체 가능한 것
  5. 객체 구현 명세하기
    • 객체는 클래스의 인스턴스
    • 클래스의 인스턴스화 과정은 객체의 내부 데이터에 대한 공간 할당, 이 데이터들을 연산과 관련짓는 것
    • 추상클래스는 모든 서브클래스 사이의 공통되는 인터페이스 정의
    • 클래스 상속은 객체의 구현을 정의할 때 이미 정의된 객체의 구현을 바탕으로 진행
    • 인터페이스 상속은 어떤 객체가 다른 객체 대신에 사용될 수 있는 경우를 지정하는 메커니즘
    • 추상 클래스를 정의하고 인터페이스 개념으로 객체를 다룰 때 얻을 수 있는 두가지 이점
      1. 사용자가 원하는 인터페이스를 그 객체가 만족하고 있는 한, 사용자는 그들이 사용하즌 특정 객체 타입에 대해 알아야 할 필요가 없음
      2. 사용자가 이 객체들을 구현하는 클래스를 알 필요가 없고, 단지 인터페이스를 정의하는 추상 클래스가 무엇인지만 알면 됨.
    • 구현이 아닌 인터페이스에 따라 프로그래밍함
  6. 재사용을 실현 가능한 것으로
    • 서브클래싱(클래스 상속)에 의한 재사용은 화이트박스 재사용
    • 객체 합성이 클래스 합성보다 더 나은 방법임
    • 변화에 대비한 설계

패턴과 프레임워크 차이점
  • 디자인 패턴이 프레임워크보다는 더 추상적
  • 디자인 패턴은 프레임워크에 비해서 소규모의 아키텍쳐 요소
  • 디자인 패턴은 프레임워크에 비해 덜 특수화

디자인 패턴을 고르는 방법
  • 패턴이 어떻게 문제를 해결하는지 파악
  • 패턴의 의도 파악
  • 패턴들 간의 관련성 파악
  • 비슷한 목적의 패턴들을 모아서 공부
  • 재설계의 원인을 파악
  • 설계에서 가변성을 가져야 하는 부분이 무엇인지 파악


Posted by 닉네임영역
,

1. 생성 패턴(Creational Patterns)

  • 추상팩토리(Abstract Factory) : 구체적인 클래스를 지정하지 않고 관련성을 갖는 객체들의 집합을 생성하거나 서로 독립적인 객체들의 집합을 생성할 수 있는 인터페이스를 제공하는 패턴
  • 빌더(Builder) : 복합 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴
  • 팩토리 메서드(Factory Method) : 객체를 생성하는 인터페이스는 미리 정의하되, 인스턴스를 만들 클래스의 결정은 서브클래스 쪽에서 내리는 패턴. 팩토리 메서드 패턴에서는 클래스의 인스턴스를 만드는 시점을 서브클래스로 미룸
  • 원형(Prototype) : 생성할 객체의 종류를 명세하는 데에 원형이 되는 예시물을 이용하고, 그 원형을 복사함으로써 새로운 객체를 생성하는 패턴
  • 단일체(singleton) : 어떤클래스의 인스턴스는 오직 하나임을 보장하며, 이 인스턴스에 접근할 수 있는 전역적인 접촉점을 제공하는 패턴


2. 구조 패턴(Structural Patterns)

  • 적응자(Adapter) : 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴. 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 작동하도록 해 줌
  • 가교(Bridge) : 구현부에서 추상층을 분리하여 각자 독립적으로 변형할 수 있게 하는 패턴
  • 복합체(Composite) : 객체들의 관계를 트리 구조로 구성하여 부분-전체 계층을 표현하는 패턴. 사용자가 단일 객체와 복합 객체 모두 동일하게 다루도록 함
  • 장식자(Decorator) : 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴. 기능 확장이 필요할 때 서브클래싱 대신 쓸 수 있는 유연한 대안이 될 수 있음
  • 퍼사드(Facade) : 서브시스템에 있는 인터페이스 집합에 대해서 하나의 통합된 인터페이스를 제공하는 패턴. 서브시스템을 좀 더 사용하기 편하게 만드는 상위 수준의 인터페이스 정의
  • 플라이급(Flyweight) : 크기가 작은 객체가 여러 개 있을 때, 공유를 통해 이들을 효율적으로 지원하는 패턴
  • 프록시(Proxy) : 어떤 다른 객체로 접근하는 것을 통제하기 위해서 그 객체의 대리자(surrogate) 또는 자리채움자(placeholder)를 제공하는 패턴


3. 행동 패턴(Behavioral Patterns)

  • 책임 연쇄(Chain of Responsibility) : 요청을 처리할 수 있는 기회를 하나 이상의 객체에게 부여하여 요청을 보내는 객체와 그 요청을 받는 객체 사이의 결합을 피하는 패턴. 요청을 받을 수 있는 객체를 연쇄적으로 묶고, 실제 요청을 처리할 객체를 만날 때까지 객체 고리를 따라서 요청을 전달
  • 명령(Command) : 요청을 객체의 형태로 캡슐화하여 서로 요청이 다른 사용자의 매개변수화, 요청 저장 또는 로깅, 그리고 연산의 취소를 지원하게 만드는 패턴
  • 해석자(Interpreter) : 주어진 언어에 대해 그 언어의 문법을 위한 표현 수단을 정의하고, 이와 아울러 그 표현 수단을 사용하여 해당 언어로 작성된 문장을 해석하는 해석기를 정의하는 패턴
  • 반복자(Iterator) : 내부 표현부를 노출하지 않고 어떤 객체 집합에 속한 원소들을 순차적으로 접근할 수 있는 방법을 제공하는 패턴
  • 중재자(Mediator) : 한 집합에 속해 있는 객체들의 상호작용을 캡슐화하는 객체를 정의하는 패턴. 객체들이 직접 서로를 참조하지 않도록 함으로써 객체들 사이의 소결합(loose coupling)을 촉진시키며, 개발자가 객체들의 상호작용을 독립적으로 다양화시킬 수 있게 만듦
  • 메멘토(Memento) : 캡슐화를 위배하지 않은 채로 어떤 객체의 내부 상태를 잡아내고 실체화시켜, 그 이후에 해당 객체가 그 상태로 되돌아 갈 수 있도록 하는 패턴
  • 감시자(Observer) : 객체들 사이에 일 대 다의 의존 관계를 정의해 두어, 어떤 객체의 상태가 변할 때 그 객체에 의존성을 가진 다른 객체들이 그 변화를 통지받고 자동으로 갱신될 수 있게 만드는 패턴
  • 상태(State) : 객체의 내부 상태에 따라 스스로 행동을 변경할 수 있게끔 허가하는 패턴. 이렇게 하면 객체는 마치 자신의 클래스를 바꾸는 것처럼 보임
  • 전략(Strategy) : 동일 계열의 알고리즘군을 정의하고, 각각의 알고리즘을 캡슐화하며, 이들을 상호 교환이 가능하도록 만드는 패턴. 알고리즘을 사용하는 사용자와 상관없이 독립적으로 알고리즘을 다양하게 변경할 수 있게 함.
  • 템플릿 메서드(Template Method) : 객체의 연산에는 알고리즘의 뼈대만을 정의하고 각 단계에서 수행할 구체적 처리는 서브클래스 쪽으로 미루는 패턴. 알고리즘의 구조 자체는 그대로 놔둔 채 알고리즘 각 단계의 처리를 서브클래스에서 재정의할 수 있게 함.
  • 방문자(Visitor) : 객체 구조를 이루는 원소에 대해 수행할 연산을 표현하는패턴. 연산을 적용할 원소의 클래스를 변경하지 않고도 새로운 연산을 정의할수 있게함



Posted by 닉네임영역
,

jQuery 소개

Interesting/jQuery 2012. 4. 17. 11:43

-- 여기에 기술되는 모든 내용은 jQuery in Action 2/E 에서 발췌 & 인터넷 서핑을 통한 것입니다. -- 



<script> 태그를 사용하여 페이지에 추가

<script type="text/javascript" src="script/jquery-1.7.js"></script> 


jQuery를 사용해야 하는 이유

1. 코드의 간결화


var checkedValue;

var elements = document.getElementsByTagName('input');

for(var n = 0; n < elements.length; n++) {

if(elements[n].type == 'radio' && elements[n].name == 'someRadioGroup' && elements[n].checked)

checkedValue = elements[n].value;

}


위의 소스를 jQuery를 이용하여 다음과 같이 바꿀 수 있다.


var checkedValue = $('[nam="someRadioGroup"]:checked').val(); 


코드의 의미는 간단하다.

어떤 라디오버튼이 선택되었는지 알아내고 Value 어트리뷰트 값을 가져오는 작업을 나타내는 소스이다.


성능상의 이유로 스크립트 블록이 문서 몸체의 끝에 위치하기도 하지만, 최신 브라우저에서는 성능 차이는 거의 없다. 구조와 관련된 엘리먼트 내부에 행위에 관련된 엘리먼트를 삽입시키지 않는 것이 더 중요한 개념이다.


효과적인 스크립트 작성요령

구조에서 행위 분리하여 스크립트에 기술


<button type="button" onclick="document.getElementById('test').style.color='red';">Click</button> 


다음과 같이 변경한다.


<button type="button" id="btn">Click</button> 

<script type="text/javascript">

window.onload = function() {

document.getElementById('btn').onclick = function() {

document.getElementById('test').style.color = 'red';

};

};

</script>


jQuery 기초(알아야 할 사항들)

1. jQuery() 함수

P a : <p> 엘리먼트에 포함된 모든 링크의 그룹 참조

$(selector) = jQuery(selector)

기타 등등 많다.

셀렉터의 전체 목록은 http://docs.jquery.com/Selectors 에 있다.


2. 문서 핸들러


window.onload = function() {
          // 여기에 작성

};

: 전체 문서가 모두 로드된 다음 실행할 구문을 명시하고자 window 인스턴스의 onload 핸들러를 사용

  문서 전체가 로드된 이후에 정의된 코드가 실행되도록 만든다.

  하지만 로드 해야할 리소스가 많은 경우 사용자가 기다리는 시간이 길어지는 단점이 있다.


다음과 같이 작성을 하게 되면 DOM 트리가 로드된 다음 다른 외부 리소스를 로드할 때까지 기다릴 필요 없이 코드를 실행 할 수 있다.


jQuery(document).ready(function() {

$("id").hide();

}); 


: read() 메소는 문서를 조작할 준비가 되었을 때 실행될 함수를 매개변수로 전달 받는다.


위의 소스를 다음처럼 더 간단히 기술 가능한다.


jQuery(function() {

$("id").hide();

}); 


: jQuery() 혹은 $()에 함수를 전달하면 브라우저는 DOM이 모두 로드될 ㄱ때까지 코드 실행을 미뤄둔다.


3. DOM 엘리먼트 생성하기


$(function() {

$("<p> Hello </p>).insertAfter("id");

}); 

: Hello를 id라는 id를 가진 태그 다음에 동적으로 삽입


4. 다른 라이브러리와 함께 사용 가능

다른 라이브러리와 함께 사용시 $ 식별자 쓰임이 겹치기 때문에 충돌 문제를 야기

해결 방법 : jQuery.noConflict();


jQuery() 함수로 할 수 있는 짓(?)

  • 확장 메서드로 어떤 동작을 수행하려고 DOM 엘리먼트를 선택하고 확장하기
  • 전역 유틸리티 함수의 네임스페이스 제공하기
  • HTML 마크업으로 DOM 엘리먼트 만들기
  • DOM을 조작할 준비가 되었을 때 실행할 코드 지정하기


------------------------------------------------------------------------------------------------------------


Ajax = Asynchronous Javascript And XML

Web Runtime = 심비안 OS에서 모바일 웹 어플리케이션을 작성할 수 있도록 만들어 주는 개발 플랫폼

CSS = Cascading Style Sheets

HTML = Hyper Text Markup Language

XHTML = Extensible Hyper Text Markup Language

latest jQuery site = http://jquery.com


selector = 페이지에 있는 대상 엘리먼트를 식별하는데 사용되는 표현식


폼 엘리먼트 그룹 = input, select, textarea 등 데이터 전송할 때 사용되는 엘리먼트를 말함


------------------------------------------------------------------------------------------------------------

Posted by 닉네임영역
,
Xcode 4.2 기준

1. DEBUG 추가
PROJECT > Build Settings > Apple LLVM compiler 3.0 - Preprocessing
Preprocessor Macros > Debug 에 DEBUG 입력

2. NSLog 출력 방식 변경
<프로젝트명>_Prefix.pch의 맨 밑에

#ifdef DEBUG
#define NSLog( s, ...) NSLog( @"<%p %@: (%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__. [NSString stringWithFormat:(s), ##__VA__ARGS__] )
#else
#define NSLog( s, ...)
#endif

3. 출력형태
파일명 라인번호 출력값
Posted by 닉네임영역
,


암호화 방법
 : 원본 스트링 -> AES256 인코딩 -> base64 인코딩 -> 암호화된 스트링

복호화 방법
 : 암호화된 스트링 -> base64 디코딩 -> AES256 디코딩 -> 원본 스트링

example)
#import "NSString+Encrypt.h"

NSString *str = @"암호화 할 문자열";
NSLog(@"암호화 : %@", [str encryptWithKey:@"암호화 할때 사용할 문자열]);
NSLog(@"복원 : %@", [[str encryptWithKey:@"암호화 때 사용한 문자열"] decryptWithKey:@"key"]);

Posted by 닉네임영역
,

Eclipse의 모든 단축키는 Window >> Preferences >> Workbench >> Keys 메뉴에서 확인 및 변경이 가능하다. 그 동안 다른 툴에서 자신의 손에 익숙한 단축키들이 있다면 이 메뉴에서 단축키들을 변경하는 것이 가능하다.

Java Editor 단축키

Ctrl + Shift + M : 특정 클래스 Import 시키기 Ctrl + Shift + O : 자동으로 Import 시키기 Ctrl + Shift + F : 코드 자동 정리 Ctrl + Shift + G : 특정 메써드나 필드를 Reference하고 있는 곳을 찾는다. Ctrl + 1 : Quick Fix. 에러가 발생했을 경우 Quick Fix를 통해 쉽게 해결이 가능하다. Ctrl + Shift + / : 블럭 주석 설정 Alt + Shift + UP : 커서를 기준으로 토큰단위 블럭지정 Alt + Shift + DOWN : 커서를 기준으로 토큰단위 블럭해제 CTRL + L : 특정 줄번호로 가기 Alt + Shift + J : 자동으로 주석 달기 (메소드나 멤버변수에 포커스 두고 실행)

Window 이동

F10 : 메뉴창을 활성화 Ctrl + F8 : 다음 Perspective로 이동 Ctrl + N : 새로운 파일 및 프로젝트 생성. Ctrl + Shift + Down : Java Editor에서 다음 member로 이동. Ctrl + F7 : 다음 View로 이동. Ctrl + Shift + F7 : 이전 View로 이동.Alt + <- : 이전 작업 화면 Alt + -> : 다음 작업 화면 F12 : 컴파일 중 에러등으로 포커스가 다른데로 갔을 때 Editor 로 커서 이동 Ctrl + 1 : 컴파일 에러가 발생한 곳에서 Ctrl + 1을 누를 경우 컴파일 에러에 대한 해결책을 제시

디버깅 단축키

CTRL + Shift + B : 현 커서의 위치에 브레이크 포인터 설정/해제 F11 : 디버깅 시작 F8 : 디버깅 계속 F6 : 한줄씩 실행(Step Over) F5 : 한줄씩 실행하되 함수일 경우 그 함수 내부로 들어감(Step Into) CTRL + R : 현재 라인까지 실행(Run to Line)

Refactoring 단축키

Shift + ALT + 알파벳 : Refactoring을 위한 단축키 임.

RUN 단축키

 

Ctrl + F11 : 이전에 실행되었던 Run파일 실행.

 

 

 

cmd + 1

 

cmd + o

 

cmd + shift + T  —– ***** 클래스 찾기

 

CMD + Y 이전 작업 실행

 

CMD + Shift + R 자원열기

 

Alt + Shift + R 변수 이름 변경하기 전에 누르면 변수를 사용한 모든 곳이 바뀐다. (리팩토링용)

 

CMD + ALT + Down : 현재줄 아래로 카피

 

CTRL + K = 복사된 단어 찾기 (FORWARD)

CTRL + SHIFT + K = 복사된 단어 찾기 (BACKWARD)

 

CTRL+SHIFT+R = 파일 찾기

 

Project Explorer 라고…. 잊지말자.. 호출법

좌측 하단 버튼.

출처 : http://liehacker.dyndns.org/blog/?p=276 

Posted by 닉네임영역
,

1. template > Library > Cocoa Touch Static Library -> naming

2. Groups & Files 에 "xxx.a" Productsdhk "xxx" Targets 이 생성된 것 확인 

3. 코딩 후 Targets의 "xxx"를 선택하고 우측 상단의 파일 목록에서 "xxx.h"를 선택하여  Role 항목의 값을 public 으로 변경.

Posted by 닉네임영역
,

UILabel *idLabel = [[UILabel alloc] initWithFrame:CGRectMake(50.0, 50.0, 50.0, 30.0)];

idLabel.text = @"ID"

[idLabel setBackgroundColor:[UIColor clearColor]];

idLabel.textAlignment = UITextAlignmentCenter;

UILabel *pwLabel = [[UILabel alloc] initWithFrame:CGRectMake(50.0, 90.0, 50.0, 30.0)];

pwLabel.text = @"PW"

[pwLabel setBackgroundColor:[UIColor clearColor]];

pwLabel.textAlignment = UITextAlignmentCenter;

UITextField *idTextField = [[UITextField alloc] initWithFrame:CGRectMake(110.0, 50.0, 100.0, 30.0)];

idTextField.borderStyle = UIButtonTypeRoundedRect;

idTextField.returnKeyType = UIReturnKeyDone;

idTextField.delegate = self;

[idTextField addTarget:self action:@selector(EndEditing:) forControlEvents:UIControlEventEditingDidEndOnExit];

UITextField *pwTextField = [[UITextField alloc] initWithFrame:CGRectMake(110.0, 90.0, 100.0, 30.0)];

pwTextField.returnKeyType = UIReturnKeyDone;

pwTextField.borderStyle = UIButtonTypeRoundedRect;

pwTextField.delegate = self;

[pwTextField addTarget:self action:@selector(EndEditing:) forControlEvents:UIControlEventEditingDidEndOnExit];


UIButton *cancelButton = [self CreateButton:@"Cancel" type:UIButtonTypeRoundedRectview:self.view 

frame:CGRectMake(50.0130.075.030.0target:self action:nil];

UIButton *confirmButton = [self CreateButton:@"Confirm" type:UIButtonTypeRoundedRectview:self.view 

frame:CGRectMake(135.0130.075.030.0target:self action:nil];

[self.view addSubview:idLabel];

[self.view addSubview:pwLabel];

[self.view addSubview:idTextField];

[self.view addSubview:pwTextField];

        [self.view addSubview:cancelButton];

[self.view addSubview:confirmButton];



--------------------------------------------------------------------------------------------





- (void)EndEditing:(id)sender

{

[sender resignFirstResponder];

}


- (UIButton *)CreateButton:(NSString *)title type:(UIButtonType)type view:(UIView *)view 

frame:(CGRect)frame target:(id)target action:(SEL)action {

UIButton *button = [[UIButton buttonWithType:type] retain];

button.frame = frame;

[button setTitle:title forState:UIControlStateNormal];

[button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];

[view addSubview:button];

return button;

}

Posted by 닉네임영역
,
Application requires iPhone environment : 실행 가능한 아이폰 환경
Application users Wi-Fi : Wi-Fi 사용여부
Bundle creator OS Type code : 애플리케이션 개발자의 OS 코드
Bundle display name : 애플리케이션 아이콘에 나타나는 이름
Bundle identifier : 애플리케이션의 고유 식별자
Bundle name : 애플리케이션의 실제 이름
Bundle OS Type code : 애플리케이션 실행 OS 코드
Bundle version : 애플리케이션의 버전
Bundle version string. short : 구체적인 애플리케이션의 버전
Executable architectures : -
Executable file : 실행 가능한 파일
Get Info string : -
Icon already includes gloss and bevel effects : 아이콘 표시 효과 설정
Icon file : 아이콘 파일
Initial interface orientation : 기본 화면의 가로/세로형 설정
Localization native development region : -
Localized resources can be mixed : -
Main nib file base name : 기본 nib 파일
Renders with edge antialisasing : 안티앨리어싱 사용 설정
Renders with group opacity : 투명도 사용 설정
Required device capabilities : 사용가능한 장치를 설정
Status bar is initially hidden : 상태바를 표시 설정
Status bar style : 상태바 스타일 설정
Supported external accessory protocols : 확장 프로토콜 사용 설정
Upgrade other bundle identifier : 업그레이드를 위한 식별자
URL types : 커스텀 URL 사용 설정

애플리케이션의 기본정보는 자신의 개발하고 있는 프로젝트 상황에 맞추어 설정하도록 한다. 특히 'Required device capabilities' 의 항목은 다음과 같다.

telephony : 전화 통화가 가능해야 한다.
sms : 문자 기능을 필요하다.
still-camera : 카메라 장치가 있어야 한다.
auto-focus-camera : 자동 초점 기능을 사용해야 한다.
video-camera : 비디오 녹화가 가능해야 한다.
wifi : WiFi 를 사용해야 한다.
accelerometer : 가속도계를 사용한다.
location-services : 현재 위치를 제공하는 위치 서비스를 사용한다.
gps : GPS 기능을 사용한다.
magnetometer : 나침반 기능을 사용한다.
microphone : 마이크를 사용한다.
opengles-1 : OpenGL ES 1.1 을 사용한다.
opengles-2 : OpenGL ES 2.0 을 사용한다.
Posted by 닉네임영역
,
Cmd-A Select All
Cmd-B Was Show/Hide Bookmarks Bar in older Safaris
Cmd-C Copy
Cmd-D Add Bookmark...
Cmd-E Use Selection for Find
Cmd-F Find...
Cmd-G Find Next
Cmd-H Hide Safari
Cmd-I
Cmd-J Jump to Selection
Cmd-K Used to be Block Pop-up Windows, changed because people were hitting it accidentally too often
Cmd-L Open Location...
Cmd-M Minimize
Cmd-N New Window
Cmd-O Open File...
Cmd-P Print...
Cmd-Q Quit Safari
Cmd-R Reload Page
Cmd-S Save As...
Cmd-T New Tab
Cmd-U
Cmd-V Paste
Cmd-W Close Window or Close Tab Close Tab if multiple tabs are showing, otherwise Close Window
Cmd-X Cut
Cmd-Y
Cmd-Z Undo
Cmd-Shift-A AutoFill Form
Cmd-Shift-B Show/Hide Bookmarks Bar Safari-152 and earlier used Cmd-B for this
Cmd-Shift-C
Cmd-Shift-D Add Bookmark to Menu Alternate menu item to Add Bookmark...
Cmd-Shift-E
Cmd-Shift-F Hide Find Banner
Cmd-Shift-G Find Previous
Cmd-Shift-H Home Cmd-Home also does this
Cmd-Shift-I
Cmd-Shift-J
Cmd-Shift-K Block Pop-up Windows Used to be Cmd-K, changed because people were hitting it accidentally too often
Cmd-Shift-L
Cmd-Shift-M
Cmd-Shift-N Add Bookmark Folder
Cmd-Shift-O
Cmd-Shift-P Page Setup...
Cmd-Shift-Q
Cmd-Shift-R Force Repaint in Debug menu
Cmd-Shift-S Save As... Same behavior as Cmd-S, present for UI compatibility
Cmd-Shift-T
Cmd-Shift-U
Cmd-Shift-V
Cmd-Shift-W Close Window only if multiple tabs are showing
Cmd-Shift-X
Cmd-Shift-Y
Cmd-Shift-Z Redo
Cmd-Option-A Activity
Cmd-Option-B Show All Bookmarks
Cmd-Option-C Show Error Console when the Develop menu is enabled
Cmd-Option-D Show/Hide Dock (System-wide)
Cmd-Option-E Empty Cache...
Cmd-Option-F Google Search...
Cmd-Option-G
Cmd-Option-H Hide Others
Cmd-Option-I Show Web Inspector when the Develop menu is enabled
Cmd-Option-J
Cmd-Option-K
Cmd-Option-L Downloads Cmd-Option-D is more natural, but used by the Dock
Cmd-Option-M Minimize All Alternate menu item to Minimize
Cmd-Option-N Show Network Timeline when the Develop menu is enabled
Cmd-Option-O
Cmd-Option-P
Cmd-Option-Q
Cmd-Option-R
Cmd-Option-S Search Results SnapBack
Cmd-Option-T Special Characters...
Cmd-Option-U View Source Changed in Tiger to match "View Raw Source" in Mail
Cmd-Option-V
Cmd-Option-W Close All Windows when Cmd-W is Close Window (Alternate menu item)
Cmd-Option-X
Cmd-Option-Y
Cmd-Option-Z
Cmd-Option-Shift-P Start Profiling JavaScript when the Develop menu is enabled
Cmd-Option-Shift-V Paste and Match Style keyboard equivalent matches Mail
Cmd-Option-Shift-W Close All Windows when Cmd-Shift-W is Close Window (Alternate menu item)
Cmd-1 to Cmd-9 first 9 bookmarks (not folders) in Bookmarks Toolbar
Cmd-Shift-1 Show Top Sites
Cmd-? Safari Help
Cmd-[ Back
Cmd-] Forward
Cmd-. Stop
Cmd-, Preferences...
Cmd-/ Show/Hide Status Bar
Cmd-| Show/Hide Toolbar
Cmd-\ Show Page Load Test Window in Debug menu
Control-Tab Select Next Tab
Control-Shift-Tab Select Previous Tab
Posted by 닉네임영역
,


사랑합니다. 편안히 잠드소서