winterlood
@winterlood
Students
35,961
Reviews
2,407
Course Rating
4.9
웹 프론트엔드 한 입 크기로 잘라먹어 볼까요?!
안녕하세요 🙇♂
저는 무엇이든 쉽고 재미있게 설명할 방법이 있다고 믿는 사람이자
세상에서 가장 따뜻한 개발자 커뮤니티를 만들고자 하는 사람입니다.
📚 도서
📹 강의
한 입 크기로 잘라먹는 Next.js
한 입 크기로 잘라먹는 타입스크립트
한 입 크기로 잘라먹는 리액트
Courses
Reviews
- One Bite Challenge Season 7 - TypeScript
- One Bite Challenge Season 7 - React.js
- Bite-Sized React(React.js): From Basics to Practice
- Bite-Sized React(React.js): From Basics to Practice
- Bite-Sized React(React.js): From Basics to Practice
Posts
Q&A
익스텐션 질문
안녕하세요 최우석님 이정환입니다.네 Error Lens라는 익스텐션입니다.
- 0
- 1
- 13
Q&A
vs코드에서 vercel
안녕하세요 김성관님 이정환입니다.앗 이 오류는 아마 vercel 명령어를 PC에 설치하시지 않았기 때문에 발생하는 걸로 보입니다.질문주신 해당 챕터의 하단 수업 노트에 아래와 같이 설치 방법을 기재해 두었습니다. 이 안내에 따라 vercel 명령을 설치해보시면 정상적으로 작동할 것 입니다.(사진)
- 0
- 2
- 17
Q&A
OAuth 프로필 생성 관련 질문입니다.
안녕하세요 jjk5050123님 이정환입니다.우선 GitHub의 정보를 이용하지 않고 서비스 자체의 랜덤한 닉네임을 사용하는것은 본 서비스의 의도된 동작입니다. 무조건 연동 로그인 된 서비스의 계정 정보를 불러와 채워넣을 필요는 없습니다 😀이 과정에서 만약 GitHub의 정보를 이용해 기본 정보를 채워넣도록 수정하고 싶으시다면 올려주신 코드대로 기능을 수정해 이용하시면 됩니다.
- 0
- 2
- 30
Q&A
Vercel 배포 관련 질문 파비콘문제
안녕하세요 강정빈님 이정환입니다.현재로써는 문제의 원인을 파악할 수 있는 정보가 없어서, 배포된 서비스 URL과 전체 프로젝트 코드를 GitHub 혹은 구글 드라이브 링크로 남겨주시면 확인해보겠습니다.
- 0
- 2
- 19
Q&A
6.2 회원가입 구현 18:06 AuthResponse 관련 문의
안녕하세요 Haemin Park님 이정환입니다.우선 강의 잘 듣고 있다고 말씀해주셔서 감사합니다 😀에러 발생시의 데이터 타입이 조금 변경되었군요..! 그런데 해당 타입은 제네릭과 인덱스 시그니쳐라는 타입스크립트 고유의 문법을 알아야만 이해할 수 있는 구조로 만들어져 있네요 ㅠㅠ 이에 해당 타입을 완벽히 이해하시려면 타입스크립트에 대해 먼저 학습해 보시는걸 추천드립니다. 우선 대략적으로만 설명드리자면, error가 AuthError 타입일 때 즉 에러가 발생했을 때의 data 타입인 T extends object ? { [K in keyof T]: null } : null는 “원래 성공했을 때 들어올 데이터의 모양은 유지하되, 값만 전부 비워 둔 상태” 라고 이해하시면 됩니다.
- 0
- 2
- 28
Q&A
포스트 리스트를 불러오는 hook에 대하여 질문드립니다!
안녕하세요 백지수님 이정환입니다.말씀해주신 현상은 버그라기보다는, 캐시를 강하게 가져가는 전략(예: staleTime: Infinity)에서 자연스럽게 발생하는 트레이드오프에 가깝습니다.무한 스크롤 리스트의 경우 최신화를 자주 수행하면, 리페칭이 발생하면서 리스트가 초기화되거나, 심한 경우 이미 불러온 여러 페이지를 다시 불러오게 되어 성능과 UX가 오히려 나빠질 수 있습니다. 반대로 캐시를 유지하면 지금처럼 다른 사용자의 새 글이 즉시 반영되지는 않는 대신, 사용자가 보고 있던 리스트 상태를 안정적으로 유지할 수 있다는 장점이 있습니다. 강의에서는 인프라에 많은 비용을 투자하지 않는(Supabase 무료 버전 사용 등) 등의 이유로 최신성보다는 성능과 안정성에 조금 더 무게를 두는 방향으로 구현했습니다.만약 이런 방식이 서비스 성격과 맞지 않는다고 느끼신다면, UX로 보완하는 방법도 충분히 가능합니다. 예를 들어 피드 상단이나 하단에 “새 게시글 불러오기” 버튼을 두어 사용자가 원할 때만 최신 데이터를 다시 불러오게 하거나, 캐시 전략을 조정해 특정 시점에만 invalidate/refetch가 일어나도록 설계하는 방식도 고려해볼 수 있습니다.
- 0
- 2
- 24
Q&A
TodoItem, 구조 분해 할당 시 사용하지 않는 변수는 어떻게 처리하나요?
안녕하세요 이정환입니다.결론부터 말씀드리자면 Props로부터 id 변수를 아예 구조분해 할당하지 않는게 가장 깔끔합니다.매개변수는 순서를 반드시 지켜야 하지만, 객체의 경우 순서를 무조건 지킬 필요는 없기에 그렇습니다 😀
- 0
- 1
- 27
Q&A
CommentItem에 props를 전달하지만 받지 않는데 TypeScript 에러가 안 나는 이유가 궁금합니다
안녕하세요 호기쿤님 이정환입니다.이 현상은 props가 객체 형태로 전달되기 때문에 발생하는 동작입니다. TypeScript에서 객체 타입은 기본적으로 초과(추가적인) 프로퍼티를 허용하는 방식으로 동작합니다. 즉, 컴포넌트가 명시적으로 사용하지 않는 props가 전달되더라도, 타입 에러 없이 그대로 허용됩니다. 예를 들어 아래 코드에서 Props 타입에는 content만 정의되어 있지만 author, createdAt 같은 추가적인 프로퍼티를 함께 전달해도 에러가 발생하지 않습니다.type Props = { content: string; }; function printContent(props: Props) { console.log(props.content); } printContent({ content: "안녕하세요", author: "정환", createdAt: "2025-01-01", });TypeScript는 이 객체가 content: string을 포함하고 있는지만 검사하고, 그 외의 프로퍼티는 타입 검사 대상에서 제외합니다.
- 0
- 1
- 27
Q&A
35강. 모듈 보강은 라이브러리 파일을 직접 편집해야 하나요?
안녕하세요 김성일님 이정환입니다.우선 라이브러리 파일은 직접 편집하시면 안됩니다. npm install로 다시 설치하거나 버전을 업데이트 할 경우 편집된 내용이 모두 사라지기 때문입니다.모듈 보강은 말씀하신대로 별도의 파일을 생성하신 다음 인터페이스를 중복 선언해 선언 머징을 이용하는 방식으로 이루어집니다.
- 0
- 2
- 20
Q&A
Day10 미션 안내 이미지
안녕하세요 Lucy님 수정해 두었습니다 감사합니다.
- 0
- 1
- 22




