
* 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..

STOMP을 Android 환경에서 사용하는 방법에 대해서 알아보겠습니다. 소개할 라이브러리는 Android STOMP 라이브러리 중 kotlin으로 작성된 라이브러리로 fork 하여 사용하였습니다. STOMP-KOTLIN 라이브러리 API DESC stomp-client-for-kotlin(fork) https://github.com/FaithDeveloper/stomp-kotlin 위에 명시된 라이브러리를 Android .gradle 에 dependencies 합니다. STOMP Client STOMP Client 사용법은 다음과 같이 나눌 수 있습니다. // 1. INIT val url = "ws://[domain]/connect/websocket" val intervalMillis = 1000L ..

채팅을 구현하는 방식은 XMPP, Websocket 등 다양한 방식으로 구현하고 있습니다. 이번 포스트는 필자가 직접 사용하였던 STOMP에 대해서 간략하게 공유하려고 합니다. 필자의 주관적인 이해한 내용을 적다보니 잘못 기입된 부분이 있을 수 있습니다. 잘못 된 부분에 대해 댓글로 남겨주시면 수정 하겠습니다. STOMP 무엇인가? Simple (or Streaming) Text Oriented Message Protocol 의 약자인 STOMP는 텍스트 기반의 메세징 프로토콜 입니다. STOMP 사용 환경은 TCP 나 WebSocket 과 같은 신뢰성있는 양방향 streaming network protocol 상에 사용될 수 있습니다. 문자로 설명으로 보는 것보다 STOMP 구조를 보면 이해하시는데 도..

회원가입이 귀찮은 회원을 위해 간편로그인을 쉽게 발견할 수 있습니다. 대표적인 간편로그인 중 하나인 카카오 로그인을 알아보겠습니다. 이번 포스트는 카카오 로그인에 대해서 소개하겠습니다. 앱 생성하고 키 발급 절차는 카카오 디벨로퍼 사이트에 자세히 설명이 되어 있어 생략하겠습니다. 가이드 순서 1. 카카오 디벨로퍼의 앱 생성 (생략) 2. Application.java에 KakaoSDKAdapter 설정 3. 로그인 화면의 기능 정의 Application.java에 KakaoSDKAdapter 설정 KakaoSDK를 사용하기 위해선 SDK와 Application을 연결해 주어야하며, 이때 사용하는 객체는 KakaoAdapter 입니다. KakaoAdapter을 통해 SDK에 필요한 정보인 IApplicat..
지난 시간에 이어서 Kotlin 을 활용한 TodoList 만들기 기능 공유하겠습니다. 이번 시간에는 ActionBarDrawerToggle 과 ActionBar을 활용하여 'BACK Button' 만드는 법에 대해서 공유 하겠습니다.ActionBarDrawerToggleAndroid에서 제공하는 DrawerToggle 을 활용한다면 보다 쉽게 메뉴를 구성할 수 있니다. Activity 생성 시 Nabvigation Drawer Activity 로 생성 하면 간편히 메뉴를 만들 수 있습니다.Navi Drawer 설정 시 Acitivity에 ActionBarDrawerToggle 등록 하며 메뉴 선택은 setNavigationItemSelectedListener 로 구성하여 동작합니다.MainDrawerA..
널 안정성자바로 프로그램 개발을 하다보면 널 포인터 예외(Null Pointer Exception) 이 빈번히 발생한 것을 확인 할 수 있습니다.자바로 구성된 안드로이드에서는 안드로이드 서포트 라이버러리의 @Nullable, @NonNull 어노테이션을 사용하여 객체의 널 허용 여부를 표시하였습니다. 하지만 정적 분석 도구에서만 지원하므로, 컴파일 단계에서는 여전히 널 포인터 예외가 발생할 소지가 있습니다.널 허용 여부 표기코틀린은 별도의 표기가 없는 경우 널 값 허용을 하지 않습니다. val nullableString : String? = nullval nonNullString: String = "Foo"val errorNullString : String //Error 발생. 코틀린은 널 값 허용 하..
- 코틀린
- Android
- issue
- swift
- 안드로이드
- view
- flutter
- push
- IT
- 패턴
- 점수판
- 알고리즘
- MCC
- 고시문헬퍼
- 디자인패턴
- java
- missioon
- Kotlin
- IOS
- 임용고시
- 스코어헬퍼
- 미션차이나센터
- 선교
- 고시문
- DI
- 탁구
- Android Studio
- missionchina
- 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 |