본문 바로가기
Efficient Android Threading #11 AsyncQueryHandler 를 이용한 콘텐트 프로바이더 접근 Efficient Android Threading #11 AsyncQueryHandler 를 이용한 콘텐트 프로바이더 접근 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. 13.1. 콘텐트 프로바이더에 대한 간략한 소개 -AsyncQueryHandler 는 ContentProvider 에서 비동기적 CRUD 작업 처리를 전문으로 하는 유틸 클래스이다.작업은 별도 스레드에서 실행되고, 결과가 사용 가능할 때는 콜백이 시작하는 스레드에서 호출된다.AsyncQueryHandler 클래스는 UI 스레드에서 CP 로 작업을 떠넘기는데 사용되고, UI 스레드는 백그라운드 태스크가 완료되면 결과를 수신한다. 13.2. 콘텐트 프로바이더.. 2018. 3. 27.
Efficient Android Threading #3 프로세스 간 통신 Efficient Android Threading #3 프로세스 간 통신 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. 5.1. 안드로이드 RPC -안드로이드의 변형 리눅스 커널 안에서, 리눅스 IPC 기술은 프로세스 사이의 RPC 메커니즘을 수행하는 바인더 프레임워크로 대체되었다.이를 통해 클라이언트 프로세스는 마치 로컬에서 메서드를 실행하듯 서버 프로세스의 원격 메서드를 호출할 수 있다. -RPC 메서드 호출 자체는 단순하지만, RPC 매커니즘의 하부는 다음과 같은 단계로 구성된다. 1. 메서드 데이터 분해(마샬링, marshalling)2. 원격 프로세스로 마샬링된 정보를 전송3. 원격 프로세스에 정보를 재구성(언마.. 2018. 3. 19.
[Effective Objective-C] #39 핸들러 블록을 사용해 코드가 여러 개로 나뉘는 것을 막으라 [Effective Objective-C] #39 핸들러 블록을 사용해 코드가 여러 개로 나뉘는 것을 막으라 출처 : Effective Objective-C -특정 상황에서 앱이 특정 시간 동안 응답하지 않으면 자동으로 종료될 수 있다.특히 iOS 앱은 반드시 종료된다.시스템 와치독(system watchdog)은 특정 시간 동안 메인 스레드가 중단된 앱은 강제로 종료시킨다. -비동기 메서드를 쓰면 일을 끝냈을 때 완료 사실을 알고 싶어 하는 것들에 완료 사실을 알려주는 방법이 필요하다.이를 할 수 있는 방법이 몇 가지 있다.일반적으로 쓰는 방법은 객체가 따를 수 있는(conform) 델리게이트 프로토콜을 이용하는 것이다.델리게이트 객체는 비동기 작업의 완료 같은 적절한 이벤트가 발생하면 알림을 받을 수.. 2017. 10. 3.
[iOS Study] 자동 회전, 팝오버 컨트롤러, 모달 뷰 컨트롤러 [iOS Study] 자동 회전, 팝오버 컨트롤러, 모달 뷰 컨트롤러 출처 : 아론 힐리가스의 iOS 프로그래밍 -이 장에서는 아래의 주제를 다룬다. 장치 의존적인 코드를 작성하는 방법과 장치의 종류에 따라 테스트하는 방법 회전, 팝오버 컨트롤러, 모달 뷰 컨트롤러 -iOS 에서는 방향을 장치방향 (device orientation) 과 인터페이스 방향(interface orientation) 두 가지로 구분한다. -장치 방향은 장치 표면이나 후면에서 정방향, 뒤집힌 상태, 왼쪽 회전, 오른쪽 회전인지에 따른 물리적 방향을 나타낸다.UIDevice 클래스의 orientation 프로퍼티를 통해 장치의 방향에 접근할 수 있다. -인터페이스 방향은 실행 중인 프로그램의 프로퍼티이다. UIInterfaceOr.. 2016. 3. 5.
[Effective Java] 쓸모 없는 객체 참조를 제거하자. [Effective Java] 쓸모 없는 객체 참조를 제거하자. - 자바와 같이 가비지 컬렉션을 자동으로 해주는 언어는 메모리 관리를 따로 해줄 필요가 없다고 생각하기 쉬우나, 이는 틀린 생각이다. GC 의 원리에 대해 정확히 이해하고 메모리 관리를 해주어야 한다. 다만 그 메모리 관리하는 범위가 C, C++ 과 같은 GC 가 없는 언어들에 비해 더 간단할 뿐! - 자바에서도 메모리 누출(memory leak)이 쉽게 발견된다. 메모리 누수가 생기면, 성능저하의 형태로 서서히 나타난다. GC 작업이 증가하거나, 메모리 할당과 회수 횟수가 빈번해지기 때문이다. 심하면 디스크 페이징 현상이 나타나기도 하고, 아주 극단적으로는 OutOfMemoryError 가 발생한다. 메모리 누수의 무서운 점은, 특정 객체.. 2016. 1. 4.
[VB6] Form(Component) 관련 Event 와 Function들 Form(Component) 관련 Event 와 Function들 [이전강좌] VB의 특징과 장점에 대해 알고 싶나요? 이곳을 클릭 VB6 Form ( Component ) 관련 대표 Event 들 ClickDblClick : 더블클릭DragDropGetFocusKeyDownKeyPressKeyUpLostFocusMouseDownMouseUp LoadUnload VB6 Form ( Component ) 관련 대표 Function 들 AddItemList 나 Combobox 에 Item 을 추가할 때 사용된다. DragDrag & Drop Action 에 대한 Callback HideForm 을 숨긴다. MoveForm 의 위치를 이동한다. PrintForm 에 Text 를 쓴다. SetFocusForm .. 2013. 5. 28.
[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.
[jQuery/Tutorial] Callback 을 잘 사용해보자. JavaScript 는 Callback function 을 전달하기가 쉽다.다른 function 의 argument 로 전달하면, 해당 function 의 실질적인 작업이 끝나면 callback function 이 수행된다. jQuery #1 은 argument 가 없는 myCallBack 이란 이름의 callback function 을 등록한다.이 때 " " 를 넣어 string 화하지 않아야 하며, () 도 넣어서는 안된다. #2 는 callback 전달이 아니라, myCallBack( param1, param2 ) 의 수행결과, 즉 return value 가 get 의 2번째 argument 로 전달되는 격이다. #3 은 argument 를 2개 가진 callback function 을 등록한 경우.. 2013. 5. 8.
반응형