전체 글
-
NestJS에서 Redis를 활용한 최근 검색어 기능 구현Redis 2024. 9. 10. 18:23
최근 검색어 기능최근 검색어는 10개를 저장할 수 있고 최근 10개의 검색어를 가져온다검색어가 10개를 초과하면 가장 오래된 검색어를 삭제하고 저장한다.Redis의 Sorted Set 자료구조 사용일반적인 Set 자료구조는 요소들의 순서가 보장되지 않고 중복을 허용하지 않는다는 특성을 가지는데 반해 Sorted Set 자료구조는 중복을 허용하지는 않고 개별 요소들이 특정한 기준에 따라 정렬되어있는 자료 구조이다.최신 검색어 저장 기능에 Sorted Set을 사용중복을 허용하지 않기 때문에 중복된 검색어는 저장 하지 않는다.특정한 조건 (검색된 시간)에 따라 정렬되어서 저장할 수 있기 때문에 제일 오래된 검색어부터 삭제 할 수 있다. zdd는 sort set 자료구조에 저장하는 메서드zcard는 sort ..
-
메인 화면에서 SessionStorage를 통한 Splash 이미지를 최초 로그인일때만 보여주기React.js 2024. 9. 8. 13:30
최초로 랜딩 페이지에 왔을때 getSessionStorage를 통해서 해당 데이터가 없을 경우에 Slash 이미지를 보여주고 해당 스토리지에 데이터를 저장한다. SessionStorage를 사용한 이유브라우저 창을 닫았을 경우 사라지는 휘발성 데이터여야 한다. 브라우저창을 닫고 다시 들어 왔을때 최초 접속이기 때문이다.브라우저 창을 닫지 않는 상태에서 다시 랜딩페이지로 갔을경우 splash 이미지가 로딩되지 않아야 하기 때문에
-
NextJS getServerSideProps SSR에서 HOF를 이용한 auth 검증Next.js 2024. 9. 5. 18:25
page router 기반에서 SSR 사용을 위해 사용 되는 getServerSideProps여기서 굉장히 불편한 상황이 발생하는데 바로 원하는 ssr에 사용될 로직을 사용하지도 않았는데 accessToken과 cookie를 넣어서 인증된 사용자인지 검증하는 로직을 ssr 사용되는 모든 페이지에 사용 되야 하는 번거로움이 따르고 아주 많은 중복 코드가 발생한다.withAuthServerSideProps.ts로그인 상태일경우 acceeToken을 header Bearer 토큰에 넣어주고 refreshToken을 cookie에 넣어준 상태의 axios 인스턴스를 반환해주고 로그인 상태가 아닐경우 로그인 페이지로 이동시키는 고차함수GroupDetailInviteCodePage.tsx 에서 SSR 사용시 이미..
-
NextJS에서 SSR 렌더링 사용시 redirect시 useLayoutEffect 사용 경고Next.js 2024. 9. 5. 16:13
Reference- ( https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85 ) SSR으로 axiosRefreshAPI가 실패 할 경우 reriect를 이용하여 메인 페이지로 보내게 SSR 실행하게 만들었다. 해당 Home 컴포넌트가 호출 되면서 useLayoutEffect에 경고 에러가 발생했다. Reference를 참고하여 2번째 방법으로 해결했다. function Parent() { const [showChild, setShowChild] = useState(false); // Wait until after client-side hydration to show useEffect(() => { setShowChild(tr..
-
prettier --write 명령어 사용시 node_modules/.cache/prettier 생성 되는 이슈yarn/yarn-berry 2024. 9. 4. 16:40
이슈 링크- ( https://github.com/prettier/prettier/issues/13032 ) 아직 오픈되어 있는 이슈인걸로 보아 마땅히 해결할 수 있는 방법이 아직 까지 없는것 같다.cache location을 수정하는 방법이 있긴 한것 같으나 자칫 잘못 하면 prettier cache가 멍텅구리가 될 수 있기 때문에 해당 이슈가 해결되기전까지 그냥 그대로 두고 사용 하는것이 정신건강에 이롭다.
-
S3와 CloudFront를 이용한 이미지 최적화백엔드/견고한 백엔드 만들기 2024. 9. 3. 13:51
S3 트리거를 사용한 Lamda 함수로 썸네일 이미지 생성과 이미지 용량 최적화CloudFront와 Lambda@Edge에서 실시간 이미지 리사이즈 Reference- ( https://helloinyong.tistory.com/246 )- ( https://medium.com/daangn/lambda-edge%EB%A1%9C-%EA%B5%AC%ED%98%84%ED%95%98%EB%8A%94-on-the-fly-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%A6%AC%EC%82%AC%EC%9D%B4%EC%A7%95-f4e5052d49f3 )- ( https://aws.amazon.com/ko/blogs/networking-and-content-delivery/resizing-images-wi..
-
free tier 운영시 Public IPV4사용으로 인한 과금 문제AWS/FreeTier 2024. 9. 3. 13:31
Amazon VPC IP Address Manager를 가보면 EC2는 퍼블릭 IPv4여도 freetier면 금액이 안나오는데로드 밸런서에서 요금이 발생하는것 같았다.VPC에서 요금이 계속 나오는데 이게 퍼블릭 IPv4를 사용해서 부과 되는것이다 ㅠㅠ아래는 AWS VPC 요금 줄일려고 IPv4에서 IPv6로 VPC 바꿀려면 어떻게 해야되는지 메일 보냈을때 온 답변이다.안녕하세요, AWS 고객지원팀입니다.IPv4에서 IPv6로 VPC를 마이그레이션 하는 방법에 대해 문의하신 것으로 이해했습니다.IPv6로 VPC를 마이그레이션 하는 경우, 비용은 별도로 발생되지 않습니다. 다만 고객님의 계정을 확인한 결과, VPC에서 지속적으로 비용이 발생하고 있는 것으로 보입니다.안타깝게도, 앞서 안내드린 바와 같이 AW..