묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)
found와 최종 답
found가 괄호를 최소로 지워서 valid한 상태를 찾으려는 장치인 것을 이해했습니다. 그런데 이 강의의 예제에서,처음 String이 길이가 8인 (a)())()일 때,while문이 한 번 돌게 되면, queue에 길이가 7인 [a)())(), (a())(), (a)))(), (a)()(), (a)()(), (a)())), (a)())(]가 남게 되고, 두 번째 while문에서 queue의 두 번째 값('(a())()')이 poll 되어 found가 true가 되기 전까진,queue의 첫 번째 값('a)())()')이 코드를 수행해 queue에 길이가 6인 것들이 추가되게 되는데요. 이 예제에선 길이가 6인 추가된 것들이 isValid()에 맞지 않아 res에 추가되지 않았지만,혹시나 isValid()에 맞는 경우가 생긴다면, 최종 답에 길이가 7인 것과 6인 것이 섞일 수도 있는 건가요?아님 제가 잘못 이해했을까요 ㅠ?
-
미해결[OpenCV] 파이썬 딥러닝 영상처리 프로젝트 - 손흥민을 찾아라!
face_alignment 질문
마지막 섹션에서, face_alignment를 사용하는 이유가 train 시킬 데이터를 좀더 정확하게 학습시키려고 하는건가요 아님 face recognition에서 좀더 정확하게 테디인지 구분하기 위해 사용하는건가요 ? 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
-
미해결홍정모의 따라하며 배우는 C언어
9.1 질문
printf의 반환값만 사용하려고 했으나 코드를 실행시켜보면 ******************** stdngowl stdngowl Jeonju, Korea Jeonju, Korea ******************** count = printf("%s", things); 자리에서 반환과 동시에 출력됩니다. 이전 예제에서 반환값을 사용하는 문제를 해결할 때는 정상적으로 작동하였는데 현재 코드에서 무엇이 잘 못된것인지 찾지못했습니다.. 원인이 보인다면 말씀 부탁드립니다. . #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #define WIDTH 20 #define NAME "stdngowl" #define ADDRESS "Jeonju, Korea" void stars(int width); void sort(int width, char things[100]); int main() { stars(WIDTH); sort(WIDTH, NAME); sort(WIDTH, ADDRESS); stars(WIDTH); return 0; } void stars(int width) { while(width) { putchar('*'); width--; } putchar('\n'); } void sort(int width, char things[30]) { int count; count = printf("%s", things); while( ((width - count)/2) > 0 ) { putchar(' '); count++; } printf("%s\n",things); }
-
미해결실전! Querydsl
QMember 생성 될 때 왜 디폴트로 member1로 생성 되나요?
안녕하세요! 강의 잘 듣고 있습니다. 별거 아닌 질문이긴 한데.. QHello랑 QTeam은 querydsl 코드 생성 될 때 각각의 entity에 맞는 이름으로 alias ? 가 지정되는데 왜 Member 만 QMember("member1") 로 생성 되나요?
-
미해결홍정모의 따라하며 배우는 C언어
디버거로 찍어봐도 모르겠습니다...
void swap(char* xp, char* yp); void printStringArray(char* arr[], int size); void selectionSort(char* arr[], int n); int main() { char* arr[] = { "Cherry", "AppleBee", "Pineapple", "Apple", "Orange" }; int n = sizeof(arr) / sizeof(arr[0]); printStringArray(arr, n); selectionSort(arr, n); printStringArray(arr, n); return 0; } void selectionSort(char* arr[], int n) { int min_idx = 0; for (int i = 0; i < n - 1; i++) { min_idx = i; for (int j = i + 1; j < n; j++) { if (strcmp(arr[min_idx], arr[j]) > 0) { min_idx = j; } } swap(arr[min_idx], arr[i]); } } void printStringArray(char* arr[], int size) { for (int i = 0; i < size; i++) printf("%s\n", arr[i]); printf("\n"); } void swap(char* xp, char* yp) { char* temp = xp; xp = yp; yp = temp; } 디버거로 찍어보니 주소 swap이 되는데 막상 값은 바뀌지 않네요... 그리고 이중포인터는 포인터의 주소를 갖는 변수라는 개념은 이해하겠는데 사용하려니 어렵습니다. 교수님 코드에서도 이중포인터를 사용한 이유를 잘 이해 못하겠는데 어찌해야할까요
-
미해결Vue.js 시작하기 - Age of Vue.js
[라이브러리에서 감지] 에 대한 질문
데이타의 변화를 라이브러리에서 감지에서 반영해 준다 라는 설명이 어렵습니다. 먼저 라이브러리 란 무슨 라이브러리 이고 그 라이브러리가 웹서버 처럼 항상 뛰어져 있어서 데이타의 변화를 감지 하는 건지요 답변 부탁 드립니다.
-
미해결인터랙티브 웹 개발 제대로 시작하기
문 여러번 클릭
안녕하세요 예제를 끝까지하고 실행해보니 잘됐습니다. 근데 한가지의 문을 계속 클릭하니깐 문가 갑자기 커지면서 열리더군요 계속 그러지는 않고 가끔씩 문이 갑자기 커집니다. 이건 에러인가요..?
-
미해결Vue.js 시작하기 - Age of Vue.js
즉시함수등에 관한 질문
즉시함수를 이용하는 이유에 대해서 설명하신 【변수 유효 범위를 분리하기 위해서...】의 뜻이 변수의 스코프를 말씀 하시는거 같은데 원래 익명함수를 실행하면 전역(static) 스코프로 메모리에 올라가는 건가요? 어디서 사용할려고 전역변수로 올리는 이유도 잘 모르겠습니다. 오픈라이브러리 서버란 웹서버를 대신 하는거 같은데 오픈라이브러리를 실행하면 위의 익명함수가 실행이 되는지요 라이브러리가 데이터의 변화를 감지한다고 하셨는데 무슨 라이브러리를 말씀 하시는건가요? 나름대로 정리해서 질문한다고 몇차레나 쓰고 지우고 반복했는데도 정리가 안되보이네요 두서없는 질문입니다만 자세한 답변 부탁 드립니다.
-
해결됨Node.js 교과서 - 기본부터 프로젝트 실습까지
리뉴얼 강의 12강 socket.io에서 req.session접근 관련 질문
socket.request.session에서는 color에 접근할 수 없기때문에 app.js에서 sessionMiddleware를 따로 분리하여 socket.js에 넘겨주어 socket.request.session에서 color 속성에 접근할수 있게 했는데 "Cannot read property 'color' of undefined" 오류가 발생하는네요 원인을 모르겠습니다 제가 코드를 잘못작성한것 같아서 github 코드를 참고하여 수정해봤는데도 계속 이런 현상이 나타나네요 콘솔로 socket.request.session을 찍어보는데 아예 undefined가 출력되는걸 봐서 socket.request.session에 request.session이 전달되지 않는것 같습니다 https://socket.io/docs/v3/faq/index.html 혹시 express-session에 접근할 수 있는 다른 방법이 있나 공식문서를 참고해봤는데 강의내용과 다르지 않더라구요 더 찾아본 결과 express-socket.io-session 라이브러리가 존재하는걸 확인했는데 이걸 사용해야 하나 고민입니다
-
플렉스(Flex) 반응형 웹사이트 포트폴리오(The World's Best Cities)
반응형 모바일 레이아웃 변환 가로스크롤 질문드립니다
삭제된 글입니다
-
미해결스프링 핵심 원리 - 기본편
안녕하세요 프로젝트 관련해서 궁금하게 있습니다.
안녕하세요 jpa부터 스프링까지 좋은 강의 만들어주셔서 많이 배우고 있습니다. 감사합니다. 제가 플랫폼을 2개 만들려고하는데요 예를들어 inflearn.com -> 교육 플랫폼competition.inflearn.com -> 대회 플랫폼이렇게 두 플랫폼을 만든다면, 예를들어 교육플랫폼에서 인공지능을 공부하고 대회 플랫폼에서는 배운 인공지능을 활용해서 서로 경쟁을 하는것입니다. 위 두개의 플랫폼을 만든다고 한다면,, 서로 분리된 프로젝트로 나눠야할것같은데.. 교육플랫폼 회원은 별도의 회원가입없이 대회플랫폼도 이용하게 하고싶고, 쪽지기능, 채팅기능, 게시판기능등 겹치는 기능이 많을것 같습니다. 만약 두개의 프로젝트를 나눠서 개발하게되면 엄청난 복붙을 해야할거같고 에러가 많이 발생할것같습니다.. 또 하나로 하자니 비대해지고 두 플랫폼의 성향이 많이 달라 다른 프로젝트로 나누는게 깔끔할것같습니다.. 위 같은 상황에서는 어떻게 하시나요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
리액트 크롬 확장툴이요!
제가 중간에 놓친것같은데.. inspector? 데이터 확인하는 부분있던데.. 크롬확장툴 이름이 뭘까요? :) 3:33초에 나왔습니다!
-
해결됨스프링 핵심 원리 - 기본편
Spring의 Bean주입 관련 질문입니다
안녕하세요 영한님 이번 강의를 듣고 궁금증이 생겨 이렇게 질문드립니다. 1. 첫번째 질문입니다. 평소에 의존성 주입을 할때 의존성을 주입할 객체를 private final로 선언한후에 Lombok의 @RequiredArgsConstructor를 사용하거나 final로 선언된 객체를 생성자를 통하여 받아 주입을 하였습니다. 근데 강의를 듣다보니 영한님같은 경우는 @Autowired를 생성자에 사용하고 계신데 로그상으로 봣을때는 @Autowired가 있고 없고가 차이가 없어 보입니다. 혹시 @Autowired의 사용 유무에 따라서 내부적으로 차이점이 있는건가요? 2. 두번째 질문은 14:40 구간에 스프링 빈저장소 그림을 보다가 문득 생각났는데요 Bean객체가 빈 저장소에 등록되는 순서가 존재하는 걸까요? MemberService의 경우는 MemberRepository의 의존성을 주입 받아야하는데 MemberService가 먼저 빈저장소에 등록되고 이후에 MemberRepository에 등록되는 경우는 MemberService가 생성될때 MemberRepository의 빈정보는 빈 저장소에 없는 상태인데 이럴경우는 어떻게 해당 객체를 생성자를 통하여 주입후 MemberService가 생성되는지 궁금해졌습니다. 그래서 제가 스스로 생각해본 내용은 전체의 빈을 먼저 스캔한후 주입받을 내용이없는 빈을 먼저 빈저장소에 등록후 이후에 주입받을 빈이 있는 객체를 생성하여 빈저장소에 저장한다. 라고 생각도 해보았는데 로그상으로 보면 Creating shared instance of singleton bean 'AClass' Creating shared instance of singleton bean 'BClass' Autowiring by type from bean name 'AClass' via constructor to bean named 'BClass' 이 순서대로 빈이 생성되어 주입되는듯하네요 그래서 또 다른 생각은 SpringMVC같은 경우는 컨트롤러에서 요청된 내용을 reflection을 통하여 해당하는 요청의 메소드를 invoke시키는 것으로 배웠는데 그렇다면 빈들을 먼저 빈 저장소에 저장후에 그 이후에 저장된 빈에서 주입이 안된 객체를 찾아 꺼내고 reflection을 통하여 생성자의 파라미터에 주어진 객체를 저장해줄까 라는 생각도 해보았습니다. 스프링에서는 내부적으로 빈이 어떻게 주입이 되는지가 궁금합니다. ㅎㅎ!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
중간중간 타입확인할 때 나오는 단축키 ??
중간중간 (8:35 초 등)에 나오는 Optional 형 등 타입 확인할 때 나오는 단축키 이름이 뭔가요??
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
네비 질문
사진과 같이 네비 부분에 3번째 4번째 서브메뉴 같은 경우엔 항목이 3개라서 빈부분이 생겨버려서 깔끔한 모양이 안나오는데 저런 경우 어떻게 해줘야 되는건가요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
시퀄라이즈 DB 테이블 생성제한방법
시퀄라이즈를 사용하면서 기존에 이미 있는 DB를 연결만 시켜서 사용할수도 있을까요?? 이미 사용중인 DB에(데이터도 있습니다) sql 쿼리를 작성해서 사용하던걸 시퀄라이즈로 대체하려고 하는데, DB테이블을 생성이나 변경 없이 사용할 수 있을까요??
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
'우분투에 MySQL 설치하기'에서 EC2 back 서버에 404 ERROR가 뜹니다
mysql 설치해서 db연결하는 것까지는 성공했습니다. 그런데 back server에 접속하면 404 에러가 나와서요ㅜㅜ. 왜 그런지 감도 못잡고 있는 초보입니다. 도와주세요~ ubuntu@ip-172-31-47-106:~/Ymillonga/back$ sudo mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 42 Server version: 8.0.22 MySQL Community Server - GPL Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use react-nodebird; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; +--------------------------+ | Tables_in_react-nodebird | +--------------------------+ | Follow | | Hashtags | | Like | | PostHashtag | | comments | | images | | posts | | users | +--------------------------+ 8 rows in set (0.00 sec) mysql> exit; Bye app.js const express = require('express'); const cors = require('cors'); const session = require('express-session'); const cookieParser = require('cookie-parser'); const passport = require('passport'); const dotenv = require('dotenv'); const morgan = require('morgan'); const path = require('path'); const hpp = require('hpp'); const helmet = require('helmet'); const postRouter = require('./routes/post'); const postsRouter = require('./routes/posts'); const userRouter = require('./routes/user'); const hashtagRouter = require('./routes/hashtag'); const db = require('./models'); const passportConfig = require('./passport'); dotenv.config(); const app = express(); db.sequelize.sync() .then(() => { console.log('db연결 성공'); }) .catch(console.error); passportConfig(); if (process.env.NODE_ENV === 'production') { app.use(morgan('combined')); app.use(hpp()); app.use(helmet()); } else { app.use(morgan('dev')); } app.use(cors({ origin: ['http://localhost:3060', 'nodebird.com', 'http://52.79.186.162'],//'http://nodebird.com', 해당 주소에서 온 요청만 허용 credentials: true,//true: cookie를 다른 도메인(3060 port에서 3065 port로 전달하는 경우)으로 전달하게 함 })); app.use('/', express.static(path.join(__dirname, 'uploads')));// '/' => 'localhost:3065/모모.png',__dirname(현재폴더:back), __dirname + 'uploads'로 적지 않는다. 운영체제마다 /(맥),\(윈도우) 경로설정 다른 것을 자동으로 해준다. 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.use('/posts', postsRouter); app.use('/post', postRouter); app.use('/user', userRouter); app.use('/hashtag', hashtagRouter); // app.use((err, req, res, next) => { // //에러 처리 미들웨어를 특별하게 보이도록 하고 싶을 때 따로 만들어주기 // }); app.listen(80, () => { console.log('서버 실행 중'); });
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
함수 호출 순서 보는 코드
코드만 봐서 이해가 안가서 프린트문으로 보이도록 짜봄 이래하면 result = n * factorial(n-1) 부분에서 다시 함수 호출, 호출 하면서 5번 더 내려가고 1에 도달하면 1*2*3*4*5*6 식으로 올라오면서 하나씩 함수 닫고 마지막에 결과값 반환하고 함수 종료 def factorial(n): '''Factorial Fucntion -> n: int''' if n == 1: print('n: ', n) return 1 else: print('n: ', n) result = n * factorial(n-1) print(n, result) return result
-
미해결WEB2 - PHP
바로바로 브라우저창에 업로드가안되요..
코드수정하고 확인하는데 html 할때는 바로바로 수정확인이되는데 이건 바로바로수정확인이안되요 ㅠㅠ 원래그런가요?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
jquery 작성 관련입니다.
html 작성시에,그냥 a태그로만 안하고 ul과 li를 사용하는 이유가,글자에만 영역을 잡으려고 한다고 하셨습니다. 그렇게 하지 않으면 보더를 그렸을때 아래사진처럼, 글자 옆으로 영역이 더 발생하기에 그렇게 한다고 하셨고,아, 그런의도구나라고 이해했습니다. 그렇다면, jquery 식을 보면, $('.navi li').mouseenter(function(){ var changeImage = $(this).attr('data-image') $('.photo').css({"background-image" : "url("+ changeImage +")"}) }) $('.navi li').mouseleave(function(){ var changeImage = $(this).attr('data-image') $('.photo').css({"background-image" : ""}) }) 이렇게 되면,".btn li"를 눌렀을 때가 되고, 결국 li의 영역은위의 사진처럼 영역이 똑같아 지게 됩니다. 따라서, '.navi li a' 여기에 mouseenter와 mouseleave가 있어야 합니다.그러나 이렇게 되면 changeImage의 data-image경로가 꼬여버리기 때문에data-image를 li가 아닌 a에 주던가, 혹은 아래처럼, $('.navi li').mouseenter(function(){ var changeImage = $(this).parent().attr('data-image') $('.photo').css({"background-image" : "url("+ changeImage +")"}) }) $('.navi li').mouseleave(function(){ var changeImage = $(this).parent().attr('data-image') $('.photo').css({"background-image" : ""}) }) parent()를 넣어줘서 해야,영역이 아래 그림처럼 잡히고 그안에서만 반응하도록선생님께서 의도한 기능이 구현되는 것 같습니다. 제가 말씀드리는 부분이 이해가 가시나 모르겠습니다. 주제넘게 이런거 올려서 죄송합니다.보다 정확하게 하고 싶은 마음과, 선생님께 제가 이렇게 생각한걸 보고 피드백도 받고 싶은 마음,그리고 제가 짚어낸 부분이 맞다면, 다른분들도 같이 참고 했으면 하는 마음이 있어서 그랬습니다. 피드백 기다리겠습니다.