본문 바로가기

verdantjuly/Today I Learned

TIL 20230926

728x90

이번 주 목표

이력서 하루에 5개씩 작성

오늘 목표

이력서에 들어갈 외부 문서 정리

오늘 한 것

이력서에 들어갈 외부 문서 정리

1. Refresh Token

 

Refresh Token = Access Token을 발급받기 위한 용도

 

과거 응답하라 추억시대에서의 Refresh Token 흐름

1. 로그인을 하게 되면 Refresh Token 과 Access Token 을 발급한다. 

2. Refesh Token의 값을 redis에 refresh_userId를 키값으로 저장한다.

3-1. Refresh Token 을 갖고 있고 만료되지 않은 경우 = redis의 Refresh Token 과 대조하여 일치하는 경우 Access Token을 발급

3-2. Refresh Token 을 갖고 있으나 만료된 경우 =  verify를 통과했을 때 Refresh Token과 AccessToken을 재발급한다. 

3-3. Refresh Token 이 없으나 비밀번호가 일치하는 경우 = Refresh Token과 AccessToken을 재발급하고 redis에 Refresh 저장

 

문제

Refresh Token이 만료되면 verify를 통과할 수 없다. expire로 인해 오류가 난다.

Refresh Token이 만료될 때까지 아직 사용해 보지 못해서 해당 오류를 확인하지 못했다.

 

 

시도

Refresh token 이 만료되면 redis의 값과 일치하는 경우에 Refresh Token과 Access Token 재발행

 

해결 

팀원 전원 동의하에 hotfix 진행.

시도의 방법으로 해결

 

알게 된 점

Refresh Token이 만료되면 verify를 통과할 수 없다.

2. PCM 펄스 부호 변조

아날로그 신호를 0과 1의 디지털 신호로 변환하는 방법

소리 등의 연속되는 값을 기록하기 위해 쓰인다.

음원을 표현하는 방식

파형을 미세한 시간 단위로 쪼개 펄스열로 바꾼 후 그것을 '부호(code)화'하여 디지털 신호로 '변조(modulation)'해 내는 기술

 

표본화(Sampling) - 양자화(Quantization) - 부호화(Encoding)의 과정을 거쳐서 진행된다

첫번째 단계인 표본화는 연속적인 아날로그 신호를 일정 시간 간격으로 끊어서 그 값을 취하는 것이다.

이렇게 해서 얻어진 신호를 이산 신호(Discrete-time-signal)이라고 한다.

두번째 단계인 양자화는 표본화를 통해 쪼개진 연속적인 값을 구간별로 나누어 각 구간의 대푯값 정수 값으로 맞추는 것이다.

이 과정에서 원래의 아날로그 신호와 양자화 된 신호 간에 발생하는 오차를 양자화 오차라고 한다(양자화 잡음).

세번째 단계인 부호화는 표본화와 양자화를 거친 디지털 정보를 0과 1의 이진수로 표현하는 것이다(이진코드화).

3.  FCM Firebase 클라우드 메시징

Firesbase에서 제공하는 알림 메시지 전송이 가능한 크로스 플랫폼 메시징 솔루션

 

FCM 수명 주기 흐름

  • FCM에서 메시지를 수신하도록 기기를 등록합니다. 클라이언트 앱의 인스턴스가 메시지를 수신하도록 등록하여 앱 인스턴스를 고유하게 식별하는 등록 토큰을 받습니다.
  • 다운스트림 메시지 전송 및 수신
    • 메시지를 보냅니다. 앱 서버가 클라이언트 앱에 메시지를 보냅니다.
      1. 메시지는 알림 작성기 또는 신뢰할 수 있는 환경에서 작성되며 메시지 요청이 FCM 백엔드로 전송됩니다.
      2. FCM 백엔드는 메시지 요청을 수신하고 메시지 ID와 기타 메타데이터를 생성하여 플랫폼별 전송 레이어로 보냅니다.
      3. 기기가 온라인 상태이면 메시지가 플랫폼별 전송 레이어를 통해 기기로 전송됩니다.
      4. 기기에서 클라이언트 앱이 메시지 또는 알림을 수신합니다.

1. 메시지 요청을 작성하거나 구현하는 도구: 알림 작성기는 알림 요청을 만들기 위한 GUI 기반 옵션을 제공합니다. 모든 메시지 유형을 완벽하게 자동화하고 지원하려면 Firebase Admin SDK 또는 FCM 서버 프로토콜을 지원하는 신뢰할 수 있는 서버 환경에서 메시지 요청을 구현해야 합니다. 이 환경은 Firebase용 Cloud Functions, App Engine 또는 자체 앱 서버일 수 있습니다.

 

2. FCM 백엔드: 메시지 요청을 수락하는 등 여러 기능을 수행하는 FCM 백엔드는 주제를 통해 메시지 팬아웃을 수행하고 메시지 ID와 같은 메시지 메타데이터를 생성합니다.

 

3. 플랫폼 수준 전송 레이어: 기기로 타겟팅된 메시지를 라우팅하고, 메시지 전송을 처리하고, 필요한 경우 플랫폼별 구성을 적용합니다. 이 전송 레이어에는 다음이 포함됩니다.

  • Google Play 서비스를 사용하는 Android 기기용 Android 전송 레이어(ATL)
  • Apple 기기용 Apple 푸시 알림 서비스(APN)
  • 웹 앱용 웹 푸시 프로토콜

4. 사용자 기기의 FCM SDK: 알림이 표시되거나 앱의 포그라운드/백그라운드 상태 및 관련 애플리케이션 로직에 따라 메시지가 처리됩니다.

 

4. 프로그레시브 웹 앱(PWA)

모바일 앱과 유사한 환경을 제공하는 웹용으로 개발된 앱

Google I/O 2016에서 처음 소개되었다.

 

특징 : 오프라인에서 작동하며, 알림을 보낼 수 있음 

* PWA는 오프라인에서 작동하도록 설계되었지만 일부 기능은 인터넷 연결 없이는 정상적으로 작동하지 않을 수도 있다.

 

웹앱과 PWA를 구분할 수 있는 PWA 원칙

 

1. 발견 가능 : 컨텐츠를 검색 엔진을 통해 찾을 수 있습니다.

2. 설치 가능 : 기기의 홈 화면에서 사용할 수 있습니다.

3. 연결 가능 : 간단하게 URL을 전송해 공유할 수 있습니다.

4. 네트워크 독립적 : 오프라인이나 불안한 네트워크 연결에서 동작합니다.

5. 점진적 : 최신 브라운저의 모든 기능은 사용할 수 없지만 이전 브라우전의 기본 기능은 여전히 사용할 수 있습니다.

6. 재 참여 가능 : 새 컨텐츠가 사용 가능할 때마다 알림을 보낼 수 있다.

7. 반응형 : 모든 기기의 화면이나 브라우저에서 이용 가능.

 

PWA의 장점

  • Service Workers 를 사용한 캐싱 덕분에 앱을 설치한 후에 로딩 시간이 줄어들어 소중한 데이터와 시간을 절약.
  • 앱 업데이트가 있을 때 변경된 컨텐츠만 업데이트 할 수 있음. 반면, 네이티브 앱의 경우, 아주 작은 수정에도 사용자가 어플리케이션 전체를 다시 다운로드하도록 강제함.
  • 네이티브 플랫폼에 보다 통합된 외관과 느낌 — 홈 화면의 앱 아이콘, 전체 화면으로 실행되는 앱, 등.
  • 시스템 알림 및 푸시 메시지를 통한 사용자의 재 참여. 참여율이 높은 사용자와 더 나은 전환율을 이끌어 냄.

정리 

Refresh Token = Access Token을 발급받기 위한 용도

FCM Firebase 클라우드 메시징

Firesbase에서 제공하는 알림 메시지 전송이 가능한 크로스 플랫폼 메시징 솔루션

 

PCM 펄스 부호 변조

아날로그 신호를 0과 1의 디지털 신호로 변환하는 방법

프로그레시브 웹 앱(PWA)

모바일 앱과 유사한 환경을 제공하는 웹용으로 개발된 앱

 

KPT

Keep

아침에 열심히 사는 것

Problem

저녁에 지치는 것

Try

공부 체력 기르기

소감

아침에 목표한 바를 끝낼 수 있어서 산뜻한 하루가 될 것 같다.

공부한 외부링크들을 첨부한 이력서를 열심히 넣어봐야겠다.

 

 

 

 

'verdantjuly > Today I Learned' 카테고리의 다른 글

TIL 20230929  (0) 2023.09.29
TIL 20230928  (0) 2023.09.28
TIL 20230925  (0) 2023.09.25
TIL 20230924  (0) 2023.09.24
TIL 20230922  (0) 2023.09.22