다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다.이어보기 : 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을 이젠 공식적으로 지원받을 수 있게 ..
맥북을 쓰다 보니 갑자기 뜬 2차 비밀번호 등록2주전쯤이긴 하지만 비밀번호 등록이 뜨신 분들은 등록을 하셨겠지만 처음 보시는 분들을 위해서 한번 정리해봅니다. 2차 비밀번호가 아래와 같이 노출되는 경우도 있을 태고 그렇지 않을 경우도 있습니다.애플도 드디어 2차 비밀번호를 추가해주고 있습니다.2차 인증은 휴대폰을 통해 인증을 받는 시스템입니다. Google/Facebook처럼 2차 인증 OTP도 제공해주면 좋겠지만 우선은 폰 문자로 처리합니다. 정확하게는 iCloud에서 아래와 같이 노출되고 있습니다.설정을 눌러서 다음을 진행합니다. 참고로 아이폰에서는 사용자 계정 설정 -> 계정 정보에서 아래를 확인할 수 있습니다.수동으로 이중 인증을 추가할 수 있네요 2차 비밀번호 설정하기를 눌러서 On을 지정합니다..