묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>
VSCode에 node 설치 mkdir, ls 결과 확인
Visual Studid Code powershel 터미널l에서 node 설치 확인을 하고 mkdir과 ls를 각각 입력하면 위와 같이 나오는데 맞는 것인지요? 강의 화면과는 다른 것 같아서요.
-
미해결웹 게임을 만들며 배우는 React
Cannot find package 'react-refesh' 이런 에러 뜨시는 분들 보세요.
한시간 헤매다 다행히 해결책 찾았습니다.기존 강좌와 @pmmmwh/react-refresh-webpack-plugin 해당 플러그인 버전 차이 때문에 발생한 에러 같습니다. webpack.config.js 파일을 아래와 같이 전체적으로 수정해주세요.const path = require('path'); const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin'); const webpack = require('webpack'); const isDevelopment = process.env.NODE_ENV !== 'production'; module.exports = { name: 'word-relay-dev', mode: 'development', devtool: 'eval', resolve: { extensions: ['.js', '.jsx'], }, entry: { app: './client', }, // 입력 mode: isDevelopment ? 'development' : 'production', module: { rules: [{ test: /\.jsx?$/, exclude: /node_modules/, use: [ { loader: require.resolve('babel-loader'), options: { presets: [ ['@babel/preset-env', { targets: { browsers: ['> 5% in KR'], }, debug: true, }], '@babel/preset-react', ], plugins: [ isDevelopment && require.resolve('@babel/plugin-proposal-class-properties'), isDevelopment && require.resolve('react-refresh/babel'), ].filter(Boolean), }, }, ], }], }, plugins: [ isDevelopment && new webpack.HotModuleReplacementPlugin(), isDevelopment && new ReactRefreshWebpackPlugin(), ].filter(Boolean), output: { path: path.join(__dirname, 'dist'), filename: 'app.js', publicPath: '/dist/', }, // 출력 devServer: { // webpack 4버전 이상(5버전 포함)도 아래처럼 수정 필요 devMiddleware: { publicPath: '/dist' }, static: { directory: path.resolve(__dirname) }, hot: true, }, }; 공식문서는 아래 링크를 참고하세요.https://www.npmjs.com/package/@pmmmwh/react-refresh-webpack-plugin/v/0.5.0-rc.4
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
page를 클라이언트 컴포넌트로 작성해도 rsc_payload가 생성되는 이유는 무엇인가요??
안녕하세요! 덕분에 nextjs에 대해 깊에 알아가고 있습니다.제목처럼 page 컴포넌트에 'use client'를 명시하고 빌드 해도 해당 페이지에 대한 rsc_payload가 생성되어서 .next 빌드 파일을 살펴 보았습니다.페이지를 클라이언트 컴포넌트로 작성하던 서버 컴포넌트로 작성하던 .next 빌드 파일 server, static/chunk/app 폴더에 모두 page.js 파일이 생성되는 것을 확인했습니다.1. server 폴더에 있는 page.js는 해당 페이지에 필요한 번들 파일에 대한 내용인 거고, static 폴더에 있는 page.js는 해당 페이지에 그려질 내용에 대한 파일인 건가요??2. 그래서 page컴포넌트를 클라이언트 컴포넌트로 만들어도 페이지에서 사용할 번들 파일의 주소를 알아야 하기 때문에 rsc_payload를 만들어서 내려주는 건가요??
-
미해결Next + React Query로 SNS 서비스 만들기
레이아웃은 서버 데이터에 변경사항이 있을 때는 렌더링을 해주나요?
레이아웃은 네비게이션을 해도 상태를 유지하고 렌더링을 하지 않는다라고 이해했습니다.그런데, 오른쪽 레이아웃을 만들면서 패러렐 라우트라던지 template를 쓰지 않고 (비록 컴포넌트를 분리하긴 했으나) 서버에서 데이터를 뿌려주는 미래를 상상하고 쭉 코드를 짜고 계시는 모습을 보면서,레이아웃이 서버 데이터는 변경사항을 화면에 반영해주는 것처럼 이해가 되었습니다.뒷부분은 수강하지 않았습니다. 제가 잘못 이해 중인가요?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
padding 과 box-sizing 질문
14분 부터 css 전체선택자 box-sizing 이 border-box 라서 padding 을 하게되면 a 태그의 크기가 줄어들어야 하는 것 아닌가요? 왜 padding을 통해 크기를 키운다고 말씀하시나요?
-
미해결웹 게임을 만들며 배우는 React
해당 에러 뜨는 분들 보세요. "Uncaught TypeError: ReactDom.createRoot is not a function"
package.json 파일 보시면 리액트 버전이 나오실텐데 저는 19 버전이라 위같은 에러가 뜨네요. 따라서, 기존 코드를 (리액트 17버전 이하에서 정상작동)..const ReactDom = require('react-dom'); ReactDom.render(<WordRelay />, document.querySelector('#root')); 아래처럼 변경해주셔야 합니다.import { createRoot } from 'react-dom/client'; createRoot(document.querySelector('#root')).render(<WordRelay />);
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
async&await에서 reject시 처리 방법이 궁금합니다.
채찍피티에게 물어보니 try/catch로 처리하라고 하는데 이게 최선일까요..?
-
미해결React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지
eslint.config.js (flat config): eslint.config.js 파일에서 eslint-config-prettier를 import한 후, 다른 설정을 재정의할 수 있도록 설정 배열의 마지막에 추가합니다.
eslint.config.js (flat config): eslint.config.js 파일에서 eslint-config-prettier를 import한 후, 다른 설정을 재정의할 수 있도록 설정 배열의 마지막에 추가합니다.에서 어떻게 import해야하는가요? import eslint-config-prettier from 'eslint-config-prettier';로 하면 오류가 납니다.
-
미해결React 완벽 마스터: 기초 개념부터 린캔버스 프로젝트까지
.prettierrc를 적용했는데 저장하니 ;이 왜 안생길까요?
.prettierrc를 적용했는데 저장하니 ;이 왜 안생길까요?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
스트리밍으로 받은 <script />내부의 데이터가 SEO에 영향이 가는지 알고 싶어요
안녕하세요 !강의를 듣기전부터 궁금했던 내용인데 강의를 듣고나서도 답을 찾지 못해서 질문을 남깁니다..!개발자도구 > Network 탭 > 문서 > 응답이나 소스보기에 서버사이드에서 불러온 데이터가 HTML로 만들어져있으면 SEO에 영향을 주는 데이터라고 알고 있어요제가 혼자 테스트해보려고 만든 스트리밍에서는 <script /> 내부에만 서버 사이드에서 패치한 데이터가 들어가있고 HTML로 만들어지지는 않았더라고요( 아마 <script />에 있는 정보가 RSC Payload겠죠..? )그래서 이게 SEO에 영향이 가는 데이터일지 궁금해서 여기저기 찾다가 발견한 Next Playground에서는 HTML로도 만들어지고 <script />에도 들어가있더라고요최종적으로 궁금한것은 <script />에만 들어있는 스트리밍된 데이터도 SEO에 영향을 주는지가 궁금해요그리고 영향을 주든 안주든 이런 정보는 어디서 찾아봐야하는지 어떻게 검증하는지 알고 싶습니다..!( 참고로 Playground에서 패치하는 첫번째 리스트의 이름인 Fusce commodo porta로 확인해봤습니다! )
-
해결됨코드로 배우는 React 19 with 스프링부트 API서버
스프링부트와 리액트 연동관련해서
스프링부트와 리액트를 연동하는 강의를 본격적으로 듣기전에 궁금한게 있어서 글을 남깁니다.스프링부트로만 작업을 할경우 저희에겐 타임리프라는 SSR 기술이있어서 서버의 데이터도 쉽게 웹페이지에 전달할 수 있었습니다. 하지만 리액트의 경우 타입스크립트를 기반으로한 next.js 기술이 있는데 이 기술은 node.js를 상정하고 만들어진 기술인 것 같습니다. 이때 next.js 기술이 스프링부트의 타임리프를 대체할만한 SSR기술인지 아니면 next.js 같은 SSR기술이없어도 서버의 데이터를 쉽게 웹페이지에 전송할 수 있는지 궁금합니다. 기술이 필요하다면 어떤 종류의 기술을 익히는 것이 좋을지 알려주시면 너무 감사드립니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
타입스크립트/next.js 추가학습 관련해서 문의 드립니다
최근 취업시장이 리액트와 스프링부트나 넥스트같은 백엔드 기술을 모두 할줄아는 사람을 뽑는 추세가 강해져 저도 리액트 관련기술을 익히고자 강의를 신청했고 현재 수강중입니다. 백엔드쪽은 스프링부트로 확고히 가져가서 만약 이후에 둘을 연동할때 DB의 데이터를 가져오거나 서버와 연동해서 데이터를 가져오거나 통신할때 next.js 기술이 필수인지 아닌지 궁금해서 질문 남깁니다.필수가 아니라면 도움이 되는 지 궁금합니다. 제가 강사님 next,js 소개글을 봤는데 node.js가 필요기술에 있어서 node.js만을 위한 ssr기술인지 궁금합니다.
-
미해결실무에 바로 적용하는 스토리북과 UI 테스트
[질문 x 공유용] tailwind v4.0 으로 강의랑 다를 때 (import 다름, tailwind.config.js 없어짐 등)
강의랑 다른 부분 1. tailwind 설치 커맨드: 커맨드가 간단해졌어요.npm install tailwindcss @tailwindcss/vite 강의랑 다른 부분 2. vite.config.ts : 이제 ***.tsx, ***.jsx 를 일일히 넣지 않아도 됩니다.import { defineConfig } from 'vite' import tailwindcss from '@tailwindcss/vite' export default defineConfig({ plugins: [ tailwindcss(), ], }) 강의랑 다른 부분 3. @import ~ 3줄 @import "tailwindcss";한 줄로 초간단해짐.. 강의랑 다른 부분 4. tailwind.config.js: config.js 가 없어졌습니다. (자세한 내용: https://tailwindcss.com/blog/tailwindcss-v4#css-first-configuration)대신 index.css 에 아래와 같은 형식으로 theme 을 적용할 수 있습니다.@import 'tailwindcss'; @theme { --color-primary: #1d2745; --color-secondary: #1de5d4; --color-tertiary: #1d2745; --color-white: #ffffff; --color-mono100: #f1f1f1; --color-mono200: #bebebe; --color-mono300: #d6d7d9; --color-error: #d01e1e; --color-social: #395997; }
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
Outlet 질문이요
IndexPage.js 에서 <Outlet/>을 했는데 todo메뉴를 클릭하면 "/list" 페이지로 이동을 안 합니다.console창을 보니 This means it will render an <Outlet /> with a null value by default resulting in an "empty" page 문구가 뜨는데 왜 그러는걸까요?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
jsbundle의 이름이 도중에 변경 되어도 nextjs가 인지하고 받아올 수 있나요??
안녕하세요 덕분에 next.js를 깊게 공부할 수 있었습니다.next.js는 기존 리액트와 다르게 jsbundle(청크) 파일을 나누어 받아 옵니다.강의에서 본 것처럼 청크 파일들이 각각의 유니크한 해쉬 값을 가지는 것도 확인했습니다.시나리오next 프로젝트를 빌드배포 된 웹페이지를 오픈next 프로젝트를 다시 빌드기존의 웹페이지를 새로고침 하지 않고, 페이지 이동기존 리액트 프로젝트에서는 하나의 청크 파일을 처음 한 번에 받아서 새로고침 전까지 1번의 이전 빌드된 웹페이지로 동작이 되는 것으로 알겠는데요.next프로젝트에서는 jsbundle과 rsc_payload를 필요한 시점에 받으니까 새로 빌드한 파일엔 기존 청크해시 값과 달라서 문제가 생기지 않을까? 라는 생각이 들었습니다. 그런데 테스트 해보니 별다른 문제가 생기지 않는 것 같더라구요.. jsbundle과 rsc_payload의 유니크한(해쉬) 파일 이름이 도중에 변경 되더라도 next 서버측에서 찾을 수 있게 조치가 되어 있는 걸까요?
-
해결됨아바타 커뮤니티앱 만들기 (React Native Expo)
강의 3-1 인증 스크린 마크업중에 ..
안드로이드 버전 14해당 강의 자료를 받아서 실행해봤는데, 로그인 텍스트가 왼쪽으로 쏠려있고홈화면 버튼이 동작하지 않습니다. 왜이러는걸까요 ???
-
미해결한 입 크기로 잘라먹는 Next.js(v15)
section02에다 프로젝트 설치후 npm run dev 입력했더니 이미지가 깨집니다
안녕하세요npx create-next-app@14 section02 설치 후 (강의 8분49초), npm run dev 실행후 브라우저에 localhost:3000 입력했더니 이미지가 깨져서 나옵니다.해당 프로젝트를 지우고 다시 설치해도 그대로입니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스 결제 관련 문의드립니다.
현재 강의와 관련없는거 알지만 혹시나해서 문의남깁니다. 현재 강의 구매한 분들 대상으로[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스강의 90% 할인해서 구매할 수 있었던 것으로 기억하는데, 이미 기간이 끝난거 알지만 지금이라도 할인된 가격으로 구매할 수 있을까 해서 문의남깁니다.
-
미해결Next + React Query로 SNS 서비스 만들기
서버, 클라이언트 데이터 중복 호출 문제
강의와 같이 구현한다면page.tsx 에서 데이터 fetchPostRecommends.tsx 에서 는 다시 데이터를 fetch 하지 않고 HydrationBoundary를 통해 넘어온 데이터를 사용이렇게 page.tsx 에서만 데이터가 fetch 되어야 맞는거지요 ?제가 구현한 소스코드에서는 getPostRecommends 쪽에 로그를 찍어서 확인해보니 page.tsx 에서도 한번 호출하고 PostRecommends.tsx 에서도 한번 호출해서 총 2번 로그가 찍히더라구요.이론대로라면 page.tsx 에서 1번 호출했을 때만 로그가 찍혀야 하는 것이 맞는거죠?아 강의는 " 클라이언트 react-query" 입니다.
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
섹션3. 스프링부트와 API서버에서 부트 프로젝트 생성 및 확인 강의
heidisql로 mariadb 연결하는 방법도 알려주실수 있나요? 인터넷에 검색해봐도 잘 안나와서 모르겠습니다.