본문 바로가기

Kotlin56

[Git - 오류] Git Push 실행 시 error: RPC failed; HTTP 500 curl 22 The requested URL returned error: 500 에러 # 오류 발단이번 오류 포스팅은 여느 때와 같이 작업한 코드를 커밋 후 푸시를 하려고 했다. 하지만 아래와 같은 오류를 만나게 된다..error: RPC failed; HTTP 500 curl 22 The requested URL returned error: 500send-pack: unexpected disconnect while reading sideband packet  # 오류 원인오류의 원인으로는 간단하게 설명하면 파일 크기 때문에 발생하는 오류이다. 더 정확한 이유는 Git에서 큰 파일을 푸시할 때 버퍼 크기 제한으로 인해 "HTTP 500 Internal Server Error"가 발생할 수 있다. # 해결 방법해결 방법으로는 간단하다!버퍼 크기가 부족하니 버퍼 크기를 늘려주기만 하면 되는 .. 2025. 3. 26.
[Compose] 안드로이드 컴포즈 드롭다운 메뉴 만들기 (Android Compose DropdownMenu) - 예제를 통한 사용법 이번 포스팅은 은근 사용 하는 컴포즈의 드롭다운 만드는 법을 작성해 보겠다. 기존 XML에서는 어댑터도 만들고 리스너로 이벤트 처리를 해서 코드가 분산되어 흐름을 한눈에 보기 힘들었다.반면 컴포즈에서는 단일 함수 내에서 완전한 구현이 가능하기 때문에 많이 편리해졌다. 그럼 이제 사용법을 알아보자!# DropdownMenu@Composablefun DropdownMenu( expanded: Boolean, onDismissRequest: () -> Unit, modifier: Modifier = Modifier, offset: DpOffset = DpOffset(0.dp, 0.dp), scrollState: ScrollState = rememberScrollState(), .. 2025. 2. 28.
[Compose] Button 클릭 시 2번씩 리컴포지션이 일어나는 이유 이번 포스팅은 Compose 스터디 중 어느 스터디원 중 한 분이 말씀하신 부분을 궁금해서 찾아본 결과를 포스팅하겠다.# 구현 상황@Preview@Composablefun AddMemo() { val inputValue = remember { mutableStateOf("") } Row( modifier = Modifier .padding(all = 16.dp) .height(100.dp), horizontalArrangement = Arrangement.End ) { // 임시 TextField TextField( modifier = Modifier .fil.. 2025. 1. 26.
[Android-Compose] 컴포즈 NavHost에서 ViewModel 공유 예제를 통해 알아보기 - Screen끼리 공유 이번 포스팅은 Compose에서 NavHost 사용 시 다른 Screen끼리 ViewModel을 공유해야 할 상황이 생긴다.이때 ViewModel을 공유하는 방법을 포스팅해보겠다. 해결법을 바로 보고 싶으신 분은 결론으로 넘어가면 된다!# 예제이번 예제는 ScreenA와 ScreenB가 있고 같은 ViewModel를 사용해 데이터를 공유하는 상황이다.또한 DI 라이브러리를 사용 안 하는 상황프로세스를 자세히 표현하자면 아래와 같다.## Before 코드### MainActivityclass MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedI.. 2024. 12. 7.
[Android] LiveData와 Flow 차이점 간단하게 알아보기 (LiveData vs Flow) 이번 공부 노트는 안드로이드에서의 비동기 개발 시 필수적으로 들어가는 Flow, LiveData 차이점에 대해 적어보겠다.# LiveData와 Flow 차이점1. 플랫폼 독립성- Flow : Kotlin 코루틴 기반의 라이브러리로, Android에 종속되지 않고 어디서든 사용할 수 있다.- LiveData : Android에 특화된 라이브러리로 Android 프레임워크에 종속적이기 때문에 안드로이드 생명주기(Lifecycle)와 깊이 연관되어 있다.2. 생명주기 인식- Flow : 생명주기를 인식하지 않는다. 이는 Flow를 사용하려면 수동으로 생명주기를 관리하거나 lifecycleScope와 같은 코루틴 스코프를 사용해 생명주기에 맞게 구독을 제어해야 한다.- LiveData : Android 생명주기.. 2024. 10. 5.
[Android] 안드로이드 중요 값 숨기기 - local.properties를 사용하여 키 관리하기 예제(Kotlin) / Unresolved reference: BuildConfig 해결 방법 개발을 하다 보면 API키 값이나 중요 값등을 숨기고 싶을 때가 있다. 그럴 때는 local.properties를 사용하면 간단하게 숨김이 가능하다. 이제 차근차근 알아보자! ✅ 깃을 사용한다면. gitignore에 /build , /local.properties 이 두 가지가 들어가 있다고 가정하고 시작해 보겠다!# 사용방법아래 예제에서는 API_KEY값을 숨기는 예제를 해보겠다.## local.properties 변수 값 설정우선 가장 먼저 해야 할 것은 local.properties파일에 숨기고 싶은 값을 키 - 값 형식으로 작성해 준다. local.properties>API_KEY = "12345678910" ## build.gradle.kts(app) 키 값 불러오기앱 수준의 gradle에서 .. 2024. 8. 31.