[NextJS] useSWRInfinite 무한스크롤 사용 시 첫 번째 페이지를 항상 가져오는 문제
·
카테고리 없음
무한 스크롤을 구현하고자 useSWRInfinite를 사용하여 구현하였다. 다만, F12로 네트워크 탭을 확인해보니 1페이지 2페이지, 1페이지 3페이지, 1페이지 4페이지, ... 위와 같이 가져와지는 문제점이 있었다. getKey의 구현이 잘못되었나? 한참 디버깅하고 혹시 debounce나 throttling을 걸면 해결할 수 있을까? 싶어서 구현했는데 여전히 1페이지를 호출하고 있었다. https://swr.vercel.app/ko/docs/pagination#parameters 페이지네이션 – SWRSWR is a React Hooks library for data fetching. SWR first returns the data from cache (stale), then sends the fe..
[JAVA/SPRING BOOT] swagger POST, PUT, PATCH ... 403 문제 트러블 슈팅 (springdoc)
·
트러블슈팅
서론 우선 JAVA SPRING BOOT로 백엔드 서버를 개발하고 있는 상황이었다. 내부 논의를 통해 API 문서화 방식은 대중적으로 많이 사용되고 연동하기 가장 간단한 Swagger를 사용하는 것으로 진행하였다. 이때 해당 Swagger를 띄워주기 위해서 springdoc이라는 라이브러리를 사용하였고, 로컬 서버에서 별 문제없이 잘 개발하였고 prod에도 처음에는 별도의 문제가 없이 FE팀에게 전달하여 서로 잘 사용 중에 있었다. 다만 어느정도 개발을 한 이후에 BE팀에서의 JWT verify를 위하여 Spring Security를 구축하였고 로컬에서 별 문제없이 연동되어 prod로 배포하였다. 그 이후 FE팀에서도 직접 API 호출하던 것도 정상작동하여 페이지가 잘 렌더링 되었으며 잘 처리되어서 기뻤..
Hash
·
알고리즘
해시(Hash)란? 해시는 데이터 관리를 효율적으로 하기 위해 사용하는 기술로, 해시 함수를 사용하여 데이터의 값을 고유한 짧은 해시 코드로 변환하는 과정을 말합니다. 이 해시 코드는 데이터를 저장하거나 검색할 때 사용되는 "키"의 역할을 합니다. 해시의 주요 용도 데이터 검색: 해시 테이블을 이용하여 빠른 데이터 검색 속도를 제공합니다. 해시 함수가 데이터를 해시 테이블의 인덱스로 변환하여, 데이터 접근 시간을 줄입니다. 데이터 보안: 암호화에서 해시 함수는 데이터의 무결성을 확인하는 데 사용됩니다. 예를 들어, 비밀번호는 데이터베이스에 해시 형태로 저장되어 원본 비밀번호가 노출되지 않도록 합니다. 데이터 중복 검사: 파일이나 데이터의 해시 값을 비교하여 중복을 감지할 수 있습니다. 해시 함수의 특징 ..
완주하지 못한 선수
·
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/42576?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(participant, completion): hash_dict={} sumHash=0 for p in participant: hash_dict[hash(p)]=p sumHash+=hash(p) for c in completion: sumHash-=hash(c) return hash_dict[sumHash] 위와 같이 간단히 풀 수 있지만 해시..
[JAVA / SPRING BOOT] 백엔드 서버 CI / CD 구축 with Github actions, EC2, Code Deploy
·
AWS
CI란? 지속적 통합(Continuous Integration)은 자동화된 빌드 및 테스트가 수행된 후, 개발자가 코드 변경 사항을 중앙 리포지토리에 정기적으로 병합하는 DevOps 소프트웨어 개발 방식입니다. 지속적 통합은 소프트웨어 릴리스 프로세스 중 빌드 또는 통합 단계를 주로 가리키며, 자동화 구성 요소(예: CI 또는 빌드 서비스)와 문화적 구성 요소(예: 빈번하게 통합하도록 학습) 모두를 포함합니다. 지속적 통합의 핵심 목표는 버그를 신속하게 찾아 해결하고, 소프트웨어 품질을 개선하고, 새로운 소프트웨어 업데이트를 검증 및 릴리스하는 데 걸리는 시간을 단축하는 것입니다. 대표적인 서비스 AWS CodeBuild 만약 CI없이 그냥 배포했다가 빌드 에러가 발생한다면...? 테스트 한 번도 안해보..
[Postgresql] 외래키 참조 테이블 조회 방법
·
DB
주어진 테이블이 참조되는 테이블인 경우의 외래 키 관계를 찾는 법 SELECT CCU.table_name AS search_table_name, CCU.column_name AS search_column_name, KCU.table_name AS foreign_table_name, KCU.column_name AS foreign_column_name, KCU.constraint_name AS foreign_constraint_name FROM information_schema.table_constraints AS TC JOIN information_schema.key_column_usage AS KCU ON TC.constraint_name = KCU.constraint_name JOIN informat..