코틀린45 [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. [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] 안드로이드 중요 값 숨기기 - 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. [오류] app:minifyReleaseWithR8 FAILED / AGPBI: {"kind":"error","text":"Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in 이번 오류 포스팅은 debug 모드로 빌드했을 때는 문제가 없었는데 release 모드로 빌드하니 오류 발생에 대해 해결방법을 포스팅해 보겠다. 물론 다른 경우에 따라 이 해결방법이 아닐 수도 있지만 나에 경우는 이 오류였기 때문에 혹시나 나랑 같은 분이 계실까 봐 공유를 한다.# 오류 발단기존 프로젝트에서 Active Build Variant를 release로 바꾸고 빌드하니 아래와 같은 오류가 발생했다. AGPBI: {"kind":"error", "text":"Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /Users/(폴.. 2024. 6. 19. [Kotlin-Coroutine] coroutine Mutex(상호배제) 예제를 통한 사용법 이번 포스팅은 이전 개발자분이 만들어 놓은 코드 분석 중 처음 접한 Coroutine의 Mutex를 사용한 코드가 있어 알아둬야겠다고 생각해서 적어본다. 우선 아래 정리를 통해 Mutex대해 알아보자!# Mutex란? (특징)- Mutual Exclusion의 약자로 "상호 배제"를 의미한다. ("상호 배제"에 관해서는 시간이 난다면 따로 블로그 포스팅을 해야겠다..) - 여러 코루틴이 동시에 공유 자원에 접근하지 못하게 하여 데이터 일관성을 유지시켜 준다. - 한 코루틴이 Mutex를 획득하면, 다른 코루틴은 해당 Mutex가 해제될 때까지 대기하게 된다.# Mutex 사용 이유그럼 Mutex는 왜 사용하냐? 위 Mutex에 특징과 거의 비슷한데 간단하게 정리하면 이유는 아래와 같다여러 코루틴이 동시에.. 2024. 6. 9. 이전 1 2 3 4 ··· 8 다음