콘텐츠로 건너뛰기
Home » Development » Page 45

Development

프로그래밍 언어 및 환경

Sqlite3 모듈의 기본 사용법

간단한 예제로 sqlite3 모듈을 사용해서 데이터베이스를 조작하는 방법을 살펴보자. 파이썬은 sqlite3 데이터베이스를 사용할 수 있도록 sqlite3 모듈을 내장하고 있다. 기본적인 사용 순서는 다음과 같다. sqlite3.connect()를 사용해서 데이터베이스 파일을 열고 연결한다. connection 객체가 생성되며, 이를 통해 쿼리를 전달할 수 있다. connection.execute()를 사용해서 쿼리를 전송하고 실행할 수 있다. execute()의 결과로 cursor 객체를 얻게 되는데, 이 객체를 사용해서 영향을 받은 row의 수를 확인하거나, SELECT 문의 경우 각각의 row를 읽어올 수 있다.

윈도 시스템에 Pyramid 설치하기

윈도 시스템에 Pyramid 설치하기 Pyramid란? Pyramid는 파이썬기반의 경량 프레임워크이다. 자세한 설명은 생략한다. 링크를 참조하자. Pyramid 설치 준비물 Pyramid를 설치하려면 다음의 내용들이 필요하다. Python 2.7 혹은 3.0 pywin32 – 설치되어 있는 파이썬 버전과 동일한 버전을 설치해야 한다. 다운로드는 sourceforge에서 내려받을 수 있다. easy_install – 파이썬 패키지를 자동으로 내려받을 수 있도록 하는 도구. 없다면 ez_setup.py를 내려받아 python ez_setup.py 로 설치하면 된다. virtualenv 설치 순서 (python 2.7/3.2) virtualenv를 설치한다. c:\> c:\python27\scripts\easy_install virtualenv 가상 환경을 만들어 준다 c:\> c:\python27\scripts\virtualenv –no-site-packages env 가상 환경 디렉토리로… 더 보기 »윈도 시스템에 Pyramid 설치하기

[Objective-C] 카테고리

카테고리는 쉽고도 정말 강력한 Objective-C의 기능 중 하나이다. 카테고리는 기존에 정의된 어떤 클래스를 쉽게 확장할 수 있도록 한다. 만약 A라는 클래스에 부족한 기능이 있어 이를 추가하고자 할 때는 해당 클래스를 상속 받는 클래스 B를 만들 수 있고, 이를 사용하면 된다.1 하지만 이 새롭게 추가된 기능을 사용하기 위해서는 이전에 작성한 코드에서 클래스 A를 사용하는 부분을 모두 클래스 B에 맞도록 수정해야 한다.더 보기 »[Objective-C] 카테고리

[Python101] Iterable(3) – 튜플

튜플(tuple)은 ‘한 벌’의 의미로 의미상으로는 가장 원시적인 배열이다. 튜플 한 번 만들어지고 나면 수정이 불가능한 집합이다. 쉽게 말해서 리스트를 ‘얼리면’ 튜플이 된다. 튜플을 만드는 법 리스트를 정의할 때는 대괄호에 원소들을 써서 생성했다. 튜플의 경우에는 괄호에 원소들을 써서 만들 수 있다. 아래의 b는 터플이다. a = [1, 2, 3, 4] b = (1, 2, 3, 4) 터플의 원소는 리스트와 마찬가지의 방법으로 접근할 수 있다. 터플 이름 뒤에 대괄호를 쓰고 그 속에 인덱스를 넣으면 된다. b[2] # –> 3 b[:2] # –>… 더 보기 »[Python101] Iterable(3) – 튜플

Objective-C 리터럴 문법 살펴보기

이 글은 다음 문서를 참고하였음 http://clang.llvm.org/docs/ObjectiveCLiterals.html 애플이 밀고 있는 LLVM 컴파일러 4.0에서부터 Objective-C Literal 이라는 새로운 기능을 사용할 수 있게 되었다. 새롭게 추가된 리터럴은 크게 세 가지로, NSNumber Literals, Colloection Literals, Object Subscripting 이다. 각각을 좀 살펴보자. NSNumber Literals Foundation 프레임웍의 NSNumber 클래스는 스칼라값을 감싸는 객체이다. 객체에 들어갈 수 있는 값은 C에서는 ‘수’로 취급할 수 있던 char, short, int, long, long long 등의 정수들과 Float, double과 같은 실수들 그리고 BOOL, bool 값등이다. 이렇게 숫자값을 객체에 감싼 것을 Boxed values라고도 한다더라.… 더 보기 »Objective-C 리터럴 문법 살펴보기

최근 Xcode의 개선사항

애플은 단지 SDK만 업그레이드하는게 아니라 개발도구도 지속적으로 개선해나가고 있다. Xcode 3 -> 4로 넘어올 때도 상당히 좋아졌는데, 4.5까지 오면서 계속해서 개선되고 있다. What’s new in Xcode 4.3 개별 도구 앱이 하나의 앱 패키지에 통합됨 명령줄 도구를 선택적으로 설치하도록 분리됨 /Developer 디렉터리를 사용하지 않음. 한대의 맥에 다른 버전의 Xcode를 동시에 설치하는 것이가능하며, Xcode는 기존 버전의 Xcode를 삭제하는 기능을 제공함 신규 코코아 프로젝트에서 Auto Layout이 디폴트로 설정됨. What’s new in Xcode 4.4 LLVM 4.0 컴파일러가 적용됨. 이 때부터 NSString외의 객체도 @Literal을 사용할… 더 보기 »최근 Xcode의 개선사항

[iOS] UIDatePicker 사용법

UIDatePicker는 UIContoller의 서브클래스로 버튼(UIButton)이나 슬라이더(UISlider)와 같은 기능을 수행하는 단위 컨트롤이라 생각하고 사용하면 된다. 사용자가 날짜를 변경했을 때는 버튼이 눌러질 때와 마찬가지로 UI 단에서 컨트롤러로 메시지를 보내야 하므로 타깃-액션 매커니즘에 의해 메시지를 받을 수 있다. 일견 복잡해 보이나 다음과 같이 단순하게 생각하면 된다. 1. NSDate 유형의 날짜 정보를 사용자로부터 입력 받기 위해 사용하는 UI 단위이다. 2. IB에서 추가한 후, 여러 설정 (시간단위까지 입력할 것인지, 시간의 범위는 어떤지 등)을 바꿀 수 있다. 3. 날짜가 변경되었을 때 컨트롤러가 받을 메시지를 위해 IBAction 메소드를… 더 보기 »[iOS] UIDatePicker 사용법

[iOS] 아이콘의 자동 광택 효과 제거하기

iOS에서는 앱의 아이콘에 대해서 자동으로 모서리를 둥글게 잘라내고 광택 효과를 입혀주지만, 경우에 따라서는 아이콘의 광택 효과를 원하지 않을 수도 있다. 앱의 기본 Info.plist 파일 (앱이름-Info.plist로 Supporting FIles 폴더에 있음)을 열고, 키를하나 추가해준다. 키 이름, 타입, 값은 다음과 같다. Icon already includes glossy effects : boolean : YES (I자만 치면 자동으로 나타남) 이제 앱을 빌드해서 시뮬레이터에서 광택효과가 없이 matte하게 표시되는 아이콘을 볼 수 있을 것이다. *Xcode4에서는 이미 타겟 세팅에서 체크만 하면 된다. 앱 아이콘 끌어다 놓는 부분 오른쪽에 있으니 잘 찾아본다.

[코어그래픽] 비트맵 그래픽 컨텍스트

비트맵 그래픽 컨텍스트는 비트맵 이미지를 담는 그래픽 컨텍스트이다. CGImage를 바탕으로 새로운 레이어를 생성하거나, 혹은 레이어에 그려진 그래픽을 CGImage 구조체로 만들 때 사용한다. 쉽게 말해, 터치 드로잉 앱을 만든다고 하면, 캔버스가 되는 뷰는 비트맵 컨텍스트를 하나 준비해서, 손가락의 움직임을 따라 레이어에 선을 그린다. 그려진 내용을 이 비트맵 컨텍스트에 저장한 다음 뷰의 현재 컨텍스트에는 비트맵이미지를 그려준다. 그러면 여태까지 그린 내용을 전부 하나의 비트맵 이미지에 기록하여 그림을 실시간으로 그려줄 수 있다. (레이어를 그리고, 이를 바로 뷰에 그리면, 이전에 그렸던 내용이 보존되지 않는다.) 비트맵… 더 보기 »[코어그래픽] 비트맵 그래픽 컨텍스트

[Cocoa] NSValueTransformer

Value Transformer

코코아 바인딩에서 어떤 키패스의 값을 그대로 사용하는 것이 아니라 다른 단위로 변환하는 등의 변화를 주고 사용해야 한다면 중간에 어떤 매개체가 값을 바꿔서 전달해주는 역할을 하도록 해야 한다. 예를 들어 섭씨 온도를 표시하는 텍스트 필드와 화씨 온도로 조절하는 슬라이드가 있고 이 들을 코코아 바인딩으로 구현하고자 한다면, (물론 모델 객체의 두개의 프로퍼티를 각각 만들고 여기에 바인딩해도 되지만) NSValueTransformer를 사용하여 값 변환 장치를 만들어 사용할 수 있다.

사용하는 일이 흔하지는 않지만, 파운데이션 프레임워크는 이런 값 변환기를 몇 개 가지고 있으며 개발자는 NSValueTransformer를 서브클래싱하여 이런 변환기를 만들 수 있다.

더 보기 »[Cocoa] NSValueTransformer