본문 바로가기

Software

(79)
property의 역사를 통한 고찰 Objective-C 2.0 이전의 시대...당시의 이름 규칙(코드 컨벤션) 이런 녀석이 있다고 가정, 그리고 당연히 TestClass의 내부에 있는 name에 접근할 일이 생기게 된다. 그래서 name에 접근하기 위해 접근자(accessor, getter and setter)를 만들게 됩니다. 당연히 어떤 함수든 뭐든 저 객체에서 저 데이터(name)을 밖으로 끄집어낼 방법이 필요하다! 그럼 getter는? 어떤 프로그래머가 Objective-C를 다룬지 얼마나 오래 되었는가? 를 판단하기 위해 손쉽게 알 수 있는 방법은 getter를 getName이라고 말하는가? 를 보고 판단한다. Obj-C의 세상에서는 getter는 그냥 name이다.!! 이건 아무래도 Obj-C의 전체 설계 사상이 객체간의 메시..
Objective C 기초정리 필요한것만 살짝 정리 메시징 문법 [객체 메소드]; ex ) [Receiver Message]; 이와 같은 방식으로 객체에게 메시지를 보내게 된다. 메시지를 보낸다는 것은 객체의 메소드를 호출하는 것을 의미. 인자 넘겨주기 1개 [Receiver Message:23]; 2개 이상 [Receiver Message:23 withOptionA:23 withOptionB:23]; 이때 메소드의 이름은 Message:withOptionA:withOptionB: 가 된다. -> ->다른 객체지향 느낌 표현 Receiver.MessageWithOptionAandOptionB(23, 23, 23); NULL == nil Rectangle *anObject = nil; [anObject description]; nil ..
[JavaScript] - Prototype 과 Constructor !!! http://itux.tistory.com/28 님의 글에서 정보를 제공받았습니다. 굉장이 혼란스러운 개념이다... 처음 접했을때 이게 뭐지? 아직도 감이 안온다. 그래도 한번 정리해 보자! 개념을 설명하기에 앞서.. javascript에서 사용하는 용어가 정확히 무엇을 정의하는지부터 살펴보자. 용어의 정의 ECMA-262 표준을 이용하였다. primitive value : type이 Boolean, Number, String ( Undefined, Null ) 인 값들. Undefined, Null은 일반적인 자료형이 아닌 다소 특이한 유형이므로 가로를 적용하였다. object : An object is a collection of properties and has a single prototype o..
[jQuery] - jQuery Mobile 요즈음 웹 개발에 있어서 하나의 트렌드로 자리 잡은 것이 바로 모바일 웹 개발이다. 1세대의 모바일 웹 개발은 확실히 HTML보다 가벼워야 했고 하드웨어의 제한 사항이 큰 편이었기 때문에 WML과 같은 메타 언어의 존재감이나 그 수요가 분명했다. 하지만 모바일 기기와 일반 PC의 사양 차이가 날이갈수록 좁혀짐은 물론, 이제 모바일 기기가 경우에 따라서는 일반 PC나 렙톱 컴퓨터 보다 훨신 더 유용해지고, 쓰임새가 많아지게 되면서 이런 구분이 모호해지게 된다. 아이폰, 아이팟, 아이패드, 그리고 안드로이드 계열이나 크롬 북을 포함하여 상당히 많은 수의 브라우저들을 고려하는 모바일 웹 사이트가 필요했다. 물론 이들 모두 일정 수준 이상의 HTML5와 CSS3, 그리고 JavaScript 렌더링 엔진을 갖추고..
[DOM] - Div 와 Span Block level Element - 일반적으로, block은 다른 block과 inline를 포함한다. - blcok은 inline의 상위구조이다. - 일반적인 속성의 blcok은 새로운 줄을 만든다. (줄 단위의 공간값을 가진다.) - blcok 태그들은 성격에 따라 Physical, Logical, Group, User-input로 분류가 된다. + 는 Physical Block 태그이다. + , , , , , ~, 는 Logicl Block 태그이다. + 는 Grouping Block 태그이다. +, 은 User-input Block 태그 이다. Inline level Element - text level element라고도 부른다. - blcok의 내부에 위치하며, 다른 inline과 data..
[JavaScript] - JavaScript 와 DOM과의 관계 공부하기 좋은 웹 사이트 http://jsfiddle.net/ http://jquery.com/ http://www.w3schools.com/ Q. 태그 내부에 있는 것은 전부 자바스크립트 인가? 꼭 그렇지는 않다. 태그의 역할은 브라우저에게 앞으로 스크립트 언어를 사용할 것이라고 알려주는 것이지, 그것이 꼭 자바스크립트여야 한다는 것은 아니다. type="text/javascript" 웹 서버는 해당 URL을 반환하기 위해 어떤 웹 페이지가 필요한지 찾아냄. -> 서버는 HTML 태그들, CSS 규칙들, 그리고 자바스크립트가 포함된 페이지를 우리들의 브라우저에게 전송시킨다. -> 브라우저는 웹 페이지에 있는 모든 CSS 규칙들을 사용하여 HTML을 보여준다. -> 그리고 브라우저는 태그 내부에 있는 임..
멀티스레딩 <NSThread> 멀티스레딩은 한 앱의 내부에서 돌고있는 스레드가 다수인 경우를 뜻한다. 하나의 앱은 하나의 프로세스가 돌고 있습니다. 그리고 프로세스 안에는 여러개의 스레드가 돌고있는 구조이다. 스레드는 프로세스보다 낮은 작업 단위이다. 스레드는 코드를 실행하는 흐름이라고 볼 수도 있다. 멀티스레드라 하면 흐름이 여러개라고 보면 되겠다. 앱에는 최소 한개 이상의 스레드가 돌고 있다. 스레드가 없다면 그것은 프로그램으로서 성립이 안된다. 최초의 첫 스레드를 메인 스레드라고 한다. 메인 스레드에서는 많은 일을 한다. 기본적인 앱 내부의 이벤트 처리나 화면 처리를 하기 때문에 메인 스레드가 멈추거나 일시적으로 어는 현상이 있어서는 안된다. = NSThread.h = + (NSThread *) currentThread; 클래스..
메모리 관리 <Objective-C?> 이글은 Naver "맥부기 Cafe의 문씨님의 강좌에서 퍼온글 입니다." Objective-C는 C++과 마찬가지로 C에서 파생된 언어이다. 다만 구조적 특징을 보면 C++보다 Objective-C가 좀더 C에 가깝다. C++은 C에서 메모리 관리를 직접하는 포인터 개념에 충실한 반면 Objective-C는 메모리 관리를 어느정도 대신 해주는 개념을 가지고 있다. 언어를 대체적으로 C나, C++, Objective-C로 세분류로 나누고 보면 일단 C나 C++은 개발하기가 어렵다. 하지만 메모리 관리를 직접할수 있기 때문에 고수가 개발한다면 정말 강력한 앱을 만들수도 있다. Java는 메모리 관리를 신경 안쓰는 언어이다. 덕분에 개발은 편하다. 하지만 메모리 관리하는 가비지컬렉션 대문에 모바일 환경에서는 ..