Firestore 사용시 시간정보 저장 및 쿼리 방법 (ServerTimeStamp/NTP)

정신을 차리고 보니 시스템 밀리초를 Firestore 데이터베이스에 그대로 저장해버리는 이상한 짓을 해버렸다. 문서 작성 시각, 수정 시각 등을 각 사용자 디바이스의 밀리초로 지정했더니 뒤죽박죽 난리도 아니다. 운영하는 앱이 게시판 형식의 서비스가 아니라 실시간 채팅 서비스나 게임이였다면 상상도 하기가 싫다. 보통 현재 시간을 가져올 때 이런 식으로 시스템 시간을 가져온다. 물론 백엔드 서버 개발을 할 때는…

Kotlin – 유효성 체크 isEmpty, isBlank, isNullOrEmpty

개발을 하면서 문자열의 유효성을 체크해야 되는 경우가 있다. 이를테면 사용자가 필드에 값을 입력하였는지를 판단하는 때가 있다. 이런 식의 유효성 체크 방법은 매우 익숙하다. Kotlin 에서는 이런 유효성 체크 로직에 대해 몇 가지 함수들을 기본적으로 제공한다. 대표적으로 isEmpty(), isBlank(), isNullOrEmpty, isNullOrBlank 가 있다, 이 함수들이 각각 어떻게 결괏값을 내주는지 알아보자. isEmpty() isEmpty는 문자열의 length를 기준으로, 1…