묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
koreanjson.com 사이트가 안열려요..
강의 수강중인데 koreanjson.com 참고사이트가 사이트에 연결할 수 없음이라고 뜨네요 다른 방법이 있을까요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
[3.4] export default 모듈 불러오기
Node.js 에서 ES 사용시, default 메서드를 import 하는 과정에서 오류가 생깁니다.강의 마지막 부분처럼 import를 한 줄로 선언해도 안되네요 ..
-
미해결React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지
tailwind 설치에 대해 질문있습니다.
안녕하세요 현재 Tailwind CSS 강의 부분을 보고 있는데 강의에 나오는 테일윈드 사이트와 현재 테일윈드 사이트가 좀 다른거 같아 우선 강의에 나오는 설치 명령어로 하고 있는데 그 중에 npx tailwindcss init -p 이 명령어를 작성하니 아래 이미지처럼 에러가 계속 나더라구요. 어떤 부분이 잘못된건지 모르겠습니다.
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
프로젝트를 실행하고 localhost 쪽으로 들어가면 404에러가 발생합니다 ㅠㅠ
2.2 강의를 들으면서 실습하려고 프로젝트를 실행했는데 npm run dev로 입력해도 서버가 열리지 않은 건지 경로로 들어가면 404: This page could not be found. 라고 화면에 띄어져 있습니다. 프로젝트 실행이 어려워 진도가 막혔는데 어떻게 해결해야 될까요...? ㅠㅠ 아래는 터미널에 출력된 글이고 처음에는 Ready in 2.7s 까지 작성되어 있다가 위의 Local 경로로 접속한 뒤에 컴파일 에러 문구가 출력되었습니다! 비슷한 오류가 있나 질문답변 글을 찾아봤을 때 .next 파일을 지우고 다시 실행하는 글을 발견하여 여러 차례 지우고 실행할 때는 아래 사진처럼 나왔습니다!!
-
해결됨3시간 만에 끝내는 Cursor 완벽 가이드
rules for ai 기능 변경
안녕하세요, 수강중인 학생입니다.강사님께서 만들어주신 영상에서 대부분이 현재 기능이 바뀌어서 따로 하나하나 찾아가며 공부하고 있습니다. 때문에 많이 불편하다고 느낍니다. 특히 rules for ai는 한참을 찾다가 결제까지 했는데 알고보니 기능이 바뀌었더군요, 이 부분이라도 현재 어떻게 사용해야 하는지 알고싶습니다.!
-
해결됨아바타 커뮤니티앱 만들기 (React Native Expo)
app/_layout.tsx에서 useEffect 구간 의미
혹시 app/_layout.tsx 파일에서 아래 부분 의미가 뭘까요...? useEffect(() => { if (loaded) { SplashScreen.hideAsync(); } }, [loaded]); if (!loaded) { return null; }
-
미해결처음 만난 리액트(React)
prevIsConfiromed 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 섹션 9 실습에서setIsConfirmed((prevIsConfirmed) => !prevIsConfirmed); 로 setState 정의 했는데prevIsConfrimed라는 state는 어디에서 나온 건가요
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
목록(페이징)처리구현 - import package 문의
강의수강중에 Pageable import 관련하여아래와 같은 Pageable을 선택하니까오류가 나오더라구요...type unmatch 형태//import java.awt.print.Pageable; springboot를 사용할 때는아래와 같은 org.springframework의 형태가import 우선순위가 되는것이 맞는건가요?import org.springframework.data.domain.Pageable;
-
미해결한 입 크기로 잘라먹는 Next.js(v15)
2.8 페이지별 라우팅 설정에 강의 이외 과제를 하다가 막힌 부분이 있어 문의드립니다.
해당 화면에서 강의와 비슷하게 검색기능을 누르거나 엔터키를 치면 search결과가 나오도록 코드를 짰는데, 에러도 나오지 않고 아무것도 나오지않아. 이리저리 해보다가 우선 문의를 남깁니다!파일 구조는 아래와 같습니다!index.tsximport SearchableLayout from "@/components/searchable-layout"; import { ReactNode } from "react"; export default function Home() { return <h1>ONEBITE CINEMA</h1>; } Home.getLayout = (page: ReactNode) => { return <SearchableLayout>{page}</SearchableLayout>; }; searchable-layout.tsximport { useRouter } from "next/router"; import React, { ReactNode, useEffect, useState } from "react"; import style from "./searchable-layout.module.css"; export default function SearchableLayout({ children, }: { children: ReactNode; }) { const router = useRouter(); const [search, setSearch] = useState(""); const q = router.query.q as string; useEffect(() => { setSearch(q || ""); }, [q]); const onSubmit = () => { router.push(`/search?q=${search}`); }; const onChangeSearch = (e: React.ChangeEvent<HTMLInputElement>) => { setSearch(e.target.value); }; // Enter 키 입력 이벤트 const onkeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => { if (e.key === "Enter") { onSubmit(); } }; return ( <div> <div className={style.searchbar_container}> <input value={search} onChange={onChangeSearch} placeholder="영화를 입력해주세요..." onKeyDown={onkeyDown} /> <button onClick={onSubmit}>검색</button> </div> {children} </div> ); } global-layoutimport Link from "next/link"; import { ReactNode } from "react"; import style from "./global_layout.module.css"; export default function GlobalLayout({ children }: { children: ReactNode }) { return ( <div className={style.container}> <header className={style.header}> <Link href={"/"}>ONEBITE CINEMA</Link> </header> <main className={style.main}>{children}</main> </div> ); } search - index.tsximport SearchableLayout from "@/components/searchable-layout"; import { useRouter } from "next/router"; import { ReactNode } from "react"; export default function Page() { const router = useRouter(); const { q } = router.query; return <h1>검색결과 {q}</h1>; } Page.getLayout = (page: ReactNode) => { return <SearchableLayout>{page}</SearchableLayout>; };위와 같이 구성되어있고, 도저히 제가.. 찾지 못하여 문의드립니다 후.. 아마 input쪽이나 search.tsx에 문제가 있는거 같은데 좀 자괴감이 드네요.. 일어나서 다시한번 살펴볼 예정입니다! 다른분들 git도 궁금해서 봤는데 코드는 너무 똑같은데 대체 뭐가 다른 지 모르겠네요..
-
미해결[React 2부] 고급 주제와 훅
FormControl 컴포넌트 사용시 htmlFor prop 값 넘길 때 중괄호 이유
안녕하세요, 강의 잘 보고 있습니다 😀FormControl 컴포넌트 사용시 htmlFor prop 값 넘길 때 문자열을 중괄호로 감싸서 넘기는데요, "label" prop의 값은 문자열을 그냥 전달하는데, htmlFor의 값은 문자열을 중괄호로 감싸서 전달하는 이유가 뭘까요 ? 그냥 문자열만 보내면 안되는건가요 ?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
혹시, 중간에 book에서 catach all 쪽 강의 부분에서 에러뜨는 분들은 .next 지우고 다시 해보세요!
갑자기 500에러가 뜨면서 강의랑 코드가 틀린게 없는데 뜨길래 뭐지 싶어서 찾아봤는데, .next쪽에 손상이 있어서 그럴 수 있다고 하여, .next를 없애고 다시 'npm run dev'로 빌드했더니, 강의대로 잘 작동하였습니다! 참고하실분들, 참고하시길..!
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
spread ... 사용하는 이유가 궁금합니다
안녕하세요?[조회 페이지 이동] 영상을 보고 있는데요.List, Read Component에서는 spread를 하지 않고 바로 set으로 값을 넣었는데Add Component에서는 왜 {...initState}, {...todo}를 하는지 궁금합니다.
-
해결됨(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>
구글 애드센스의 경우 한 개의 아이디로 여러 사이트에 등록이 가능한 것인지 궁금합니다.
안녕하세요 강의 잘 듣고 있습니다. 좋은 강의 만들어주셔서 감사합니다.구글 애드센스의 경우 한 개의 구글 아이디로 여러 사이트에 등록이 가능한 것인지 궁금합니다. (각 사이트별로 승인을 받을 경우)하나의 구글계정당 하나의 사이트만 등록이 가능한 경우 여러개의 구글 아이디로 사이트마다 애드센스를 붙여도 나중에 수익을 지급받거나 하는데 문제가 없을까요?미리 감사드립니다.
-
해결됨처음 만난 리액트(React)
chapter14 잘이해가 되지않습니다..
안녕하세요소플님 덕분에 리액트 공부 잘하고 있습니다.chapter14 실습영상을 계속 돌려보고 있는데 이해가 안가서요..DarkOrLight 컴포넌트가 ThemeContext MainContent 두개의 컴포넌트를 하위로 가지고 있는거 같은데 return ( <ThemeContext.Provider value={{ theme, toggleTheme }}> <MainContent /> </ThemeContext.Provider> ); ThemeContext.Provider Provider 로 감싼다는 부분이 이해가 잘안되서요 ㅠ Provider 로 감쌌을때 ThemeContext 컴포넌트를 사용한다는 의미인가요? 전체적인 설명 부탁드립니다 ~!!
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
moveToList 질문 드립니다.
안녕하세요 선생님. 좋은 강의를 정말 잘 듣고 있습니다ㅎㅎ [네비게이션관련 커스텀 훅] 강의에서 궁금한게 생겼는데요~ 쿼리 스트링에 page와 size가 있는데, moveToList에 파라미터로 page와 size를 전달해서 처리해야 하는 이유가 무엇인지 알 수 있을까요?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
2.8 페이지별 레이아웃 질문있습니다!
2.8 페이지별 레이아웃을 설정하는 방법을 듣고있는 학생입니다!getLayout이란 메서드를 레이아웃을 적용할 컴포넌트 객체에 생성해서 _app.tsx 파일에서 메서드를 통해 레이아웃을 적용시키는 방법이라는건 이해했습니다.그런데 여기서 궁금했던 점이특정 레이아웃을 적용하기 위해 페이지 마다 따로 코드를 작성해줘야 하는 방식이라면그냥 레아이웃 컴포넌트를 적용시킬 컴포넌트의 최상위 요소로 감싸주는게 app.tsx에 추가로 코드를 작성할 필요도 없어 더 좋지 않나요?그리고 리액트 라우터에서는 특정 레이아웃을 적용시킬 컴포넌트들을<Route element={<Layout/>}><Route/> 이런 path가 없는 컴포넌트 안에서 감싸주는 방식을 사용하는걸로 알고 있습니다.지금 배우는 방식보다 더 직관성이나 코드 길이 등에서 리액트 라우터가 더 좋은거 같은데 Next는 페이지별 레이아웃 설정방식이 getLayout로 설정하는것 밖에 없는건가요?유지보수 할 때 특정 레이아웃이 적용된 페이지를 찾기 위해 getLayout을 사용한거라 보기에도 뭔가 애매하게 느껴지고 app.tsx에서 타입을 추가로 만들어줘야 해서 코드가 더 복잡해 보이는거 같습니다.
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
동적 함수(쿠키, 헤더, 쿼리스트링)을 사용하는 컴포넌트를 SSG로 바꾸려면 어떻게 해야할까요?
안녕하세요!이번 강의에서 동적 함수(쿠키, 헤더, 쿼리스트링)을 사용하는 컴포넌트가 포함된 페이지는 다이나믹 페이지라고 이해했습니다. 글을 찾아보니 middleware 에서 쿠키를 처리할 수 있다고 했습니다.찾아보니 Middleware에서 쿠키를 처리할 수 있다는 글을 봤는데, 이를 활용하면 동적 함수의 영향을 제거하여 정적 페이지로 만들 수 있는지 궁금합니다.또한, 클라이언트 컴포넌트 측으로 뺴면 정적인 페이지로 만들 수 있는지 궁금합니다.
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
오류 질문
https://inf.run/h8zSF An error occurred in the <App> component.Consider adding an error boundary to your tree to customize error handling behavior.Visit https://inf.run/MNrmr to learn more about error boundaries. Error Component Stack at App (App.jsx:63:28) 라는 오류가 뜹니다
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
"클라이언트 컴포넌트 안에, 서버 컴포넌트를 import 할 수 없다"는 주의 사항에 대해 궁금한 점이 있습니다
안녕하세요.클라이언트 컴포넌트 안에, 서버 컴포넌트를 import 할 수 없다라는 주의 사항에 대해 궁금한 점이 있습니다.Next.js 공식문서에는 아래와 같이 클라이언트 컴포넌트 안에 서버 컴포넌트를 직접 Import해 사용할 수 없다고 나와 있는데요.공식문서강의에서 실습했을 때는, 클라이언트 컴포넌트 안에서 서버 컴포넌트가 사용되는 경우, 자동으로 클라이언트 컴포넌트로 바뀌는 것을 확인했습니다. 그렇다면,서버 컴포넌트가 클라이언트로 바뀔 수 있는 경우는 해당 패턴을 사용해도 되는 건가요?아래와 같이 서버 컴포넌트의 기능을 사용한다면, 에러는 나지 않지만 fetch 요청이 여러 번 되는 등, 정상적인 동작이 되지 않는 것을 확인했습니다. 이런 경우에 한해 지양하면 될까요?결과적으로, 서버 컴포넌트가 클라이언트 컴포넌트로 바뀔 수 있는 경우, 제대로 동작하지만, 지양하자는 것으로 이해하면 될까요?// 클라이언트 컴포넌트 "use client"; import ServerComponent from "@/components/server-component"; export default function ClientPage() { console.log("클라이언트"); return ( <div> <h1>클라이언트</h1> <ServerComponent /> </div> ); } // 서버 컴포넌트 export default async function ServerComponent() { const res = await fetch("https://jsonplaceholder.typicode.com/todos/1"); const value = await res.json(); console.log(value); return ( <h1>서버 컴포넌트</h1> ); } 감사합니다.
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
빠르게 받아오는 API에 스트리밍을 사용해야 할까요?
안녕하세요!다이나믹 페이지에서 데이터 패칭이 오래 걸리는 문제를 해결하기 위해, Next에서 임시로 로딩 UI를 보여주고, 추후 패칭이 완료되면 스트리밍으로 업데이트하는 것으로 이해했습니다.로딩 UI는 데이터 패칭이 느릴 때 유용하지만, 패칭이 빠른 경우 오히려 깜빡거리는 느낌이 들어 사용자 경험 측면에서 안 좋을 수 있다고 느꼈습니다.물론 제가 생각했을 때 가장 베스트는 API 속도를 측정하여 특정 시간 이상인 경우에 스트리밍 기술을 적용하고, 그 외에는 안하는 것이 좋다고 생각을 했지만, 측정하기도 힘들 뿐더러, 사용자 네트워크도 신경을 써야 하기 때문에 이러한 방법은 어렵다고 생각을 했습니다.이러한 문제에서 강사님의 생각을 듣고 싶어 질문드리게 되었습니다.