코틀린이라는 언어를 다루면서 '이것만큼은 꼭 알아야 한다'라는 개념이 있다. 참 여러가지가 있지만 그중 생각나는 것 중 하나는 바로 '코틀린 표준 스코프 함수'이다. apply, run, let, also + with가 있는데 이 포스팅에 모두 정리해버릴까 한다. 그리
현재 진행중인 프로젝트에서 String타입의 Json형식의 데이터를 받아오는 일이 있었다. 예를 들면 Push메시지로 들어오는 Json이나, Qr코드를 촬영하여 수신받는 Json이 있다. 그리고 이들은 각각의 Data Class로 변형해 주어야 한다. 그리고 이를 수
시작하며 이번 글에선 startActivity, startActivityForResult에서 상용구를 제거한 함수를 만들어보았다. 내가 이번에 만들어본 아래의 메서드를 통해 기존에 쓰이던 불필요 중복코드를 많이 줄일 수 있다. 기존의 불편함? 우리가 startActi
Start >"Kotlin언어가 세상에서 제일 효율적이다" 라는 말은 어쩌면 정말 위험한 말일수도 있다. 마찬가지로 "Kotlin이 Java보다 효율적이다" 라는 말도 위험한 말일수도 있다. 하지만 내가 최근에 공부하고 있는 Kotlin In Action을 보다보면
시작하며 Kotlin의 지원 함수 중, 가장 알아야할 점이 많은 함수가 inline함수라 생각한다. 단순 inline함수의 쓰임새에서 더 나아가 noinline선언은 무엇인지, inline class란 무엇인지 이 글에서 알아보고자 한다. [inline함수 복습하러
시작하며 noinline키워드를 제대로 알기 위해선 아래 개념들이 선행되어야 한다. > [선행 지식] [inline함수의 개념] [inline함수가 적용되지 않는 경우] 이 글을 읽기 전, 위 글을 읽고 와야 이해가 쉬울거라 생각한다. 1. noinline,
보통 viewModel객체를 만들땐 'ViewModelProvider'객체를 사용하여 만든다.하지만 위 코드를 보면 알다시피 파라미터에 넘겨줘야할 인자가 너무 많을 뿐만 아니라, ViewModel객체가 많아지면 많아질수록 위와 같은 상용구 코드가 늘어난다.또한 View
시작하며 이름이 참으로 비슷하여 오묘하게 헷갈리는 두 녀석, Comparable과 Comparator. 이번 포스팅은 이 두 인터페이스의 차이와 사용 살례에 대해 알아보고자 한다. 1. Comparable 1.1. 기본 사용법 이해를 하기 위해 이름으로 연상을 하면
abstract class나 interface가 있음에도 sealed를 굳이 붙이는 이유?
1:N으로 매핑하고자할 땐, groupBy를, 1:1로 매핑하고자할 땐, associateBy를 사용.
Compare And Swap의 개념과 활용사례