분류 전체보기

Git Git은 소스코드의 변경을 관리하기 위해 만들어진 툴으로 VCS(Version Control System)라고도 불린다. 말 그대로 코드의 버전을 관리하는 시스템이다. Git은 코드를 관리하기 위해 다양한 기능을 제공한다. Commit이라 불리는 Snapshot을 생성하거나 Branch를 사용해 서로 다른 code version을 만들어낼 수 있고, checkout을 사용해 Branch간에 전환을 할 수 있다. 즉, Git으로 코드를 망가트리지 않고 특정 Code 스냅샷으로 이동하거나 할 수 있어 코드의 변경을 관리해야 될 때 주로 사용된다. Github Github는 Cloud 기반 Git 저장소를 제공하는 서비스이다. GitHub을 사용하면 로컬 Git을 Cloud에 보관할 수 있다. 이를 통..
로그를 사용한 디버깅의 필요성 Kotlin Coroutines는 같은 Coroutine Builder(launch, async 등) 의 중괄호 내부의 코드들이 다른 스레드에서 실행될 수 있다. 예를 들어 아래 코드에서 "task1 : start" 는 메인 스레드에서 실행되지만, "task1 : end"는 DefaultExecutor 스레드에서 실행된다. import kotlinx.coroutines.* fun main() = runBlocking { val task1 = launch(Dispatchers.Unconfined) { log("task1 : start") delay(100) log("task1 : end") } val task2 = launch { log("task2 : start") dela..
디버깅을 하기 위한 준비 Kotlin Coroutines는 일시 중단 후에는 다른 스레드에서 실행될 수 있기 때문에 디버깅을 하기가 매우 어렵다. 이 글에서는 디버깅을 하기 어려운 예 중에 가장 간단한 예시를 제시할 것이다. 다음의 코드를 보자. import kotlinx.coroutines.* fun main() = runBlocking { launch(Dispatchers.Unconfined) { println("launch1 Working Thread : ${Thread.currentThread().name}") delay(100) println("launch1 Working Thread : ${Thread.currentThread().name}") } launch { println("launch2..
Compose의 AnimatedVisiblity 란? AnimatedVisibility란 Jetpack Compose에서 나타짐과 사라짐을 애니메이션으로 처리하기 위해 제공되는 API이다. 가장 기본적이고 간단한 API이며, 동시에 가장 강력한 API이다. 왠만한 애니메이션들은 AnimatedVisibility 하나로 모두 처리할 수 있다. Animated Visibility 내부 살펴보기 AnimatedVisiblity 내부에는 visible, modifier, enter, exit, label, content 총 6가지 파라미터가 들어간다. @Composable fun AnimatedVisibility( visible: Boolean, modifier: Modifier = Modifier, enter..
Tab과 ViewPager은 언제 사용되는가? Swipe해서 탭이 바뀌는 UI는 많은 앱에 쓰이며, 여러 페이지를 탭으로 구성해 사용 복잡도를 줄이기 위해 사용한다. 그림1과 같은 동작으로 Tab을 직접 클릭해서 Page를 이동할 수도 있으며, Swipe 동작을 통해 페이지를 이동할 수도 있다. 오늘은 이러한 UI를 만드는 방법에 대해 알아보고자 한다. 위 페이지를 만들기 위해서는 다음 단계들을 거쳐야 한다. Tab + ViewPager 만들기 위한 라이브러리 추가하기 Tab 목록 만들기 PagerState 선언하기 CoroutineScope 선언하기 TabRow 만들기 HorizontalPager 만들기 Compose로 Tab과 ViewPager 만들기 1. Tab + ViewPager 만들기 위한 ..
Dev.Cho
'분류 전체보기' 카테고리의 글 목록 (32 Page)