프론트
•
프론트를 Vue가 아닌 Svelte를 선택
•
헤더와 쿠키를 동시에 받아올 수 없는 현상
•
프론트에서 HTTP Response에서 헤더 값이 안가져와지는 현상
•
SPA에서 외부 API(카카오 로그인, 카카오페이 등)를 통해 리다이렉트 처리하는 방법
•
무한 스크롤
백엔드
•
로그인과 로그아웃 기능을 필터가 아닌 컨트롤러단에서 구현
•
프론트에서 로그인 정보를 갱신하기 위해 accessToken과 refreshToken을 구현
•
엔티티를 업데이트할 시, DTO와 File을 같이 처리하는 방법
•
부모와 자식 엔티티를 동시에 생성해야될 경우, cascade를 통해 부모와 자식 엔티티를 동시에 저장
•
무한 스크롤을 구현하기 위한 Slice 사용
Query Method를 통해 2중 join으로 조회하기
Swagger에서 토큰 설정하기
CORS 해결하기
•
스프링 시큐리티에서 requestMatchers를 통해 경로마다 인가 설정 시, ** 뒤에 경로를 추가 설정할 시, 오류 발생
•
엔티티 조회 시, 라이프사이클이 비슷한 자식 엔티티가 존재할 경우 EAGER로 조회하기
◦
그런데, 쿼리 개수는 2개. 왜 join을 통해 한번에 가져오지 않는가?
인프라
•
프론트 배포 플랫폼 Netlify 사용하여 프론트 서버 및 CI/CD 구축
◦
깃허브 branch별로 개발 전용 CI/CD 설정 기능
Netlify에 배포된 SPA에서의 리다이렉트시, 라우터가 안잡히는 현상
Svelte에서 외부 라이브러리르 추가할 시, Netlify에서 CI/CD가 실패하는 현상 발견
•
백엔드 CI/CD를 SSH로 구축할 시, 가끔 실패하던 이유
◦
추측 - 에러 코드가 메모리 부족으로 뜬 것으로 보아, SSH로 용량이 큰 데이터를 전송할 시 위험 부담이 있을 것이라 예상(입출력 버퍼의 크기가 작아서? 아니면 Github Actions의 worker가 불안정해서?)
•
HTTP와 HTTPS를 같이 사용함으로써, 혼합 컨텐츠 오류를 직면한 현상
•
AWS에서 HTTPS를 설정할 때, EC2와 Elastic Load Balancer 연결 작업이 힘들었던 상황
◦
원인 - 그룹 타겟 포트를 잘못 지정했기 때문
•
깃허브 탬플릿과 이슈, 프로젝트 기능 사용
•
깃허브 브랜치 작명할 시, / 를 통한 디렉터리 설정
◦
다단계로 분리 가능함을 깨달음
설계
•
엔티티 설계
•
식재료 데이터를 주기적으로 업데이트시키는 방법 고찰
◦
공공 데이터 포탈과 스프링 배치, 스케줄러를 통한 서버 구축
•
카카오페이 TID 저장 위치 선정 ⇒ 쿠키