본문 바로가기
[Coroutine] Coroutine context and dispatchers https://github.com/Kotlin/kotlinx.coroutines/blob/master/docs/coroutine-context-and-dispatchers.md#thread-local-data -기존에 있었던 doc 이 update 되어서 따로 정리한다. Coroutine context and dispatchers -Coroutine 은 항상 어떤 context 하에서 실행된다.이 context 는 CoroutineContext type 을 가지며 Kotlin standard lib 에 정의되어 있다. -Coroutine context 는 여러개의 element 들을 가진 set 이다.main element 는 coroutine 의 Job, dispatcher 이다. Dispatchers.. 2019. 2. 8.
[android] AsyncTask 를 Coroutine 으로 바꿔본 후기 -일반적으로 잘 사용하는 아래의 패턴은 꽤 나이스하게 바뀐다. onPreExecute 에서 progressdoInBackground 에서 bg jobonPostExecute 에서 progress 닫고 UI 작업 -// AsyncTask object : AsyncTask() { override fun onPreExecute() { showProgress(R.string.loading) } override fun doInBackground(vararg params: Void): List { return getMyAccountItemList(); } override fun onPostExecute(result: List) { if (isFinishing) return hideProgress() updateUI.. 2019. 2. 7.
[android] Secure Coding Guide [android] Secure Coding Guide -Android Secure Coding Guide 라는 간략한 세미나를 듣고 왔다.새로운 내용은 없지만, 그냥 Remind 하는 차원에서 정리해본다. 최소 권한 : 불필요한 퍼미션 사용하지 말자. 안드로이드 6.0(MOS) 부터 Runtime Permission 이 되면서 문제가 적어지지만, 이전에는 과도한 권한을 사용하는 문제가 있었다.꼭 필요한 권한만 정의해서 사용하라.위치정보를 사용할 때는 국내 위치정보법에 따라 필수 5대항목 고지 등의 의무사항이 있으니 확인해야 한다. (기획적인 내용) 소스코드 보안 : 난독화 여부 Proguard 난독화를 사용해라.기본 Proguard 말고도 난독화를 해주는 보안강화 솔루션 들도 있다. ( 옵션을 잘 확인하.. 2018. 5. 24.
Efficient Android Threading #8 AsyncTask 로 백그라운드 태스크를 UI 스레드에 묶기 Efficient Android Threading #8 AsyncTask 로 백그라운드 태스크를 UI 스레드에 묶기 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용.10.1. 기본 사항 -AsyncTask 는 실행이 완료되면 다시 실행할 수 없다.즉, execute 메서드는 일회성의 동작이고 스레드의 동작처럼 AsyncTask 인스턴스마다 오직 한 번만 호출할 수 있다. -doInBackground 작업이 끝나면 onPostExecute 혹은 onCancelled 둘 중 하나만 수행된다. ** 10.1.1 생성과 시작 -AsyncTask 의 기본 생성자는 UI 스레드에서 호출되어야 한다.젤리빈 이전의 플랫폼에서 UI 스레드가.. 2018. 3. 24.
Efficient Android Threading #7 Executor 프레임워크를 통한 스레드 실행 제어 Efficient Android Threading #7 Executor 프레임워크를 통한 스레드 실행 제어 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용.9.1. Executor -Executor 는 interface 로 void execute(Runnable command); 하나의 함수를 갖는다.단순하지만 강력하다. 이는 테스크를 만드는 것과 실행 사이에 분리를 확실하게 해주기 때문에 기본 Thread 인터페이스보다 더 자주 사용된다. -public class SimpleExecutor implements Executor { @Override public void execute(Runnable runnable){ new.. 2018. 3. 23.
[ios] AFNetworking 을 이용하여 File download start, pause, resume, stop 시키기 [ios] AFNetworking 을 이용하여 File download start, pause, resume, stop 시키기 static NSString* const kZipURL = @"http://download.thinkbroadband.com/200MB.zip"; @interface ViewController (){ AFHTTPRequestOperation* _operation;} @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [self initHTTPRequestOperation]; // 더 적합한 position 으로 옮겨야 하지만, 개념만 보여주기 위해.} - (IBAction)onStartCli.. 2018. 2. 21.
[Objective-C] 병렬 프로그래밍 [Objective-C] 병렬 프로그래밍 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 19. 19.1. 멀티 스레드 * 19.1.1. 스레드의 기본 개념 -스레드(thread)란 프로세스(process)안에서 CPU 이용권을 가진 가상적인 실행 단위이다.일반적으로 하나의 프로세스에는 하나의 스레드밖에 없지만 복수의 스레드를 생성해 프로세스 안에서 병렬로 동작시킬 수도 있다. -프로그램 실행이 시작될 때부터 동작하는 스레드를 메인 스레드라 하고 그 외에 나중에 생성된 스레드를 세컨더리 스레드(secondary thread) 또는 서브 스레드(subthread)라고 한다. -부모 스레드는 자식 스레드의 실행이 끝나길 기다렸다 합류(join)할 수 있다.대다수의 스레드 구현은 따로.. 2018. 1. 10.
[android] onActivityResult 는 app 이 background 일 때 불리지 않는다 [android] onActivityResult 는 app 이 background 일 때 불리지 않는다 - onActivityResult 는 app 이 background 일 때 불리지 않는다그래서 foreground 로 app 이 올라올 때 불리게 된다. -참고로 FLAG_ACTIVITY_NEW_TASK 를 통해 다른 task 로 수행된 activity 에 대한 결과는 항상 cancel (RESULT_CANCELED) 로 들어온다.( https://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent, int, android.os.Bundle) ) Note that thi.. 2017. 9. 20.
[iOS Study] 병렬 프로그래밍 가이드 ( dispatch source ) [iOS Study] 병렬 프로그래밍 가이드 ( dispatch source ) https://developer.apple.com/library/ios/documentation/General/Conceptual/ConcurrencyProgrammingGuide/GCDWorkQueues/GCDWorkQueues.html#//apple_ref/doc/uid/TP40008091-CH103-SW1 About dispatch source -dispatch source 는 low-level system event 를 처리하기 위한 data type 이다. -Timer dispatch source 는 주기적인 noti 를 만든다. -Signal dispatch source 는 UNIX signal 이 도착하면 not.. 2017. 7. 3.
반응형