본문 바로가기
[android] ConstraintLayout Tutorial [android] ConstraintLayout Tutorial https://developer.android.com/training/constraint-layout/index.html -ConstraintLayout 은 RelativeLayout 과 매우 비슷하게 Flat 한 view hierarchy 를 만들 수 있으면서도. 조금 더 유연하게 사용할 수 있다.그리고 Android Studio Layout Editor 를 통해 쉽게 설정할 수도 있어 편리하다. ( 이것을 key 로 미는 듯 ) -여기서 궁금한 거 하나 더!!Flat view hierarchy 는 알겠는데 그만큼 성능도 좋을까?결론은 성능도 좋다. ( 다른 layout 에 비해 약 10% 이상 빠르다 )https://medium.com/.. 2018. 3. 3.
Composite Pattern ( 콤포지션 패턴 ) Composite Pattern ( 콤포지션 패턴 ) https://en.wikipedia.org/?title=Composite_pattern -객체들의 관계를 트리 구조로 구성하여사용자가 단일 객체와 복합 객체 모두 동일하게 다루도록 하는 것이 포인트이다. -Composite pattern 에는 3가지 구성요소가 필요하다.1. 공통적으로 사용하고자 하는 function 을 담은 interface "Component".2. 단일 객체들을 담을 수 있는 복합 객체이며, interface 를 구현한 "Composite". 이 녀석들은 add, remove 함수와 내부적으로 list 를 갖는다.3. 단일 객체에 해당하는 interface 를 구현한 "Leaf". - ADD, Composite, Composit.. 2017. 6. 30.
[iOS] 연락처 이미지에 접근하기 [iOS] 연락처 이미지에 접근하기 https://developer.apple.com/library/ios/documentation/AddressBook/Reference/ABPersonRef_iPhoneOS/index.html#//apple_ref/doc/uid/TP40007210-CH3-SW9 -ABPersonSetImageData // setABPersonCopyImageData // getABPersonCopyImageDataWithFormat // getABPersonHashImageData // boolean checkABPersonRemoveImageData // remove abperson, ABPersonCopyImageData, ABPersonCopyImageDataWithFormat,.. 2017. 6. 23.
[Java Concurrency] 구성 단위 #1 [Java Concurrency] 구성 단위 #1 5.1. 동기화된 컬렉션 클래스 - 동기화되어 있는 컬렉션 클래스의 대표 주자는 Vector 와 Hashtable 이다. - JDK 1.2 부터는 Collections.synchronizedXxx 메소드를 사용해 이와 비슷하게 동기화되어 있는 몇 가지 클래스를 만들어 사용할 수 있게 됐다. 이와 같은 클래스는 모두 public 으로 선언된 모든 메소드를 클래스 내부에 캡슐화해 내부의 값을 한 번에 한 스레드만 사용할 수 있도록 제어하면서 스레드 안전성을 확보하고 있다. - 동기화된 컬렉션 클래스는 스레드 안전성을 확보하고 있기는 하다. 하지만 여러 개의 연산을 묶어 하나의 단일 연산처럼 활용해야 할 필요성이 항상 발생한다. - 동기화된 컬렉션 클래스는 대.. 2017. 4. 20.
[Java] What is "CopyOnWriteArrayList" [Java] What is "CopyOnWriteArrayList" http://developer.android.com/reference/java/util/concurrent/CopyOnWriteArrayList.html - Thread-safe 한 random access list. - Read 는 block 이 걸리지 않는다. addAll, clear 와 같은 aggregate operation 은 atomic 하다. - Iterator 를 사용할 때는 copy 본을 사용하기 때문에 ConcurrentModificationException 이 절대 발생하지 않는다. 대신 Iterator 가 최근 state 를 항상 반영하는 것은 아니다. - Iterator 가 copy 본이기 때문에 iterator .. 2017. 2. 22.
[Effective Java] 종전의 for 루프보다는 for-each 루프를 사용하자. [Effective Java] 종전의 for 루프보다는 for-each 루프를 사용하자. - for-each 문은 Iterable 인터페이스를 구현하는 어떤 객체도 반복 처리가 가능하다. Iterable 은 다음과 같이 정의된 interface 이다. public interface Iterable{ Iterator iterator();} Iterable 인터페이스 구현은 어렵지 않다. Summary for-each 루프는 종전 for 루프에 비해 많은 장점을 제공한다. 성능 저하가 없으면서 명료하고 버그를 방지해준다. for-each 루프를 사용할 수 없는 경우는 3 가지가 있다. 1. 필터링(filtering) - 어떤 컬렉션의 요소들을 오가면서 선택된 요소들을 삭제할 필요가 있다면 명시적 iterat.. 2017. 1. 26.
[android] Binder Tokens 에 대해 이해해보자. [android] Binder Tokens 에 대해 이해해보자. Binder Tokens -Binder object 는 system 에서 하나의 Unique ID ( 32-bit )를 갖는다.Binder 가 system 안에서 Unique ID 를 갖는것은 security 문제를 해결하는 데 도움이 된다. - Binder 가 쓰이는 가장 대표적인 예는 Service의 aidl 연결이나 WakeLock 등이 있겠다. Window Tokens -WIndow Token 은 Window manager 가 사용하는 특별한 token 이다. 각 window 를 구별하는 데 사용된다. - WindowToken 은 다른 허가되지 않은 앱이 다른 app 위에 무언가를 그리는 것을 불허한다. Window 를 새로 add .. 2016. 5. 26.
[android] v7 에 추가된 RecyclerView 에 대해 알아보자 #2 [android] v7 에 추가된 RecyclerView 에 대해 알아보자 #2 출처 : https://developer.android.com/preview/material/ui-widgets.html#recyclerview v7 에 추가된 RecyclerView 에 대해 알아보자 #1 RecyclerViewRecyclerView 는 더 향상되고, 더 유동적인 버전의 ListVIew 라 할 수 있겠다.이 widget 은 recycle 될 수 있고, scroll 될 수 있는 view 들을 갖는다. 즉 listview 나 gridview 로 보면 되겠다. RecyclerView 는 사용하기 편하다. 다음의 것들을 제공하기 때문이다.- item positioning 을 위한 LayoutManager- 일반적인.. 2015. 11. 29.
[android] v7 에 추가된 RecyclerView 에 대해 알아보자 #1 v7 에 추가된 RecyclerView 에 대해 알아보자 #1 참조 : http://antonioleiva.com/recyclerview RecyclerView? 그게 뭐야? RecyclerView 는 새로운 ViewGroup 이며, ListView 의 확장판이라고도 불린다.최신 support-v7 에 포함되었다. RecyclerView 는 확장성을 고려하여 생성되었다. RecyclerView 를 사용하기 위해서는 RecyclerView.Adapter, LayoutManager 이렇게 2개의 컴퍼넌트가 필요하고, 필요에 따라 ItemAnimator, ItemDecorator 등이 추가될 수 있다. RecyclerView.Adatper RecyclerView 의 Adapter 는 기존에 사용되던 패턴을 포.. 2015. 6. 15.
반응형