본문 바로가기
[Database] -journal 파일의 정체는 뭘까? ( + WAL, temp files ) [Database] -journal 파일의 정체는 뭘까? ( + WAL, temp files ) http://gywn.net/2013/08/let-me-intorduce-sqlite/http://www.sqlite.org/tempfiles.html Journal --journal 은 rollback journal 이다.이는 SQLite 에서 atomic commit & rollback 을 지원하기 위한 임시 파일이다.-journal 의 파일명을 갖는다. rollback journal 은 보통 transaction 이 시작될 때 생성이 되고, 보통 transaction 이 commit 또는 rollback 으로 끝날 때 삭제된다. -보통 이 journal 파일은 SQLite DB 가 open 되었을 때, .. 2019. 1. 15.
[SQLite3] 03. SQL 고급 #2 [SQLite3] 03. SQL 고급 #2 이 글은 "빠르게 활용하는 모바일 데이터베이스 SQLite3” 이란 글을 보며 필요한 내용만 정리한 글입니다.자세한 내용은 책을 구매해서 보세요 9. 트리거 -DB TRIGGER 란 특정 테이블이나 뷰에 INSERT, DELETE, UPDATE 와 같은 데이터 조작 이벤트가 발생했을 때 자동으로 지정된 동작을 수행하게 하는 것이다. 트리거 활용 -syntaxCREATE TRIGGER [triggerName] [triggerTiming] [triggerOperation] ON [tableName]BEGIN [sqlOperations]END; triggerTiming 은 아래와 같다.BEFORE : 대상 테이블의 CUD 동작 직전에 트리거에서 지정한 동작이 수행된다.. 2018. 5. 19.
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.
[Java Concurrency] 작업 실행 [Java Concurrency] 작업 실행 - 앱이 해야 할 일을 "작업"이라는 단위로 분할하면 프로그램의 구조를 간결하게 잡을 수 있고, 트랜잭션의 범위를 지정함으로써 오류에 효과적으로 대응할 수 있고, 작업 실행 부분의 병렬성을 자연스럽게 극대화 할 수 있다. 6.1. 스레드에서 작업 실행 - 프로그램에서 일어나는 일을 작업이라는 단위로 재구성하고자 한다면 가장 먼저 해야 할 일은 작업의 범위를 어디까지로 할 것인지 정하는 일이다. 원론적으로 보자면 작업은 완전히 독립적인 동작을 말한다. 독립성이 갖춰져 있어야 병렬성을 보장할 수 있다. 작업을 스케쥴링하거나 부하 분산(load balancing)을 하고자 할 때 폭넓은 유연성을 얻으려면 각 작업이 앱의 전체적인 업무 내용 가운데 충분히 작은 부분을.. 2017. 4. 24.
[android] TransactionTooLargeException 에 대한 이야기 [android] TransactionTooLargeException 에 대한 이야기 http://developer.android.com/reference/android/os/TransactionTooLargeException.html -Binder transaction 이 너무 큰 operation 으로 실패하는 경우에 발생한다. -remote call 시 argument 나 return value 는 Parcel object 의 형태로 전송되며, 이 녀석이 Binder transaction buffer 에 저장이 된다.만약에 argument 나 return value 가 transaction buffer 에 담기 너무 큰 용량이 되면 TransactionTooLargeException 이 발생한다. .. 2017. 4. 16.
[android] ContentProviderOperation 에 대한 짧은 이야기 [android] ContentProviderOperation 에 대한 짧은 이야기 https://www.grokkingandroid.com/better-performance-with-contentprovideroperation/http://stackoverflow.com/questions/4655291/semantics-of-withvaluebackreferencehttps://developer.android.com/reference/android/content/ContentProviderOperation.Builder.html -여러 개의 data 에 대하 Create, Delete, Update 를 수행하려면 ContentProviderOperation 을 사용하여 batch 를 돌리는 것이 추천된.. 2017. 4. 15.
sqlite 의 transaction mode 와 lock 의 종류 특성. sqlite 의 transaction mode 와 lock 의 종류 특성. - Transaction 은 deffered, immediate, exclusive 3가지 모드로 진행될 수 있다. - 기본 transaction 은 deffered 이다. - DEFFERED 의 lock 이 모드일 때 database 에 실질적인 action 이 있기 전까지는 lock 을 잡지 않는다. DB 에 read action 이 생기면 SHARED lock 이 걸린다. 반대로 DB 에 첫 write action 이 생기면 RESERVED lock 이 걸린다. - IMMEDIATE 의 lock 이 모드일 때는 begin 명령이 떨어지자마자 RESERVED lock 을 걸어버린다. 이 상태에서는 BEGIN IMMEDIATE .. 2014. 8. 31.
[Android] 제대로 된 REST API 를 구축해보자. [Android] 제대로 된 REST API 를 구축해보자. reference : http://mytechaddiction.blogspot.kr/2014/02/rest-interaction-in-android.html?utm_source=Android+Weekly&utm_campaign=4254f212fb-Android_Weekly_91&utm_medium=email&utm_term=0_4eb677ad19-4254f212fb-337262377 Anti-Patterns 1. UI Thread 에서 API Call. 2. Activity 나 Fragment 등에서 Thread 를 만들어 요청 3. 결과를 Memory 에만 저장하여 사용. Decouple the UI from the http call. Act.. 2014. 3. 18.
[android] addToBackStack( String name ) 뭐하는 녀석이냐? 안드로이드, addToBackStack( String name ) FragmentTransaction.addToBackStack( String name ) name 은 optional 로 들어간다.이 함수가 불리면 이 transaction 은 back stack 에 쌓인다.이것은 다시 말해 이 transaction 은 기억되고, 후에 stack 에서 pop 이 될 수 있다. addtobackstack, Android, back stack, fragment pop, fragment stack, fragmenttransaction, Name, POP, Stack, stack pop, transaction, 안드로이드 2013. 10. 23.
반응형