swift와 마찬가지로 kotlin에서 get과 set을 이용할 수 있습니다. 만약 반응형 프로그램처럼 값이 변하면 어떠한 행동을 하도록 개발을 한다고 할 경우가 있을 겁니다. 다음과 같이 Person Class에 name과 age가 있습니다.이것은 값이 변할 경우에 또다른 동작을 잠시하고 싶을 경우가 있으면 다음과 같이 정의 하는데요. name은 문제가 없지만 age는 set을 하는 순간 에러가 발생하게 됩니다. recursive call이 발생하게 됩니다. 이유는 당연합니다. 지금 만들어진 변수에 다시 값을 넣으려고 하니 지속적으로 age가 호출되기 때문입니다. 그래서 다른 동작을 하면서 원래의 변수에 값을 그대로 넣고 싶을 경우에는 backing field를 이용하면 아주 편합니다. 내부적으로는 _..
구글 플레이에 새로운 서명 방식이 등장하였는데요.콘솔에서 확인이 가능한 기능입니다. 이 기능은 무엇일까 한번 확인해 볼까 합니다. 사건의 발단. 오래전에 제가 개발한 앱이 있습니다.앱 개발자로 처음 시작을 하면서 이것저것 제가 만든어 보고 싶어서 업로드 한것들이 있었습니다. 그리고 세월이 한참 지났습니다.회사 업무에 바빠서 이것저것 하다보니 신경쓸 겨를도 없었습니다. 구글의 알림. 그런데 이번에 마켓 정책이 변경이 되었죠.무조건 target 버전을 Android Oreo (API Level 26) 이상으로 올리라는 이야기 입니다. 저는 후다닥 이전의 앱을 업데이트 하려고 수정할 부분과 함께 targetVersion을 변경을 하였습니다. 자... 이제 업데이트만 하면 됩니다. OMG. keystore 파일..
자바에는 없는 개념인 지연생성자에 대해서 알아보도록 합시다. 우리가 자바로 개발을 할때는 초기화하는 코드를 만들어줄때 생성자에서 만들어주어야 하는 불편함이 있습니다. 궂이 불편하다고 이야기를 한다면요 그런데 이런 부분을 사용할때 초기화를 하여서 불편함을 줄여버릴수 있는 방법이 있습니다. 그걸 kotlin에서는 해줍니다. 물론 swift도 해주지만요. class Test { private val name = "test"}cs 이렇게 말이죠... 이렇게 만들게 되면 아름답게 한줄로 만들수는 있지만 만약 저 data에 조건으로 접근을 할 것이라면 사용 자체를 하지 않을것이기 때문에 낭비입니다. class Test { private var name: String = null private func getName..
오랜만에 카카오 라이브러리를 업데이트 하였더니 위와 같은 오류가 발생합니다. All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes) 뭐... 번역을 해보자면, 모든 라이브러리 버전을 맞추어라입니다. 음? 근데 gradle 설정 파일에 가보면 다 맞추어 두었습니다.다른것이 없죠. 범인은 위에 카카오라이브러리에 문제가 있었습니다. 하위 버전의 라이브러리를 사용하여서 제가 설정한 버전과 맞지 않아서 생기는 문제였습니다. 물론 카카오만의 문제는 아니지만, 워닝은 해결을 하여 주어야겠죠? gradle file을 열어서 dependencies에 l..
안드로이드는 기본적으로 달빅을 이용하기 때문에 메소드의 단일 파일당 64k를 넘을수 없습니다. 그냥 보면 메세지들은 다음과 비슷합니다. Error: The number of method references in a .dex file cannot exceed 64K. 해결 방법은 다음과 같습니다. 1. 쓸데 없는 라이브러리를 사용하지 맙시다. 우리는 개발을 하는것이지 라이브러리 가져다가 이리저리 합치는 사람이 아닙니다.코더가 되지 말고 웬만한건 만들어 사용합시다. 이것과 관련하여서 예전에 googleplay-service가 너희가 무엇을 원하는지 알수가 없어서 모든것을 넣어서 만들어줄게 버전인 all 버전으로 출시했다가 개발자들이 이 라이브러리에서 쓰지 않는것들을 빼는 아주 획기적인 일이 있은 후로부터는 ..
- Total
- Today
- Yesterday
- ubuntu
- Spring
- Python
- go
- Gradle
- Windows
- MySQL
- github
- Linux
- centos8
- Kotlin
- php
- enum
- Xcode
- docker
- android
- intellij
- war
- CentOS
- cocoapods
- Java
- SWIFT
- windows10
- golang
- tomcat
- rxswift
- nodejs
- ios
- Codable
- git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |