본문 바로가기
[android] Dagger2 for Android Beginners - Dagger 는 static, compile-time dependency injection framework 이다. 기존 버전(1.x)은 Square 에 의해 만들어졌고, 새 버전은 (2.x) Google 에 의해 유지보수되고 있다. - Hard dependency 는.. reusability 를 감소시킨다. testing 을 어렵게 한다. 코드의 scale up 이나 유지보수를 어렵게 한다. - Dependency 에는 다음의 type 이 있다. class, interface ,method/field, direct/indirect - java 에서 new operator 로 instance 를 생성하면, 독립적으로 test 되기가 어렵다. 이를 dependency 라 불린다. - Dependency.. 2018. 12. 3.
Efficient Android Threading #5 기본 스레드의 생명주기 관리 Efficient Android Threading #5 기본 스레드의 생명주기 관리 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용.7.1. 기본 사항 ** 7.1.1. 생명주기 -스레드는 다음의 생명 주기를 갖는다. 생성 : 스레드를 생성한 스레드와 동일한 우선순위로 할당된다.실행 : start() 가 호출될 때 실행 환경이 설정되고 실행될 준비가 된다. 이후 스케줄러가 이 스레드를 선택하면 run 메서드가 호출된다.차단/대기 : sleep(), yield() 등이 수행되었을 때이다.종료 : run 메서드가 종료된 상태이다. 최종상태에며 Thread 인스턴스나 실행 환경은 재사용 할 수 없다. ** 7.1.2. 인터럽트 -.. 2018. 3. 21.
[android] App Shortcuts Tutorial [android] App Shortcuts Tutorial https://catinean.com/2016/10/20/exploring-android-nougat-7-1-app-shortcuts/ - -Android N ( Nougat ) 7.1 버전부터 사용 가능. -Shortcut 이 설정된 앱은 롱 프레스를 하면 위의 스샷처럼 바로가기 옵션이 나온다. -간단한 정리 특정 동작을 진입과 동시에 할 수 있다는 것이 키 포인트 static 과 dynamic shortcut 2가지 종류가 있다. static 은 xml 에 정의하여 앱 안에 내용이 정의되어 있다. ( 수정하려면 앱 수정 및 재배포를 해야 한다. ) dynamic 은 Runtime 에 바꿀 수 있다. shortcut 으로 앱을 열 때 activ.. 2018. 2. 25.
[Objective-C] 카테고리 [Objective-C] 카테고리 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 10. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 10.1. 카테고리 선언과 정의 * 10.1.1. 카테고리란 -카테고리는 클래스와 마찬가지로 인터페이스로 선언하고, 구현 부분에 그 정의를 기술한다.단, 인스턴스 변수를 선언할 수는 없으며, 카테고리는 메서드만 포함한다.메서드는 인스턴스 메서드와 클래스 메서드 양쪽 다 가능하다. -카테고리 구현 부분에도 인스턴스 변수를 선언할 수 없다.메서드 정의에서는 그 클래스의 다른 메서드를 호출하거나 인스턴스 변수에 자유롭게 접근할 수 .. 2018. 1. 2.
[Objective-C] Objective-C 프로그램 [Objective-C] Objective-C 프로그램 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 2. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 2.1. 객체와 메시지 * 2.1.1. 메시지 표현식 * 2.1.2. 메시지 셀렉터 -함수명(메서드명)을 메시지 셀렉터(message selector) 또는 셀렉터(selector) 라고도 부른다. -인수가 있는 키워드는 콜론도 셀럭터에 포함되므로 주의즉 copy 와 copy: 는 다른 셀렉터. -메시지 키워드는 변수의 명명규칙에 따라 이름을 지으며, 소문자로 시작하는 것이 관례 -메시지에 인수가 있으면 메.. 2017. 12. 24.
[ios] extern const vs. static const in header [ios] extern const vs. static const in header -extern 으로 설정하면 global 하게 유효한 변수가 되기 때문에 == 비교가 가능하다. -static 으로 설정된 변수는 본디 Objective-C 에서는 해당 파일에서 유효하다.따라서 == 비교가 불가능하고, 해당 Type 에 대해 비교를 해야 한다. -Globally Unique 한 Const 선언을 위해서라면 extern 으로 설정하여 사용하는 것이 더 옳다. -주의사항은, extern 으로 설정하는 녀석들은 접두어를 잘 붙여서 사용해야 conflict 가 나지 않는다. [Objective-C] Constant(상수) 정의하기[ios] objective-c 에서의 static constant 정의 하는 방법... 2017. 12. 15.
[Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #41 ~ #48 [Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #41 ~ #48 출처 : Effective Objective-C #41 : 동기화에는 락보다는 디스패치 큐를 사용하라 동기화 문법을 제공하기 위해 디스패치 큐를 사용할 수 있다. 그리고 그냥 간단하게 @synchronized 블록이나 NSLock 객체를 이용해 동기화를 제공할 수도 있다. 동기화와 비동기화 디스패치를 함께 사용하는 것은 일반적인 락으로 하는 동기화와 동일한 기능을 제공할 수 있지만, 스레드에서 비동기 디스패치로 호출하면 잠금 없이 호출한다. 병렬 큐와 배리어 블록을 이용하면 동기화를 좀 더 효율적으로 할 수 있다. #42 : performSelector 메서드군보다는 .. 2017. 10. 16.
[Effective Objective-C] #45 스레드 안전한 단일 시간 코드 실행은 dispatch_once 를 이용하라 [Effective Objective-C] #45 스레드 안전한 단일 시간 코드 실행은 dispatch_once 를 이용하라 출처 : Effective Objective-C -싱글턴 디자인 패턴은 보통 shared instance 라는 클래스 메서드를 통해 구현된다.이는 매번 새로운 인스턴스를 할당하는 대신 클래스의 싱글턴 인스턴스를 반환한다.@implementation EOCClass + (id)sharedInstance{ static EOCClass *sharedInstance = nil; @synchronized(self){ if ( !sharedInstance){ sharedInstance = [[self alloc] init]; } }} @end -싱글턴의 화재는 스레드 안전에 대한 것이다.싱글.. 2017. 10. 10.
[Effecitve Objective-C] #4 전처리기 #define 보다는 타입이 있는 상수를 사용하라 [Effecitve Objective-C] #4 전처리기 #define 보다는 타입이 있는 상수를 사용하라 출처 : Effective Objective-C -#define 은 전처리기 지시어이다. (preprocessor) -#define 정의는 타입에 대한 정보가 없다. -#define 이 헤더 파일에 선언되어 있다면 그 헤더 파일을 포함하는 모든 곳에서 #define 으로 정의한 상수값을 치환한다. -preprocessor 보다는 상수를 정의하는 것이 항상 더 좋은 방법이다. // implementation static const NSTimeInterval kAnimatinoDuration = 0.3; @implementation @end -상수의 일반적인 표기법은 k 소문자를 상수 맨 앞에 붙이는 .. 2017. 7. 24.
반응형