task 3

의존성을 가지는 Initializer 만들기

Android Jetpack 라이브러리 중 하나인 App Startup은 안드로이드 앱 구동에 필요한 초기 설정들을 체계적으로 초기화하는데 유용한 라이브러리다. 아래는 App Startup의 사용 예시 코드인데, dependencies 함수를 보면 예시 코드의 로거 Initializer는 WorkManagerInitializer에 의존하고 있음을 알 수 있다.// Initializes ExampleLogger.class ExampleLoggerInitializer : Initializer { override fun create(context: Context): ExampleLogger { // WorkManager.getInstance() is non-null only after ..

Gradle의 이해: Task

Tasks gradle :project:tasks 를 입력하면 프로젝트에서 수행 가능한 Task들을 알 수 있다. Gradle 작업의 중요한 측면은 증분성에 있다. 이는 Gradle이 이전 빌드의 결과를 재사용 할 수 있다는 것을 의미한다. 따라서 프로젝트를 빌드하고 소스 코드의 작은 부분만 변경했다면, 다시 빌드하더라도 다시 수행해야하는 Task들은 처음 빌드보다 적어진다. > Task :app:processProductionDebugGoogleServices UP-TO-DATE > Task :app:productionDebugOssDependencyTask UP-TO-DATE > Task :app:productionDebugOssLicensesTask UP-TO-DATE > Task :app:merg..

[Docker] swarm을 알아보자

What is a swarm? Swarm은 여러 swarm mode로 동작하는 Docker 호스트들로 구성되어있다. 그들의 역할은 크게 매니저(manager)와 워커(worker)로 구분되는데, 두 가지 역할을 모두 수행하도록 할 수도 있다. 이들은 swarm에서 각각의 노드(node)가된다. 서비스(service)를 만들때 이 태스크(task)을 수행하려면 어떤 정도의 레플리카의 개수나 네트워크나 저장소 자원등을 필요로 하는지 기술하게 되는데, 이에 따라 태스크를 수행중인 어떤 노드가 망가진다면 서비스 수행이 가능한 다른 노드가 이 일을 맡게 된다. 이렇듯 Docker swarm은 클러스터링과 오케스트레이션을 쉽게 도와준다. Nodes 노드는 swarm에 참여하고 있는 Docker engine이다. 하..