전체 글

Jetpack Compose에서 ViewModel 사용하기: 심층 가이드 (MainActivity.kt & ViewModel.kt 활용)Jetpack Compose는 상태 관리, UI 업데이트, 생명주기 관리를 간편하게 처리하는 데 도움을 주는 선언적 UI 툴킷입니다. ViewModel은 Jetpack Compose와 함께 사용하면 앱 데이터를 안전하게 저장하고 UI와 분리하여 앱 개발을 한 단계 더 향상시킬 수 있습니다.이 가이드에서는 ViewModel을 MainActivity.kt와 ViewModel.kt 두 개의 파일로 나누어 구현하는 방법을 단계별로 자세히 설명합니다.1. 프로젝트 설정:Android Studio에서 새 프로젝트를 만들고 Empty Compose Activity 템플릿을 선택합니다..
MutableState의 사용 방법을 구문별로 쉬운 예시를 들어 설명하겠습니다.1. remember와 함께 사용하기@Composablefun CounterExample() { val countState = remember { mutableStateOf(0) } val count = countState.value Column { Text("Count: $count") Button(onClick = { countState.value++ }) { Text("Increment") } }}remember { mutableStateOf(0) }: 초기값이 0인 MutableState 객체를 생성하고 이를 countState 변수에 할당합..
Jetpack Compose에서 remember는 Composable 함수 내에서 상태를 유지하기 위해 사용됩니다. 상태는 UI를 렌더링하는 데 필요한 값으로, 상태가 변경되면 Compose가 UI를 다시 렌더링합니다. remember를 사용하면 상태를 메모리에 저장하고 유지할 수 있습니다.remember 사용 예시@Composablefun CounterExample() { // remember를 사용하여 count 상태 생성 및 유지 var count = remember { mutableStateOf(0) } Column { Text("Count: ${count.value}") Button(onClick = { count.value++ }) { ..
Kotlin에서 컬렉션(collection)은 여러 데이터 아이템을 그룹화하여 저장하고 관리하는 객체를 말합니다. Kotlin 컬렉션은 크게 불변(immutable) 컬렉션과 가변(mutable) 컬렉션으로 구분됩니다. 불변 컬렉션은 생성 후에 내용을 변경할 수 없고, 가변 컬렉션은 생성 후에도 내용을 변경할 수 있습니다.Kotlin 컬렉션의 주요 종류List - 순서가 있는 컬렉션으로, 동일한 요소의 중복 저장이 가능합니다.Set - 순서를 유지하지 않으며, 중복된 요소를 저장하지 않습니다.Map - 키와 값의 쌍으로 데이터를 저장합니다. 각 키는 유일해야 하며, 각 키는 하나의 값을 가집니다.각 컬렉션 타입의 예시List불변 리스트: listOf() 함수를 사용하여 생성합니다.가변 리스트: mutab..
Kotlin에서 조건문과 반복문은 프로그램의 흐름을 제어하는 중요한 요소입니다. 여기에 여러 사용 예시를 제공하며 각각의 특성과 유용성을 설명하겠습니다.조건문Kotlin의 조건문은 if, else, 그리고 when을 포함합니다. when은 Java의 switch문에 해당하며, Kotlin에서는 더 강력한 기능을 제공합니다.1. if-else 구문if-else는 가장 기본적인 조건 분기 구문입니다. Kotlin에서는 if-else가 표현식으로 사용될 수 있어 결과값을 직접 반환할 수 있습니다.val a = 2val b = 3val max = if (a > b) a else bprintln("The maximum of $a and $b is $max")2. when 구문when은 특정 변수의 값을 여러 다른..
Kotlin에서 배열은 컬렉션의 한 유형으로, 여러 요소를 하나의 변수에 저장하는 데 사용됩니다. 배열은 고정된 크기를 가지며, 각 요소는 인덱스를 통해 접근할 수 있습니다. Kotlin은 여러 종류의 배열을 제공하며, 각각은 특정 데이터 타입을 저장하는 데 최적화되어 있습니다.1. 일반 배열 (Array)일반 배열은 모든 타입의 객체를 저장할 수 있습니다. arrayOf 함수를 사용하여 배열을 초기화할 수 있으며, 제네릭을 사용하여 어떤 타입의 요소도 저장할 수 있습니다.예제: 문자열 배열val names = arrayOf("Alice", "Bob", "Charlie")println(names[1]) // 출력: Bob2. 원시 타입 배열Kotlin은 성능 최적화를 위해 원시 타입(int, float..
Kotlin에서 괄호를 사용하는 방법을 보다 자세하고 구체적인 예시와 함께 설명하겠습니다. 이렇게 각종 괄호의 용도와 문맥에 따른 사용 예를 제공함으로써, 이해를 돕고자 합니다.1. 소괄호 ()소괄호는 주로 함수 호출, 조건문, 연산자 우선 순위 그룹핑 등에 사용됩니다.함수 호출함수에 인자를 전달할 때 소괄호를 사용합니다.fun greet(name: String) { println("Hello, $name!")}greet("Alice") // "Hello, Alice!" 출력조건문에서의 사용if, while 조건문에서 조건을 감쌀 때 사용합니다.val age = 20if (age >= 18) { println("You are an adult.")}연산자 우선 순위표현식 내에서 계산의 우선 순..
· Python/Basic
1. dotenv를 사용하는 이유.(1)아이디, 비밀번호, 등 환경 변수에 대한 설정을 내부 소스 코드가 아닌, 외부 파일에 별도로 저장하여, 정보가 유출되지 않도록 할 수 있고(2) 변수를 매번 새로 입력할 필요 없이 불러와 사용할 수 있다.2. dotenv 사용하는 방법(1) 설치터미널에 'pip install python-dotenv' 입력하여 설치한다.(2) 환경 변수 저장 파일 생성같은 폴더에 새 파일을 만든 뒤 이름을 '.env'로 변경한다.(3) .env 파일에 변수 저장하기만든 env 파일에 사용할 변수를 저장한다. 보통 api 인증키, id, 비밀번호를 저장한다.예)api_key = 1224888(4) 저장한 값 호출하기import os from dotenv import load_dote..
· Python/Basic
1. python에서 가상 환경 만드는 이유 (1) 각 프로젝트마다 필요한 라이브러리가 다른데, 이것을 모두 전체 python에 설치하게 되면 해당 프로젝트에만 사용된 라이브러리를 구분할 수 없다. 고객사에 파일 전달 시 꼭 필요한 라이브러리와 버전을 정확히 전달해야 한다. (2) 각 프로젝트마다 라이브러리의 버전이 다를 수 있는데, 이때 전체 python에 설치된 버전을 바꾸게 되면, 같은 라이브러리 다른 버전을 사용하고 있던 프로젝트에 영향을 줄 수 있다.2. 가상환경 만드는 방법 (1) 터미널에 'python -m venv 가상환경이름'를 입력하면 작업 폴더에 '가상환경이름' 폴더가 생긴다.(2) 가상환경을 실행시키려면, 터미널에 '가상환경이름\Scripts\activate'를 치면 명..
· Python/Basic
-----------------------------------------------------------------------------------------------------   1. 자료형 비교   자료형리스트튜플딕셔너리집합생성a = [value1. values2,]a = (value1, values2)요소 하나 일 때 뒤에 ‘,’를 삽입해야 튜플로 인식a = {key1:value1, key2:value2}a = set(value)빈 값 생성a = []a = ()a = {}a = set()b = set(a)표기대괄호 []괄호 ()중괄호 {}set()순서 유무인덱스 가능○○xx중복 허용○○Key 중복 불가x변경 가능○X○○조작요수 추가변수명.append(value)#변수명.extend (itera..
도뉘넛-
도넛도 도넛 나름