본문 바로가기
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.
[Java] Executor : Java Concurrency API [Java] Executor : Java Concurrency API - Executor Interface 제공된 Runnable 을 실행하는 객체가 구현해야 할 인터페이스. execute( Runnable ) 을 구현해야 한다. public interface Executor {void execute(Runnable command);} - ExecutorService interface Executor 의 라이프 사이클을 관리할 수 있는 기능을 제공한다. 추가로 Runnable 뿐만 아니라 Callable 도 작업할 수 있다. void shutdown() 이미 Executor 에 제공된 작업은 실행되지만, 새로운 작업은 수용하지 않는다. List shutdownNow() 현재 실행중인 모든 작업을 중지시키.. 2017. 3. 8.
[Django] 파이썬 웹 프로그래밍 - Django 의 핵심 기능 #2 [Django] 파이썬 웹 프로그래밍 - Django 의 핵심 기능 #2 * 4.4.1. HTML 에서의 폼 -HTTP 프로토콜 중 폼에서 사용할 수 있는 HTTP 메소드는 GET 과 POST 뿐이다.장고는 이 중에서도 폼 처리에는 POST 방식만을 사용하고 있다.추가적으로 장고는 보안을 강화하기 위해 CSRF 방지 기능을 제공한다. * 4.4.2. 장고의 폼 기능 -장고는 폼 처리를 위해 다음 3가지 기능을 제공한다. 폼 생성에 필요한 데이터를 폼 클래스로 구조화하기 폼 클래스의 데이터를 랜더링하여 HTML 폼 만들기 사용자로부터 제출된 폼과 데이터를 수신하고 처리하기 -장고의 모델 클래스가 데이터베이스 테이블의 논리적인 구조 및 동작 기능, 우리에게 보여지는 방식들을 기술.. 2016. 12. 15.
[android] Fragment 와 함께라면 Configuration Change 가 무섭지 않아. [android] Fragment 와 함께라면 Configuration Change 가 무섭지 않아. -애석하게도 대부분의 개발자들이 manifest 에 configChanges 속성을 통해 orientation 값만 설정해주면 모든게 해결되는 줄 안다. 하지만 그렇지 않다. Configuration Change 는 여러 경우에 발생된다. 기본적으로 configChanges 에 들어가는 값들의 상황이 그렇고, 언어가 변경되거나, dock 에 연결되거나, font 크기가 바뀌거나 등의 조건으로 destroy-recreate 되곤 한다. 또한 리소스, 메모리 관리 측면에서 Activity 가 destroy 되고 create 되도록 하는 것이 좋다. - 예전부터 개발을 해온 사람이라면 Activity 에 on.. 2016. 10. 12.
[android] CharSequence.equlas( CharSeqence ) 이야기 안드로이드, CharSequence.equals( CharSequence ) edittext 의 내용을 비교하기 위해 CharSeqeucne.equals( CharSequence ) 를 했는데,항상 false 를 내뿜는다. ex)edittext1.getText().equals( edittext2.getText() ) // return false always. 이번에는 같은 내용의 string 과 비교했지만 항상 false 를 내뱉는다. ex)edittext1.getText().equals( "Gamza" ) // return false always 같은 reference 를 가르키는 것이 아니라면 항상 false 를 내뱉는다. 그럼 어떻게 비교할까? 1. Charsequence 에 toString 값을 .. 2013. 8. 8.
[java/tutorial] regexp 에 대해 알아보자. Regular Expression ( regexp ) 에 대해 알아보자. Regular Expression 이 뭐야? String 에 대한 검색 패턴을 정의한 것을 Regular Expression ( 정규식 ) 이라 부른다. Regular Expression 은 보통 축약형으로 Regexp 라고 부른다. Regexp 는 string 의 일부분을 찾고, 수정하는 등의 작업을 하는 데 쓰인다. Regexp 는 String의 왼쪽에서 오른쪽으로 적용되며, 한번 match 된 string 의 일부는 그 다음 검색에서 제외된다. Java, Perl, Groovy 등 대부분의 언어에서 지원되지만, 그 문법과 사용 형태 등은 언어마다 조금씩 다르다. 일반적인 사용 기호 . : 어떤 문자든 match ^regexp .. 2013. 6. 26.
[DOM/Tutorial] DOM 의 event flow. ( Capture, Bubble ) 참조 : w3.org 공식 홈페이지 DOM 의 event flow. DOM 의 event 는 Root Node에서부터 Target 노드로, 그리고 다시 Root Node 로 돌아온다. 이 Event 의 순환에는 phase 가 있는데 Root 에서 Target Node 까지 Event가 흘러가는 것을 Capture Phase. Target 에서의 Event 를 Target Phase. 그리고 Target 에서 Root Node 로 다시 돌아오는 것을 Bubbling Phase 라고 한다. * addEventListener 를 걸 때, 세번째 인자인 useCapture 를 true 로 주게 되면, capturingPhase 시에 callback function 이 호출되고, 반대로 useCapture를 fa.. 2013. 5. 8.
반응형