목록전체 글 (22)
티라미수 코딩생활

문제 Write a function to find the longest common prefix string amongst an array of strings. If there is no common prefix, return an empty string "". Input: strs = ["flower","flow","flight"] Output: "fl" class Solution { fun longestCommonPrefix(strs: Array): String { } } 처음에 prefix 라는 단어를 놓쳐서 문제를 보자마자 기겁했었습니다. 전 배열에 공통적으로 포함되어 있는 (자리가 상관없는) String 중 가장 긴 거 찾기 인 줄 알았습니다.. 다행히 시작 위치는 앞에서부터 고정입니다. 나의 ..
평소처럼 2010년에 탄생하신 어르신 앱을 유지보수 하고 있다가 문제가 하나 발생했습니다. 메인 화면에서 startActivityForResult 로 검색 창으로 넘어가서 setResult 로 데이터를 받아와 상세뷰로 넘어가야 하는데, 아무 문제 없던 기능이 갑자기 작동을 안하는 겁니다. 문제 발생 문제는 startActivityForResult 파라미터 중 하나인 requestCode 였습니다. 나는 분명 Fragment 에서 requestCode 를 1로 줬는데 돌아오는 값은 제각각 (25341, 65692 ... ) 이었습니다. public void startActivityForResult (Intent intent, int requestCode) 원인 및 해결 int REQUEST_CODE = 1..
예전에 규모가 커진 앱의 기능 일부를 떼어내서 신규 앱을 런칭해야 하는 일이 있었습니다. 그때 마침 MVVM 패턴에 관심이 많았던 시기라 MVVM을 기반으로 한 프로젝트를 진행했습니다. 그러면서 처음으로 LiveData 에 대해서 공부했었는데, 당시에는 setValue() 와 postValue() 를 각각 써보면서, 에러가 나거나 성능에 큰 차이가 없다고 느껴서 그냥 넘어갔던 적이 있었습니다. Unit test 를 공부하다가 ViewModel 을 테스트 하는 상황이 생겨, LiveData 를 다시 만나게 되고 테스트 하는 방법을 찾던 중 좋은 글을 발견해서 글을 남기려고 합니다. https://jeroenmols.com/blog/2019/01/17/livedatajunit5/ 추후에 LiveData 를 ..

간단한 Local Test 작성해보기 2022.11.09 - [Programming/Android] - [Android] App Test 시작해보기 [Android] App Test 시작해보기 내가 앱 테스트를 공부하게 된 이유 모든 공부가 그렇지만 안드로이드를 개발하고 공부해오면서 매번 느끼는 것은 공부할 게 참 많다라는 것이었다. 그러다보니 공부 할 것도 당장 필요한 것만 tiramisu-code.tistory.com CodeLab : https://developer.android.com/codelabs/advanced-android-kotlin-training-testing-basics#0 지난 글에서 처음으로 App Test를 처음 공부하고 글을 남겼는데, 이번엔 공부한 것을 바탕으로 간단하게 테..

내가 앱 테스트를 공부하게 된 이유 모든 공부가 그렇지만 안드로이드를 개발하고 공부해오면서 매번 느끼는 것은 공부할 게 참 많다라는 것이었다. 그러다보니 공부 할 것도 당장 필요한 것만 하게 되면서 테스트에 대한 공부는 항상 개인적인 우선순위가 밀렸었다. 이말은 즉, 지금까지 앱을 배포하기 전에 직접 테스트해보고 QA도 요청해서 해보고 다 수작업으로 테스트 해왔다는 것이다. When you implemented the first feature of your first app, you likely ran the code to verify that it worked as expected. You performed a test, albeit a manual test. As you continued to add..
Android 와 앱 개발을 하면서 가장 많이 하게 되는 것은 Data를 UI에 보여주는 것이다. View 가 시작될 때 데이터를 DB 혹은 RestApi 를 통해서 요청(request)하게 되고, 응답(response) 받은 데이터를 UI에 보여주는 과정이다. 이 일련의 과정(request-response)이 최근으로 올 수록 Observer패턴을 활용하는 반응형(Reactive)이 대세가 되어가는 것 같다. RxJava 를 먼저 공부하고 Coroutine 을 공부하기 시작하면서 양쪽에서 강조하는 것이 같다고 느꼈다. 데이터의 변화를 감지(Observe) 하고 자동으로 View까지 전달하게 하는 파이프 라인같은 앱 내에서 인프라 구축하는 것이다. 파이프 라인은 물이 한 방향으로 흐르는 것처럼, 데이터를..
풀이 언어 : Java, Kotlin 내가 푼 시간복잡도 : O(n^2) -> O(n) 문제 Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have exactly one solution, and you may not use the same element twice. You can return the answer in any order. 처음으로 풀어본 LeetCode 문제 문제를 봤을 때, 이중 for 문을 사용하면 금방 해결할 수 있어 보였지만, 시간복잡도 O(n^2)..
이번주, 업무 중 REST API 로 아이템 리스트를 내려받은 뒤, 내려받은 아이템들의 현재가치를 앱에서 계산해서 저장 및 활용해야 하는 상황이 있었다. 이 과정에서 너무나도 당연한데 깜빡 했던 내용이 있어서 남겨두려 한다. 지금 담당하고 있는 프로젝트는 기본적으로 자바로 구현되어 있는데, Kotlin Data Class 를 쓰다보니 Java getter & setter 를 만드는게 싫다는 느낌이 들어 data class 만 Kotlin 으로 만들어 보고자 했다. 알고있는 Kotlin 의 Data Class 의 장점 중 하나는 자동적으로 getter & setter 를 구현해 주는 것. data class Data( val name: String, val job: String, val point: Str..