일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- nextjs
- 코테
- useRouter
- 티스토리챌린지
- deep dive
- 코딩테스트
- 셋팅
- vscode
- Next
- 구글 로그인
- 초기셋팅
- git
- React
- 프로그래머스
- CORS
- 소셜 로그인
- array정적메서드
- 자주 까먹는
- vercel
- 스파르타코딩클럽
- error
- js
- 오블완
- 모던자바스크립트
- 프로젝트 셋팅
- 모던 자바스크립트
- domain
- 코드카타
- 내일배움캠프
- 최적화
- Today
- Total
목록전체 글 (146)
도록

단 하루의 기획, 2일의 개발, 개발 테스트 및 버그 픽스 0.5일, ppt 및 시연 영상 제작 0.5일 해서총 4일간 진행할 플젝의 기획을 마쳤다. 우선 각자의 능력치를 몰라, 최소한의 요구사항들로 구성했다. 필수 요구사항은 유튜브 API를 사용하는 것이였고 우리는 기획 상 웹페이지 크롤링이 필수여서 로그인/회원가입을 제외하고 크롤링을 먼저 구현하기로 했다.

https://glitch.com/ Glitch: The friendly community where everyone builds the webSimple, powerful, free tools to create and use millions of apps.glitch.com 1. 회원가입하기 (나는 github계정으로 회원가입했다) 2. 우측 상단의 헤더의 new project 클릭 -> import from github 3. github 주소 넣기 (나는 json-server 배포를 위해 한 거라 미리 만들어놓은 github 주소를 넣어었다.) https://github.com/reeny404/sparta-03-json-server 4. 기다리면 코드를 불러온 모습을 볼 수 있는데, 우측의 shar..

공식 문서를 보면 options.redirectTo를 전달할 수 있다. const { data, error } = await supabase.auth.signInWithOAuth({ provider: 'github' options : { redirectTo : "로그인 완료 후 이동할 페이지 url" }}) vercel 환경 변수에 등록하면 잘 할 수 있다. https://supabase.com/docs/reference/javascript/auth-signinwithoauth Sign in a user through OAuth | Supabase supabase.com

구매한 도메인을 vercel에 연결하기 끝! 참고) 설정 후에 조금 시간이 걸림!refresh 버튼을 눌러도 반응 없이 다 빨간 불 들어와있는데, 한 5분정도 지나면 아래처럼 refresh 스스로 하고 정상화됩니다
무한 스크롤 구현하려고 하니 너무 막막해서 하나씩 적어보려고 한다. 0. 무한 스크롤은 어떤 순서로 동작할까?일단 무한 스크롤의 동작을 상상해보았다. 아래처럼 움직이면 되지않을까? // 1. 최초 list 로딩 // 2. scroll 최하단 감지 // 3. hasNextPage 여부 체크 -> false일 때 fetch 요청하지 않도록 // 4. fetch해서 리스트 불러오기 // 5. 화면에 뿌리기 ==> react는 fetch한 데이터 set하면 된다. 1. 최초 list 로딩 const [posts, setPosts] = useState([]); useEffect(() => { (async () => { api.getRecentPosts().then((list) => ..
컨벤션 구조[적용 범위(선택 사항)]: [본문(선택 사항)][꼬리말(선택 사항)] 사용 예시 feat: 무한 스크롤 // : // 필수 규격feat(api): email 전송 기능 추가 // 타입[적용범위]: 설명feat!: 배송 완료 시 고객에게 이메일 전송 // 타입!:설명 // !는 단절적 변경을 강조*단절적 변경(breaking change) : 다른 것에 영향을 끼칠 수 있는 변경 각 영역에 들어가는 정보들타입- feat : 새 기능 추가- fix : bugfix- 그 외 : 앵귤러 컨벤션 기반 타입들 (build, chore..
postscol namedata typekeynullalbedefault비고idintPKnot nullauto increment titletextPKnot null contenttext nullable (empty) writertext nullable (null) user_id 와 매칭 (FK는 걸지 않음)created_attimestamp now() tagtext , 기준으로 끊기 (예시 : a,b,c,d,e)likeint not null0 viewint not null1 userscol namedata typekeynullalbedefault비고idintPKnot nullauto increment created_attimestamp not nullnow() idtextPKnot null..

useEffect useMemo컴포넌트 또는 데이터의 생애 주기에 따라 값을 업데이트하고 싶을 때 사용 dependencies가 mount 될때useEffect : 함수를 실행한다. (mount, unmount 실행은 반드시 paint 1회 후에 이루어진다. --> 화면 깜빡 거림 등이 동반)useLayoutEffect : 함수를 실행한다.useMemo : 값을 할당한다.useCallback : 함수를 할당한다.언제 useMemo와 useCallback을 사용하는가?컴포넌트, 데이터의 생애주기에 맞춰 값을 업데이트하고 싶을 때리렌더링 될 때마다 새롭게 값을 계산하거나 새로운 함수를 정의하는 것이 문제가 될 때새로운 값의 게산이나 새로운 함수의 정의가 무거울 때값, 함수의 참조값을 유지하는 것이 중요할 ..