원문 : https://qiita.com/takahirom/items/6907e810d3661e19cfcf Compose는 인수에 같은 오브젝트를 전달했을때 Composable함수를 깔끔하게 처리해줍니다.하지만 그러기 위해서는 몇가지 조건이 있습니다. 앱 모듈과 모델 뮤듈이 있어서, 앱 모듈에는 컴포즈가 적용되어 있고 Composable 함수도 있지만, 모델 모듈에는 간단하게 Article 클래스만 있다고 해봅시다. 그중 같은 오브젝트를 전달했을경우 스킵해주는 것은 Composable2 뿐입니다 아래 코드를 봐주세요. app module ------------> model module fun Composable1() class Articles fun Composable2() class Article fu..
ㅅException이 Throw여부에 따라 각각 어떤 코드를 실행하고 싶을때가 있죠. try-catch(-finally)로 구현하기 힘들때가 있습니다. try-catch(-finally)는 Exception이 Throw되었을때의 처리(또는 throw여부에 관계없이 처리) 는 구현할 수 있어도 throw 되지 않았을때의 처리를 구현하기는 어렵습니다. 예를 들어 생각해봅시다. 일단 Exception이 throw 되는것을 생각하지 않아도 되는 케이스가 있습니다. fun noException() { val myValue = getMyValue() // 값을 취득한다 .also { onMySuccess(it) // 그 다음에 onMySuccess 를 호출한다 onMyFinally() // 마지막에 onMyFina..
이 글에 대한 설명이 글은 프로그래밍 초심자에게 자신이 알고 싶었던 3가지를 추려서 가능한 단적으로 설명하여 요점을 이해할수 있도록 하기 위해 쓰여졌습니다.DI란 무엇인가?왜 필요한가?어떤 잇점이 있나?구체적인 내용은?DI란 무엇인가?한마디로 말하자면 "사용하려는 오브젝트를 전달하는 것" 입니다.이것만으로는 오히려 알아듣기 힘들지도 모르겠지만, 이게 요점입니다.마구마구 전달합시다.// 사용하려는 오브젝트 $d = new Di(); // 생성자로 전달했다. $obj = new Obj($d); // Setter로 전달했다. $obj = new Obj(); $obj->setDi($d) // Property로 전달했다. $obj = new Obj(); $obj->di = $d 보통은 의존성 주입이라고 설명되어집..
이번 구글 I/O 에서 안드로이드 개발자인 나에게 가장 인상적이었던 것은 Android Architecture Components 였다 (앞으로 약칭 AAC)RxJava의 컨셉을 이용한 LiveData와 MVVM 패턴의 성공적인 안드로이드 적용을 위한 ViewModel 그리고 모바일 개발에서 항상 골치를 썩이는 생명주기를 관리하는 Lifecycle Component 를 발표할때 여러 곳에서 활용 가능할것이라고 생각해서 가슴이 두근댔다.없던 개념을 만들어 낸것은 아니지만 안드로이드 프레임워크 내에서 개발하기에 적합한 라이브러리를 내어준 것에 감탄한다.하지만 게으름으로 인해서 계속 방치해두다가 이번에야 말로 뭔가 만들어보자는 생각으로 Realm의 DAO를 대체할 유틸을 AAC를 통해 개발해보았다. 1. 그래..
Qiita에서 좋은 글을 발견해서 번역하여 공유합니다출처 링크를 걸어둡니다. RxJava2에서 바뀐 점RxJava2.x의 릴리즈가 가까워지고 있기 때문에, What's different in 2.0를 참고하여 1.x버전과 주된 변경점을 설명하려고 합니다. 글을 쓰는 시점에서의 버전은 2.0.0-RC2입니다. 버전 상승으로 인한 변경점이 있다면 추가로 적을지도 모르겠습니다.패키지명 변경 RxJava 2.x는、ReactiveStream를 따르기 때문에, 인터페이스와 그외 여러부분이 변경되었습니다. (예: Subscription -> Disposable 등)그렇기 때문에, 별도의 패키지를 통해 제공되고 있습니다. 1.x2.xDependency notationio.reactivex:rxjava:1.x.yio.r..
FCM을 이용해서 푸시서비스를 구축하면서 . . . 푸시서비스를 새롭게 개발하면서 문제가 된 부분들이 있어서 공유 및 정리차 남겨봅니다.GCM 3.0 이 도입된 이후로 그 이후에 배포된 FCM도 IOS와 Android 양쪽을 모두 지원하고 있습니다.APNS를 따로 관리해야 했던 때와 비교하면 한번에 관리가능해졌기 때문에 한결 개발하기 수월해졌다고 할 수 있습니다.하지만 IOS 와 Android는 푸시메시지의 처리 방식이 서로 달라 실제 구현방법에 차이가 있는점을 확인 할 수 있었습니다.문제의 원인은 Payload 정의에 따라 IOS/ Android 의 처리 방식이 다르기 때문이었습니다. 안드로이드의 payload별 데이터 처리방식의 문제아래 표를 참조해보면, 안드로이드는 payload별로 위와 같이 동작..
support-library 25.0.0이후부터 RecyclerView 렌터링 퍼포먼스를 향상시키는 ItemPrefetch 라는 기능이 추가되었습니다.ItemPrefetch는 무엇인가RecyclerView에서는, 아래와 같은 처리가 이루어지고 있습니다. UIThread에서 View의 inflation 또는 bind/Animation등을 처리 ↓ GPU의 RenderThread에서 그리기GPU의 RenderThread으로 전달하는 중에 , UIThread 는idle상태에 들어갑니다. 여기서 문제가 되는 것이、스크롤을 해서 새롭게 View를 inflate해야할 필요가 있는 경우 、UIThread에서 그 처리가 이루어 지고 있는 것에 의해 지연상태가 나타나는 원인이 될수 있습니다. 25.0.0에서부터, Ite..
출처 : http://qiita.com/HeRo/items/349c8c613e133840a543 안드로이드 단말을 위한 앱이나 웹사이트 개발을 할 때 도움되는 툴과 접속방법을 메모VysorVysor는 구글 크롬 앱이고 피씨에 접속된 안드로이드 단말 화면을 피씨 화면에 보여주는것이 가능하다.특징표시만 하는것이 아니고 피씨쪽에서 조작도 가능하다.문자입력을 피씨의 키보드를 사용해서 입력할수 있는 것이 매우 편리하다.일본어 입력도 피씨쪽 IME가 아니라 단말쪽 기능을 쓰는 것이 가능Vysor를 사용 하면서 Android Studio로부터 개발중인 앱을 단말에 기동하는 것이 가능하다.を앱의 개발중에 사용하면 앱을 기동하여 단말을 손에 쥐쥐않고 피씨환경 상에서 조작할수 있다는 것이 편리하다.동작 그자체로는 완전히 ..
안녕하세요. 란테입니다.이게 제 블로그 첫 글이네요.오늘은 안드로이드에서 메모리 관리를 하기 위한 방법에 대해 적어보겠습니다.안드로이드에서 각 어플리케이션은 힙 메모리를 할당 받고 그안에서 메모리를 사용합니다.이 때 직접 메모리를 관리 하는 것이 아닌 시스템에 의해 Garbage Collect 로 메모리를 관리하게 됩니다.이로 인해 유저는 대용량의 메모리를 사용해야 하는 작업을 할 경우 OOM (Out of Memory) 에서 자유로울 수 없습니다.이를 해결 하기 위해서 여러가지 방법이 존재하고 있습니다.1. 해당 객체에 null 설정. 기본적으로 객체는 Strong Reference 로 이루어져있고 해당 객체의 Reference Count 를 0 으로 만들어 GC의 대상이 되도록 설정하는 방법이 있습니..
- Total
- Today
- Yesterday
- 쿠로키 하루
- Redux
- 리액트네이티브
- react native
- 중쇄를찍자
- 덴뿌라
- 청계천 맛집
- 을지면옥
- 평양냉면
- observable
- 맛집
- 안드로이드
- 수요미식회
- 리액트 네이티브
- 브이로그
- android
- 야키니쿠
- 여행
- 리액트
- 평양면옥
- 일본여행
- 필동면옥
- 편육
- 일드
- 을지로3가
- 도쿄맛집
- Qiita
- 도쿄
- mobx
- 우래옥
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |