묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 연결
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]h2로 웹사이트 들어가려는데 오류가 떠요 ㅠㅠ 왜이런거죠?
-
미해결게임 프로그래머 취업 전략 가이드
언리얼과 유니티 상관이 없나요?
어떤 엔진을 사용하든 배우는데 있어 상관이 없다는 말을 들었습니다. 그래서 선생님을 찾아오게 되었습니다. 하나의 엔진과 언어에 깊게 파고들어 마스터하는 것이 단점보단 장점이 많다고 생각이 듭니다. 언리얼과 C++, 유니티와 C#. 둘다 잘 다룰수 있다면 선택의 폭이 넓어지겠지만 둘중 하나만 이용하여 개발하는 경우가 많지 않나 생각듭니다. 언리얼로 개발하는 회사에서 유니티 전공자를 뽑는지는 모르겠지만 어디까지나 상대평가이기 때문에 저 같은 경우는 목표를 이루기 위해 언리얼에 전문성을 띠고 싶으며 꾸준히 선생님의 C++과 언리얼을 공부중입니다. 실력을 기르는데 있어서 두 엔진보다는 이론과 코딩실력이 중요하겠지만 유니티와 언리얼은 생각보다 많은 차이점을 가지고 있다고 판단합니다. 제 생각이 현업에서도 똑같이 작용하는지, 틀린 가치관인지 궁금합니다. 하나의 언어와 엔진을 정해 깊게 파고드는 것과 다양한 엔진을 활용하여 배우는 것에 있어서 무엇이 더 효율적일까요
-
해결됨풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기
server 실행 오류가 납니다.
https://github.com/JaeHyuk1217/JH_mall/tree/master/shopping-mall server을 실행하면 이러한 오류가뜹니다... 환경변수 설정도 해보고 node 재설치도 해봤는데 되지 않습니다..
-
미해결iOS AutoLayout 완벽 가이드 - 실무 프로젝트를 위한 실전강의
계산기 - 버튼들의 가로 간격과 세로 간격을 동일하게 하는 방법 질문드립니다.
안녕하세요. 강의 감사히 잘 수강하고 있습니다. 학습 중에 잘 안되는 부분이 있어 질문 남깁니다.Calc (4) 강의까지 모두 수강하고 따라한 결과 동그라미 버튼은 잘 나오는데, 버튼들 사이의 가로 간격과 세로 간격이 다르게 나옵니다.원인을 찾으려고 세 번이나 처음부터 다시 따라서 만들었는데 아무리 찾아도 원인을 모르겠습니다.. 혹시 해결 방법을 알려주실 수 있을까요?🙏전체 소스 코드는 https://github.com/bibi6666667/AutoLayoutCalculatorPractice 여기에 있습니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
무언가 오류가 있다고 뜨는데 어떻게 고치나요?
import requests from bs4 import BeautifulSoup # 종목 코드 리스트 codes = [ '035420', '088980', '005930', '035720' ] for code in codes: url = f"https://finance.naver.com/item/sise.naver?code={code}" response = requests.get(url) html = response.text soup = BeautifulSoup(html, 'html.parser') price = soup.select_one("#_nowVal").text price = price.replace(',', '') print(price)
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
PKIX path building failed
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Spring Initilizr 을 통해 project generating 한 후 Intellij 에서 실행하니 초기 빌드 과정에서 아래와 같이 에러가 뜨는데요, 찾아보니 제가 지금 사내 pc 및 네트워크를 사용 중이어서 뜨는 인증서 오류인 것 같습니다. 혹시 관련하여 해결책을 주실 수 있으실까요?PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
index.html 사이트 연결할 수 없음
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요.webapp 아래 index.html 파일 잘 위치해 있습니다.http://localhost:8080/index.html 주소로 들어가면 사이트 연결할 수 없음이라고 뜨고IDE에서 run하면 뜨는 브라우저 아이콘 4개 중 크롬을 누르게 되면 http://localhost:63342/servlet/servlet.main/webapp/index.html?_ijt=gol0djjmpsd9cm9s9v6ag90urr&_ij_reload=RELOAD_ON_SAVE위 주소로 index.html 파일이 잘 열립니다.혹시 어떤 문제 때문에 이러는 건가요?이와 연관된 문제인 건지는 모르겠으나 위에 긴 주소로 열린 index.html 파일에서 jsp 회원가입, 회원목록을 눌렀을 때도 404에러만 납니다.알려주신 위치에 디렉토리 생성하고 파일 제대로 만들었음에두요.
-
미해결프로젝트로 배우는 React.js
prePosts는 어디서 받아 오는 건가요?
const deleteBlog = (event, id) => { event.stopPropagation(); console.log("delete"); axios.delete(`http://localhost:3001/posts/${id}`).then(() => { setPosts((prevPosts) => { console.log(prevPosts); return prevPosts.filter((post) => { return post.id !== id; }); }); }); }; prevPosts는 delete후에 api에서 넘겨 주는 것인가요? 아니면 기존 posts값인가요>
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
DI 적용해보기
안녕하세요. 항상 좋은 강의 감사합니다.FrontController에서 어댑터들을 DI로 적용할 수 있다고 하셔서 이를 구현해보고자 하였습니다.@WebServlet(name = "frontControllerServletV5", urlPatterns = "/front-controller/v5/*") public class FrontControllerServletV5 extends HttpServlet { ... @Autowired private Map<String, Object> handlerMappingMap; ... }처음에 컬렉션 객체들을 Bean으로 등록하여 주입받고자 HandlerMappingConfig클래스를 만들었습니다.@Configuration public class HandlerMappingConfig { @Bean public Map<String, Object> handlerMappingMap() { Map<String, Object> handlerMappingMap = new HashMap<>(); // V2 Controller handlerMappingMap.put("/front-controller/v5/v2/members/new-form", new MemberFormControllerV2()); handlerMappingMap.put("/front-controller/v5/v2/members/save", new MemberSaveControllerV2()); handlerMappingMap.put("/front-controller/v5/v2/members", new MemberListControllerV2()); // V3 Controller & V4 Controller ... return handlerMappingMap; } }그리고 제대로 주입을 받았는지 테스트하기 위해 FrontControllerServletV5 클래스의 service() 메소드에서 handlerMappingMap을 출력하도록 작성하였습니다.@WebServlet(name = "frontControllerServletV5", urlPatterns = "/front-controller/v5/*") public class FrontControllerServletV5 extends HttpServlet { ... @Autowired private Map<String, Object> handlerMappingMap; ... @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 정상적으로 주입되었는지 테스트하기 위해 출력 System.out.println("handlerMappingMap = " + handlerMappingMap); ... } }서버를 실행시켜 확인해보니 아래 그림과 같이 handlerMappingMap에 마치 컨테이너의 빈들이 다 들어온 것처럼 출력된 것을 확인할 수 있었습니다.왜 이런 현상이 나타나는지 모르겠습니다. 혹시 타입이 Map<String, Object>라 그런걸까요?감사합니다.
-
미해결3분만에 1000명 DB 확보하는 DB 추출기 프로그램 개발 강의 (셀레니움 + pyqt + gui + exe 프로그램)
이오류는 어떤건가요?
[6512:12744:0216/164613.471:ERROR:device_event_log_impl.cc(218)] [16:46:13.471] USB: usb_device_handle_win.cc:1046 Failed to read descriptor from node connection: 시스템에 부착된 장치가 작동하지 않습니다. (0x1F) 뭐 크롬드라이버 버전 때문이라는데 그래서import time from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC chrome_options = webdriver.ChromeOptions() driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options) import pyperclip자동 업데이트로 변경하였는데도 오류뜨네요
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인터셉터의 호출 순서 질문입니다.
강의를 따라가다 문득 preHandle, postHandle, afterCompletion 의 순서를 알고 싶어서 LoginCheckInterceptor 에 해당 메서드를 추가하여 로그를 찍어보았습니다.질문은 맨 밑에 있으며, 코드는 이해를 돕기 위해 첨부했습니다.LogInterceptor@Slf4j public class LogInterceptor implements HandlerInterceptor { public static final String LOG_ID = "logId"; @Override public boolean preHandle( HttpServletRequest request, HttpServletResponse response, Object handler ) throws Exception { String requestURI = request.getRequestURI(); String uuid = UUID.randomUUID().toString(); request.setAttribute(LOG_ID, uuid); // @RequestMapping: HandlerMethod // 정적 리소스: ResourceHttpRequestMethod if (handler instanceof HandlerMethod) { // 호출할 컨트롤러 메서드의 모든 정보가 포함되어 있다. HandlerMethod hm = (HandlerMethod) handler; } log.info("[{}][{}] LogInterceptor preHandle", requestURI, uuid); return true; } @Override public void postHandle( HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView ) throws Exception { String requestURI = request.getRequestURI(); String uuid = (String) request.getAttribute(LOG_ID); log.info("[{}][{}] LogInterceptor postHandle", requestURI, uuid); } @Override public void afterCompletion( HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex ) throws Exception { String requestURI = request.getRequestURI(); String uuid = (String) request.getAttribute(LOG_ID); log.info("[{}][{}] LogInterceptor afterComplete", requestURI, uuid); if (ex != null) { log.error("LogInterceptor afterComplete Error: ", ex); ex.printStackTrace(); } } }LoginCheckInterceptor@Slf4j public class LoginCheckInterceptor implements HandlerInterceptor { @Override public boolean preHandle( HttpServletRequest request, HttpServletResponse response, Object handler ) throws Exception { String requestURI = request.getRequestURI(); String uuid = (String) request.getAttribute(LogInterceptor.LOG_ID); log.info("[{}][{}] LoginCheckInterceptor preHandle", requestURI, uuid); HttpSession session = request.getSession(); if (session == null || session.getAttribute(SessionConst.LOGIN_MEMBER) == null) { log.info("미인증 사용자 요청 {}", requestURI); response.sendRedirect("/login?redirectURL=" + requestURI); return false; } return true; } @Override public void postHandle( HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView ) throws Exception { String requestURI = request.getRequestURI(); String uuid = (String) request.getAttribute(LogInterceptor.LOG_ID); log.info("[{}][{}] LoginCheckInterceptor postHandle", requestURI, uuid); } @Override public void afterCompletion( HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex ) throws Exception { String requestURI = request.getRequestURI(); String uuid = (String) request.getAttribute(LogInterceptor.LOG_ID); log.info("[{}][{}] LoginCheckInterceptor afterCompletion", requestURI, uuid); } }InterceptorConfig@Configuration public class InterceptorConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new LogInterceptor()) .order(1) .addPathPatterns("/**") // 모두 허용 .excludePathPatterns("/css/**", "/*.ico", "/error"); // BlackList registry.addInterceptor(new LoginCheckInterceptor()) .order(2) .addPathPatterns("/**") .excludePathPatterns( "/", "/members/css", "/login", "/logout", "/css/**", "*.ico", "/error" ); } }결과 1 - 미인증 사용자 요청// /items 요청 [/items][45e50a37-57a0-4298-b50e-e42141005426] LogInterceptor preHandle [/items][45e50a37-57a0-4298-b50e-e42141005426] LoginCheckInterceptor preHandle 미인증 사용자 요청 /items [/items][45e50a37-57a0-4298-b50e-e42141005426] LogInterceptor afterComplete // Redirect - /login [/login][18f052ab-b849-4690-83ec-43866660f570] LogInterceptor preHandle [/login][18f052ab-b849-4690-83ec-43866660f570] LogInterceptor postHandle [/login][18f052ab-b849-4690-83ec-43866660f570] LogInterceptor afterComplete로그상으로 LoginCheckInterceptor의 afterComplete가 누락되었습니다.결과2 - 정상 처리// /login 요청 [/login][19bad338-e02d-4bbe-8b3a-5dfc55ad4428] LogInterceptor preHandle LoginService: 'test', 'test!' login? Member(id=1, loginId=test, name=테스터, password=test!) [/login][19bad338-e02d-4bbe-8b3a-5dfc55ad4428] LogInterceptor postHandle [/login][19bad338-e02d-4bbe-8b3a-5dfc55ad4428] LogInterceptor afterComplete // Redirect - /items [/items][679dc279-ff3a-4ee3-a424-26b18ac8dbbd] LogInterceptor preHandle [/items][679dc279-ff3a-4ee3-a424-26b18ac8dbbd] LoginCheckInterceptor preHandle [/items][679dc279-ff3a-4ee3-a424-26b18ac8dbbd] LoginCheckInterceptor postHandle [/items][679dc279-ff3a-4ee3-a424-26b18ac8dbbd] LogInterceptor postHandle [/items][679dc279-ff3a-4ee3-a424-26b18ac8dbbd] LoginCheckInterceptor afterCompletion [/items][679dc279-ff3a-4ee3-a424-26b18ac8dbbd] LogInterceptor afterCompletepreHandle은 order의 순위대로 로그가 찍히는데, postHandle과 afterCompletion의 경우 order의 순위와 반대로 호출이 됩니다. 혹시 위 2개의 결과에 대한 이유를 설명해주실 수 있을까요..? 그냥 로직때문에 그런 것인지 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]엔티티 클래스 개발 1 강의에서 1:10분 쯤 Member, MemberRepository를 삭제 후 회원 레포지토리 개발 강의에서 MemberRepository를 새로 개발하셨습니다.이때 MemberRepositoryTest에는 그 전에 작성한 MemberRepository 기준으로 되어 있어 리턴 값이나 필드 값이 (UserName > name) 맞지 않아 오류가 발생하고 있습니다.그런데, 강사님은 MemberRepository를 새로 작성할 때 오류가 뜨지 않고 관련해서 언급을 하신 것이 없는 것(돌려봤는데 찾지 못한 것일 수도 있습니다.)으로 간주되는데 MemberRepositoryTest를 어떻게 처리하신 것인지 궁금합니다.
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
AWS에서 MongoDB 설치
안녕하세요.15장을 듣다가 궁금해서 Node와 관련이 없는 질문을 드립니다.MySQL은 RDS를 쓴다고 하셨는데 MongoDB를 EC2에서 분리하여서 설치하는 서비스는 무엇인가요?감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
헤더파일에 관한 질문
player.h와 board.h에서 pch.h를 사용한다 선언하지 않았는데 POS구조체를 어떻게 사용할 수 있는지 궁금합니다. main에 선언한 pch.h를 지우니 player.h와 board.h에서 pos에 관한 것들이 오류나 났는데, main의 선언과 관련이 있는 걸까요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
하나의 id값이 실행시마다 다르게 나오는건 왜 그런가요?
강의를 따라가면서 print(id(n)) 함수를 여러번 실행해보았는데, 실행시마다 다른 숫자열이 나옵니다. 이러한 이유가 있을까요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
Pinia 사용 시 composition api
안녕하세요 좋은 강의 만들어주셔서 감사합니다.강의 시청 도중 궁금한게 생겨 질문 드립니다. Pinia 사용시 Vuex와 동일하게 state, actions, getters를 사용하고 있는데해당 방식은 Optional 방식으로 보여집니다.개인적인 생각으로는 Vue3와 composition API를 사용한다면 Pinia 또한 Composition API 를 사용해 코드 작성을 해야 하는게 맞지 않을까 라는 생각이 들어 공식문서를 찾아보았지만Search 능력이 부족한 탓인지 공식 문서에서 어떤 방식을 좀 더 권장한다 라는 내용을 찾지 못해관련 내용 중 알고 계시거나 선생님의 선호하는 방식은 무엇인지 알고 싶어 질문 남깁니다. 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품 폼 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]https://drive.google.com/file/d/1nMMxLmSaPSEIpUd17iJ9VjbdbC_Elybx/view?usp=sharingnull point Exception이 일어나는데 어디서 문제가 있는지 도저히 못 찾겠습니다..jap로 올렸습니다ㅜ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
알고리즘 교안 연결리스트부분
안녕하세요. 선생님알고리즘 교안을 공부하다가 원형이중연결리스트의 예제로 나와있는 코드를 공부하다가 질문 드립니다http://boj.kr/dd49f798fc07434590e28e18f526ac3d << 이 코드를 출력하면3 1000 2 1 1 2 33 2 1 1 2 3이 나오는 것은 이해가 되었는데16행을 //로 주석처리를 하게 되면 17행의 a.erase(it)에 있는 it의 위치는 13행의 a.insert(it, 1000)에 있는 it의 위치보다 it++가 되어있는 것을 16행을 //로 주석처리하여 출력해서 출력된 값을 보고 알았습니다.그래서, 16행을 //처리시 출력된 값은 아래처럼 1000이 erase가 되지 않고 그 다음 위치인 2가 erase가 딥니다.3 1000 2 1 1 2 33 1000 1 1 2 3여기서 의문인게 12행에서 it을 a의 시작 주솟값이라고 초기화하였고, it++이 반복문에 들어가 있지 않은데 반복문같이 쓰인 것처럼 17행인 a.erase(it)의 it위치가 + 1이 된 것인가요?
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
안녕하세요. 강의의 미흡한점이 있어 문의드립니다.
안녕하세요. 강의의 미흡한점이 있어 문의드립니다. ● 2-4 강의에서 사이트 링크를 남겨 주신다고 했는데 없네요.● 1-5 에서 마지막 강의에서 undetected_chromedriver 사용법을 알려 주신다고 했는데 마지막강의에서는 이내용 없습니다. ● 3-1 강의에서도 undetected_chromedriver를 사용해서 코드작성을 A To Z 를 한다고 했는데 없 네요.● 1-5 강의 들어보고 결정하려 고했는데 마지막에 사용방법 알려준다고 해서 마지막까지 들었는 데 없어서 난감합니다.● 1-5 에서 undetected_chromedriver 에대한 강의 였는데 이후 강의에서는options.add_argument("--disable-blink-features=AutomationControlled")를 사용하던데 햇갈려서 순서가 맞는지 궁금합니다.그리고 강사님께 직접 여쭤보고 싶은데 어디에 질문해야 할까요? 답변부탁드립니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
파이썬 기본환경설정(3-1) 강의 내용 질문
파이썬 기본환경설정(3-1) 강의에서 강의초반 약 2분 50초대에서 다운받는 파이썬이랑 강의 13분에서 vscode 프로그램 내에서 python검색하여 다운받는 파이썬이 서로 다른건가요?왜 처음에 다운받았는데 또 다시 다운받는건가요?