묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
3분 54초 paramName
forEachRemaining괄호안에 paramName이라는 변수명이 어디서 나온건가요? 람다식으로 해도 변수에 무슨 값을 넣어줘야 하는거아닌가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
hello-form.html 이라는 정적 파일이 나오는 원리 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. http://localhost:8080/basic/hello-form.html 이라는 URL을 입력하면, 작성한 정적 파일(html 파일)이 나오게 되는데요, 즉 루트 디렉터리가 webapp에 mapping되어 해당 정적 파일이 나오게 되는 것 이라고 생각됩니다. 혹시 이부분에 관한 내용도 추후에 더 설명해 주시는건지, 아니면 그냥 루트 디렉터리가 webapp 디렉터리에 mapping되어 동작한다고 생각하면 되는 것인지 궁금합니다. 항상 좋은 강의 감사합니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
연산자 표현에서 $
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 정말.. 최대한 찾아보려고 했는데 해당내용을 찾아보기 힘들어 질문을 드립니다. correct = $signed 에서 $가 의미하는 것이 어떤것인지 알수 있을까요..?? 그나마 찾아본 내용중 맞는거 같은건 함수? 를 casting 하는 명령어라는거 같은데.. 그게 맞는지 긴가민가 하여 질문드립니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
외래키를 사용에 대해서
안녕하세여 강사님 외래키에 대해서 궁금한점이 있습니다. 강의를 보던중 문득 기억난 것이 외래키를 사용안하는 이유에 관한 글들이 떠올랐는데요. 예를들어 강의내용중 위 테이블에서 MEMBER 테이블은 TEAM_ID의 외래키를 갖고있는데 이 제약조건을 이 외래키 제약조건을 빼고 사용을 한다. (join을 이용하면 된다)라는 글이 기억나서 질문드립니다. 외래키를 최대한 안쓰고 정말 꼭 필요할때 사용하는게 맞는건가요? 갑자기 머리에서 혼란이 가득하네여 ㅜ
-
미해결유니티 머신러닝 에이전트 완전정복 (기초편)
기초편 수강완료했습니다!! 다음 심화편은 언제 볼 수 있을까요??
to. 제작진분들 알찬 강의 정말 너무 잘 공부했습니다. 돈이 정말 1도 아깝지 않은 최고의 강의였습니다. 강의 서론에 말씀하신 심화편은 언제쯤 볼 수 있을까요? 또 교재로도 출판예정이라고 하셨는데 교재는 언제쯤일까요? 감사합니다.
-
미해결스프링 핵심 원리 - 기본편
Map과 List 자동주입 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의내용에서 Map과 List를 만들고, 생성자 주입을 받았더니 자동으로 DiscountPolicy 구현객체(Fix, Rate)가 각각의 Map과 List로 Autowiring 되었는데, 이 동작이 Map<String,DiscountPolicy> policyMap = ac.getBeansOfType(DiscountPolicy.class); <- 이것과 같은 원리로 스프링 내부에서 동작했던건가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
${} 문법 관련 질문입니다!
${} 문법 사용 시 프로퍼티 접근법에 의해서 데이터 조회 시에는 getId()가, 저장할 때는 setId()가 자동으로 호출된다고 하셨는데 그럼 ${member.id} 를 작성했을 때 member.setId()를 호출하려면 어떤 식으로 코드를 작성해야 하나요??
-
미해결[OpenCV] 파이썬 딥러닝 영상처리 프로젝트 - 손흥민을 찾아라!
영상과 소리 싱크가 안맞는거 같습니다..
openCV설치하기 편 수강 중인데 소리싱크가 안맞는거같아요..
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
commit의 인자
// store.js state: { storeNum: 10}, mutations: { modifyState(state, str, num){ console.log(str); return state.storeNum += num; } } this.$store.commit('modifyState', 'passed from payload', 20) ; 이렇게 commit 할 때 처음부터 modifyState 함수에 여러 개의 인자를 넘겨주는 건 안 되는건가요?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
c언어로 질문드립니다!
질문1 c언어도 적혀있어서 c언어관련 강의인줄 알고 들었는데 c++수업이라 c로 바꿔서 코드 공부중인데요 c로된 코드자료는 없을까요? 질문2 "4.나이차이 강의"에서 파일을 이용한 c코드를 모르겠습니다 파일 읽어와서 작성하는 c코드부탁드립니다
-
미해결몽고DB + node express + ionic6 연동
몽고db에서 설치했는데 오류뜨네요
윈도우에 몽고DB 설치하기 강의에서 오류가뜨네요
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
Code assistance 패키지
항상 좋은 강의 잘 듣고 있습니다! 제가 For 구문(2-1) : 하루종일 반복해봐요. 강의를 듣는 도중 강사님의 ATOM에는 range를 쳤을 때, range를 설명하는 창이 뜨는데, 저는 뜨질 않습니다. 혹시 추가로 설치해야하는 패키지 인가요??ㅠㅠ
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
로그인 에러
안녕하세요, 강사님! 강의를 보던 중에 로그인이 되지 않아서 질문 남깁니다. 터미널과 콘솔창에는 에러가 나지 않는데 데이터가 넘어가지 않아서 devtool에 아무 응답이 없어요... 원인을 정말 모르겠습니다.. 깃헙 주소 올려드립니다. 감사합니다. https://github.com/ha2ylee/Study
-
미해결파이썬 플라스크(Flask) 기반 웹 개발 및 업무 자동화 서비스 활용
수업이 중간에 끊기는데..
아직 수정이 안됐네요.... 아예 신경을 안쓰시는것같아요 ㅠ
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
chat 감정표현 및 읽음 질문
채팅 좋아요,싫어요등을 추가로 구현해보고싶어서 설계중인데, export class Chat extends CommonEntity { @Column() content: string; @Column('simple-array') readedMembersId: number[]; @Column('simple-array', { nullable: true }) thumbsUpMembersId: number[]; @Column('simple-array', { nullable: true }) thumbsDownMembersId: number[]; @DeleteDateColumn({ nullable: true }) deletedAt: Date | null; @ManyToOne(() => Room, (room) => room.Chats) Room: Room; @ManyToOne(() => User, (user) => user.Chats) User: User; } 읽음처리는 readMembersId 테이블에에 읽은 맴버 Id들을 푸시해주고, 감정표현은 tumbup / down Members Id를 각 테이블에 푸시해주는 식으로 구현해봤는데, 다대다 테이블을 따로 안만들고 이렇게써도 되는지, 실무에선 보통 읽음, 감정표현같은 기능은 어떻게 처리하는지 조언 받고싶습니다.
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
mentions 질문
https://github.com/ZeroCho/sleact/blob/master/nest-typeorm/src/entities/ChannelChats.ts 제로초님 소스코드를 보면 channelChats 테이블에 mentions과 관련된 테이블이 없고 mentions테이블 칼럼으로는 그냥 chatId만 해줬는데 (@ManyToOne() 이런것없이) 어떻게 chanelchats과 mentions가 연결될수 있는지 궁금합니다.
-
미해결웹 게임을 만들며 배우는 React
22년3월4일 기준 강의 내용을 그대로 따라하면 정상적으로 실행됩니다.
여러분들도 포기하지말고 여기 파트 그냥 넘어가지 마시고 꼭 오류 나더라도 제로초님 강의따라서 코드따라 쳐보시고 커맨드라인으로 npx webpack 한 후에 html파일 꼭 크롬에 띄워서 확인 해보시길 바랍니다~! 저도 이걸 왜 해야 하나 처음엔 생각했지만 구동 원리를 조금은 엿볼수 있어서 좋았습니다. 꼭 꼭 해보세요~!
-
미해결윤재성의 Kotlin 기반 안드로이드 앱 개발 Part2 - 메뉴와 4대 구성요소
textView 질문
여기서 textView 가 안불러와지는건가요? 문제를 정확하게 찾아보니까 xml 에서 가져오는 것을 못하는 것 같습니다.
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
th:replace
강의 중에<div th:replace= ~~~와 <div class= ~~~(th없음) 코드가 혼재되어 있는데 th없이 단순 class만 명시한 코드도 정상 동작 하네요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
안녕하세요 질문사항입니다.
강의 잘보고 있습니다. 다름이아니라 지금 로그인접속정보 계속 유지하기 부분 보고있습니다 그런데 로그인 후 새로고침 후 page index.js 에서 useEffect 에 LOAD_MY_INFO_REQUEST -> 리덕스, saga 로넘어갈때 action.data : null 입니다. 그런데 브라우저 애플리케이션 단에서 쿠키는 확인 되었습니다. 쿠키가 있는 상태면 passport 로직에 의해서 두번쨰 로그인부터는 req.user에 첫 로그인시 select 했던 로그인정보가 새로고침후에 action .data에 담겨야하는거죠? 근데 안담기네용.... 어디를 봐야할까용... const passport = require('passport');const local = require('./local');const {User} = require('../models');module.exports = () => { passport.serializeUser((user, done) => { //done에 첫번째인자는 error 두번째 인자는 성공 //req.login 에 정보가 여기로들어감 done(null, user.id); //세션 저장 즉 서버에서 세션 connectSID랑 쿠키와 함께 저장 [{id: 1, cookie : 'clhxy'}] //그리고 쿠키에게 뿌려줌 }); //로그인을 성공하고나서 그 다음 요청부터 매번실행함 //이 부분이 라우터 실행되기 전에 매번 실행된다. 그렇다면 성능적으론 상관없을지 몰라도 // 유지보수 측면에서 이로직을 통한 분산이 가능하다. //라우터 접근 전에 deserializeUser 내부적으로 한 번더 실행함 저장되어있던 아이디를 토대로 select 해서 가지고온다. req.user 로 routes에서 접근이 가능하다 . passport.deserializeUser(async (id, done) => { try { const user = await User.findOne({ where : {id} }); //그래서 id 값을 where 절에 넣고 반환값 user를 done(null, user); //done(user) 넣어주고 이 값이 req.user에 반환된다 . }catch (e) { console.error(e); done(e); } }); local();}; const passport = require('passport');const { Strategy:LocalStrategy } = require('passport-local'); //비구조화 할당에서 : 를 하면 LocalStrategy로 변수명을 변경할 수 있다.const { User } = require('../models');const bcrypt = require('bcrypt');module.exports = () => { passport.use(new LocalStrategy({ usernameField: 'email', passwordField: 'password', }, async (email, password, done) => { //req.body 부분 done 부분 확인 필요 done은 callback부분 결과값 done을 내보낸다. routes.post(login) 쪽으로 넘어가는 값은 done() 이다 . try { // done : e 에러, info fail reason, user success o doen(에러, false-reason, user) const user = await User.findOne({ where: { email } }); if(!user) { return done(null, false, {reason: "존재하지 않는 이메일입니다.!"}); //이유 info } const result = await bcrypt.compare(password, user.password); //else if(result) { return done(null, user); } return done(null, false, {reason : "비밀번호가 일치하지 않습니다."}); //else }catch (e) { console.error(e); return done(e); //server가 error 인 경우 } }));}; 리덕스 상 diff LOAD_MY_INFO_REQUEST { type: 'LOAD_MY_INFO_REQUEST' } LOAD_MY_INFO_SUCCESS { type: 'LOAD_MY_SUCCESS', data: null }