목록분류 전체보기 (114)
우주먼지 개발 log

오늘도 화이팅! 1. 빌드에러 puppeteer 버셀오류 못잡아서 크롤링 기능 빼고 배포했다 *^^* 일단........몰라서 정리를 못하겠다. https://github.com/puppeteer/puppeteer/issues/9121 처음 에러 / 수정해보니 달라진 에러 정리하고싶은데 .. 수정해본 내용 : [fix] 빌드에러잡자 얘는 왜나는지 모르겠는데 에러로는 안잡혀서 패스한다. https://github.com/supabase/supabase-js/issues/641 프로젝트 진행 상황 ✓ 빌드에러 잡기 (다 잡기는-.- 실패... 유저테스트 용으로 메인화면에 크롤링 기사 부분 삭제함) ✓ 유저 테스트 용 배포 완료 ✓ 유저테스트 글 주말에 올릴 예정 (새벽에 올리면 묻힐까봐) ✓ 원래 하려고했..

오늘도 화이팅! 1. TipTap 에디터 focus 기능 고민 : 에디터의 글쓰는 창 부분을 어디든지 클릭 시 써야하는 곳으로 포커스가 잡히게 하는 기능 처음 글 쓸 때는 포커스 할 부분이 시작점 한 부분 밖에 없어서 상관이 없어서 기본 포커싱으로 설정해 주었다. 글 쓸 때가 문제인데 아래부분 누르면 마지막 글쓴 위치로 포커싱되는거 어떻게 구현한 걸까… 현재 기본 포커싱을 사용하는 상황에서는 다른데를 클릭했다가 다시 에디터 div 클릭 시 마지막 포커스 되어있던 부분 (글쓰고 있던 부분?) 을 포커스 해주고 있다.. 처음 생각은 글이 있으면 end로 두면 다 되는거 아니야? 생각했는데 글쓰고 있는 부분을 클릭해도 end로 빠져서 뭔가 조건을 줘야하는데 잘 모르겠다. 위치로 주는걸까...🥲 TipTap ..

오늘도 화이팅! 프로젝트 진행 상황 ✓ MVP 기능 보충해서 합치기 중 (10 %정도 남지 않았을까) ✓ css 맞추다가 밤샐 듯 내 진행 상황 오늘 한일 1. csssss 2. 에디터 제목 본문 누를 때 드디어 줄에 적용된 걸로 표시 됨 ㅎ 무식한 코드지만 드롭다운으로 바꾸면서 이렇게 밖에 못함. 핸들러도 빼두었다. onClickFontSizeHandler(e)} > { {/*이 부분 !!! ㅋㅋㅋㅋ */} {editor.isActive("heading", { level: 1 }) ? "제목 1" : editor.isActive("heading", { level: 2 }) ? "제목 2" : editor.isActive("heading", { level: 3 }) ? "제목 3" : editor.is..

중간발표 발표자 당첨 ㅇ0ㅇ 1. 발표자료 발표자료 TOOL 사용 - Canva 너무 좋잖아! 프로젝트 진행 상황 ✓ MVP 기준 상세페이지 조금이랑, 프로필 페이지 CUD 남음 회고 보여주는 부분이 더 완벽했으면 좋았겠지만, 기능은 많이 들어가있어 우리! 만족 근데 이번에도 문서를 잘 안 읽고 만들었다. 기술적 내용 의주로 적으라고 했는뎀 쩝~!

오늘도 화이팅! 1. 신난당 1 : 조건부 렌더링 에러 Unhandled Runtime Error NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node. 리액트 에러 해결: React DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of 프로젝트 진행을 하다가 에러가 났다.React DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a chi..

오늘도 화이팅! 1. 카테고리 선택 창 카테고리라고 칭했지만 글종류를 의미하는 건 아니고, 글쓸 때 저 많은 선택 사항들을 의미한건데, DB에서 읽어오고 저장할 데이터가 너무 많아. DB 지옥을 경험했다. 카테고리로 필터링을 해야하는 동료가 있어서, 그 부분에서는 DB에서 읽어서 뿌려줘야하는데, 그건 같이 해서 다행이었다. 1. db에서 읽어오는 부분 - 포지션에 따른 기술스택들 : 이것밖에 없긴한데, db가 복잡한 죄로 제일 어려웠다. -> 이것도 몇개 없을 텐데 하드코딩으로 뿌려줄걸 그랬다ㅋㅋㅋㅋ 물론 이렇게하면 이름 조금 틀리면 망함. 2. 저장할 DB : - Projects Table (프로젝트방식, 오프라인이면 지역, 프로젝트 시작일, 종료일, 인원) - Project_position (프론트엔..

onSuccess의 1번째 매개변수를 받으면 return 된 data 있음! 오늘도 화이팅! 1. useMutation 쓸 때 mutationFn에서 리턴 값은 어디로가나.. onSuccess의 첫번째 매개변수에서 받을 수 있다. 사용 안할거면 리턴도 안해도된다. const queryClient = useQueryClient() const { isPending, isError, error, mutate } = useMutation({ mutationFn: setProject, onSuccess: () => { //1번째 매개변수를 받으면 return 된 data 있음! // queryClient.invalidateQueries({queryKey:["projects"]}) alert("게시물 작성 완료~!..

오늘도 화이팅! 1. useState 한번에 쓰기 https://velog.io/@postlist/REACT-useState data가 많아서, 정신못차림 -> state를 하나의 객체로 작성하고 카테고리를 하위 컴포넌트로 분리해줬는데 그쪽에서 set을 다 해주도록.. setState도 넘겨버리고.. const Write = () => { const initialCategoryData = { startDate: "", endDate: "", isOffline: false, region: "", numberOfMembers: 0, position: [{ name: "" }], techs: [{ name: "" }], // TODO: tech에 여러개 받고 한번에 넣는 법.. } const [title, s..

오늘도 화이팅! 1. Tailwind 반복되는 style -> @apply 계속 반복되는 tailwind 작업을 어떻게 해야할까 검색해보았다.. //(as-is) 오프라인 온라인 globals.css를 만들어 두었긴 했는데 여기에 적용하는게 맞을지는 의문이지만.. css 파일이 이것밖에 없어서.. 이쪽에 @apply를 이용하여 반복되는 스타일 클래스를 하나 지정해주었다~ 곂치는 부분만! 오버라이딩이.. globals.css가 나중에 실행되어서 덮어써짐, 연산자를 써줘야할것같긴한데 급한대로 패스해버림 ; ; // (To-be, globals.css) .category { @apply border-[1.5px] px-[20px] py-[5px] rounded-full; } //(To-be) 오프라인 온라인 ..
해설강의에서 나왔던건데, 여튼 한번만봐도 다 기억나면 얼마나 좋을까... html 폼데이터를 쉽게 보내도록 도와주는 객체 FormData 메서드 FormData에 속하는 필드는 아래와 같은 메서드로 수정할 수 있습니다. formData.append(name, value) – name과 value를 가진 폼 필드를 추가 formData.append(name, blob, fileName) – 형태의 필드를 추가. 세 번째 인수 fileName은 (필드 이름이 아니고) 사용자가 해당 이름을 가진 파일을 폼에 추가한 것처럼 설정해줌 formData.delete(name) – name에 해당하는 필드를 삭제 formData.get(name) – name에 해당하는 필드의 값을 가져옴 formData.has(nam..