묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
오늘 수강시작한 취준생입니다.
프로젝트를 유니티6로 빈 프로젝트로 만들어서 Assets 산하에 Scripts폴더를 만들어서 1강에서 사용한 Category.cs, IdentifiedObject, CustumEditorUtiluity등의 4가지 파일을 Scripts폴더 밑에 넣고 시작을 하려는데 이렇게 프로젝트 셋팅을 마치고 하는게 맞을까요?강사님 프로젝트를 열어 봤는데 하나의 솔루션에 여러개의 프로젝트가 있어서 어떻게 셋팅을 잡아야할지 헷갈립니다
-
미해결만들면서 쉽게 배우는 컴퓨터 구조
logisim 실행 문제
logisim 실행이 안 됩니다.powershell 에서 프로그램을 실행하면 실행이 되는데 파일에서 더블클릭하면 창이 안 뜹니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
도메인 모델 패턴 vs 트랜잭션 스크립트 패턴
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]주문 서비스에서 주문, 주문 취소 메서드 비즈니스 로직이 엔티티에 있는데 이렇게 엔티티가 비즈니스 로직을 가지는 도메인 모델 패턴과 서비스에서 비즈니스 로직을 처리하는 트랜잭션 스크립트 패턴 중에 실무에서는 보통 어떤 것을 사용하나요? 각각의 장단점이 있는지도 궁금합니다
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
22강 노드 계속 오류납니다
타이틀을 가져와야하는데 이스큐트 노드 하면 계속 오류가떠요 그전 노드들은 다 작동이잘되는데
-
미해결기초부터 실무까지 제대로 배우는 피그마 UI 디자인 클래스
강의 내용 중 질문
안녕하세요 강사님 15분 49초에서 도형을 만들어줘야되서 m을 눌러서 이렇게~ 이렇게~ 하시는데 전 안되는데요 ㅠ
-
미해결사례로 배우는 Make 자동화의 모든 것
13화. Gmail Watch emails 모듈이 변경이 된걸까요?
[강좌 질문 필독사항입니다.]정확한 문제해결을 위해 아래 양식에 따라 질문을 올려주세요- 수업 영상 몇분/초 구간인지 알려주세요- 문제가 발생한 내용 캡처를 첨부해주세요.- 문제가 발생한 시나리오의 json파일을 첨부해주세요.- 궁금한 부분을 상세히 설명해주세요.*주의사항 : 강의 내 소개된 시나리오에 대한 답변만 가능합니다. (개인적인 자동화 시스템 구축 관련 질문은 답변이 어렵습니다.) 13화. Gmail Watch emails 모듈이 변경이 된걸까요?강의 내용과 실제 좀 차이가 있는것 같아서요~
-
미해결[입문] Qt 6 프로그래밍 1편
강의 연장 문의
안녕하세요 김대진 강사님. 회사에서 Qt프레임워크를 사용하게 되어 열심히 들어보려고 합니다~다름이 아니라 신청 일자 2025년 09월 29일 Qt6 프로그래밍 1편 강의를 입사 초에 신청 했었는데 사정상 다 듣지 못하고 기간이 종료 되어서 기간을 2주정도 연장 부탁 드릴 수 있을까요?
-
미해결한 입 크기로 잘라먹는 실전 프로젝트 - SNS 편
props 질문
TodoItem 에서 todo값을 props로 넘겨줄때 왜 {...todo} 로 사용하나요? {todo} 는 안되는건가요?
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
25년도 12월 docker compose 설치 방법이 레거시된 상황
https://docs.docker.com/compose/install/standalone/지금 현재 사이트에 들어가니 레거시라고 되어있는 상황입니다. 레거시가 되었지만 그대로 사용해도 괜찮을까요?https://docs.docker.com/compose/install/ 에 보니 Docker Desktop를 설치해서 Docker compose를 설치하는 방법이 있고, 플러그인을 설치해서 docker compose 플러그인을 설치하는 방법이 있는데 만약 레거시를 사용못한다면 어떤 방법을 사용해야할까요?
-
미해결한시간으로 끝내는 LangChain 기본기
RAG와 MCP의 차이가 조금 헷갈립니다
강사님 RAG와 MCP의 차이가 조금 헷갈립니다!
-
해결됨즐거운 블렌더 - 아이소메트릭 하우스
마테리얼이 깨져보입니다.
안녕하세요 선생님. 커피트레이를 만드는 강좌에서 트레이의 손잡이 부분의 마테리얼이 이상하게 표시되어 질문드립니다. 손잡이를 다른 곳으로 옮겼더니 마테리얼이 정상적으로 적용되는걸로보아 겹쳐있는게 문제인가 싶은데요, 해결 방법이 궁금합니다. 답변 기다리겠습니다. 감사합니다.
-
미해결직장인 생존 엑셀 - 8개의 실무 프로젝트로 엑셀 마스터하기
2강 불량 종류별 발생건수 집계표 작성하기
Ctrl+Enter로 빈 곳에 '비율(%)'을 채웠는데 가장 우측 칸이 비어진 채로 나오는데, 어떻게 해야 하나요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
build에러 질문
안녕하세요 🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.8분 20초쯤에 나오는 ./build 명령어에서 에러가 뜹니다. ai한테 물어봐서 source 명령어로 해결했는데 다시 껐다가 키면 문제가 반복됩니다 .근본적으로 해결하고 싶은데 어떻게 해결해야 할까요 [2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.)
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
Sprint 2 강의에서 yaml 파일들 경로에 대해 궁금한게 있어요.
안녕하세요. 강사님.쿠버네티스 강의를 신청했는데 뜻밖에 평소에 미지의 영역이던 CI/CD까지 함께 배워서 행복한 연말을 보내고 있습니다.jenkins 파이프라인에서 궁금한 점이 생겨서 문의를 드립니다. 스크립트에는 아래와 같이 경로 지정이 되어 있던데 이 명령은 어느 경로에서 실행이 되는지 궁금합니다. jenkins 계정의 home에는 보이지 않아서요.stage('K8S Deploy') { steps { // 쿠버네티스 배포 sh "kubectl apply -f ./${CLASS_NUM}/deploy/k8s/namespace.yaml" sh "kubectl apply -f ./${CLASS_NUM}/deploy/k8s/configmap.yaml" sh "kubectl apply -f ./${CLASS_NUM}/deploy/k8s/secret.yaml" sh "kubectl apply -f ./${CLASS_NUM}/deploy/k8s/service.yaml" sh "kubectl apply -f ./${CLASS_NUM}/deploy/k8s/deployment.yaml" } }
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
로그인시 401 Unauthorized 오류가 뜹니다
로그인시 401 Unauthorized 오류가 떠서리덕스 액션을 봤더니 LOG_IN_FAILURE에 error 내용이 비어 있었습니다.routes/user.jsconst express = require("express"); const bcrypt = require("bcrypt"); const { User, Post } = require("../models"); const passport = require("passport"); const router = express.Router(); router.post("/login", (req, res, next) => { console.log("🧾 req.body:", req.body); passport.authenticate("local", (err, user, info) => { if (err) { console.error(err); return next(err); } if (info) { return res.status(401).send(info.reason); } return req.login(user, async (loginerr) => { if (loginerr) { console.error(loginerr); return next(loginerr); } const fullUserWithoutPassword = await User.findOne({ where: { id: user.id }, attributes: { exclude: ["password"], }, include: [ { model: Post, }, { model: User, as: "Followings", }, { model: User, as: "Followers", }, ], }); return res.status(200).json(fullUserWithoutPassword); }); })(req, res, next); }); router.post("/", async (req, res, next) => { try { const exUser = await User.findOne({ where: { email: req.body.email, }, }); if (exUser) { return res.status(403).send("이미 사용중인 아이디입니다."); } const hashedPassword = await bcrypt.hash(req.body.password, 12); await User.create({ email: req.body.email, nickname: req.body.nickname, password: hashedPassword, }); res.status(201).send("ok"); } catch (error) { console.error(error); next(error); } }); module.exports = router; 세션 쿠키가 잘 전달이 안된건가 싶어서 req.body를 서버 터미널로 찍었더니 req.body: undefined 로 나왔습니다.로그인 폼에서 데이터를 잘못 넘겨준건가 해서 확인해봤더니 loginForm.js const onSubmitForm = useCallback(() => { console.log(email, password); dispatch(loginRequestAction({ email, password })); }, [email, password]);데이터도 잘 넘겨준 것 같고sagas/user.jsfunction logInAPI(data) { return axios.post("/user/login", data); } function* logIn(action) { try { const result = yield call(logInAPI, action.data); yield put({ type: LOG_IN_SUCCESS, data: result.data, }); } catch (err) { console.error(err); yield put({ type: LOG_IN_FAILURE, error: err.response.data, }); } }사가쪽도 문제가 없어보여서 프론트 쪽 문제는 아닌 것 같고 백엔드쪽 문제 같은데 도저히 어디서 문제가 생긴건지 모르겠습니다.app.jsconst express = require("express"); const cors = require("cors"); const session = require("express-session"); const cookieParser = require("cookie-parser"); const postRouter = require("./routes/post"); const userRouter = require("./routes/user"); const db = require("./models"); const passportConfig = require("./passport"); const passport = require("passport"); const dotenv = require("dotenv"); dotenv.config(); const app = express(); db.sequelize .sync() .then(() => { console.log("db 연결성공"); }) .catch(console.error); passportConfig(); app.use( cors({ origin: "*", credentials: false, }) ); app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.use(cookieParser(process.env.COOKIE_SECRET)); app.use( session({ saveUninitialized: false, resave: false, secret: process.env.COOKIE_SECRET, }) ); app.use(passport.initialize()); app.use(passport.session()); app.get("/", (req, res) => { res.send("hello express"); }); app.get("/api", (req, res) => { res.json([ { id: 1, content: "hello", }, { id: 2, content: "hello2", }, { id: 3, content: "hello3", }, ]); }); app.get("/api/posts", (req, res) => { res.json([ { id: 1, content: "hello", }, { id: 2, content: "hello2", }, { id: 3, content: "hello3", }, ]); }); app.use("/post", postRouter); app.use("/user", userRouter); app.listen(3065, () => { console.log("서버 실행 중!"); }); passport/local.jsconst passport = require("passport"); const { Strategy: LocalStrategy } = require("passport-local"); const { User } = require("../models"); const bcrypt = require("bcrypt"); module.exports = () => { passport.use( new LocalStrategy( { usernameField: "email", passwordField: "password", }, async (email, password, done) => { try { console.log("입력값:", email, password); const user = await User.findOne({ where: { email }, }); console.log("찾은 유저:", user && user.email); if (!user) { return done(null, false, { reason: "존재하지 않는 이메일입니다!" }); } const result = await bcrypt.compare(password, user.password); if (result) { return done(null, user); } return done(null, false, { reason: "비밀번호가 틀렸습니다." }); } catch (error) { console.log(error); return done(error); } } ) ); }; passport/index.jsconst passport = require("passport"); const local = require("./local"); const { User } = require("../models"); module.exports = () => { passport.serializeUser((user, done) => { done(null, user.id); }); passport.deserializeUser(async (id, done) => { try { const user = await User.findOne({ where: { id } }); done(null, user); } catch (error) { console.error(error); done(error); } }); local(); }; 백엔드 코드를 첨부하였습니다.터미널에 나온 콘솔 내용입니다.local.js파일에서도 콘솔("입력값:","찾은 유저:" )을 찍었는데 터미널에 찍힌 콘솔은 req.body만 찍혔습니다..
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
반드시 C드라이브에 설치해야하나요?
D드라이브가 용량이 더 커서 파이썬이나 VScode를 D드라이브에 설치하려고 하는데 상관없나요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
1장 ./build에서 에러가 나요
안녕하세요 🙂[1. 질문 챕터] : 1장 8분 21초에 나오는 ./build 입력 시 에러가 발생해요.[2. 질문 내용] : ./build를 입력하면 이런 에러가 발생해요[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.)
-
해결됨수익형 AI Agent n8n 전문가 강의, 블로그·쇼츠 자동화
10강 수업중에 안되는게 있어서 질문 드립니다.
안녕하세요 현재 10강 수강중입니다.Visual Studio Code 를 이용해서 코드 생성하다가 일부 안되는게 있어서 강사님의 코드를 다운받아서 적용하였습니다.강사님 코드에서 수정사항은.env 파일(제 계정으로 생성한 네이버/구글 API정보로 변경) 과 Key 값을 abcd12345에서 좀더 복잡하게 다른 값으로 수정만 하였습니다.근데 뭔가 API를 이용해서 질의를 못하는것 같습니다.혹시 좀더 확인해야할 것 또는 테스트 할 수 있는 방법이 있을까요?
-
미해결김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)
INSERT INTO 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]insert into 할때 괄호로 열을 지정하지않고 생략한다면 table을 생성할때 작성한 열 순서대로만 넣어야하는건가요?? 강의에 열의 순서라는게 그걸 뜻하는게 궁금해요
-
해결됨[인프런어워드 베스트셀러] 코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
Docker 설치....
맥OS 은 현재 Tahoe 26.2 이고 윈도우의 경우 GPU가 없는 내장형으로 CPU 활용을 해야 하는 상황입니다. 맥의 경우 베타 버전(?)이라 Docker 가 설치가 안될것이라고 하고, 윈도우도 CPU 로 운영시 어떻게 해야하는지 상세한 설명이 없어서 도커 설치부터 ... 몇시간째 애먹고 있는지 모르겠습니다. ㅇ완전 초보를 위한 설명이라 했는데 .. 컴퓨터 사양이나 상태가 너무 강의자분 위주로만설명해주시는게 아닌가 싶은데요 ... 이런 필요 사양 설명 같은 부분이..자세하게 설명되어 있어야 했던거 아닐지강의 시작부터 막히니 너무 막막합니다....