Maven Central에 안드로이드 라이브러리 배포하기 이번에 첫 라이브러리 Compose Dynamic Theme을 배포하면서, Maven Central에 라이브러리를 배포하기 위한 한국어 자료가 거의 없다는 것을 알게 되었다. 이에 따라 Step by Step으로 배포하는 방법에 대해 정리하면 한국에서 오픈소스 기여 문화가 더욱 활성화될 수 있을 것 같아서 정리하게 되었다. GitHub - seyoungcho2/ComposeDynamicTheme: Provides Dynamic Theme for Jetpack Compose Provides Dynamic Theme for Jetpack Compose. Contribute to seyoungcho2/ComposeDynamicTheme developme..
분류 전체보기
GitHub : https://github.com/seyoungcho2/ComposeDynamicTheme 도움이 되셨다면 스타★를 눌러주세요! Dynamic Theme 이란 무엇인가? 지금까지 안드로이드에서 테마를 변경하는 것은 매우 어려운 작업이었다. 이번에 배포한 Dynamic Theme은 안드로이드의 테마 관리를 편하게 만들기 위해 개발되었다. Dynamic Theme는 안드로이드 Jetpack Compose를 위한 Material Design 기반의 테마 관리 시스템으로 단순히 테마를 적용하고 싶은 곳 최상위에 'ProvidesTheme'을 추가하여 테마를 설정하는 것을 가능하게 한다. class MainActivity : ComponentActivity() { override fun onCre..
Java의 Primitive Type, Boxed Type과 한계 Java에서는 Primitive Type(원시 타입)과 Boxed Type(박스형 타입)의 변수를 구분해 코드를 작성하였다. Boxed Type은 Class로 원시 타입을 감싸는 형태로 만들어졌다. Java Primitive Type Java Boxed Type byte Byte short Short int Integer long Long float Float double Double char Character boolean Boolean 이는 초기에 매우 효과적이었는데, 원시 타입을 사용할 수 있는 곳에 원시 타입을 사용해 코드를 만들면 메모리가 많이 절약될 수 있었기 때문이다. 하지만 이는 시간이 지날수록 비효율적이어진다. 같은 목적을..
object와 companion object의 초기화 시점 object는 싱글톤 인스턴스를 간편하게 만들기 위해 Kotlin에서 제공해주는 방법이다. object를 작성하면 싱글톤 패턴을 구현하기 위한 긴 코드를 작성할 필요 없이 쉽게 싱글턴 객체를 만들 수 있다. companion object 또한 클래스에 종속된 정적인(static) 값들을 만드는데 사용되며 여러번 생성되는 것이 아닌 한 번만 생성되는 싱글턴 패턴을 가진다. 하지만 Kotlin에서 object와 companion object는 서로 다른 초기화 시점을 갖는다. 이번 글에서는 각각의 초기화 시점에 대해 알아보려고 한다. object의 초기화 시점 object는 실제로 사용 될 때까지 초기화가 지연된다. 이에 대한 것은 공식 문서에 다음..
HTML에서 JavaScript 코드 로딩 시점 순차적으로 로딩되는 HTML HTML에서 JavaScript 코드의 로딩은 HTML 코드가 작성된 순서대로 이루어진다. 순서대로 이루어진다는 것은 위에서 부터 아래로 내려가면서 구성요소를 인식한다는 뜻이다. 예를 들어 아래와 같은 HTML 파일이 있다고 해보자. 이 HTML에서는 head부터에서 script가 추가되는데 이 스크립트는 numPlayers라는 변수를 가지고 이 변수는 document에서 "num-players"라는 아이디를 가진 구성요소를 가져온다. 참가자 수: 하지만 이 코드에서 numPlayers는 유효하지 않다. 이유는 num-players라는 아이디를 가진 구성요소가 body부에 존재하기 때문이다. 이 때문에 numPlayers는 아무..