본문 바로가기
[android 보안] 안드로이드 보안 모델 #1 [android 보안] 안드로이드 보안 모델 출처 : Android Security Internals 1장개요 목차 1. 안드로이드 보안 모델 1.1. 안드로이드의 아키텍처 1.1.1. 리눅스 커널 1.1.2. 네이티브 사용자 공간 1.1.3. 달빅 가상 머신 1.1.4. 자바 런타임 라이브러리 1.1.5. 시스템 서비스 1.1.6. 프로세스 간 통신 1.1.7. 바인더 1.1.8. 안드로이드 프레임워크 라이브러리 1.1.9. 앱 1.2. 안드로이드 보안 모델 1.2.1. 앱 샌드박스 1.2.2. 권한 1.2.3. IPC 1.2.4. 코드 서명과 플랫폼 키 1.2.5. 다중 사용자 지원 1.2.6. SELinux 1.2.7. 시스템 업데이트 1.2.8. 검증된 부트 1.3. 요약 1.1. 안드로이드의 아.. 2018. 4. 14.
[android] RxJava가 뭐야? 맛보기! [android] RxJava가 뭐야? 맛보기! https://medium.com/@LIP/rxjava-29cfb3ceb4ca#.9nadkqnzxhttp://blog.danlew.net/2014/10/08/grokking-rxjava-part-4/ -RxJava 란 Reactive Programming 을 위한 라이브러리인 Rx(Reactive Extensions)의 JVM 판이다.Rx 라는 녀석은 C# 에서 처음 개념이 나왔다고 볼 수 있다.Rx 란 비동기처리와 이벤트기반의 프로그램 개발을 위해 유용한 기능들을 제공하는 확장판이라고 볼 수 있다. -Reactive(반응적인) 코드의 기본적인 구성 요소는 Observable 들과 Subscriber 들이다.Observable 은 아이템들을 발행(emit).. 2018. 3. 9.
[android] 최고의 안드로이드 개발 원칙 [android] 최고의 안드로이드 개발 원칙 https://medium.freecodecamp.com/android-development-best-practices-83c94b027fd3#.fkhdpa3m0cf) 현재 제가 잘 못 하고 있는 것을 빨간 색 마킹 했습니다. ( 결론은 test 군요.. ) -Google 이 추천하는 Android architecture 를 사용하라. -코드 퀄리티를 항상 좋게 유지하라. -Unit test 를 항상 포함하라. JVM 에서 돌 수 있는 Java 코드들은 단말 위에서 테스트하는 것보다 훨씬 빠르다. Android dependency 가 있는 코드들은 Robolectric 을 사용하는 것을 추천한다. Mockito 도 좋다. -Functional UI test .. 2018. 3. 7.
[Kotlin] Kotlin 은 Compile time 이 느리다는데.. 사실일까? [Kotlin] Kotlin 은 Compile time 이 느리다는데.. 사실일까? https://medium.com/keepsafe-engineering/kotlin-vs-java-compilation-speed-e6c174b39b5d -위 글을 쓴 필자는 Java base 로 되어 있는 출시된 앱을 전부 Kotlin 으로 전환하여 자신만의 Compile time 을 측정해보았다. -테스트 환경 및 조건 #1 빌드는 총 10번 연속으로 돌려서 평균값 산출Hardware 는 i7-6000 3.4GHz, 32G DDR4, Samsung 850 Pro SSD, Gradle 2.14.1 빌드시마다 매번 clean build or notGradle daemon 사용 or not코드 변경 유무 -Clean bui.. 2017. 9. 26.
[Kotlin Tutorial] The Kotlin ecosystem [Kotlin Tutorial] The Kotlin ecosystem 참조 : Kotlin in action -비록 Kotlin 의 역사는 오래되지 않았지만, 이미 lib, framework, tool 들로 구성된 ecosystem 이 잘 마련되었다.그리고 그들은 대부분 외부 개발 커뮤니티에서 개발된 것이다. https://kotlin.link/ 여기 가면 많은 정보를 얻을 수 있다. -Kotlin 은 Java 와 함께 사용가능하기 떄문에,lib 검색할 떄 Kotlin lib 으로 한정지을 필요가 없다. 당연히 Java lib 을 가져다 써도 된다. 1. Testing -JUnit, TestNG 도 좋지만, 아래 DSL 들은 더 표현력이 풍부하다. KotlinTest https://github.com/k.. 2017. 9. 22.
[Kotlin Tutorial] 한 차원 높은 함수 : 람다를 parameter 와 return value 로 - Chap8. Higher-order functions: lambdas as parameters and return values [Kotlin Tutorial] 한 차원 높은 함수 : 람다를 parameter 와 return value 로 - Chap8. Higher-order functions: lambdas as parameters and return values 참조 : Kotlin in action 8.1. Declaring higher-order functions -Higher-order function 이란 argument 와 return 으로 다른 function 을 갖는 것을 의미한다.Kotlin 에서는 function 이 lambda 나 function reference 로 표시된다. 8.1.1. Function types -val sum = { x:Int, y:Int -> x+y }val action = { pr.. 2017. 8. 31.
[android] Annotation Processing 에 대한 이야기 [android] Annotation Processing 에 대한 이야기 http://hannesdorfmann.com/annotation-processing/annotationprocessing101 The Basics -annotation processing 은 compile time 에 annotation 을 확인하여 어떤 action 을 하는 것을 이야기한다. -annotation processing 은 Java 5 부터 가능하다.그러나 사용할만한 API 는 Java 6 에 release 되었다. -annotation processor 는 java code 나 byte code 를 input 으로 받아서 java 파일로 output 을 생성한다.이 생성된 output 은 compile time 에.. 2017. 7. 31.
[android] Kotlin (코틀린) 이 뭐야? [android] Kotlin (코틀린) 이 뭐야? 참조 : https://realm.io/kr/news/android-kotlin/ -kotlin 이 등장하기 시작한 것은, Oracle 과 Google 의 Java 에 대한 소송으로부터 야기된다.언젠가 Google 이 패소하거나, 소송에 지쳐 Java 를 버릴 수 있다는 판단 하에 사람들은 대안이 될 수 있는 언어를 찾는다.구글의 새로운 언어인 Go 가 그 위치를 차지한다는 이야기가 있었지만, 기존 android 가 Java 와 JVM 기반이기 때문에 이는 신빙성이 낮고..JVM 기반에서 작동할 수 있는 Kotlin 이 유력한 대안으로 이야기되고 있다가.. 이제 정식으로 공식 언어가 되었다!! -Kotlin 은 Jetbrains( Intelli J 만든.. 2017. 7. 25.
[Java] nio vs. io ( 성능, 개념 ) [Java] nio vs. io ( 성능, 개념 ) http://eincs.com/2009/08/java-nio-bytebuffer-channel-file/ -기존 자바 io 는 커널 버퍼를 직접 핸들링 할 수 없어 JVM 이 내부 메모리에 불러온 후 데이터에 접근할 수 있었다.JVM 내부 메모리 복사과정에 오버헤드가 생긴다. 여기서 말하는 오버헤드는 CPU 오버헤드, 메모리 오버헤드(GC 대상), Thread blocking 등이 있겠다. -nio 는 direct buffer 로 커널 버퍼를 직접 핸들링하기 떄문에 빠르다.기존 io 의 단점을 보완한다. direct buffer 를 이용하려면 ByteBuffer.allocateDirect( size ) 를 통해서 buffer 를 생성해야 한다. -nio.. 2017. 6. 13.
반응형