/images/profile_no_background.png

김영천 블로그

google ID 토큰 콘텐츠 팁

구글의 ID 토큰 콘텐츠는 인증한 사용자의 정보를 간단하게 보여줍니다. 이 중 sub 필드는 인증한 사용자의 고유한 ID 값인데, 이 값은 aud 필드의 값이 달라도 인증한 계정이 동일한 구글 계정이라면 sub 필드는 항상 동일한 값을 반환합니다. 심지어 서로 다른 GCP 프로젝트를 통해 인증해도 동일한 구글 계정이라면 동일한 값을 반환합니다.

타입스크립트 import 절대경로로 설정하기

타입스크립트 개발을 하다 보면 import 구문이 절대경로가 아니라 상대 경로로 포함되는 경우가 있습니다.

1
2
3
import { MY_MODULE } from '../../../../my_module'; // incorrect

import { MY_MODULE } from 'src/modules/my_module'; // correct

import 구문을 절대 경로로 포함하길 원한다면 tsconfig.json 파일의 compilerOptions 속성 내부에 baseUrl 속성을 지정하면 됩니다.

TTL vs TTI

Spring 환경에서 로컬 캐시를 위해 많이 사용되는 Ehcache는 캐시 유효 시간 설정을 위해 다음과 같은 옵션을 제공합니다. [공식 문서]

No Expiry

캐시가 절대 만료되지 않고 무한히 유지됩니다.

TTL (Time To Live)

캐시된 객체가 지정된 시간동안 유효하고, 지정된 시간이 지나면 만료됩니다.

Android WebView에서 firebase Auth 오류 해결하기

증상

안드로이드에서 WebView 기반 앱을 개발하고 있습니다. 대부분의 기능을 웹뷰에 의존한 형태의 단순한 앱이고, 웹뷰는 Angular, Firebase 조합의 코드가 동작하고 있습니다. 사용자 인증 관련 기능은 Firebase의 Auth를 사용하였는데, 특정 조건에서 onAuthStateChanged 함수가 동작하지 않는 문제가 발생하였습니다. 해당 조건은 다음과 같습니다.

Ubuntu 22.04 설치 후 특정 도메인에 접근 못하는 문제 수정

증상

Ubuntu 22.04.1 설치 후 Github.com 사이트에 접근이 안되는 문제가 발생했다. 다른 사이트는 모두 접근이 가능하고, 심지어 와이파이로 인터넷 연결 시에는 Github.com 사이트도 접근이 가능하지만 유선 인터넷 연결 시에는 Github.com 도메인을 포함한 일부 도메인은 접근을 못하는 문제가 발생하고 있는 상태이다.