Kotlin
- 
          [FCM] FCM으로 Notification 구현하기 - 2(Firebase functions 셋팅)Kotlin 2025. 9. 24. 08:00FCM으로 알림을 구성하기 전에 어떤 흐름인지 잘 이해가 안 되서 써치를 많이 해보았다FCM의 경우 다음과 같은 흐름으로 진행이 된다고 이해했다 1. FCM Server에 token을 요청한다요청한 기기마다 고유한 토큰을 주는 듯 2. 토큰을 FCM server로부터 받는다나같은 경우는 받은 토큰을 preference에 저장했다 3. 서버에 토큰 저장 및 토큰을 보내 push message 요청이라고 적었지만 실제 구현을 해보았을 때는 살짝 달랐다나의 경우 서버가 따로 없었기때문에 Firebase Functions를 사용했고, fireStore에 Token이라는 collection을 따로 만들어 userId와 token을 저장했다하지만 Firebase Functions에서 제공하는 fireStore 트.. 
- 
          [Kotlin] 지연초기화(lateinit, by lazy), 위임(by)Kotlin 2024. 12. 20. 08:00객체에 프로퍼티를 선언하면 초기화를 해주어야한다근데 객체에 들어오는 정보가 나중에 오는 경우 지금 당장 초기화하기 어려울 수 있다이런 경우 지연 초기화를 사용해 초기화를 지연시킨다지연초기화를 할 때 latenit, by lazy라는 키워드를 사용해서 지연시킬 수 있다이러한 키워드들을 사용해서 컴파일러한테 나중에 초기화를 하겠다고 알려주는 것이다각각의 키워드들에 대해서는 아래에 정리하겠다! 1. lateinit var로 선언한 프로퍼티에서 사용이 가능하고, 해당 프로퍼티에 getter, setter를 사용할 수 없다class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding override.. 
- 
          [Kotlin] Custom Getter, SetterKotlin 2024. 12. 19. 08:08단순히 클래스 내의 프로퍼티에 접근해서 해당 프로퍼티의 값을 가져오거나 변경할 때는 게터와 세터를 굳이 쓸 필요가 없다왜냐면 코틀린은 알아서 getter, setter를 만들어주기 때문이다하지만 해당 프로퍼티를 가져올 때 값을 가공하거나 혹은 다른 프로퍼티와 연관되어 연산값 등을 가져오고 싶을 때는 커스텀 게터세터가 필요하다말은 거창하지만 원하는 대로 getter와 setter를 지정해줄 수 있다는 것이다 사용법은 간단하다프로퍼티를 선언하고 그 밑에 getter와 setter를 정의해주면 된다참고로 val로 선언된 프로퍼티의 경우 재할당이 안 되기 때문에 getter만 가능하다class Person(_name: String, _age: Int) { private var name: String = _.. 
- 
          [Kotlin] Scope functions(let, also, apply, with, run, use)Kotlin 2024. 12. 3. 23:29코틀린 scope functions를 사용하면 좀 더 간단하게 코드를 작성할 수 있다헷갈리는 것들이 있어 정리해보려고 한다 1. letlet을 호출하는 객체 T를 매개변수로 받아서 block으로 넘기고 block안의 결과값(value)을 리턴함사실 이렇게 말하면 어렵고 코드로 보면 쉽다 package org.examplefun main() { checkName("hans") checkNameLet(null)}fun checkName(name: String?) { when(name) { null -> println("이름을 다시 입력해주세요") else -> println("name is $name") }}fun checkNameLet(name: String.. 
- 
          [kotlin] String.formatKotlin 2024. 11. 7. 08:39코틀린으로 간단한 콘솔 과제에서 String format을 사용해 콘솔에 문자열을 보여주라는 피드백을 받았다그냥 나는 const val로 콘솔창에 보여줄 글로벌 상수로 정의했는데, String format을 사용해서 좀 더 가독성있게 작성할 수 있는 거 같았다 이걸 사용하기 위해 형식 문자를 알아야 한다 형식 문자란?형식 지정자는 컴퓨터에게 어떤 정보를 어떻게 화면에 보여줄지 알려주는 표시이며 프로그래밍에서 출력 형식을 제어하기 위해 사용된다고 한다. 형식 문자를 사용해서 코드의 결과값을 문자열로 원하는 형태대로 나타낼 수 있다. 코틀린에서는 형식문자를 사용하기 위해 문자열에 format을 사용할 수 있다- %b : boolean- %s : 문자열- %c: 문자- %d : 정수- %f : 실수- %e.. 
- 
          [Kotlin] 기본타입(Primitive Types)Kotlin 2024. 9. 28. 08:14안드로이드쪽으로 변경해보고자 코틀린으로 진행하는 안드로이드 개발 과정을 듣고 있다기본이 탄탄해야 나중에 편하니까 배운 것들을 정리해보고자 한다참고로 나는 자바스크립트 + 타입스크립트를 주력으로 해왔는데 코틀린 배우면서 뭔가 타입이 더 상세하고 많다고 생각했다아무래도 주력언어였던 자바스크립트와 비교해서 적어놓을듯(그래야 기억하기 쉬워서ㅎ) 1. 변수var : 변경가능한 변수를 선언할 때 사용 참고로 var로 선언된 변수는 나중에 값을 할당할 때 타입을 명시해주어야 한다!!ex :var name: Stringname = "hanna" val : 변경 불가능한 변수를 선언할 때 사용. 처음 한 번만 초기값을 할당할 수 있음코틀린 공홈에서도 val을 사용하는 것을 권장하고 있다https://play.kotlin..