FCM HTTP -> HTTP v1 Migration
·
📦 Database/Firebase
HTTP -> HTTP v1 마이그레이션 진행 순서 서버 엔드포인트 업데이트 전송 요청의 승인 업데이트 ADC를 사용한 사용자 인정 정보 제공 수동으로 사용자 인증 정보 제공 사용자 인증 정보를 사용한 액세스 토큰 발급 전송 요청의 페이로드 업데이트 예시: 간단한 알림 메시지 예시: 여러 플랫폼 타겟팅 예시: 플랫폼 재정의로 맟춤설정 예시: 특정 기기 타겟팅 HTTP v1의 장점 액세스 토큰을 통한 보안성 강화 플랫폼에 따른 메시지 맟춤 설정 새 클라이언트 플랫폼 버전을 위한 확장성 강화 서버 엔드포인트 업데이트 HTTP v1 API의 엔드포인트 URL은 다음과 같은 면에서 기존 엔드포인트와 다릅니다. 경로에 /v1로 버전이 지정됩니다. 경로에 /projects/myproject-ID/ 형식으로 앱의 F..
FCM (Firebase Cloud Message)
·
📦 Database/Firebase
💡 FCM 출처 https://donghun.dev/Firebase-Cloud-Messaging 참조 사이트 https://app.diagrams.net/ https://firebase.google.com/docs/cloud-messaging/send-message?hl=ko#send-messages-to-specific-devices-legacy FCM이란 무엇인가? FCM은 Firebase Cloud Messaging의 약자로, 무료로 메시지를 안정적으로 전송할 수 있는 교차 플랫폼 메시징 솔루션이다. 모든 사용자에게 알림 메세지를 전송할 수도 있고, 그룹을 지어 메시지를 전송할 수도 있다. Friebase의 서비스는 요금 정책에 따라, 이용할 수 있는 범위가 다르지만 FCM은 요금 정책에 구분 없이..
Kotlin - Array & Collections
·
📘 Backend/Kotlin
💡 코틀린에서 배열과 컬렉션을 다루는 법 목차 Array Collection - List, Set, Map Null 가능성, Java와 함께 사용 정리 💡 Array 코틀린엑서 배열을 잘 쓸일이 없지만 그래도 자바와 차이점을 설명한다. for loop를 쓸때 indices 키워드를 사용하여 0 부터 index 까지의 Range를 나타낼 수 있다. 또 다른 방법은 withIndex()를 사용하면, 인덱스와 값을 한번에 가져올 수 있다. 자바 예시 코드 int[] array = {100, 200}; for (int i=0; i
Kotlin - Classes
·
📘 Backend/Kotlin
💡 코틀린에서 다양한 클래스를 다루는 법 목차 Data Class Enum Class Sealed Class, Sealed Interface 정 💡 Data Class 클래스 뒤에 data 키워드를 붙여주면 아래 항목들이 포함된 클래스가 만들어진다. builder equals hashCode toString 계층간의 데이터를 전달하기 위한 DTO (Data Transfer Object) 데이터 (필드) 생성자와 Getter equals, hashCode, toString data class PersonDTO( val name: String, val age Int ) 💡 Enum Class 추가적인 클래스르 상속받을 수 없다. 인터페이스는 구현할 수 있으며, 각 코드가 싱글톤으로 이루어져 있다. enum ..
Kotlin - 중첩 클래스
·
📘 Backend/Kotlin
💡 코틀린에서 중첩 클래스를 다루는 법 목차 중첩 클래스의 종류 중첩 클래스와 내부 클래스 정리 💡 중첩 클래스의 종류 클래스 안에 내부 클래스를 만들때는 static클래스를 사용하자. 자바 코드 예시 Static을 사용하는 중첩클래스 Static을 사용하지 않는 중첩 클래스 내부 클래스 (Inner Class) 지역 클래스 (Local Class) 익명 클래스 (Anonymous Class) 💡중첩 클래스와 내부 클래스 기본적으로 코틀린은 외부 클래스를 참조하지 않는다. 외부 클래스를 참조하고 싶다면 inner 키워드를 추가하고 this@외부클래스를 사용해야한다 자바 코드 예시 내부클래스는 숨겨진 외부 클래스 정보를 가지고 있어 참조를 해지하지 못하는 경우 메모리 누수가 발생할 수 있고, 이를 디버깅하..