들어가며 Google에서 Kotlin를 Android 공식 언어로 추가함에 따라 많은 개발자들이 Java에서 Kotlin으로 변경했을 것입니다. 단순히 Google에서 Kotlin을 Android 공식언어로 추가했다고 Java 을 Kotlin으로 변경하였을까요? Java의 단점 보완한 Kotlin는 Java와 호환도 잘되어 Java로 구현된 오픈소스 라이브러리를 그대로 사용할 수 있어서 많은 개발자들이 Java에서 Kotlin으로 변경하였을 것입니다. Kotlin 으로 변경하였을 때 가장 큰 장점이 무엇이라고 생각되시나요? 필자는 비동기 처리 방식으로 생각합니다. Java에서 비동기 처리는 대표적으로 RxJava을 활용해서 처리하였을 것입니다. Kotlin을 사용하는 대부분의 개발자들은 Coroutine..
Kotlin Lamda Return 가능한가? Kotlin 에서 Lamda 안에서 return 이 가능할까요? ‘당연히 Return 다 되는거 아니야?’ 라고 생각 할 수 있습니다. 그렇지만 모든 경우 Lamda의 return을 제공하고 있지 않습니다. 그럼 어느경우 가능하고 어느경우 안되는 것인지 알아보겠습니다. Lamda는 무엇인지부터 살펴 봐야겠습니다. Lamda Expression란? Lamda는 Java SDK 1.8부터 추가되어 자바의 큰 변화를 주었습니다. 람다식의 도입으로 인해 자바는 객체지향언어인 동시에 함수형 언어가 되었습니다. 위키에서는 람다를 어떻게 정의하고있을까요? 람다식, 또는 람다 함수라 부른다. 프로그래밍서 사용되는 개념으로, 익명 함수(匿名函數, Anonymous funct..
Head First - Design Patterns 의 템플릿 메소드 패턴 기반으로 작성하였습니다. 자세한 설명은 도서를 참고해주세요. 역할 사슬 패턴이라고 들어보셨나요? 역할 사슬은 한 요청을 두 개 이상의 객체에서 처리하고 싶을 때가 있습니다. 개발자의 성향상 if 문을 클래스 내에서 길게 사용하는 것을 지양하는 분이 계시다면 역할 사슬 패턴에 대해서 알아두면 좋을거 같습니다. 역할 사슬 패턴이란? 역할 사슬 패턴은 행위패턴으로 한 요청을 두 개 이상의 객체에서 처리할 때 사용하는 패턴입니다. ◆ 장점 ‣ 요청을 보낸 쪽하고 받는 쪽을 분리 할 수 있습니다. ‣ 사슬의 구조를 몰라도 되고 그 사슬에 들어있는 다른 객체에 대한 레퍼런스를 가질 필요가 없습니다. ‣ 사슬에 들어가는 객체 변경 및 순서 변..
Head First - Design Patterns 의 템플릿 메소드 패턴 기반으로 작성하였습니다. 자세한 설명은 도서를 참고해주세요. 레거시코드를 보다보면 한번쯤은 보셨을 패턴인 빌더 패턴에 대해서 이번 시간 이야기하겠습니다. 빌더패턴이란?? 제품을 여러 단계로 나눠서 만들 수 있도록 제품 생산 단계들을 캡술화하고 싶다면 빌더 패턴을 활용하면 됩니다. ◆ 장점 ‣ 복합 객체가 생성되는 과정을 캡술화 합니다. ‣ 제품의 내부 구조를 클라이언트로부터 보호 할 수 있습니다. ‣ 여러 단계와 다양한 절차를 통해서 객체 생성가능합니다. ◆ 단점 ‣ 팩토리를 사용하는 경우에 비해 객체를 만들기 위해서 클라이언트에 대해 더 많이 알아야합니다. 예제를 통한 빌더패턴을 알아보기 손님마다 휴일 일자와 숙소가 달라지게 됩..
* Head First - Design Patterns 의 데코레이터 패턴을 기반으로 작성하였습니다. 자세한 설명은 도서를 참고해주세요. 다양한 디자인패턴이 존재합니다. 디자인패턴은 누군가가 나의 문제를 이미 해결해 놓았고, 이미 경험한 개발자들의 경험이 모여 디자인패턴을 만들어 졌습니다. 디자인 패턴은 코드를 재사용하는 것과 마찬가지로 경험을 재사용하는 것입니다. 데코레이션 패턴을 소개하기 앞써 OCP(Open-Close Principle) 에 대해서 언급하겠습니다. OCP(Open-Closed Principle)는 가장 중요한 디자인 원칙 가운데 하나입니다. "클래스는 확장에 대해서는 열려 있어야 하지만 코드 변경에 대해서는 닫혀 있어야 한다." 데코레이터 패턴 데코레이터 패턴(Decorator Pa..
구글에서 코틀린을 공식 언어로 추가하면서 Java로 열심히 개발했던 안드로이드 개발자에게는 새로운 언어를 배워야하는 환경이 조정되고 있습니다. 이미 많은 개발자분들은 자바 소스로 구성된 프로젝트를 코틀린 소스로 변경하고 운영중일 것입니다. '굳이 코틀린으로 변경할 필요 있겠어?' 라는 생각으로 자바 소스를 계속 유지하고 계신 분들도 있을 것입니다. 코틀린 vs Java 코틀린과 Java을 비교하는 방법 중 Java의 단점을 코틀린이 보완 할 수 있는지 확인하는 것도 방법이라 생각합니다. 이번 포스트는 Java와 다른 코틀린의 장점인 크게 2가지로 Null 안정성과 코드 간소화의 주제로 진행합니다. Null 안정성 Java 개발 하다보면 가장 많인 접하는 Exception은 Null Point Except..
증분빌드에 대해서 들어보셨나요? 증분 컴퓨터 관련 용어로는 레지스터에 1을 더하는 것, 단위체로 취급되는 경우의 샘플링 단위 등을 의미함. - 네이버 지식백과 이번 포스트는 증분빌드를 통한 에러가 발생한 경험을 나누려고 합니다. Android로 구성된 앱을 AndroidX로 마이그레이션 하면서 kotlin gradle 버전을 1.3.50로 업데이트 하였습니다. 마이그레이션 완료 후 빌드 했을 때 다음과 같은 에러 메시지가 발생하였습니다. w: [kapt] Incremental annotation processing requested, but support is disabled because the following processors are not incremental: io.realm.processor..
회원가입이 귀찮은 회원을 위해 간편로그인을 쉽게 발견할 수 있습니다. 대표적인 간편로그인 중 하나인 카카오 로그인을 알아보겠습니다. 이번 포스트는 카카오 로그인에 대해서 소개하겠습니다. 앱 생성하고 키 발급 절차는 카카오 디벨로퍼 사이트에 자세히 설명이 되어 있어 생략하겠습니다. 가이드 순서 1. 카카오 디벨로퍼의 앱 생성 (생략) 2. Application.java에 KakaoSDKAdapter 설정 3. 로그인 화면의 기능 정의 Application.java에 KakaoSDKAdapter 설정 KakaoSDK를 사용하기 위해선 SDK와 Application을 연결해 주어야하며, 이때 사용하는 객체는 KakaoAdapter 입니다. KakaoAdapter을 통해 SDK에 필요한 정보인 IApplicat..
- Android
- flutter
- 선교
- java
- 고시문헬퍼
- 임용고시
- 미션차이나센터
- DI
- Kotlin
- IT
- 탁구
- issue
- Android Studio
- swift
- missionchina
- 코틀린
- 스코어헬퍼
- view
- IOS
- 알고리즘
- 안드로이드
- 디자인패턴
- push
- missioon
- 고시문
- 패턴
- 점수판
- MCC
- RXjava
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |