- 트러블 슈팅
CRUD 중 게시글 작성 폼 구현에 React-quill 사용하여 기능 구현
React-quill 에디터 서식을 추가 후 게시글 등록 시 html 태그가 supabase에 같이 저장되는데, 이때 html 을 동적으로 렌더링하기 위해 dangerouslySetInnerHTML 추가해서 서식이 적용되도록 했다. 하지만 dangerouslySetInnerHTML 사용 시 스크립팅 공격으로 관리자가 아닌 이가 페이지에 악성 스크립트를 삽입할 수 있는 취약점이 있었다. 이는 DOMPurify 라이브러리를 사용해서 사용자 브라우저에서 자바스크립트 코드를 입력해서 생기는 보안 문제를 해결했다. 미처 생각하지 못했던 보안상의 문제도 신경 써야 한다는 것을 이번 기능 구현을 통해서 각인 시킬 수 있었다.
- 피드백
- 기능이 많진 않지만 페르소나 설정, 기능 설정이 잘 되어있음
- 상세한 트러블 슈팅 잘 이해감
- 이제 그게 올바른 해결이었는지 더 생각해 볼 것
- 소셜 로그인 ⇒ supabase 트리거 사용해 볼 것
- 다국어 기능을 추가한다고 했는데, 기본 언어가 영어였어도 좋을듯함
- 주요 타겟이 한국인이 아니기에 사이트 기본이 영어였어도 좋을 것 같음
- i18next 라이브러리 알아보기
- 로딩 화면 필요
- 배포 환경에 현재 로딩 화면이 안들어가서 이동 시 깜빡거림
- 스켈레톤 ui, TanStack Query 프리패칭
- 완성도 높이기 및 더 즐길 수 있는 요소 고려
- 작은 기능들을 완성도 높게 만든 것 같음
- 사이트나 기능에 더 쉽게 접근할 방법 고려
- 게임을 더 재밌게, 사이트를 더 즐겁게 이용할 방법 고려
- 페르소나 타겟을 넓히는 것도 좋을 듯 함
- 기술 스택 선정 이유 더 상세하게
- 기술 스택이 기획 단계에서 쉽게 선택될 수도 있지만 논리적으로 자세히 정리해놔야 함
- 기획부터 완성까지 논리적으로 스토리가 이어지게
- 소감
최종 프로젝트 시작 전까지 걱정이 많았지만, 팀원분들 모두 열심히 해주시고 좋은 분위기에서 프로젝트 진행할 수 있는 환경을 만들어주셔서 힘들었던 부분도 재미있게 참여할 수 있었고, 덕분에 중간발표까지 잘 올 수 있었던 것 같습니다. 어려움이 있을 때 마다 적극적으로 함께 고민해주시는 모습들과 팀 분위기에서 이번 최종프로젝트는 결과물을 떠나서 갚진 경험이 될 수 있을 것 같다고 생각합니다! 아직 많이 부족하지만 남은 기간에도 열심히 참여해서 좋은 결과도 얻고 좋은 인연들도 얻어가고 싶습니다! 😊