묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
AppConfig의 역할이 Service의 구현 객체가 아닌 Repository 구현 객체를 리턴하도록 구현하면 안되나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] 강의에선 AppConfig의 역할이 Service에 적절한 Repository 구현체를 주입해 Service 구현 객체를 리턴하는 것이라고 이해했습니다. 그러나, 아래와 같이 AppConfig와 MemberServiceImpl을 구현하지 않는 이유는 무엇인가요? 또한, 아래의 코드에서도 MemberServiceImpl은 외부 객체를 통해 객체의 생성과 선택을 위임한다는 점에서 여전히 의존관계를 주입받고 있다고 생각하는데, 제가 이해한 바가 맞나요? public class AppConfig { public static memberRepository() { return new MemoryMemberRepository(); } public MemberService memberService() { return new MemberServiceImpl(); } } public class MemberServiceImpl implements MemberService { private final MemberRepository memberRepository = AppConfig.memberRepository(); @Override public void register(Member member) { memberRepository.save(member); } @Override public Member findMemberBy(Long memberId) { return memberRepository.findById(memberId); } }
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
c언어 빌드 질문드립니다.
c언어 빌드할 때 make를 치니까 없다고 떠서 $ sudo apt-get install build-essential 을 해봤는데 아래 사진처럼 오류가 떴습니다. 어떻게 해결해야 할까요??
-
미해결실무에서 바로 쓰는 영어 이메일
"파일을 공유합니다." 란 비지니스 표현이 궁금합니다.
안녕하세요? 강의를 잘 듣고 있습니다. 저는 설계를 담당하고 있어서 첨부파일만 보내기 위해 메일을 쓸때가 많습니다. 이때 I'm emaling to share 3D model. please find attached file.이라고 자주 쓰는데요 이 표현이 적절한건지요? 비지니스적 표현이 있는지 궁금합니다. 감사합니다~
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
실무 활용 강의 관련 문의
안녕하세요. 선생님! 선생님 초중고급 강의 커리큘럼 덕에 SQLD까지 따게 되었습니다. 양질의 강의 정말 감사드립니다. 다름아니라 이제 실무에서 사용하려는 데 이론 그대로 실무에 적용시키기는 조금 어려운 것 같아.. 실무 활용한 강의가 있을 지 궁금합니다. 사내에서는 DBeaber이라는 프로그램을 사용하는데 이 프로그램과 관련되거나 유사한 실무 활용법 강의 있을까요? 답변 주시면 정말 감사하겠습니다!
-
미해결
vuejs와 데이터베이스를 연동해서 웹페이지를 만드는데, 서버 쪽에 뜨는 해결이 잘 안 되는 에러가 있어서 질문드립니다
vuejs를 이용해서, server와 client를 vscode에서 만들어서 웹페이지를 열었는데, server쪽 터미널을 보니 아래 에러가 뜨는데, 어떤게 문제인지 아시는 고수분들 계신가요? error: undefined {"text":"Column 'pgm_id' in where clause is ambiguous","sql":"\n with menu as (\n SELECT\n a.menu_id as top_menu_id,\n a.menu_key as top_menu_key,\n a.menu_icon as top_menu_icon,\n a.menu_nm as top_menu_nm,\n a.menu_sort_seq as top_menu_seq,\n b.menu_id as dtl_menu_id,\n b.pgm_id,\n b.menu_key as dtl_menu_key,\n b.menu_icon as dtl_menu_icon,\n b.menu_sort_seq as dtl_menu_seq\n from TB_VOC_MENU_BAS a, TB_VOC_MENU_BAS b\n where a.menu_level = 1\n and a.menu_id = b.parent_menu_id\n and a.use_yn in ('Y')\n and b.use_yn in ('Y')\n and pgm_id != 'pgm_108'\n and pgm_id != 'pgm_501'\n \n )\n select\n top_menu_id,\n top_menu_key,\n top_menu_icon,\n top_menu_nm,\n dtl_menu_id,\n pgm_id,\n dtl_menu_key,\n dtl_menu_icon\n from menu\n order by top_menu_seq, dtl_menu_seq\n - parameters:[]","fatal":false,"errno":1052,"sqlState":"23000","code":"ER_NON_UNIQ_ERROR","timestamp":"2022-04-28 10:26:41"}- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결Node.js로 웹 크롤링하기
for of와 Promise.allSettled 질문
exports.test = async () => { const work = xlsx.readFile(path.join(__dirname, "youtuber.xlsx")); const workData = work.Sheets.url; const result = xlsx.utils.sheet_to_json(workData); let array = []; for (const [i, e] of result.entries()) { array.push(e) } try { const browser = await puppeteer.launch({ headless: false, args: ["--window-size:1920,1080"], }); await Promise.allSettled(array.map(async (e) => { try { const page = await browser.newPage(); await page.setUserAgent(agent); await page.setViewport({ width: 1080, height: 1080, }); await page.goto(e.url, { waitUntil: "networkidle2", }); await page.waitForSelector("#channel-header-container img"); const result = await page.evaluate(() => { const channelName = document.querySelector("#text-container yt-formatted-string").textContent; const image = document.querySelector("#channel-header-container img").getAttribute("src"); const subscriber = document.querySelector("#meta yt-formatted-string[id=subscriber-count]").textContent; const activity = document.querySelector("#items ytd-grid-video-renderer:first-child #metadata-line span:nth-child(2)").textContent; return { channelName, image, subscriber, activity, } }); console.log(result); } catch (err) { console.log(err); } })); } catch (err) { console.error(err); } } for of 반복문은 처음과 끝의 코드가 종료가 돼야 다음 반복문을 돌고 Promise.allSettled는 모든 작업을 동시에 처리해서 둘의 차이는 순서 보장되냐 안되냐의 차이로 배웠습니다. 위 코드는 Promise.allSettled로 동시에 10개의 사이트에 접속하여 태그들을 긁고 리턴하는 함수입니다. 태그의 textContent는 모두 긁는데 img 태그의 src 값은 array.map에 가장 처음(0) 사이트만 긁어옵니다. waitForSelector를 사용하여 기다렸는데도 비동기라서 그런지 원인을 잘 모르겠습니다.(for of 문은 됩니다)
-
미해결모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)
Ex6과 Ex7 관련
# 예제 6 def func(var): x = 10 def printer(): print('EX 6 > ', 'Printer Func Inner') print('Func Inner', locals()) func('Hi') print() # 예제 7 print('Ex 7 > ', globals()) print() print('Ex 7 > ', locals()) 위 예제의 마지막 행에 작성한 것과 같이 local영역이 아닌 외부영역에서 locals()를 호출하는 경우에 globals()를 호출한 것과 같은 결과 값을 보이는데 어떤 이유인지 궁금합니다.
-
미해결
MongoDB에서 mongoexport 질문
몽고디비에서 mongoexport를 사용하려하는데 데이터베이스 자체의 update를 사용하지 않고 mongoexport 사용시 field의 value값을 수정하여 csv로 export하는 방법이 있을까요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃 권한 요청
인프런 아이디 : hwkim@agilesoda.ai 인프런 이메일 : hwkim@agilesoda.ai 깃헙 아이디 : hwkim@agilesoda.ai 깃헙 Username : HyunwooKim-Roger
-
미해결따라하며 배우는 리액트 테스트 [2023.11 업데이트]
queryByTest("loading") vs getByTest(/loading/i)
안녕하세요 주문 완료 페이지 테스트 코드 작성중입니다. 여기서 처음 로딩 문구를 가져올 땐 getByText(/loading/i) 사용했고, 두번째 로딩 사라질 땐 queryByText("loading")을 사용했습니다. 1. 두번째에서 queryBy를 사용한 이유가 있을까요? 주문이 성공한 뒤 사라질 엘리먼트이기 때문에 사용한 것인가요? 로딩 문구가 (this is useful for asserting an element that is not present) 에 해당하기 때문인가요? 이런 경우 getByText로 하면 무조건 없다고 나오는건가요? 2. 강의 중 어떤 것은 getByText("총 가격", { exact: false })를 쓰고, 로딩 같은 경우 getByText(/loading/i), 즉 정규식을 사용했습니다. 혹시 로딩에서 정규식을 사용하고 다른데선 그냥 스트링으로 썼던 이유가 있는지요? 정규식 아님 스트링 을 사용할 때의 기준이 있는지요? 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
DisPatcherType Log 분석
공부하다 보니 순서가 약간 헷갈리는 부분이 있어서 로그를 찍어보고 한줄한줄 분석해봤습니다. 혹시 틀린부분이 있을까요? ----------------------------------------------------------- 2022-04-28 07:52:56.269 INFO 25708 --- [nio-8080-exec-2] hello.exception.filter.LogFilter : REQUEST [308ffe99-3ee7-4dc4-ae86-aa87237d9e6c][REQUEST][/error-404] ->사용자가 "/error-404" 로 HTTP 요청을 보냅니다. 그러면 LogFilter 를 거쳐서 서블릿->인터셉터->컨트롤러로 이동합니다. ->이때 필터의 try/catch/finally 문 내부에 있는 chain.doFilter를 통해 연속적으로 필터가 호출되어야 하는데, 호출될 필터가 더이상 없으므로 서블릿을 호출합니다. ->서블릿에서 인터셉터를 거쳐 컨트롤러를 호출하고 컨트롤러에서 예외가 발생합니다.(NOT_FOUND) 2022-04-28 07:52:56.269 INFO 25708 --- [nio-8080-exec-2] hello.exception.filter.LogFilter : RESPONSE [308ffe99-3ee7-4dc4-ae86-aa87237d9e6c][REQUEST][/error-404] ->컨트롤러에서 예외가 발생(NOT_FOUND)했으므로, 다시 컨트롤러에서 WAS로 역순으로 이동하며 예외가 전파됩니다. ->이때, 필터의 try 구문을 빠져나오면서 catch 부분에서 예외를 잡아 throw 하므로, WAS까지 전파됩니다. ->try/catch 구문을 빠져나오면서 finally 구문이 실행됩니다. 이때 까지는 예외가 컨트롤러에서 WAS까지 전파되는 도중이므로,DispatcherType 이 REQUEST 입니다. 2022-04-28 07:52:56.270 INFO 25708 --- [nio-8080-exec-2] hello.exception.filter.LogFilter : REQUEST [77781cad-5a56-4621-b79c-447896d76265][ERROR][/error-page/404] ->WAS까지 예외가 성공적으로 전파되었으며 WAS에서 예외정보를 확인합니다. 예외가 WebServerCustomizer 에서 등록되어 있으므로(errorPage404객체) WAS는 내부적으로 "error-page/404"로 요청을 보냅니다. ->이때 DisPatcherType은 ERROR 입니다. 2022-04-28 07:52:56.270 INFO 25708 --- [nio-8080-exec-2] h.exception.servlet.ErrorPageController : ERROR_EXCEPTION = null 2022-04-28 07:52:56.270 INFO 25708 --- [nio-8080-exec-2] h.exception.servlet.ErrorPageController : ERROR_EXCEPTION_TYPE = null 2022-04-28 07:52:56.270 INFO 25708 --- [nio-8080-exec-2] h.exception.servlet.ErrorPageController : ERROR_MESSAGE = 404 오류 발생! 2022-04-28 07:52:56.270 INFO 25708 --- [nio-8080-exec-2] h.exception.servlet.ErrorPageController : ERROR_REQUEST_URI = /error-404 2022-04-28 07:52:56.270 INFO 25708 --- [nio-8080-exec-2] h.exception.servlet.ErrorPageController : ERROR_SERVLET_NAME = dispatcherServlet 2022-04-28 07:52:56.270 INFO 25708 --- [nio-8080-exec-2] h.exception.servlet.ErrorPageController : ERROR_STATUS_CODE = 404 2022-04-28 07:52:56.270 INFO 25708 --- [nio-8080-exec-2] h.exception.servlet.ErrorPageController : dispatcherType = ERROR 2022-04-28 07:52:56.270 INFO 25708 --- [nio-8080-exec-2] h.exception.servlet.ErrorPageController : errorPage404 -> WAS에서 LogFilter를 거쳐 서블릿, 인터셉터를 지나 ErrorPageController 의 errorPage404 메소드가 정상 호출되었음을 알립니다. 2022-04-28 07:52:56.271 INFO 25708 --- [nio-8080-exec-2] hello.exception.filter.LogFilter : RESPONSE [77781cad-5a56-4621-b79c-447896d76265][ERROR][/error-page/404] -> ErrorPageController에서 다시 WAS로 역순으로 이동합니다. 마찬가지로 컨트롤러 -> 인터셉터 -> 서블릿 -> 필터를 지나 WAS로 올라가는 과정에서 finally 구문이 호출됩니다. 이때는 서버에서 내부적으로 에러페이지를 가져오기위한 과정이었으므로 DispatcherType이 ERROR 입니다. -----------------------------------------------------------
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
react - spring
요즘에 리액트도 잠깐 배우다 보니 혼란이 생겨 질문드립니다.리액트도 코드를 작성후 화면 표시할때 자체적으로 서버를 뛰어서 표시를 시키더라구요 localhost:3000번에서요 실제 운영할때도 리액트만 따로 서버에 뛰어줘야하나요?맞다면 그 리액트 파일들은 웹서버에 들어가는거고동적인 데이터가 필요할때 was에 요청해서 json으로 데이터를 주고 받는다고 생각하면 될까요?
-
미해결유니티(Unity)로 시작하는 게임개발: Part 3. 슈팅게임 개발
Generic에 대한 질문이 있습니다.
안녕하세요 강사님 Generic에 대한 강의를 보면서 오버로딩에 대한 단점을 보완하기 위한 것이라고 이해를 하고있는데요 그러면 실제 게임을 만들때나 실무적으로 오버로딩이 필요한 경우는 거의 대부분 Generic 을 이용하여 코드를 짜는건가요? 아무리 생각해봐도 오버로딩은 Generic의 완벽한 하위호환으로 밖에 이해가 되질 않습니다.
-
미해결코어 자바스크립트
'한 권으로 읽는 컴퓨터 구조와 프로그래밍'은 스터디 하실 생각 없으신가용?
안녕하세요 선생님!!! 저 지난 번에 멘토링 신청한 조남은입니다. 지난 번에 비전공자로서 CS 지식을 어떻게 공부하면 좋을지 여쭤봤을 때 꼭 공부하고 싶다면 '한 권으로 읽는 컴퓨터 구조와 프로그래밍' 이 책을 추천해주셨는데 제가 아직도 그 책을 제대로 읽어본 적이 없답니다 ㅠㅠ 그래서 배민에서 지원하는 스터디도 신청해봤는데 (이 책으로 진행하는 스터디가 있더라구요) 장렬히 떨어졌습니다... 그래서 그런데 해당 책으로는 스터디 진행하실 생각 없으실까요?? 혹시나 하는 마음에 여쭈어봅니다 ㅎㅎ
-
해결됨자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
인접리스트만
안녕하세요. 선생님 덕분에 알고리즘 공부 너무 재미있게 하고 있습니다 :) 인접리스트가 인접행렬에 비해 속도의 장점이 있는데, 인접리스트로만 경로탐색 문제를 풀어도 무방한가요?
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
원핫인코딩 질문
Dense Layer로 Fashion MNIST 예측 모델 구현하기 - 모델 설계 및 학습 수행 강의를 보다가 궁금중이 생겨 질문합니다. 1차원이던 label을 원핫인코딩을 해서 2차원으로 만들어졌는데 이유를 모르겠습니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
diaryList 질문
안녕하세요! 우선 좋은 강의 제공해주셔서 감사해요. 다름이 아니라, 강의 영상 28:47 부분과 같이 다이어리 리스트가 화면에 떠야 하는데 뜨지 않는 에러가 발생했고, 스스로 해결이 안 돼서 도움을 요청하려고 글을 쓰게 되었어요. 개발자도구 요소 탭에서도 리스트가 뜨지 않더라구요. 코드 마지막 부분 즉 export default DiaryList; 바로 앞 부분에 console.log(diaryList);도 입력해 보았는데 콘솔 창에는 undefined라고 출력이 되었어요. 코딩 공부가 처음이다보니 에러를 해결하기 위해 무엇부터 손을 대야 할 지도 모르겠고 질문조차 어떻게 해야 할 지 모르겠네요..ㅎㅎ
-
해결됨초보를 위한 도커 안내서
안녕하세요 :) SSL 키 외부 주입 방법이 궁금합니다
안녕하세요 : ) 얼마 전에 - e 옵션으로 application-properties 변수 값을 외부에서 주입하는 방법에 대해 질문 드렸고 subicura님께서 답변 주신 내용을 통해 잘 적용되는 것을 확인하였습니다. 한 가지 더 궁금한게 생겼는데요, 일단 제 상황은 이렇습니다. 저는 퍼블릭한 spring boot 프로젝트 서버 이미지를 제공하고 싶습니다. 예를 들어, mypublic/client:lts , mypublic/server:lts 라는 두개의 이미지를 허브에 올리면 사용자들이 두 이미지를 [사용자의 ec2 서버에] 내려받은 뒤, 컨테이너를 띄우면 [사용자의 도메인] 에서 웹 서비스를 이용할 수 있게끔 하고 싶습니다.이 때, https 적용을 할 수 있게끔 가이드를 제공하고 싶습니다. 먼저 제 ec2 서버에 테스트를 해본 결과, ec2에 nginx를 설치하고, letsencrypt 등으로 도메인에 대한 SSL 키를 발급받은 뒤 1) ec2 내에 nginx 관련 conf를 설정 (SSL 및 프록시 패스) 2) 발급받은 SSL 키를 알맞은 형태로 추출해서 스프링 프로젝트 내부 resources 에 넣어 주고 3) 키가 들어 있는 프로젝트를 docker build -t mypublic/server:lts . 명령어를 통해 docker image 빌드 4) docker push mypublic/server:lts 명렁어를 통해 도커 허브에 올린 뒤 5) ec2 에서 docker run ... -d mypublic/server:lts 명령어를 통해 컨테이너 실행 6) 최종적으로 nginx 웹서버(도메인으로 접속)와 서버 컨테이너가 https 통신이 되는 것을 확인 여기 까지 진행을 했습니다. 문제는 제 처음 목표처럼 다른 사용자들이 본인들의 ec2와 도메인을 세팅을 하고 mypublic/server:lts image를 통해 컨테이너를 실행하면 같은 SSL 키가 아니므로 https 통신을 할 수 없다는 점입니다. 따라서 제 생각으로는 mypublic/server:lts image 를 docker run 하는 단계에서 사용자들이 발급받은 SSL 키를 주입하거나 컨테이너 내부에 주입할 수 있어야 할 것 같은데 아무리 생각해도 방법이 떠오르질 않습니다. 혹시 이런 과정에서 시도해볼만한 방법이 있을까요 ?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원가입 테스트 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] h2데이터베이스 서버모드로 해두었고 서버에 접속도 잘됍니다. java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:132) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:138) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$8(ClassBasedTestDescriptor.java:363) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:368) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$9(ClassBasedTestDescriptor.java:363) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:310) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:362) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6(ClassBasedTestDescriptor.java:283) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:282) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4(ClassBasedTestDescriptor.java:272) at java.base/java.util.Optional.orElseGet(Optional.java:364) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5(ClassBasedTestDescriptor.java:271) at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:31) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:102) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:101) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:66) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$2(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:90) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaConfiguration': Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.boot.context.properties.ConfigurationPropertiesBindException: Error creating bean with name 'spring.jpa-org.springframework.boot.autoconfigure.orm.jpa.JpaProperties': Could not bind properties to 'JpaProperties' : prefix=spring.jpa, ignoreInvalidFields=false, ignoreUnknownFields=true; nested exception is org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'spring.jpa.show-sql' to boolean at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:800) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:229) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1372) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1222) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:410) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:740) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:415) at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:144) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) ... 71 more Caused by: org.springframework.boot.context.properties.ConfigurationPropertiesBindException: Error creating bean with name 'spring.jpa-org.springframework.boot.autoconfigure.orm.jpa.JpaProperties': Could not bind properties to 'JpaProperties' : prefix=spring.jpa, ignoreInvalidFields=false, ignoreUnknownFields=true; nested exception is org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'spring.jpa.show-sql' to boolean at org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor.bind(ConfigurationPropertiesBindingPostProcessor.java:92) at org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor.postProcessBeforeInitialization(ConfigurationPropertiesBindingPostProcessor.java:78) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:440) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1389) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ... 98 more Caused by: org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'spring.jpa.show-sql' to boolean at org.springframework.boot.context.properties.bind.Binder.handleBindError(Binder.java:384) at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:344) at org.springframework.boot.context.properties.bind.Binder.lambda$bindDataObject$4(Binder.java:469) at org.springframework.boot.context.properties.bind.JavaBeanBinder.bind(JavaBeanBinder.java:95) at org.springframework.boot.context.properties.bind.JavaBeanBinder.bind(JavaBeanBinder.java:83) at org.springframework.boot.context.properties.bind.JavaBeanBinder.bind(JavaBeanBinder.java:59) at org.springframework.boot.context.properties.bind.Binder.lambda$bindDataObject$5(Binder.java:473) at org.springframework.boot.context.properties.bind.Binder$Context.withIncreasedDepth(Binder.java:587) at org.springframework.boot.context.properties.bind.Binder$Context.withDataObject(Binder.java:573) at org.springframework.boot.context.properties.bind.Binder$Context.access$300(Binder.java:534) at org.springframework.boot.context.properties.bind.Binder.bindDataObject(Binder.java:471) at org.springframework.boot.context.properties.bind.Binder.bindObject(Binder.java:411) at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:340) at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:329) at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:259) at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:246) at org.springframework.boot.context.properties.ConfigurationPropertiesBinder.bind(ConfigurationPropertiesBinder.java:95) at org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor.bind(ConfigurationPropertiesBindingPostProcessor.java:89) ... 112 more Caused by: org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [boolean] for value 'ture'; nested exception is java.lang.IllegalArgumentException: Invalid boolean value 'ture' at org.springframework.core.convert.support.ConversionUtils.invokeConverter(ConversionUtils.java:47) at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:192) at org.springframework.boot.context.properties.bind.BindConverter.convert(BindConverter.java:109) at org.springframework.boot.context.properties.bind.BindConverter.convert(BindConverter.java:100) at org.springframework.boot.context.properties.bind.BindConverter.convert(BindConverter.java:92) at org.springframework.boot.context.properties.bind.Binder.bindProperty(Binder.java:456) at org.springframework.boot.context.properties.bind.Binder.bindObject(Binder.java:400) at org.springframework.boot.context.properties.bind.Binder.bind(Binder.java:340) ... 128 more Caused by: java.lang.IllegalArgumentException: Invalid boolean value 'ture' at org.springframework.core.convert.support.StringToBooleanConverter.convert(StringToBooleanConverter.java:66) at org.springframework.core.convert.support.StringToBooleanConverter.convert(StringToBooleanConverter.java:32) at org.springframework.core.convert.support.GenericConversionService$ConverterAdapter.convert(GenericConversionService.java:386) at org.springframework.core.convert.support.ConversionUtils.invokeConverter(ConversionUtils.java:41) ... 135 more 위와 같이 에러가 뜨는데 인프런 홈페이지에 같은 오류코드 질문이 있어 확인해봤습니다. JPA와 DB설정, 동작확인 과정 에러 - 인프런 | 질문 & 답변 (inflearn.com) 여기에서 yml설정을 바꿔보라 하셨는데 yml파일이 어디에 있는지 모르겠고 혹시 다른 문제로 오류가 생겼을까요?
-
미해결실무에서 바로 쓰는 영어 이메일
강의 자료 요청드립니다.
안녕하세요. 강의자료 부탁 드립니다. 감사합니다. wonseok2.choi@halla.com