수코딩은 온라인과 오프라인을 병행하면서
코딩을 가르치는 활동을 하고 있습니다.
다년간의 오프라인 강의 경험을 바탕으로,
더 많은 사람들이 코딩을 쉽고 재미있게 배울 수 있도록
매일 고민하고, 끊임없이 노력하고 있습니다.
현재까지 다음과 같은 5권의 책을 출판하며
프런트엔드 강의 분야를 선도하고 있습니다:
또한, 유튜브 채널을 통해 다양한 무료 강의도 제공하고 있습니다.
👇 지금 바로 방문해 보세요
[유튜브 채널 링크]
다양한 할인 소식 또한 공식 홈페이지에서 빠르게 확인하실 수 있습니다.
👇 지금 바로 방문해 보세요
[공식 홈페이지 링크]
강의
로드맵
전체 2수강평
- 핵심만 골라배우는 JavaScript
- <AI 자율학습: 처음 만드는 AI 에이전트 서비스> 10주 완독 챌린지
게시글
질문&답변
강의자료 있나요
안녕하세요.본 강의는 별도의 PDF가 제공되지 않습니다. !!
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 9
질문&답변
mission12-01 guide.md파일 누락
안녕하세요!해당 강의자료는 확인하여 업데이트 하도록 하겠습니다.제보 감사합니다!
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 54
질문&답변
ThemeProvider를 이용해서 NextThemeProvider를 따로 생성하여 Layout.tsx에 적용하는 이유는 뭘까요?
안녕하세요!next-themes의 ThemeProvider는 React Context API와 브라우저 API를 사용하므로 클라이언트 컴포넌트에서만 동작합니다.반면, Next.js App Router의 layout.tsx는 서버 컴포넌트로 유지하는 것이 권장됩니다. layout.tsx에 직접 'use client'를 선언하면 하위의 모든 페이지와 컴포넌트가 클라이언트 경계(Client Boundary)에 포함되어 서버 컴포넌트의 장점을 잃게 되기 때문입니다.따라서 별도의 Wrapper 컴포넌트(예: NextThemeProvider)를 생성하여 상단에 'use client'를 붙여주고, layout.tsx에서는 이를 불러와 감싸는 방식으로 서버/클라이언트 컴포넌트 경계를 명확히 분리해 주는 것입니다.학습에 도움이 되셨기를 바랍니다. 추가로 궁금한 점이 있으시면 편하게 질문해 주세요!
- 좋아요수
- 0
- 댓글수
- 1
- 조회수
- 100
질문&답변
mission 09-01 을 수행할 수 없어요
안녕하세요!작성하신 코드를 sucoding@naver.com으로 압축해서 보내주시면확인 후 피드백 드리겠습니다.감사합니다!
- 좋아요수
- 0
- 댓글수
- 1
- 조회수
- 47
질문&답변
스니펫이 이상해요
안녕하세요.제공해드린 스니펫을 정확하게 입력하셨는지 한 번 확인 부탁드리겠습니다.인프런 인턴 답변처럼 '스니펫의 함수명 부분이나 변수 치환 설정이 잘못 등록된 경우 발생할 수 있습니다'감사합니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 55
질문&답변
react-fetch -2 (loading) 에러
안녕하세요.해당 오류는 말씀하신 것처럼 useEffect 내부에서 조건 없이 동기적으로 setState를 호출할 경우, 컴포넌트가 마운트되자마자 불필요한 리렌더링이 연쇄적으로 발생하기 때문입니다.따라서 동기적으로 setState를 호출하지 않도록 처리하면 됩니다. 가장 간단한 우회 방법으로는 window.setTimeout(() => {}, 0)과 같은 패턴을 사용해 비동기적으로 상태를 변경하는 방법이 있습니다.다만 위 코드에서는 fetch 자체가 이미 비동기적으로 동작하기 때문에, 별도로 setTimeout을 사용할 필요는 없습니다. 초기 isLoading 상태를 true로 설정한 뒤, fetch가 완료되었을 때 상태를 변경하는 방식으로 처리할 수 있습니다.const [isLoading, setIsLoading] = useState(true); useEffect(() => { fetch("http://localhost:3000/posts") .then((response) => { return response.json(); }) .then((data) => setPosts(data)) .finally(() => { setIsLoading(false); }); }, []); 이렇게 하면 컴포넌트가 처음 렌더링될 때는 isLoading이 true이고, fetch가 완료된 이후 false로 변경되므로 불필요한 동기적 상태 변경을 피할 수 있습니다.추가로 궁금한 점이 있으시면 언제든지 다시 질문해주세요.감사합니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 65
질문&답변
useEffect return문
안녕하세요!해결 되셨다니 다행입니다 :)좋은 하루 되세요!
- 좋아요수
- 0
- 댓글수
- 3
- 조회수
- 74
질문&답변
모든 컴포넌트를 클라이언트 컴포넌트로 했을 때
안녕하세요.인프런 AI이 정확하게 답변을 해주었네요!제 의견도 동일하기 때문에 참고하시면 되겠습니다.
- 좋아요수
- 0
- 댓글수
- 3
- 조회수
- 69
질문&답변
할 일 수정 질문
안녕하세요 양승근님.아쉽지만 말씀하시는 것과 같은 기능 및 구조는 리액트에서 제공하지 않습니다.참고 부탁드립니다!
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 65
질문&답변
컴포넌트 분리하기 강의 편
안녕하세요.인프런 AI 인턴의 답변이 정확하네요.이번 프로젝트 같은 경우 기본 체크박스 모양을 사용하지 않기 때문에커스터마이징 과정을 통해서 변환한 것이라고 이해하시면 됩니다.전체적인 답변은 인프런 AI 인턴 참고하시면 될 것 같습니다.추가로 궁금하시면 다시 문의해주세요!
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 60







