본문 바로가기
[android] Google Sign In 코드 짜기 #2 [android] Google Sign In 코드 짜기 #2 https://developers.google.com/identity/sign-in/android/sign-in GoogleSignInApi ref doc.https://developers.google.com/android/reference/com/google/android/gms/auth/api/signin/package-summary -sign-in activity 의 onCreate 에서 GoogleSignInOptions 과 GoogleApiClient 를 생성한다.private void doSomething() { GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSign.. 2018. 2. 23.
[Objective-C] NSObject 클래스와 런타임 시스템 [Objective-C] NSObject 클래스와 런타임 시스템 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 8. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 8.1. NSObject 클래스 * 8.1.1. 루트 클래스의 역할 -런타임 시스템은 Objective-C 용 운영체제 같은 것으로, 객체 생성, 해제에 따른 메모리 영역 관리와 송신된 메시지에 대응하는 메서드 검색 등을 한다. -보통은 프로그램에서 런타임 시스템 기능을 직접 사용하지 않는다.이런 기본 기능은 루트 클래스인 NSObject 에 있는 메서드로 제공된다.다시 말해 루트 클래스는 런타임 .. 2017. 12. 29.
[Objective-C] 참조 카운터를 사용한 메모리 관리 방법 [Objective-C] 참조 카운터를 사용한 메모리 관리 방법 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 5. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 5.1. 동적 메모리 관리 * 5.1.1. 메모리 관리의 필요성 -이미 해제된 부분을 가리키는 위험한 포인터를 댕글링 포인터(dangling pointer) 또는 허상 포인터라고 부른다. * 5.1.2. 카운터 관리 방식과 ARC, 가비지 컬렉션 -Objective-C 2.0 에는 카운터 관리 방식과 다른, 가비지 컬렉션이라는 메모리 관리 방식도 이용할 수 있게 되었다.가비지 컬렉션은 프로그램의 일.. 2017. 12. 27.
[Objective-C] 객체 형식과 동적 결합 [Objective-C] 객체 형식과 동적 결합 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 4. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 4.1. 동적 결합 * 4.1.1. 동적 결합이란 -Objective-C 에서 어떤 객체가 그 메시지를 처리할 수 있는지 아니면 없는지, 어떻게 처리하는지는 실제로 메시지를 보낼 대 정해진다. 송신된 메시지에 대응해서 어떤 메시지가 실행될지가 실행 시에 결정되는 방식을 동적 결합 (dynamic binding) 또는 동적 구속이라고 부릅니다. -C 언어는 컴파일할 때 대부분이 정적으로 결정되므로 동적 결합 기능이 .. 2017. 12. 26.
[ios] EXC_BAD_ACCESS 디버그 & NSZombie [ios] EXC_BAD_ACCESS 디버그 & NSZombie -다음과 같은 경우에 EXC_BAD_ACCESS 가 발생한다. 1. object 가 initialize 되지 않았다. 2. object 가 이미 release 되어 있다. 3. 그 외… (이 경우는 주로 발생하지 않는다.) -EXC_BAD_ACCESS 디버그는 NSZombie 를 enabling 함으로써 쉽게 접근할 수 있다. 1. XCode 에서 [Product] 메뉴 -> [Scheme] -> [Edit Scheme…] 2. Run 의 [Diagnostics] 탭으로 가서 [Enable Zombie Objects] 를 체크한다. 이렇게 하면 Release 된 object 들이 NSZombie 로 잡혀서 debug 하기가 쉽다. debug.. 2017. 12. 12.
[Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #49~#52 [Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #49~#52 출처 : Effective Objective-C #49 : 커스텀 메모리 관리 시맨틱을 가진 컬렉션을 만들기 위해 무비용 전환을 사용하라 무비용 전환은 Foundation 의 오브젝티브-C 객체와 CoreFoundation 의 C 데이터 구조체 간에 캐스팅을 할 수 있게 한다. CoreFoundation 으로 내려가 컬렉션을 생성하면 컬렉션이 자신의 데이터를 다룰 때 사용되는 다양한 콜백을 정의할 수 있다. 무비용 전환을 이용해 캐스팅하면 커스텀 메모리 관리 시맨틱을 갖는 오브젝티브-C 컬렉션을 만들 수 있다. #50 : 캐시가 필요할 때 NSDictionary 보다는 N.. 2017. 10. 21.
[Effective Objective-C] #51 initialize 와 load 메서드는 간결하게 만들라 [Effective Objective-C] #51 initialize 와 load 메서드는 간결하게 만들라 출처 : Effective Objective-C -오브젝티브-C 에서 최상위 클래스인 NSObject 를 상속한 대다수 클래스에는 초기화를 할 수 있는 몇 가지 메서드가 있다.이 메서드들 중 첫 번째는 load 이고 프로토타입은 다음과 같다.+ (void)load -클래스와 카테고리가 런타임에 추가될 때 이 메서드가 딱 한 번 호출된다.이는 클래스 또는 카테고리를 포함하는 라이브러리가 로드될 때, 즉 일반적으로 앱이 처음 실행(launch)될 때 일어난다.하지만 iOS 용 앱일 때만 해당된다.맥 OS X 앱은 동적 로딩(dynamic loading)같은 기능을 자유롭게 쓸 수 있다.그렇기 때문에 앱.. 2017. 10. 19.
[Kotlin Tutorial] Operator overload 와 convention #2 [Kotlin Tutorial] Operator overload 와 convention #2 출처 : Kotlin in action 7.3. Destructuring declarations and component functions -val p = Point(10, 20)val (x, y) = p // destructuringprintln(x)println(y) -destructuring 도 convention 을 사용한다.componentN 이 호출된다. ( N 은 숫자 )val (a, b) = p // val a = p.component1()// val b = p.component2() -data class 는 compiler 가 primaryConstructor 에 정의된 모든 property 에 .. 2017. 8. 29.
[iOS Study] NSUserDefaults [iOS Study] NSUserDefaults 출처 : 아론 힐리가스의 iOS 프로그래밍 -사용자의 환경설정(preferences) 을 가진 plist 가 각 앱 번들 안에 저장된다.개발자는 NSUserDefaults 클래스를 사용하여 이 plist 에 접근할 수 있다.또한 앱의 환경설정 plist 는 설정 앱에서 수정할 수 있다.이를 허용하려면 앱 안에 설정 번들(settings bundle)을 만들어야 한다. -사용자의 기본 설정(default) 집합은 키-값 쌍의 모음이다.키는 기본 설정의 이름이고 값은 키에 해당하는 사용자가 선호하는 것을 나타내는 데이터이다.공유 사용자 기본값 객체에 그 키의 값을 요청한다.이것은 딕셔너리에서 객체를 가져오는 것과 다르지 않다. NSUserDefaults *de.. 2016. 3. 27.
반응형