묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
73강 투두리스트 렌더링하기에서 spread syntax 관련 질문드립니다.
73강 7분 50초 내용입니다. 투두리스트 프로젝트의 List.jsx에서 TodoItem.jsx로 prop을 넘길 때 강의에서는todos.map((todo) => {return (<TodoItem key={todo.id} {...todo} />;}위 처럼 작성하고 있습니다. 저는 props를 spread syntax가 아닌 객체 자체로 한 번에 전달해보려고 아래와 같이 작성했습니다.todos.map((todo) => {return <TodoItem key={todo.id} todo={todo} />;}그런데 이렇게 작성하면 다음과 같은 에러가 발생합니다: Each child in a list should have a unique "key" prop. todos 배열의 각 요소에는 고유한 id가 있다는 것을 확인했고, 동일한 코드에서 todo={todo}를 {...todo}로 변경하면 경고 없이 정상적으로 동작합니다. 저는 단순히 {...todo}는 객체 속성을 각각 개별 props로 넘기고, {todo}는 하나의 객체로 넘기는 차이만 있다고 생각했는데, 이 두 방식의 어떤 차이로 인해 이런 경고가 발생하는지 궁금합니다.
-
미해결처음 만난 리액트(React)
이거 왜 존재하지 않는다고 뜨는건가요
이거 왜 존재하지 않는다고 뜨는건가요
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
typeorm VS prisma
플러터 초급, 중급까지 보고 nestjs 강의까지 잘 보고 있는 학생입니다 혹시 현재 현업에서도 typeorm많이 사용하나요??prisma가 대세라고 들었는데 혹시 현재는 prisma로 하는게 좋을까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
142 강의 > 4:00 > 포스트멘 활용 관련 질문 드립니다.
포스트멘 > /posts api 요청 > response 값의 next 값 클릭시 > 새로운 api 생성후 Auth에 자동으로 토큰이 설정되게 하는 방법을 알고싶습니다. 새로 생성되면 저는 수동으로 breaer 토큰 선택(토큰 설정시 access token은 자동으로 설정되긴 합니다.)해야 되는데 강의에서는 따로 설정되지 않는것 같아 질문 드립니다.
-
미해결[1시간](다른언어)개발자를 위한 자바스크립트
강의에 사용된 코드
강의에 사용된 코드를 텍스트로 작성한 파일은 어떻게 볼 수 있나요
-
해결됨React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드
ch4-5 관리자 계정 로그인, JWT토큰 관련
덕분에 무사히 다음 강의 듣고있는데요또 막혔습니다;;; MongoDB는 연결이 잘되는데요;;{ id : new ObjectId(''''')등등 터미널에 admin과 패스워드 등의 데이터카 안뜹니다;;;
-
해결됨React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드
ch4-4관리자 계정생성하기 문제 발생
아래와 같은 오류가 발생됩니다.... Error: Cannot find module 'bcrypt'Require stack:- /Users/sungwon/Desktop/Project/Web/company_website/backend/routes/user.js- /Users/sungwon/Desktop/Project/Web/company_website/backend/index.js at Module._resolveFilename (node:internal/modules/cjs/loader:1369:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1025:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1030:22) at Module._load (node:internal/modules/cjs/loader:1179:37) at TracingChannel.traceSync (node:diagnostics_channel:322:14) at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) at Module.require (node:internal/modules/cjs/loader:1449:12) at require (node:internal/modules/helpers:135:16) at Object.<anonymous> (/Users/sungwon/Desktop/Project/Web/company_website/backend/routes/user.js:3:16) at Module._compile (node:internal/modules/cjs/loader:1692:14) { code: 'MODULE_NOT_FOUND', requireStack: [ '/Users/sungwon/Desktop/Project/Web/company_website/backend/routes/user.js', '/Users/sungwon/Desktop/Project/Web/company_website/backend/index.js' ]}Node.js v24.4.0[nodemon] app crashed - waiting for file changes before starting... 아래는 index.js 코드입니다.require('dotenv').config(); const express = require('express'); const mongoose = require('mongoose'); const app = express(); const PORT =3000; const userRoutes = require("./routes/user"); app.use('/api/auth',userRoutes); app.get('/', (req, res) => { res.send('Hello World!'); }); mongoose.connect(process.env.MONGO_URI) .then(() => console.log('MongoDB와 연결이 되었습니다.')) .catch((error)=> console.log('MongoDB와 연결이 실패하였습니다:',error)); app.listen(PORT, () => { console.log("Server is running"); })models>User.js 코드입니다.const mongoose = require('mongoose'); const userSchema = new mongoose.Schema( { username:{ type:String, require: true, trim: true, minlength:2, maxlength:30, }, password:{ type:String, require:true, select: false, }, isLoggedIn:{ type:Boolean, default:false, }, isActive:{ type:Boolean, default:false, }, failedLoginAttempts:{ type:Number, default:0, }, lastLoginAttempts:{ type:Date, }, ipAddress:{ type:String, trim:true, }, createdAt:{ type:Date, default: Date.now, } }, { timestamps:true, } ); const User = mongoose.model('User', userSchema); module.exports = User; routes>user.js코드 입니다.const express = require('express'); const router = express.Router(); const bcrypt = require('bcrypt'); const User = require('../models/User'); router.post('/signup', async (req, res) => { try { const {username, password} = req.body; const existingUser=await User.findOne({username}); if(existingUser){ return res.status(400).json({message:'이미 존재하는 사용자 입니다.'}); } const hashedPassword = await bcrypt.hash(password,10); const user = new User({ username, password:hashedPassword, }) await user.save(); res.status(201).json({message:'회원가입이 완료되었습니다.'}); } catch(error){ res.status(500).json({message:'서버 오류가 발생되었습니다.'}); console.log(error); } }); module.exports = router;
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
User 데코레이터 버그 수정 전달드립니다.
<수정 사항>nestjs-lv1/src/posts/posts.controller.ts > postPosts- 기존: @User('id') userId: number- 변경: @User() user: UserModel<추가 수정사항>const post = await this.postsService.createPost(user.id, body, qr,);제가 잘못 알았내요 올바른 코드 맞습니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
12,13,14 강의 소리만 나오고 검은 화면입니다
12,13,14 강의 소리만 나오고 검은 화면입니다 확인 부탁드립니다
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
git 주소 부탁드립니다.
코드 참고가 필요해서 요청드려요
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
props 데이터 전달
props 데이터 전달이 이해가 안되는데요버튼에 텍스트를 추가한건 없는거같고 컬러만 RED로 추가한거같은데왜 메일 버튼에만 RED라는 텍스트가 나오는걸까요? 컬러를 레드로 했으면 빨간색으로 바껴야되는데 문자만 red로 바뀌고 색은 바뀌지 않은 문제를문의드립니다. 그리고 서버를 껏다 켯고 코드를 바꿧는데도 메일 버튼이 빨간색으로 바뀌지 않습니다ㅠㅠ
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
하이라이트질문
아무리 봐도 껏다켰다 하시는 부분에서하이라이트가 계속 나오는데 뭐를 보고 하이라이트 표시가 안된다는 건가요?혹시 제가 하이라이트를 잘못 알고 있는건가 문의드립니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
리액트로 전환 하는 방법
이미 만든 홈페이지를 리엑트로 전환해야하는데어떤 강의를 들으면 되나요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
props에서 컬러 변경 안됩니다
다른건 다 됫는데 컬러만 변경이 안되네요ㅠ
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
vscode 코드 작성 후 저장 누르면 괄호가 없어지는 문제
return 다음 괄호가 저장을 하면 없어지는데어떻게 해결해야하나요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
함수 사용식 문의합니다
강의에서function Header () {}와 const Header = () => {}이 식이 똑같다고 하셔서function Header () {} 이 식으로 컴포넌트header.jsx파일에 붙혀넣었더니 페이지오류가 나오더라구요import로 연결할땐 차이가 있는걸까요?
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
컴포넌트 리랜더
리액트를 이용하는 이유가 virtual dom으로 dom트리를 변경하였을 때의 성능 향상 이점이 있어서 사용한다고 하셨는데 여러 컴포넌트를 만들고 하나의 컴포넌트의 자식으로 넣고 리랜더하면 성능향상은 그렇게 없지 않나요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
nest g resource 명령어 에러
nest g resource 명령어 실행시 오류가 발생합니다. nest new 폴더명 nest new로 만든 폴더명으로 경로를 변경 후에 nest g resource로 하면 에러가 나고상위 폴더에서는 명령어가 잘 됩니다. 문제는 상위에서 하면 src 폴더안에 생성되는게 아니라 외부폴더에 생성이 되서요. 에러코드 보면 D가 두개가 겹치는데 이유를 모르겠습니다.. gpt 물어봐서 4가지 방법 시도해봤는데 모두 실패했습니다..nest 삭제 후 재설치dev로 로컬설치npx로 설치c드라이브에서 작업 어떻게 해야할까요? 에러코드 첨부합니다. Error: Cannot find module 'D:\works\inflearn\nestcourse\apicourse\"D:\works\inflearn\nestcourse\apicourse\node_modules\@angular-devkit\schematics-cli\bin\schematics.js"' at Function._resolveFilename (node:internal/modules/cjs/loader:1401:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1057:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1062:22) at Function._load (node:internal/modules/cjs/loader:1211:37) at TracingChannel.traceSync (node:diagnostics_channel:322:14) at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:171:5) at node:internal/main/run_main_module:36:49 { code: 'MODULE_NOT_FOUND', requireStack: []}
-
미해결타입스크립트 입문 - 기초부터 실전까지
안녕하세요. 기본타입- 튜플, 객체, 진위값 부분의 영상의 화면이 나오질 않습니다.
제가 총 모니터가 3개입니다. 해당 영상 이전의 영상들의 화면은 모두 정상적으로 잘 나왔으나, 기본타입- 튜플, 객체, 진위값 섹션의 강의 영상 이후부터는 화면이 모두 나오질 않습니다.모니터 3개 중 한개를 끄면 또 정상적으로 잘 나옵니다. 혹시, 원인을 알수 있을까요?
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
useEffect 비동기 관련 질문
비동기가 되기 때문에 콘솔로그를 쓰면 안된다에대한 질문입니다. 위(setCount 내부)에는 count + value를 했고아래 콘솔로그는 count로 예시를 보여주셨습니다.궁금한건아래 콘솔로그에도 +value를 달면 렌더링 결과는 똑같이 나오는거 아닌가요?물론 실질적인 값은 동일하지 않더라도 이렇게 되면 렌더링 되는 결과는 같은거 아닌가요?