분류 전체보기
-
/* 본 게시물은 ' Do it 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : #코루틴 1. 코틀린 코루틴의 디스패처(코루틴의 문맥) 코루틴은 항상 특정 문맥에서 실행된다. 이때 어떤 문맥에서 코루틴을 실행할지는 디스패처가 결정한다. Dispatchers.Default : 기본 문맥인 CommonPool에서 실행되고 GlobalScope.launch{...} 와 launch(Dispatchers.Default){...} 는 같은 표현이다. 스레드를 새로 생성하지 않고 기존에 있는 것을 이용한다. 이는 연산 중심의 코드에 적합하다. Dispatchers.IO : 입출력 위주의 동작을 하는 코드에 적합한 공유된 풀이다. 따라서 블로킹 동작이 많은 파..
[Kotlin] 코루틴(2)/* 본 게시물은 ' Do it 코틀린 프로그래밍 | with 황영덕 ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : #코루틴 1. 코틀린 코루틴의 디스패처(코루틴의 문맥) 코루틴은 항상 특정 문맥에서 실행된다. 이때 어떤 문맥에서 코루틴을 실행할지는 디스패처가 결정한다. Dispatchers.Default : 기본 문맥인 CommonPool에서 실행되고 GlobalScope.launch{...} 와 launch(Dispatchers.Default){...} 는 같은 표현이다. 스레드를 새로 생성하지 않고 기존에 있는 것을 이용한다. 이는 연산 중심의 코드에 적합하다. Dispatchers.IO : 입출력 위주의 동작을 하는 코드에 적합한 공유된 풀이다. 따라서 블로킹 동작이 많은 파..
2021.08.12 -
/* 본 게시물은 'Do it 코틀린 프로그래밍 | 황영덕 지음' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [쾌락코딩 - 코틀린 코루틴 개념익히기] :https://wooooooak.github.io/kotlin/2019/08/25/%EC%BD%94%ED%8B%80%EB%A6%B0-%EC%BD%94%EB%A3%A8%ED%8B%B4-%EA%B0%9C%EB%85%90-%EC%9D%B5%ED%9E%88%EA%B8%B0/ [Android Developers - 코루틴] : https://developer.android.com/kotlin/coroutines?hl=ko&gclid=Cj0KCQjw6s2IBhCnARIsAP8RfAigEgqWZEOi1JxECYvJTYFbuGsdz8Jk_qj0Bt17p9e0mS..
[Kotlin] 코루틴 / 비동기 프로그래밍/* 본 게시물은 'Do it 코틀린 프로그래밍 | 황영덕 지음' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [쾌락코딩 - 코틀린 코루틴 개념익히기] :https://wooooooak.github.io/kotlin/2019/08/25/%EC%BD%94%ED%8B%80%EB%A6%B0-%EC%BD%94%EB%A3%A8%ED%8B%B4-%EA%B0%9C%EB%85%90-%EC%9D%B5%ED%9E%88%EA%B8%B0/ [Android Developers - 코루틴] : https://developer.android.com/kotlin/coroutines?hl=ko&gclid=Cj0KCQjw6s2IBhCnARIsAP8RfAigEgqWZEOi1JxECYvJTYFbuGsdz8Jk_qj0Bt17p9e0mS..
2021.08.11 -
/* 본 게시물은 '참고 자료' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [안드로이드 부트캠프 Room 사용법] : https://www.youtube.com/watch?v=_A2FDHPQX0E [안드로이드 Room의 사용법과 예제] : https://todaycode.tistory.com/39 #Room 1. Room이란? Room은 스마트폰 내장 DB에 데이터를 저장하기 위해 사용하는 라이브러리이다. SQLite를 통해 스마트폰 내장 DB에 접근할 수 있지만 아래와 같은 단점 또한 존재한다. 우리가 직접 sql문을 써서 관리하기 때문에 오타로 인한 오류 가능성이 높다. 이러한 단점을 해결하기 위해 Room을 사용한다. Room은 기존 SQLite를 활용해서 객체를 매핑하는 역할을 한다. 2...
[Android] Room/* 본 게시물은 '참고 자료' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [안드로이드 부트캠프 Room 사용법] : https://www.youtube.com/watch?v=_A2FDHPQX0E [안드로이드 Room의 사용법과 예제] : https://todaycode.tistory.com/39 #Room 1. Room이란? Room은 스마트폰 내장 DB에 데이터를 저장하기 위해 사용하는 라이브러리이다. SQLite를 통해 스마트폰 내장 DB에 접근할 수 있지만 아래와 같은 단점 또한 존재한다. 우리가 직접 sql문을 써서 관리하기 때문에 오타로 인한 오류 가능성이 높다. 이러한 단점을 해결하기 위해 Room을 사용한다. Room은 기존 SQLite를 활용해서 객체를 매핑하는 역할을 한다. 2...
2021.08.10 -
/* 본 게시물은 '참고자료' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [boostcourse - 앱 프로그래밍 - 데이터 베이스] : https://www.boostcourse.org/mo316/joinLectures/13174?isDesc=false #SQL 사용자가 앱의 화면에서 데이터를 입력하면 서버에 보내어 저장할 수도 있고 단말에 저장할 수 있다. 저장소로 많이 사용되는 것이 데이터베이스이며 실무에서는 관계형 데이터베이스를 많이 볼 수 있다. 웹서버쪽에서 데이터베이스를 사용하는 것처럼 단말에서도 데이터베이스를 사용할 수 있다면 좀 더 쉽게 데이터를 저장하고 조회할 수 있는데 안드로이드에서는 SQLite라는 관계형 데이터베이스를 제공한다. 1. 데이터 베이스 데이터베이스는 저장소이며 관..
[Android] SQLite/* 본 게시물은 '참고자료' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [boostcourse - 앱 프로그래밍 - 데이터 베이스] : https://www.boostcourse.org/mo316/joinLectures/13174?isDesc=false #SQL 사용자가 앱의 화면에서 데이터를 입력하면 서버에 보내어 저장할 수도 있고 단말에 저장할 수 있다. 저장소로 많이 사용되는 것이 데이터베이스이며 실무에서는 관계형 데이터베이스를 많이 볼 수 있다. 웹서버쪽에서 데이터베이스를 사용하는 것처럼 단말에서도 데이터베이스를 사용할 수 있다면 좀 더 쉽게 데이터를 저장하고 조회할 수 있는데 안드로이드에서는 SQLite라는 관계형 데이터베이스를 제공한다. 1. 데이터 베이스 데이터베이스는 저장소이며 관..
2021.08.06 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [위키백과 - 버퍼] : https://ko.wikipedia.org/wiki/%EB%B2%84%ED%8D%BC_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EA%B3%BC%ED%95%99) [버퍼란?] : https://medium.com/@yeon22/term-%EB%B2%84%ED%8D%BC-buffer-%EB%9E%80-662de1e6ac5b (Term) 버퍼(Buffer)란? 우리는 유튜브와 같은 동영상 사이트에서 동영상을 볼 때 영상이 중간에 멈추면 ‘버퍼링 걸렸다’ 라고 흔히 말합니다. 그렇다면 여기서 말하는 버퍼(buffer)란 무엇인지 간단히 알아보겠습니다 medium.com 버퍼 (컴퓨터 과학) - 위키..
[CS] 버퍼/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [위키백과 - 버퍼] : https://ko.wikipedia.org/wiki/%EB%B2%84%ED%8D%BC_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EA%B3%BC%ED%95%99) [버퍼란?] : https://medium.com/@yeon22/term-%EB%B2%84%ED%8D%BC-buffer-%EB%9E%80-662de1e6ac5b (Term) 버퍼(Buffer)란? 우리는 유튜브와 같은 동영상 사이트에서 동영상을 볼 때 영상이 중간에 멈추면 ‘버퍼링 걸렸다’ 라고 흔히 말합니다. 그렇다면 여기서 말하는 버퍼(buffer)란 무엇인지 간단히 알아보겠습니다 medium.com 버퍼 (컴퓨터 과학) - 위키..
2021.08.03 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : https://lannstark.tistory.com/34 InputStream은 데이터를 byte 단위로 읽어오는 통로이다. (읽어온 데이터를 byte로 돌려준다.) 이를 읽기 위해서는 InputStreamReader를 사용해야 한다. InputStream의 특징으로는 다음과 같다. 데이터 읽기 특정 시점으로 되돌아가기 얼마나 데이터가 남았는지 보여주기 ( available() ) 통로끊기 ( close() )
[Kotlin] Java InputStream이란?/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : https://lannstark.tistory.com/34 InputStream은 데이터를 byte 단위로 읽어오는 통로이다. (읽어온 데이터를 byte로 돌려준다.) 이를 읽기 위해서는 InputStreamReader를 사용해야 한다. InputStream의 특징으로는 다음과 같다. 데이터 읽기 특정 시점으로 되돌아가기 얼마나 데이터가 남았는지 보여주기 ( available() ) 통로끊기 ( close() )
2021.08.03 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [BoostCourse HTTP 이해하기] : https://www.boostcourse.org/mo316/lecture/17089?isDesc=false # HTTP란? 우리는 인터넷에서 데이터를 주고 받을 때 HTTP를 많이 사용한다. 웹 브라우저에서 서버에 연결하고 웹페이지를 받아 와 화면에 보여줄 때 사용하는 것이 HTTP이기 때문에 인터넷에서 웹페이지를 요청하고 응답으로 받을 때는 HTTP를 사용한다고 생각하면 된다. 그러면 HTTP는 무엇일까? HTTP에 앞서 소켓에 대해 간단히 설명해보자. 소켓 소켓은 서버 소켓과 클라이언트 소켓을 만들고 서로 연결하는 과정을 거치게 된다. 서버 소켓은 연결을 기다리는 역할을 하고 클..
[Web] HTTP 이해하기/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [BoostCourse HTTP 이해하기] : https://www.boostcourse.org/mo316/lecture/17089?isDesc=false # HTTP란? 우리는 인터넷에서 데이터를 주고 받을 때 HTTP를 많이 사용한다. 웹 브라우저에서 서버에 연결하고 웹페이지를 받아 와 화면에 보여줄 때 사용하는 것이 HTTP이기 때문에 인터넷에서 웹페이지를 요청하고 응답으로 받을 때는 HTTP를 사용한다고 생각하면 된다. 그러면 HTTP는 무엇일까? HTTP에 앞서 소켓에 대해 간단히 설명해보자. 소켓 소켓은 서버 소켓과 클라이언트 소켓을 만들고 서로 연결하는 과정을 거치게 된다. 서버 소켓은 연결을 기다리는 역할을 하고 클..
2021.08.03 -
/* 본 게시물은 'Compose CookBook' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Compose CookBook] : https://github.com/Gurupreet/ComposeCookBook 실행 결과 ListActivity class ListActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { ListViewContent { onBackPressed() } } } } @Composable fun ListViewContent(onBack: () -> Unit){ Scaffold( topBar ..
[Jetpack Compose] ListView/* 본 게시물은 'Compose CookBook' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Compose CookBook] : https://github.com/Gurupreet/ComposeCookBook 실행 결과 ListActivity class ListActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { ListViewContent { onBackPressed() } } } } @Composable fun ListViewContent(onBack: () -> Unit){ Scaffold( topBar ..
2021.07.26 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : 기본 코드 베이스는 저번에 만든 BottomNavigation을 활용하겠다. Jetpack Compose의 장점은 기존의 View 와 호환이 가능하다는 점이다. 이를 이용해 Activity 간 이동을 구현해보자. SecondActivity class SecondActivity : ComponentActivity() { private val key: String by lazy { intent?.getStringExtra("key") ?: "key is null" } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState..
[Jetpack Compose] Activity 간 이동/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : 기본 코드 베이스는 저번에 만든 BottomNavigation을 활용하겠다. Jetpack Compose의 장점은 기존의 View 와 호환이 가능하다는 점이다. 이를 이용해 Activity 간 이동을 구현해보자. SecondActivity class SecondActivity : ComponentActivity() { private val key: String by lazy { intent?.getStringExtra("key") ?: "key is null" } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState..
2021.07.26 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : 실행 결과 HomeScreen @Composable fun HomeScreen(homeScreen: BottomNavType) { val context = LocalContext.current Scaffold( modifier = Modifier.testTag(TestTags.HOME_SCREEN_ROOT), topBar = { TopAppBar( title = { Text(text = "MainActivity") }, elevation = 18.dp, //왼쪽 Naviagation Icon navigationIcon = { IconButton( onClick = { Toast.makeText(context, "Ba..
[Jetpack Compose] TopAppBar/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : 실행 결과 HomeScreen @Composable fun HomeScreen(homeScreen: BottomNavType) { val context = LocalContext.current Scaffold( modifier = Modifier.testTag(TestTags.HOME_SCREEN_ROOT), topBar = { TopAppBar( title = { Text(text = "MainActivity") }, elevation = 18.dp, //왼쪽 Naviagation Icon navigationIcon = { IconButton( onClick = { Toast.makeText(context, "Ba..
2021.07.26 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : https://foso.github.io/Jetpack-Compose-Playground/material/snackbar/
[Jetpack Compose] jetpack compose playground/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : https://foso.github.io/Jetpack-Compose-Playground/material/snackbar/
2021.07.26 -
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : https://github.com/Gurupreet/ComposeCookBook 실행 결과 MainActivity import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.animation.Crossfade import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.material...
[Jetpack Compose] BottomNavigation/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [URL] : https://github.com/Gurupreet/ComposeCookBook 실행 결과 MainActivity import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.animation.Crossfade import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.material...
2021.07.26