본문 바로가기

728x90
반응형

전체 글

(74)
[회고] 올해 2025년을 보내며... 2025년은 나에게 “무엇을 잘하는가”보다어떤 태도로 일하고, 어떤 기준으로 성장할 것인가를 배운 해였다.짧지 않은 시간 동안 여러 환경과 사람을 만나며기술적인 역량뿐 아니라 생각하는 방식과 일에 임하는 태도가 분명히 달라졌다.이 글은 그 변화들을 잊지 않기 위해 남기는 개인적인 기록이다.원더풀플랫폼 인턴 활동 – 실무의 리듬을 배우다올해 초, 원더풀플랫폼에서 인턴으로 근무하며 ‘Physical AI’를 처음으로 온몸으로 체감하게 되었다.주어진 기능을 구현하는 데서 끝나는 일이 아니라왜 이 기능이 필요한지지금 이 시점에 구현하는 것이 맞는지이후 유지보수와 확장에 어떤 영향을 주는지이런 질문들이 자연스럽게 오가는 환경이었다.이 경험을 통해 맥락과 흐름을 이해하는 일이 그만큼 중요하다는 사실을 분명히 느끼게..
Retrofit2 Connection/Timeout 에러 트러블슈팅 초기 설정 문제: Connection/Timeout 에러Retrofit을 사용하여 API 요청을 보냈는데, Connection Timeout이나 Socket Timeout 에러가 발생하는 경우가 있다.필자도 개발하면서 종종 겪는 에러인데 이건 주로 서버 응답이 느리거나, 네트워크 상태가 불안정하거나, 또는 설정 자체가 잘못된 경우에 발생한다.그래서 Connection Timeout이나 Socket Timeout 에러가 발생했을 때 어떻게 대응하는게 좋을지 정리해봤다. 우선 타임아웃의 종류와 발생 원인을 정리해보면 다음과 같다.API 호출 시 발생하는 타임아웃은 크게 세 가지로 나눌 수 있으며, 각각 다른 시점에서 문제가 발생한다.종류발생 시점원인connectTimeout서버와의 연결을 시도할 때서버 주..
[Android] "다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다" 오류 트러블슈팅 🛠️ 문제안드로이드 스튜디오에서 앱을 Run했더니 "다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다"라는 오류가 뜨면서 빌드에 실패했다. 왜 이런 오류가 발생할까? 🤔오류 메시지: "다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다" (또는 The process cannot access the file because it is being used by another process.)이 오류는 Android Studio의 Gradle 빌드 프로세스가 특정 파일(주로 APK, 컴파일된 리소스 등)에 접근하여 쓰기 또는 읽기 작업을 시도할 때 운영체제(Windows) 내의 다른 프로세스가 해당 파일을 점유하고 있어서 발생한다. 💡 주요 원인Gradle..
LazyColumn에서 부드러운 스크롤을 위한 트러블슈팅 🛠️ “Compose에서 스크롤이 미세하게 끊긴다면, 단순한 성능 문제가 아닐 수도 있다.” 1. 문제 상황 진단: 왜 LazyColumn이 느려졌을까?LazyColumn은 RecyclerView와 같이 화면에 보이는 아이템만 Compose하고 Layout하는 지연 로딩(Lazy Loading) 메커니즘을 사용해 리소스 사용을 최소화한다. 그럼에도 불구하고 성능 문제가 발생하는 주된 원인은 다음과 같다.1.1. 🔑 Key 미사용: 아이템 재활용 실패LazyColumn은 스크롤 시 화면 밖으로 나간 아이템을 캐시에 저장하고 재활용하여 성능을 최적화한다.하지만 아이템에 고유한 Key를 지정하지 않으면 리스트의 데이터가 변경될 때마다 Compose가 아이템의 상태 변화를 정확히 파악하지 못하고 불필요하게 전체 ..
Android Studio Feature Drop에 관하여... (2025년 9월 30일 기준) 1. 들어가며Jetpack Compose가 나오기 전만 해도 안드로이드 개발을 할 때 Android Studio를 꾸준히 업데이트하지는 않았던 것 같다. 내 주변 개발자들도 Android Studio는 버그가 많으니 꾸준히 업데이트할 필요는 없다는 말을 종종 하곤 했다.Jetpack Compose가 View System을 대체하고 있는 지금 Android Studio는 개발자의 생산성을 향상시키는데 Focus를 맞추기 위해 여러 실험적인 기능들이 계속 개발중이고 이제는 업그레이드도 중요해졌다고 생각한다. 2024년 5월부터 Android Studio Drop (혹은 “Feature Drop” 버전)이라는 이름이 자주 언급된다.이 글에서는 일반 Android Studio와 Drop 버전의 차이, 최신 Fe..
[백준] 13335. 트럭 (자바 JAVA) 문제강을 가로지르는 하나의 차선으로 된 다리가 하나 있다. 이 다리를 n 개의 트럭이 건너가려고 한다. 트럭의 순서는 바꿀 수 없으며, 트럭의 무게는 서로 같지 않을 수 있다. 다리 위에는 단지 w 대의 트럭만 동시에 올라갈 수 있다. 다리의 길이는 w 단위길이(unit distance)이며, 각 트럭들은 하나의 단위시간(unit time)에 하나의 단위길이만큼만 이동할 수 있다고 가정한다. 동시에 다리 위에 올라가 있는 트럭들의 무게의 합은 다리의 최대하중인 L보다 작거나 같아야 한다. 참고로, 다리 위에 완전히 올라가지 못한 트럭의 무게는 다리 위의 트럭들의 무게의 합을 계산할 때 포함하지 않는다고 가정한다.예를 들어, 다리의 길이 w는 2, 다리의 최대하중 L은 10, 다리를 건너려는 트럭이 트럭의..
[백준] 11048. 이동하기 (자바 JAVA) 문제준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다.준규는 현재 (1, 1)에 있고, (N, M)으로 이동하려고 한다. 준규가 (r, c)에 있으면, (r+1, c), (r, c+1), (r+1, c+1)로 이동할 수 있고, 각 방을 방문할 때마다 방에 놓여져있는 사탕을 모두 가져갈 수 있다. 또, 미로 밖으로 나갈 수는 없다.준규가 (N, M)으로 이동할 때, 가져올 수 있는 사탕 개수의 최댓값을 구하시오. 입력첫째 줄에 미로의 크기 N, M이 주어진다. (1 ≤ N, M ≤ 1,000)둘째 줄부터 N개 줄에는 총 M개의 숫자가 주어지며, r번째 줄의 c..
[백준] 1916. 최소비용 구하기 (자바 JAVA) 문제N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 M개의 버스가 있다. 우리는 A번째 도시에서 B번째 도시까지 가는데 드는 버스 비용을 최소화 시키려고 한다. A번째 도시에서 B번째 도시까지 가는데 드는 최소비용을 출력하여라. 도시의 번호는 1부터 N까지이다. 입력첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 주어진다. 그리고 그 다음에는 도착지의 도시 번호가 주어지고 또 그 버스 비용이 주어진다. 버스 비용은 0보다 크거나 같고, 100,000보다 작은 정수이다. 그리고 M+3..

728x90
반응형