본문 바로가기

Programing/TIL85

2024-06-07 팀 프로젝트 회고 이번 팀 프로젝트에서는 발표를 맡았다. 나의 발표 대본을 함께 올려본다.배포주소 Our Knowledge our-knowledge-teamproject.vercel.app 발표시작안녕하세요, A10조 발표를 시작하겠습니다.저는 발표를 맡은 김병준입니다.발표 순서를 말씀드리겠습니다.발표 순서는 먼저 이번 프로젝트에 힘써주신 팀원분들을 소개하는 것을 시작하겠습니다.그 다음 결과보고서를 함께 보며 프로젝트에 대해 간단히 소개해드리고,웹 사이트를 직접 시연하며 구현한 기능에 대해서 소개해드린 후,소감을 발표하며 마무리하겠습니다.팀 소개화면: 2. 프로젝트 팀 구성 및 역할본격적인 발표에 앞서 잠도 못자고 고생해주신 저희 팀을 소개하겠습니다.먼저 김재훈 팀장님이 프로젝트 셋업과 홈 뉴스피드 제작을 맡아주셨습니다... Programing/TIL 2024. 6. 7.
2024-06-06 게시글을 업데이트 했음에도 페이지가 리렌더링 되지 않는 이유 해결방법너무 간단한 문제였는데, 문제는 fetch를 받아 온 데이터를 posts 라는 state에 담아 다른 컴포넌트에서도 사용할 수 있게 props로 하위 컴포넌트에 전달했는데 이 과정에서 리렌더링이 발생할 만한 조건을 내려주지 않은 것이다. 즉 posts라는 상태의 상태 변경 함수를 같이 내려주지 않았다는 것이 문제다. 그렇다 보니 posts 상태가 변경되었음에도 홈 피드에서는 posts의 상태를 변경해줄 수 없었던 것이다.그래서 새로고침을 직접 누르거나 아래 처럼 강제로 리로드를 해주어야 App 컴포넌트가 리렌더링 되면서 자식 컴포넌트들이 리렌더링이 그제서야 되는 문제가 발생했던 것이다.// 기존 코드navigate('/');window.location.reload(); // 변경 코드.. Programing/TIL 2024. 6. 6.
2024-06-05 팀 프로젝트 중간 회고 1. 사용한 라이브러리- quill / react-quill- supabase-js- styled-components- react-router-dom2. 에러가 난 부분, 어떻게 해결했는지- 회원정보에서 닉네임 등 다뤄야 할 서브 데이터가 증가하여 auth에서 관리하던 데이터를 users 테이블에서 관리하는 방식으로 교체하였고, 이 과정에서 홈 피드와 상세페이지에 닉네임을 렌더링 할 때 auth의 사용자와 users의 닉네임이 일치하지 않아 누구나 다 게시글을 수정하고 삭제할 수 있는 문제가 생김. => find 메서드를 통해 현재 로그인된 사용자의 id와 게시글 작성자의 id의 일치 여부를 판단해서 users 배열에서 닉네임을 추출.- quill editor에서 원하는 기능을 사용하지 못함 => 툴바를.. Programing/TIL 2024. 6. 5.
2024-06-04 API 렌더링 시 태그가 그대로 노출되는 문제 해결 방법 예를 들어 웹 페이지를 아래와 같이 렌더링 하고자 하는데,quill 같은 에디터를 사용하면 데이터 테이블 안에 들어 있는 내용이 코드나 태그가 포함된다. 이를 map메서드나 filter메서드로 렌더링하면 태그가 그대로 렌더링 된다.  이런 식으로 렌더링을 하고 있을 건데 아래 처럼 개선하면 된다.   그러면 아래처럼 잘 렌더링 된다. Programing/TIL 2024. 6. 4.
2024-06-03 Supabase 스키마 이해하기 지난 팀프로젝트 간 CRUD를 제대로 해본 적이 없어 이번에 해보고 싶어 팀원들께 양해를 구한 후 CRUD를 해보고 싶다고 말씀드렸더니 흔쾌히 양보해주셨기에 CRUD를 구현하기로 하였다. 그런데 조건이 Supabase를 사용하는 것이었고, 크게 어렵지 않을 것이라고 생각했으나, 한국어 자료가 많이 없는 것에서 일단 큰 벽을 만났다. 가장 큰 문제는 '관계형' 데이터베이스에 기반한 서비스라는 게 핵심인 것인데, 이 관계형을 이해하지 못해 여러가지 문제에 봉착했다.   Supabase와 찰떡궁합인듯 많이 사용되고 있는 듯한 quill editor 라이브러리를 사용하기로 하였는데, 생각보다 적용이 어려웠다.default 모듈에서는 이미지 삽입 기능이 없어 별도의 모듈로 정의하고 장착하였는데, 문제는 여기서 이.. Programing/TIL 2024. 6. 3.