본문 바로가기
[iOS Study] 뷰와 뷰 계층구조 [iOS Study] 뷰와 뷰 계층구조 출처 : 아론 힐리가스의 iOS 프로그래밍 - 뷰는 UIView 의 인스턴스이거나 그 하위 클래스의 인스턴스이다. 뷰는 자신을 그리는 법을 알고 있다. 뷰는 터치와 같은 이벤트를 처리한다. 뷰는 뷰 계층구조상에 존재한다. 뷰 계층구조의 루트는 앱의 윈도우이다. - iOS 앱은 앱의 모든 뷰의 컨테이너 역할을 하는 UIWindow 인스턴스를 하나 가진다. 윈도우는 앱이 실행될 때 만들어진다. 그리고 윈도우가 만들어지면 그 윈도우에 다른 뷰들을 추가 할 수 있다. - 계층의 모든 뷰는 윈도우를 가지고 자신을 그린다. 뷰는 그 자체를 자신의 CALayer 인스턴스인 레이어에 나타낸다 ( 뷰의 레이어는 비트맵 이미지로 생각할 수 있다. ) 모든 뷰의 레이어들이 화면에 합성.. 2016. 2. 16.
[iOS Study] ARC 를 통한 메모리 관리 [iOS Study] ARC 를 통한 메모리 관리 출처 : 아론 힐리가스의 iOS 프로그래밍 - 메소드나 함수가 실행되면 스택(stack)이라고 하는 메모리 영역의 일부가 할당된다. 이 할당된 메모리 공간을 프레임(frame)이라고 한다. -프로그램을 시작하고 main() 이 실행되면 main() 의 프레임이 스택에 들어간다.main() 이 다른 메소드(또는 함수)를 호춣하면 그 메소드의 프레임은 스택의 꼭대기에 들어간다. 각 메소드나 함수가 끝날 때마다 해당 프레임은 스택 꼭대기에서 즉시 빠져나와 사라진다.그 메소드가 다시 호출되면 새 프레임이 할당되고 스택에 들어간다. - ARC(자동 레퍼런스 카운팅, Automatic Reference Counting) 가 프로그램의 메모리 관리를 대신해준다. - .. 2016. 2. 15.
[iOS Study] Objective-C [iOS Study] Objective-C 출처 : 아론 힐리가스의 iOS 프로그래밍 -iOS 앱은 코코아 터치(Cocoa Touch) 프레임워크를 사용하여 Objective-C 언어로 작성된다.Objective-C 는 C 언어의 확장이며 코코아 터치 프레임워크는 Objective-C 클래스의 모음이다. - 일반적으로 Objective-C 에서는 인스턴스 변수명을 밑줄(_) 로 시작한다. - 객체를 만들기 위해서는 클래스에 alloc 메세지를 보낸다. 이에 클래스는 메모리(힙)에 객체를 만들고 변수에 저장된 그 객체의 주소를 준다. -Party* partyInstance = [Party alloc];[partyInstance init]; 새로 할당한 인스턴스에 보내는 첫 메시지는 항상 초기화 메시지다. .. 2016. 2. 13.
[iOS Study] 간단한 iOS 앱 만들기 [iOS Study] 간단한 iOS 앱 만들기 출처 : 아론 힐리가스의 iOS 프로그래밍 -모델과 뷰는 서로 통신하지 않는다. -XIB 은 “집” 이라고 읽는다.XML Interface Builder 를 의미한다. -Xcode 에서 좌측 section 을 [네비게이터 영역], 우측 section 을 [유틸리티 영역] 이라고 부른다.유틸리티 영역의 상단의 [인스펙터(inspector)] 와 하단의 [라이브러리(library)] 로 구성된다. -프로젝트 네비게이터의 그룹은 순전히 파일을 구성하는 데만 사용되고 실제 파일 시스템에 디렉터리 형태로 만들어지지는 않는다. -인터페이스 빌더는 편집기 영역을 두 부분으로 나눈다.왼편의 [독 (dock)]과 오른편의 [캔버스 (canvas)]이다. 독은 XIB 파일 내.. 2016. 2. 12.
[Effective Java] 파이날라이저 ( finalizer ) 의 사용을 피하자. [Effective Java] 파이날라이저 ( finalizer ) 의 사용을 피하자. - 파이널라이저는 예측 불가에다가 위험하기도 하며 일반적으로 불필요하다. - 파이널라이저의 큰 단점은 신속하게 실행된다는 보장이 없다는 것. 즉 파이널라이저에서 time critical 하게 중요한 일을 해서는 안 된다는 것. - 파이널라이저가 얼마나 빨리 실행되는가는 가비지 컬렉션 알고리즘에 달려있으며, 이는 JVM 종류에 따라 다양하다. - 자바 언어 명세에는 파이널라이저가 신속하게 실행된다는 보장이 없는 것은 물론, 반드시 실행될것인지도 보장하고 있지 않다. - System.gc() 와 System.runFinalization() 메소드들을 사용하지 말자. 그 메소드들은 파이널라이저가 실행될 가능성을 높여주긴 하.. 2015. 12. 15.
[Java] JDBC, Database Stored Procedure 와 CallableStatement 자바, JDBC, Database Stored Procedure 와 CallableStatement StoredProcedure StoredProcedure 는 데이터베이스 내에 일종의 "함수" 를 선언하여 반복적으로 어떤 작업을 수행하는 것을 말한다. 이것은 수행자체가 서버쪽에서 되는 것이기 때문에 수행속도도 더 빠르고, 네트워크에 사용되는 트래픽도 줄어든다. CREATE OR REPLACE PROCEDURE insert_user( name VARCHAR2 )ISBEGININSERT INTO user VALUES( name )END 이렇게 기술한 파일을 .sql 파일로 저장하여 sql console 을 수행할 폴더에 넣어주고,console 에서 이 파일의 파일명을 호출하면 stored procedure.. 2013. 9. 24.
[Spring] Spring Framework 의 개요 #2 Spring Framework의 개요 #2 변화를 예상 -> design pattern 적용 가능. 관심사의 분리( Separation of Concerns ) 관심이 같은 것끼리는 하나의 객체 안으로, 관심이 다른 것은 가능한 따로 떨어져 영향을 주지 않도록 분리. 템플릿 메소드 패턴( Template Method Pattern ) 슈퍼클래스에 기본적인 조작의 흐름을 만들고, 그 기능의 일부를 추상 메소드나 오버라이딩 가능한 protected 메소드 등으로 만든 뒤, 서브클라스에서 이런 메소드를 필요에 맞게 구현해서 사용하도록 하는 방법. 이 때 선택적 override 가능한 method 를 hook method 라고 한다. 팩토리 메소드 패턴( Factory Method Pattern ) 서브클래스에.. 2013. 6. 25.
반응형