Essay/기술 회고

Jira의 REST API 문서를 읽고 얻은 인사이트를 공유합니다유저가 소유한 리소스 - /users/me/resources vs /resources유저가 소유한 리소스를 나타내는 REST API URI를 설계할 때 원칙에 따른다면/resources: 현재 로그인한 유저와 관계 없는 전체 리소스/users/me/resources: 현재 로그인한 유저가 소유한 리소스이렇게 명명을 해야할 것 같다.그러나 현실적으로 Jira 처럼 로그인해서 쓰는 애플리케이션은 내 데이터만 볼 수 있는 경우가 많고, 그렇다면 대부분의 api가 /users/me 하위에 위치하게 되어 리소스 분류가 안 되어 좋은 설계는 아닌 것 같다는 생각이 들었다. 그래서 Jira는 어떻게 하는 지 찾아 봤다.예시: /rest/api/3/das..
FCM을 이용해서 습관 알림을 구현하는 방식에는 아래와 같은 이슈가 있습니다. 사이드 프로젝트로 정해진 시간에 알림을 보내는 기능을 구현하면서 생각했던 이슈를 공유합니다. 참고로 클라이언트는 PWA로 구현하고 있습니다.이슈기기가 인터넷에 연결되어 있지 않을 때 동작하지 않습니다동시에 1000개의 메세지만 전송할 수 있습니다. 1000개가 넘어가면 사용자가 지정한 시간에 보낼 수 없습니다.https://stackoverflow.com/questions/42927065/limit-of-bulk-firebase-cloud-messaging#comment83876716_42928210해결법구글에서는 캘린더 앱과 같은 예시에서는 로컬 알림을 스케줄링 할 것을 권장합니다.https://firebase.google...
문제점 header의 설정값 (global한 값)을 바꾼 뒤 다른 페이지로 이동하면 바꾼 값이 적용되지 않는 현상이 발생했다 원인 header의 설정값은 apollo useQuery를 이용해 불러오고 있었는데, refetch로 변경한 뒤 다시 불러올 때는 예전 캐시 값을 읽어와서 값이 변경되지 않았다. 배경 header에서 사용하고 있던 api 쿼리문은 variable을 전달하지 않으면 가장 마지막에 읽었던 값을, variable을 주면 해당 값을 반환하는 api였다. () => 마지막에 읽었던 값 (variable) => variable에 대응되는 값 이런 상황에서 사용자가 값을 변경하면 두 번째 방법으로 호출하고, 초기에 fetch할 때는 첫 번째 방법으로 호출하여 마지막에 읽었던 값이 반환되기를 기..
문제점 임시회원이 회원가입을 하는 요청을 전송할 때 기존 임시회원 id를 보내지 않는 문제가 발생했다 배경 회원가입 페이지의 useEffect에서 auth0 인증의 callback을 탐지해 회원 정보를 생성하는 요청을 보낸다. 그러나 인증정보 컴포넌트의 useEffect가 먼저 실행되어 임시회원의 인증정보를 지운다. 따라서 회원가입 요청을 보내는 시점에서는 임시회원의 id가 이미 지워져 있었다. 기존에는 이를 해결하기 위해 backup을 사용했으나, 백업 시점이 임시회원 id가 이미 지워진 후라 정상 작동하지 않았다. 해결법 그러나 인증정보 삭제 이전에 백업 코드를 넣기보다는, 임시회원 인증정보가 지워지는 시점을 회원가입 요청 성공 callback으로 변경하여 회원가입 요청을 보내는 시점에는 임시회원 인..
https://github.com/apollographql/apollo-client/issues/7436#issuecomment-821243699 Infinite loop when using a cache-and-network fetchPolicy · Issue #7436 · apollographql/apollo-client Intended outcome: I have a component that retrieves some data using useQuery and renders a chart. Until now I used these options: fetchPolicy: 'cache-and-network', nextFetchPolicy: 'cac... github.com `useQuery( QUER..