본문 바로가기
[Facebook] Access Token, Permissions and Roles [Facebook] Access Token, Permissions and Roles https://developers.facebook.com/docs/facebook-login/access-tokens/https://developers.facebook.com/docs/facebook-login/access-tokens/expiration-and-extension -Facebook 로그인을 사용하여 앱에 연결하면, 앱에서 FB API 에 임시적인 Access Token 을 받을 수 있다.이 Token 에는 만료 시기와 토큰을 생성한 앱에 대한 정보가 있다.AccessToken 은 여러 API 를 통해 발급받을 수 있으며, Graph API 를 호출하는 데 사용된다. -AccessToken 은 다음의 유형이.. 2018. 2. 27.
[Facebook] 그래프 API ( Graph API ) Overview [Facebook] 그래프 API ( Graph API ) Overview https://developers.facebook.com/docs/graph-api/overviewhttps://developers.facebook.com/docs/graph-api/using-graph-api-노드, 에지, 필드 라는 component 로 구성된다. 노드 : 사용자, 사진, 페이지, 댓글 같은 항목에지 : Node 간의 연결필드 : Node 에 대한 정보 -대부분의 그래프 API 요청에는 엑세스 토큰을 사용해야 한다. -각 Node 에는 고유한 ID 가 있고, Graph API 를 통해 해당 ID 를 접근하면 Node 에 대한 정보가 나온다.노드 ID 구조나 형식은 변경 가능성이 높기 때문에 해당 form 을 f.. 2018. 2. 26.
[ios] Nullable & NonNull annotation [ios] Nullable & NonNull annotation -안드로이드에 보면 @Nullable, @NonNull 이라는 annotation 이 있어 API 사용에 대한 혜안을 주기 편리하다. -iOS 에도 있을까? -있다._Nullable 과 _Nonnull 이 그것이다. --(NSString* _Nullable)informationWithId:(NSString* _Nonnull)id; 위와 같은 문법으로 사용하면 된다. -_Nullable 과 _Nonnull 대신 nullable 과 nonnull 로 사용해도 된다.대신 이 경우에는 괄호의 처음에 온다.-(nullable NSString*)informationWithId:(nonnull NSString*)id; -property 에도 nullab.. 2017. 10. 30.
[Effective Objective-C] #38 많이 사용하는 블록 타입은 typedef 를 이용해 타입을 생성하라 [Effective Objective-C] #38 많이 사용하는 블록 타입은 typedef 를 이용해 타입을 생성하라 출처 : Effective Objective-C -블록은 내재 타입(inherent)이다.블록은 적절한 타입의 변수에 할당될 수 있다. -블록의 타입은 다음과 같이 생겼다.return_type (^block_name) (paramters) 블록 변수(block-variable) 정의는 변수 이름을 맨 오른쪽에 두는 다른 타입들과 달리 변수 이름을 가운데 둔다.이로 인해 블록 타입 정의 문법을 기억하고 읽기가 매우 어려워진다.그렇기 때문에 자주 사용되는 블록 타입을 위한 타입 정의를 만드는 것은 좋은 생각이다.특히 다른 사람들이 사용하는 API 일 때 유용하다.이와 같이 이름 뒤에 블록 타.. 2017. 10. 2.
[Kotlin Tutorial] DSL construction - Chap 11. [Kotlin Tutorial] DSL construction - Chap 11. 참조 : Kotlin in action 11.1. From APIs to DSLs -DSL 을 작성하기 전에 생각해봐야 할 것이 있다. 우리의 (Kotlin?) 궁극적 목표는 가독성과 유지보수성을 최대로 늘리는 것.그것은 곧 좋은 API 를 설계하는 것으로 이어진다. 그렇다면 API 가 clean 하다는 것은 무슨 의미일까?1. 사용자가 읽기 좋은 것. 그것은 name 과 concept 을 잘 잡는 것이다.2. 의미없는 syntax 는 빼고, 최소한의 코드로 code 가 읽기 좋은 것. -Kotlin 에서는 clean API 를 위해서 extension function, infix calls, lambda syntax sh.. 2017. 9. 14.
[Effective Objective-C] #28 프로토콜을 이용해 익명 객체를 제공하라. [Effective Objective-C] #28 프로토콜을 이용해 익명 객체를 제공하라. 출처 : Effective Objective-C -프로토콜은 프로토콜을 따르는 객체가 구현할(또는 선택(optional)이 아니라면 반드시 구현해야 할) 메서드들을 정의한다.프로토콜은 API 의 자세한 구현 내용을 숨기기 위해 사용할 수 있는데, 그 방법은 반환하는 객체를 프로토콜을 따르는 평범한 id 타입으로 반환하는 것이다.이 방법을 쓰면 특정 클래스 이름이 API 에 노출되지 않는다.이는 인터페이스 뒤편에 수많은 종류의 클래스가 있고 그 모든 클래스를 명시하고 싶지 않을 때 유용하다.다른 말로 하면 하나의 공통 기초 클래스(common base class) 타입으로 반환해야 하는 API 에서 반환해야 할 클래.. 2017. 9. 12.
[Effective Objective-C] #18 가변 객체보다는 불변 객체를 사용하라 [Effective Objective-C] #18 가변 객체보다는 불변 객체를 사용하라 출처 : Effective Objective-C -프로퍼티를 기본 설정으로 두면 읽기 쓰기(read-write) 인데 이는 클래스를 가변적(mutable)로 만든다. -컬렉션이 가변 객체를 저장하고 집합(컬렉션)에 포함된 객체가 변형된다면, 집합의 내부 데이터 구조는 쉽게 불일치(inconsistent) 상태가 될 것이다.객체는 필요할 때만 가변적으로 만드는 것을 추천한다. -불변 객체를 만든다는 것은 프로퍼티를 외부에 읽기 전용으로 만든 다음 필요할 때만 데이터를 노출하는 것을 의미한다. -클래스를 불변으로 만들려면 모든 프로퍼티에 readonly 속성을 추가하면 된다.이제 무엇이든 프로퍼티 값을 변경하려 하면 컴파.. 2017. 8. 21.
[android] 추가된 유용한 annotations [android] 추가된 유용한 annotations http://tools.android.com/tech-docs/support-annotationshttps://developer.android.com/reference/android/support/annotation/package-summary.html -Android support library 19.1 version 에서 annotation 들을 추가했다. -이 녀석을 사용하려면 gradle 에 다음을 추가해야 한다. compile ‘com.android.support:support-annotations:20.0.0’ 여기서는 크게 3가지 형태의 annotation 을 제공한다. 1. Nullness annotattions2. Resource ty.. 2017. 8. 2.
[iOS] NS_AVAILABLE_IOS  와 NS_DEPRECATED_IOS 의 의미는? [iOS] NS_AVAILABLE_IOS 와 NS_DEPRECATED_IOS 의 의미는? http://iosdevelopertips.com/best-practices/eveything-you-need-to-know-about-ios-and-os-x-deprecated-apis.html -NS_AVAILABLE_IOS(5_0) 위의 접미어는 이 함수는 iOS 5.0 에 새로 들어와서 이 버전 이후에서만 유효하다는 것을 이야기한다.만약 이 함수가 iOS 5.0 이하 버전에서 불린다면 crash 가 발생한다. -NS_DEPRECATED_IOS(2_0, 6_0) 위의 접미어는 2개의 버전을 표시하고 있다.첫번째 버전은 introduced version 이고, 두번째 버전은 deprecated version 이다.. 2017. 6. 17.
반응형