다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/kotlin/android/2017/10/03/Kotlin-Generics kotlin의 Generics을 정리합니다. Java에서 사용하는 Generics과 동일하게 사용할 수 있지만, Kotlin에서는 Generics 정의한 클래스를 상속받을 때 명시적으로 정의해야 합니다.다시 말해 java에서는 제네릭 정의를 하지 않으면, 기본 Object을 따르지만, 코틀린에서는 명시적으로 꼭 적어주도록 만들었습니다.Kotlin Generics 문서 Java Generics 정의하기먼저 Java에서의 Generics 정의를 살펴보죠.interface Generic { void setItem..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/kotlin/2017/10/02/Kotlin-Higher-Order-Function Kotlin에는 Higher-Order Functions 사용이 가능합니다.Higher-Order Functions은 함수를 변수로 넘겨주거나, 이를 반환하는 것을 말하는데, 레퍼런스 문서에 정의 내용을 참고하여 설명합니다.fun lock(lock: Lock, body: () -> T): T { lock.lock() try { return body() } finally { lock.unlock() } } lock 함수에 포함된 파라메터 중 body: () -> T Higher-Order Functi..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/androiddev/2017/08/09/Android-MVC_MVP_MVVM-Intro Android MVC/MVP/MVVM가 소개되었고, 다양한 방법으로 이러한 Architecture를 적용하게 됩니다.구글에서는 테스트 가능한 형태를 만들어주기 위해서 Android Architecture Blueprints을 소개해주었습니다. 하지만 모두가 이러한 방법을 따르는 것은 아닙니다.저도 공부를 하면서 다양한 MVP 패턴을 학습 및 고민한 흔적을 Android MVP 무작정 따라하기 시리즈로 남길 수 있었습니다.이번 글에서는 MVC > MVP > MVVM으로 순차적으로 넘어가게 되었던 ..
QC 30에 개봉기를 작성합니다. 벌써 사용한 지는 3개월도 넘었지만 이제야 개봉기를 작성합니다. QC 30은 Bose에서 나온 넥밴드 형태의 노이즈 캔슬링 블루투스입니다. QC30은 보스의 음질을 유선이 아닌 무선으로 들을 수 있었습니다. 기존에는 유선의 QC20이 있었습니다. 제가 청음 해볼 기회가 있었는데 노이즈 캔슬링은 최고였지만 기본 음질은 생각보다 기대 이하였습니다.가격 대비 음질은 떨어지고, 노이즈 캔슬링은 너무 좋아서 구매할까를 고민했었지만 결국 구입은 하지 않았습니다.직구시에는 30만 원에 구입이 가능하지만 AS는 불가능합니다. 여하튼 그러다가 발견한 QC30 블루투스로 QC20이 가지지 못한 두 가지를 모두 가지고 있습니다.단점은 .. 귓구멍의 크기에 따라서 노이즈 캔슬링 여부가 많이 ..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : http://thdev.tech/androiddev/2017/07/16/Android-Studio-3_0-Create-kotlin-project 2017년 5월 Google I/O에서는 안드로이드에서 사용할 수 있는 새로운 언어로 Kotlin을 새로이 추가하였습니다. 이 글은 2017년 6월 6일에 작성한 글을 수정하였습니다.JetBrains IntelliJ에서는 이미 포함되어 배포되었는데 이번 Android Studio 3.0부터는 별도의 플러그인을 설치하지 않고도, 플러그인이 포함되게 되었습니다.그러다 보니 Preview에서는 항상 오류가 발생하던 kotlin plugin을 이젠 공식적으로 지원받을 수 있게 ..