묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
10번째 강의 HTML input_type 별 샘플 코드 참고 블로그 링크
안녕하세요! 강의 잘 듣고 있습니다! 다름이 아니라 제목 그대로 참고 블로그로 링크해주신 velog 페이지 주인 분께서 페이지를 내리셨나보네요 ㅜㅜ 404에러가 뜨던데.. 추후에 강의자료 수정하실 때 참고하시면 좋을 것 같아 남겨요!
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Package.json 파일이 없다는 오류가 나오지 않는 경우
안녕하세요 강사님이 진행하신 그대로 따라서 진행했는데, 도커 파일 빌드 했을 때 Package.json이 없다는 오류가 발생하지 않습니다. Windows OS 의 cmd 창에서 진행하고 있습니다. 이유가 뭘까요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
배포가 잘 안되어서 질문드립니다 ㅠㅠ
이번에 Front 강의 끝까지 마치고 배포하려고 하는데 build한 결과물(dist폴더+index.html)을 back/public에 옮겨넣어서 배포하면 되는것이 맞을까요??? 위의 방법으로 해보니 로컬에서 npm run dev로 실행하였을때는 잘 실행이 되는데, Nodebird강좌에서 알려주신대로 AWS에서 npm start를 하니 로그인 창에서 로그인을 해도 workspace화면으로 넘어가지지를 않네요ㅠㅠ 원인을 분석하려 네트워크탭을 보니 login정보는 잘 POST보내나 users정보를 get할때 자꾸 false로 들어오네요 ㅠㅠ 이게 back에서의 문제인지... front쪽의 문제인지.... 아직 초보인지라 어디가 어떻게 문제인지 감이 하나도 잡히지가 않습니다 ㅠㅠ 구글링으로만 3일 고생하다가 도저히 방법을 못찾겠어서 질문으로 남겨봅니당... /// Front-End 위주로 공부하고 있어서 백엔드 강의는 듣지않았습니다!! 혹시 듣는다면 해결이 될까요?? /// 혹시나 코드중에 제가 놓치거나 오타를 낸게 있을까 싶어 제로초님 깃헙을 클론해서 똑같은방법으로 배포해봤는데 똑같이 false가 반환됩니다 ㅠㅠㅠ 제가 뭔가 놓치고 있는것이 있는걸까요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
데이터 전처리 과정 질문입니다.
안녕하세요 강사님. 좋은 강의 진심으로 감사합니다! 데이터 전처리 하는 과정을 보면서 질문이 생겼는데요. 1. 회귀 모델을 위해 전처리 할 때는 standardScaler를 하지만, rule-based model인 결정 트리에서는 안한다고 알고 있습니다. 그럼 결정 트리에서 전처리 할 때는 imputer, one-hot encoding 외에 어떤 전처리가 가능할 까요? 2. 왜곡도가 높은 피처들을 로그 변환 적용을 하는데, 이 또한 standardScaler를 위한 거니까 결정 트리 모델을 위해 전처리 할 때는 생략해도 되는 과정인가요? 감사합니다.
-
미해결함수형 프로그래밍과 JavaScript ES6+
product부분 정리! 맞나요?
(reduce, filter, map에 전부 curry 적용) go (reduce (a, f)=>f(a), args) 1. 처음 reduce에 a와 filter를 인자로 받는다. 2. 하지만 filter에 인자가 하나 밖에 없으므로 한번 기다렸다가 a를 받은 뒤 실행 3. filter의 결과를 acc 값으로 저장한 뒤 두번째 시도에서 a값으로 적용 4. reduce두번째 시도에서는 filter결과(a)와 map을 인자로 받는다. 5. map의 인자가 하나이므로 기다렸다가 a를 받고 나서 실행 6. map의 결과값을 acc로 저장했다가 다음 번 a로 적용 7. reduce 세번째 시도에서는 map결과(a)와 reduce를 인자로 받아 실행 8. 마찬가지로 reduce의 인자가 하나이므로 기다렸다가 a값이 전해지면 실행 9. reduce의 결과를 acc값에 저장했다가 다음 차례 a로 적용 10. reduce 네번째 시도에서는 reduce결과(a)와 log를 인자로 받은 뒤 실행 계속 뒤로가서 그 전 강의들을 다시봤네요 ㅎㅎ 제가 이해한 내용이 맞나요?
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
view의 경우에
해당 강의에서 restcontroller는 view를 갖지않는 rest data를 반환한다고 하셨는데, 그렇다면 예를 들어 로그인을 완료한 후 session or token등을 가지고 메인화면으로 가는것만 한다면 그 메서드는 따로 controller을 만들어줘야하는건가요? 아니면 react같은 프레임워크 단에서 처리하는 방향이 맞다면 어떤식으로 하는건지 간략히 설명들을 수 있을까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
해쉬태그가 불러와지지 않고 있습니다.
보시면 주소창에는 익스프레스 해시태그를 선택한 상태인데 화면에 출력은 변화하지 않고 있습니다. 리덕스에서는 정상적으로 선택된것 같은데 해당 해시태그로 이동하지 않고 있는것 같습니다. 그런데 또 해당 해시태그 주소에서 새로고침을 하면 위에 스샷 화면에서 해당 해쉬태그만 있는 게시물만 정상적으로 출력됩니다. 도대체 어디가 문제인지 갈피를 못잡고 있습니다. hashtag/[tag].js import React, { useEffect } from "react"; import axios from "axios"; import { useRouter } from "next/router"; import { END } from 'redux-saga'; import { useDispatch, useSelector } from "react-redux"; import AppLayout from "../../components/AppLayout"; import wrapper from "../../store/configureStore"; import PostCard from "../../components/PostCard"; import { LOAD_HASHTAG_POSTS_REQUEST } from "../../reducers/post"; import { LOAD_MY_INFO_REQUEST } from "../../reducers/user"; const Hashtag = () => { const dispatch = useDispatch(); const router = useRouter(); const { tag } = router.query; const { mainPosts, hasMorePosts, loadPostsLoading } = useSelector((state) => state.post); useEffect(() => { function onScroll() { if (window.scrollY + document.documentElement.clientHeight > document.documentElement.scrollHeight - 300) { if (hasMorePosts && !loadPostsLoading) { dispatch({ type: LOAD_HASHTAG_POSTS_REQUEST, lastId: mainPosts[mainPosts.length - 1] && mainPosts[mainPosts.length - 1].id, data: tag, }) } } } window.addEventListener('scroll', onScroll); return () => { window.removeEventListener('scroll', onScroll); } }, [hasMorePosts, loadPostsLoading, mainPosts.length, tag]) return ( <AppLayout> {mainPosts.map((c) => ( <PostCard key={c.id} post={c} /> ))} </AppLayout> ) } export const getServerSideProps = wrapper.getServerSideProps(async (context) => { const cookie = context.req ? context.req.headers.cookie : ''; axios.defaults.headers.Cookie = ''; if (context.req && cookie) { axios.defaults.headers.Cookie = cookie; } context.store.dispatch({ type: LOAD_MY_INFO_REQUEST, }) context.store.dispatch({ type: LOAD_HASHTAG_POSTS_REQUEST, data: context.params.tag, }) context.store.dispatch(END); await context.store.sagaTask.toPromise(); }) export default Hashtag; reducers/post.js case LOAD_USER_POSTS_REQUEST: case LOAD_HASHTAG_POSTS_REQUEST: case LOAD_POSTS_REQUEST: draft.loadPostsLoading = true; draft.loadPostsDone = false; draft.loadPostsError = null; break; case LOAD_USER_POSTS_SUCCESS: case LOAD_HASHTAG_POSTS_SUCCESS: case LOAD_POSTS_SUCCESS: draft.loadPostsLoading = false; draft.loadPostsDone = true; draft.mainPosts = draft.mainPosts.concat(action.data); draft.hasMorePosts = action.data.length === 10; break; case LOAD_USER_POSTS_FAILURE: case LOAD_HASHTAG_POSTS_FAILURE: case LOAD_POSTS_FAILURE: draft.loadPostsLoading = false; draft.loadPostsError = action.error; break; sagas/post.js function loadHashtagPostsAPI(data, lastId) { return axios.get(`/hashtag/${encodeURIComponent(data)}?lastId=${lastId || 0}`); } function* loadHashtagPosts(action) { try { const result = yield call(loadHashtagPostsAPI, action.data, action.lastId) yield put({ type: LOAD_HASHTAG_POSTS_SUCCESS, data: result.data, }) } catch (err) { console.error(err) yield put({ type: LOAD_HASHTAG_POSTS_FAILURE, error: err.response.data, }) } } routes/hashtag.js const express = require('express'); const { Hashtag, Post, Image, Comment, User } = require('../models'); const { Op } = require('sequelize'); const router = express.Router(); router.get('/:hashtag', async (req, res, next) => { // GET /hashtag/노드 try { const where = {}; if (parseInt(req.query.lastId, 10)) { // 초기 로딩이 아닐때 where.id = {[Op.lt]: parseInt(req.query.lastId, 10)} } const posts = await Post.findAll({ where, limit: 10, order: [['createdAt', 'DESC']], include: [{ model: Hashtag, where: { name: decodeURIComponent(req.params.hashtag) }, }, { model: User, attributes: ['id', 'nickname'], }, { model: Image, }, { model: Comment, include: [{ model: User, attributes: ['id', 'nickname'], order: [['createdAt', 'DESC']], }], }, { model: User, // 좋아요 누른사람 as: 'Likers', attiributes: ['id'], }, { model: Post, as: 'Retweet', include: [{ model: User, attiributes: ['id', 'nickname'], }, { model: Image, }] }] }); res.status(200).json(posts); } catch (error) { console.error(error); next(error); } }) module.exports = router; 코드입니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버
HTTP/1.1 415 Unsupported Media Type 오류
혼자 해결할려고 이것 저것 해봤는데.. 해결이 할 수 없어 질문드립니다. 도대체 왜? 유니티 콘솔창에 415오류가 뜨는지 모르겠습니다. (유니티 버전 2020.3.18f1)
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강사님 InputManager에서 Action delegate를 쓰신 이유가 궁금합니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 아직 많이 부족한 초보입니다 InputManager 강의에서 Action 대리자를 쓰셨는데 Action 대리자를 쓰신 이유가 궁금합니다.. (delegate보다 편해서 인건지, 메서드를 꼭 받아야만 했던 것인지 ㅠㅠ) 그리고 InputManager를 구현할 다른 방법이 또 있는건지도 궁금해요!
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
react 시작부분 오류질문
첨부한 사진처럼 떠요. 강의 밑에 '주목'해서 올려주신것도 봤는데 잘모르겠습니다 . ㅜ
-
해결됨14일만에 배우는 ASP.NET CORE
03. MVC패턴 강의 질문입니다.
Login.cshtml -> 11라인 asp-controller ="Membership" "Membership" 이라는게 MembershipController.cs 가 맞나요? "Membership", "MembershipController" 둘다 사용해도 되는건가요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
로그인 정보 불러오기
로그인 정보를 불러올 때 현재 노드버드 앱 같은 경우에는 페이지 수가 적어서 가가 필요한 정보가 비슷해서 loadUserAPI시 항상 같은 데이터를 받아오는데 만약 페이지가 어느정도 많고 각 페이지에서 유저 관련된 필요한 정보가 많이 다를 경우에는 1. loadUserAPI를 여러개로 쪼갠 후에 loadUser 에서 경우에 따라 다른 api를 호출하는 게 좋은지 아니면 2. 액션을 여러개로 늘려서 하는 것이 좋을지 아니면 3. 모든 페이지에서 필요한 유저 관련 데이터의 합집합을 받는것이 좋을지 궁금하네요. 제 생각에는 2번인데 만약 2번이라면 그에 따른 코드량이 방대해 질텐데 (state수, 리듀서, 사가 등) 그래도 이렇게 하는게 가장 좋겠죠??
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
api/video/uploadfiles 경로 404 에러뜨시는분들
root 디렉토리에 폴더명을 uploads로 만들어놔서 api/video/uploadfiles 말고 api/video/uploads 로 고쳐서 하시면 됩니다. 아마 강사님이 처음에 uploads가 아니라 uploadfiles로 선언을 하시고 추후에 uploads로 바꾸셨는데 나머지 부분이 변경이 안됐던것 같습니다. VideoUploadPage.js에서 axios.post('/api/video/uploads', formData, config) 로 고치고 server 디렉토리의 video.js에선 router.post('/uploads', (req, res) => { 로 고치면 정상적으로 작동 됩니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
파이참
기존에 파이참이랑 아톰이 둘다 설치되어있었는데 아톰에서 아무리해도 autocomplete-python 설치문제로 해결이 안되서 파이참으로 실행하려고 합니다. 혹시 이후에 수업 진행시에 파이참으로 진행하려면 진행이 안된다거나 하는 부분이 있을까요?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
오류 ㅜ
예외처리 코드에서 error 부분이 빨간 밑줄 쳐지고 에러뜨는데용; 이미 선언되었다고 오류나는거같은데 ㅎㅎ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
AOP 적용 후 의존관계
안녕하세요. "AOP 적용" 강의에서 AOP를 적용했을때 프록시로 가짜 MemberService가 생성되는걸 확인 시켜주시기 위해서 MemberController 의 MemberService 주입 부분에서 프린트를 찍어서 보여주시는데요. AOP가 적용되지 않은 상태에서 프린트 찍어도 비슷한 형태로 출력됩니다. 이 부분에 대해서 설명해주실 수 있을까요..?
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
질문요!!
특정 고양이 데이터 조회부분이 조금 어렵네요 ㅎㅎ 1. 동적라우팅? /:id 2.request 안에 파라미터값이 있다?라는 부분이 모르겟어요 ㅜ 왜 있는거지?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 권한 요청드립니다.
인프런 아이디 : slseongjunlee 인프런 이메일: sl.seongjunlee@gmail.com 깃헙 아이디 : sl.seongjunlee@gmail.com 깃헙 Username : sl-seongjunlee
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드리뷰 부탁드립니다.
강의 잘 듣고 있습니다. 감사합니다. Queue를 처음 배우고 있어 혼자 풀 때 아래와 같이 풀었는데 반례가 있을지 궁금합니다. function solution(need, plan) { let answer = "YES"; let planArr = plan.split(""); let max = -1; for (let x of need) { let YN = false; for (let i = 0; i < planArr.length; i++) { if (x === planArr[i]) { YN = true; if (max < i) { max = i; } else { answer = "NO"; } break; } } if (!YN) { answer = "NO"; } } return answer; }
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
bram 관련 질문
안녕하세요, BRAM과 ZYNQ에 대해 공부하던 중, 사용할 수 있는 BRAM이 630kB 정도 밖에 되지 않다는 것을 알게 되었습니다. 1) 만약 BRAM이 부족한 경우, 그렇다면 다른 memory를 사용해야할텐데, 그때는 DDR(?)을 사용하는 것인가요? 2) (1)번이 맞다면, 그 사용법이나 정보를 얻을 수 있는 곳이 있을까요? 여러 문서를 봐도, 코드를 어떤 식으로 작성해야하는지를 알 수가 없네요ㅠ 이 수업 커리큘럼 내에서는 DDR을 다루지 않는 것 같아, 관련된 정보라도 얻을 수 있을까 하여 질문드립니다. 감사합니다:)