gradle 3.4.0 이상으로 프로젝트를 빌드하는 경우, 플러그인은 프로가드를 사용하여 컴파일 시간 코드 최적화를 하지 않고, R8 컴파일러를 사용하여 컴파일 시간 코드 최적화 작업을 한다고 합니다.빌드 시간 증가 및 개발자의 설정 미스로 인한 버그 발생 가능성이 있
paging3란 pagination, paging으로 불리는 기법(이하 페이징)을 안드로이드에서 좀 더 쉽게 사용할 수 있도록 개발되어 제공되는 라이브러리로, Android Jetpack의 구성 요소이다. 페이징이란 전체 데이터를 쪼개어 페이지라는 가상의 단위로 로드하
안녕하세요 ! 오늘은 RxJava를 공부하다가, 코드의 가독성을 높이는 방법으로 소개된 lambda와 멤버 레퍼런스 사용에 대해 공부한 내용을 정리해보았습니다. RxJava와 같이 함수형 프로그래밍을 하거나, 코틀린답게 프로그래밍하기 위해선, 람다 식과 멤버 레퍼런스를
코틀린의 프로퍼티, 스마트 캐스트(타입 검사, 타입 캐스트, 타입 강제 변환), 예외 처리 개념을 알아보겠습니다. 이 문서는 Kotlin In Action 을 참고하여 공부하고 정리한 내용입니다. 그럼 오늘도 화이팅 입니다. 🌿
객체 지향의 원칙에 따르면, **상속보다는 조립을 사용하는 것이 좋다**고 합니다. 그 이유인 **상속을 통한 재사용의 단점**들에 대해서 알아보고, 조립과 상속의 예시들을 살펴보겠습니다. 오늘도 화이팅 입니다 🌿
오늘은 제가 Android 개발자로 활동하는 MARU와 관련된 주제를 가지고 왔습니다!
안녕하세요 ! 오늘은 compileSdkVersion, targetSdkVersion, minSdkVersion가 무엇인지, 호환성 모드란 어떻게 작동하는지 알아보려고 합니다. 권장 설정 방법에 대해서도 이야기 해보려고 합니다. 그럼 오늘도 화이팅 합시다 🌿
안녕하세요 ! 오늘은 코딩테스트를 위한 파이선이라는 주제로, 파이선의 자료형, 자료구조 구현, 입출력 방식, 대표적인 라이브러리 6가지에 대해 소개하려 합니다. 정독하기보단, 필요에 따라 ctrl+f로 참조하시는 것을 추천드립니다. 그럼 오늘도 화이팅 🌿 파이선의
안녕하세요 :) 오늘은 안드로이드 Context에 대해 알아보려고 합니다. context : Context 매개변수를 요구하는 메서드를 사용해보신적이 많으실텐데요. 과연 context가 무엇이고 왜 필요한지, context 종류는 어떤것이 있고, 각 종류의 contex
안녕하세요 :) 오늘은 메인스레드, main() 함수라는 것이 무엇인지 살펴보고, 안드로이드 환경에선 이 개념이 어떻게 적용되는지 알아보려합니다. 안드로이드 메인스레드의 역할, 생성, 특징에 대해 알아볼 것입니다.
안녕하세요 :) 안드로이드 개발을 하다보면, tv.text = "hello"나, tv.setText("World!")로 UI를 업데이트할 때가 있는데요. 이런 명령어가 실행될때 내부적으로 어떤일이 일어나는지 궁금해보신적 없으신가요 ? 전 너무 궁금했네요.
안녕하세요 :) 오늘은 MessageQueue 의 작업 대상인 Message 와 Runnable 에 대해 공부하고, 이 시리즈의 꽃인 Handler에 대해 설명해보려 합니다. 이전 게시물과 연계되는 지식이 왕왕 요구되므로, 참고하시면서 이해하시길 바랍니다. 오늘도
안녕하세요 :) 안드로이드의 스레드와 핸들러의 동작구조에 대해 이해하기위해, Thread, Handler, Looper, Message, MessageQueue를 살펴보려고 합니다. 이 글에선 각 요소들의 Android Framework 소스를 확인하고, 그들의 동작방
모바일 환경에 최적화된 런타임을 제공하기 위해, 기존 자바 가상머신인 JVM을 대체하여 DVM이 나타났습니다.이후 DVM이 지금의 ART로 발전되었습니다. 안드로이드 OS와 자바/코틀린이 돌아가는 런타임은 어떻게 구성되고 동작하는지, 이 큰 흐름을 가지고 이 글을 이해
안녕하세요 :) 오늘은 비트 연산 사용하는 BF 알고리즘에 대해 알아보겠습니다. 비트 연산을 잘 사용하면 정수로 집합을 표현할 수 있어, 공간 복잡도를 낮출 수 있어 효율적인 구현이 가능하게됩니다. 그럼 오늘도 화이팅 입니다🌿
안녕하세요 :) 오늘은 Dynamic Programing(DP)에 대해 알아보겠습니다. 피보나치 수를 구하는 방법처럼, 특정 문제를 중복되는 작은 문제로 쪼개어 풀 때, 효율적인 방법으로 사용되는 방법입니다. BF 알고리즘에서 한 층 더 발전된 알고리즘으로 접근하시면
안녕하세요 :) 오늘은 순열을 사용하는 BF 알고리즘에 대해 알아보겠습니다. 줄서는 방법, 특정 작업 순서의 모든 경우의 수 등, 순서가 중요한 작업에 있어 BF + 순열을 사용합니다. 그럼 오늘도 화이팅 입니다🌿
안녕하세요 ! 이번에 알아볼 것은 순한맛일땐 온순하지만, 매운맛일땐 정말 극악의 난이도를 자랑하는 brute force입니다. brute force는 가능한 모든 경우의 수에 대해 직접 실행, 연산 해보는 알고리즘입니다.
안녕하세요 :) Android 개발에서 사용되는 MVP 아키텍처 패턴에 대해 알아보겠습니다. 오늘은 잘 알려진 MVP의 구현 방법들 중에서 Google에서 제공한 샘플 코드의 Contract 정의 방법에 대한 설명을 자세히 하려고 합니다. 그럼 오늘도 화이팅 입니다
안녕하세요 :) 오늘은 Android 프로젝트 구성과 Android Studio에서 프로젝트를 보여주는 방식인 Android 뷰, Project 뷰에 대해 알아보겠습니다. 이 글을 통해 Android 프로젝트 구조에 대해 파악하는 계기가 되었으면 좋겠습니다.