묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결처음 만난 리액트(React)
6강 실습에 관해 질문드립니다!
안녕하세요 최근에 강의를 듣기 시작한 학생입니다. 6강 실습중인데 마지막처럼 화면이 나오질 않아 질문남깁니다. 그리고 혹시 언제쯤 18버전 코드로 업데이트 해주시는지 궁금합니다. 6강 실습에 관해 다른분에게 올려주신 공식문서를 봐도 조금 헷갈려서요ㅠㅠ
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
태그를 입력할때 insertBefore 에러
저런 에러가 발생하고, 하단에 단어가 추가되지 않습니다. 원인이 무엇인지 모르겠습니다.. (tags.html의 구성은 강사님과 똑같이 하였습니다.) 단어를 추가하려고 할때마다 박스 아래에 단어는 추가되지않고, 같은 에러가 계속 추가됩니다.
-
미해결Node.js로 웹 크롤링하기
선생님 아무리 해도 안되는 부분이 있어서 올립니다.ㅜㅠㅜㅜ
해당 영상에서는 postman에서 안켜지는 동적으로 나온 이미지들을 selector를 이용해서 가져오는 것으로 보이는데요. 아래의 코드를 사용해서 카카오맵 상세화면 크롤링 해오려고 하는데 셀렉터로 찾게된 div class 'info_menu'를 찾으면 아무것도 안 나옵니다.. 제발 도와주세요..ㅠㅠㅠ 이거하려고 강의 구매한 건데 못하겠어요ㅠㅠㅠㅠ stackoverflow 에서 검색해보고 찾긴했습니다. .. await page.goto('https://place.map.kakao.com/873103765', { waitUntil: "networkidle0" }); 이렇게 해주니 되었습니다. const fs = require("fs"); const puppeteer = require("puppeteer"); const axios = require("axios"); //ajax 라이브러리 const cheerio = require("cheerio"); //html 파싱 const crawler = async () => { try { const browser = await puppeteer.launch( {headless : false} ); const page = await browser.newPage(); await page.goto('https://place.map.kakao.com/915459672'); const result = await page.evaluate(()=>{ const scoreEl = document.querySelector('div.info_menu'); if(scoreEl){ console.log('있다!!'); return scoreEl.outerHTML; }else{ console.log('없다!!'); return []; } }); console.log(result); await browser.close(); } catch (e) { console.error(e); } }; crawler();
-
해결됨홍정모의 따라하며 배우는 C++
7:45 부근 질문있습니다.
B m_b는 Something과는 다른 class이고 instance 멤버가 private인데 어떻게 class Something에서 B m_b { 1024 }와 같이 초기화가 가능한지 궁금합니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
비동기 관련
좋은 강의 잘 보고 있습니다.한 가지 질문이 있다면 다른 프로그램 언어의 경우 기본으로 async await 비동기 관련해서 메소드를 처리하는 경우가 많습니다만 영한님의 강의들은 비동기 관련해서 메소드 처리를 하는 부분이 없네요. 강의를 위해서 비동기 관련은 빼고 동기 형식의 메소드 처리만 보여주시는 것인지 아니면 비동기 관련해서는 spring data jpa 나 java에서 처리하기 힘들어서 강의에서 빼신 것인지요? 좀 자세히 설명해 주시면 감사하겠습니다. 플랫폼 개발 시에 로직 중 비동기는 필수가 아닌가 싶은데 유독 spring이나 spring data jpa에서는 이런 부분에 대해 자세히 설명해주시는 분이 없네요.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
여러개의 데이터 타입을 컨트롤 해야하는 프로그램에서의 질문입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 해당 강의를 수강후 여러 객체를 리턴해야하는 상황이 있었습니다ex(member객체와 book객체)를 하나의 프로젝트에서 사용할려고 하는데 두개의 다른 객체를 각각 따로 db에 연결하기 위하여 서로 다른 리포지토리 객체를 따로따로ex(memberRepository, bookRepository)를 따로 따로 만들어도 괜찮을까요(코드의 중복 DI 사용의 힘듬) 아니면 스트레티지 패턴등을 이용하여 객체지향을 노리는게 좋을까요 강의에선 하나의 domain객체 만을 사용하였기에 이러한 부분을 알기 힘들었습니다
-
미해결[2026 신규] 데이터분석 준전문가(ADsP) 자격증
3강 R파트 관련 질문입니다
시험 합격만을 필요로 하시는 분은 R에 대한 강의에서 3, 10, 11, 17을 들으시고 18강부터 마지막 강까지는 쭉 들어보시는 것을 추천드립니다. R이 시험에 나오지 않는 것은 아니지만, 몇몇 부분에 치중이 되어 나오는 것 같습니다. 32회 기출에서 boxplot에 대한 것이 3개 문항이나 나와서 다음 시험에서는 어떨지 모르지만 ^^ summary 함수의 결과 해석을 대비해 두시는 것도 좋을 것 같습니다. 22, 23, 24의 경우 이산형 확률분포와 연속 확률분포를 구분할 수 있도록 하시고 간단하게 특징만 기억해 두셔도 좋을 듯 합니다. 라고 파트 1 1강에 적혀있었는데요 R파트는 16강 까지만 있는데 3,10,11,17강이 3과목 데이터분석(1)-R기초와 데이터 마트에있는 강의가 맞는 건가요? 아니면 17이 오타가 난 것인가요? 이산형 확률분포 연속형 확율분포는 목차의 제목상 20,21번째 강의이던데 위 글의 22, 23, 24 가 맞는 건가요? 혹시 가능하시다면 저 강의들의 목차상 제목을 알려 주실수 있으신가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
코루틴 질문드립니다.
함수는 실행될 때 스택 영역에서 실행 후 사라지는 걸로 알고 있는데 코루틴을 사용하게 되면 힙영역에 저장되어 있다가 마지막 리턴이 끝나면 사라지나요?? 그리고 코루틴을 게임에서 어떨 떄 적용을 많이 하나요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
템플릿 조각 활용
템플릿 조각을 실제로 사용해봐야 감이 잡힐 것 같아서 실제 적용을 해보았습니다. 확인 하고 싶은 html파일을 절대경로로 확인했을 때 해당 템플릿조각(header, footer)부분이 전혀 적용이 안되었습니다. 어디가 잘못되었던걸까요? 이틀째 이것만 보고 있는데 답이 안나와서 문의 드립니다 ,,, ㅠ /resources/templates/layout/header.html <!DOCTYPE html> <html th:fragment="header" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Photogram</title> <!-- 제이쿼리 --> <script th:src="@{https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js}"></script> <!-- Style --> <link rel="stylesheet" th:href="@{/css/header.css}"> <link rel="stylesheet" th:href="@{/css/footer.css}"> <link rel="stylesheet" th:href="@{/css/style.css}"> <link rel="stylesheet" th:href="@{/css/story.css}"> <link rel="stylesheet" th:href="@{/css/popular.css}"> <link rel="stylesheet" th:href="@{/css/profile.css}"> <link rel="stylesheet" th:href="@{/css/upload.css}"> <link rel="stylesheet" th:href="@{/css/update.css}"> <link rel="shortcut icon" th:href="@{/images/insta.svg}"> <!-- Fontawesome --> <link rel="stylesheet" th:href="@{https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.8.2/css/all.min.css}" /> <!-- Fonts --> <link th:href="@{https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700&display=swap}" rel="stylesheet"> </head> <body> <header class="header"> <div class="container"> <a th:href="@{/image/story}" class="logo"> <img th:src="@{/images/logo.jpg}" alt=""> </a> <nav class="navi"> <ul class="navi-list"> <li class="navi-item"><a th:href="@{/image/story}"> <i class="fas fa-home"></i> </a></li> <li class="navi-item"><a th:href="@{/image/popular}"> <i class="far fa-compass"></i> </a></li> <li class="navi-item"><a th:href="@{/user/profile}"> <i class="far fa-user"></i> </a></li> </ul> </nav> </div> </header> </body> </html> /resources/templates/layout/footer.html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <footer th:fragment="footer"> <div class="container"> <ul> <li><a th:href="@{#a}">소개</a></li> <li><a th:href="@{#a}">블로그</a></li> <li><a th:href="@{#a}">채용 정보</a></li> <li><a th:href="@{#a}">도움말</a></li> <li><a th:href="@{#a}">API</a></li> <li><a th:href="@{#a}">개인정보처리방침</a></li> <li><a th:href="@{#a}">약관</a></li> <li><a th:href="@{#a}">인기 계정</a></li> <li><a th:href="@{#a}">해시태그</a></li> <li><a th:href="@{#a}">위치</a></li> </ul> <div class="copy"> <p>© 2022 Photogram from Lea Hwang</p> </div> </div> </footer> /resources/templates/auth/signin.html - header, footer 템플릿조각이 잘 적용되었는지 확인해보고 싶은 페이지 <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <div th:replace="~{/layout/header :: header}"></div> <body> <div class="container"> <main class="loginMain"> <!--로그인섹션--> <section class="login"> <!--로그인박스--> <article class="login__form__container"> <!--로그인 폼--> <div class="login__form"> <h1><img th:src="@{/images/logo.jpg}" alt=""></h1> <!--로그인 인풋--> <form class="login__input" > <input type="text" name="username" placeholder="유저네임" required="required" /> <input type="password" name="password" placeholder="비밀번호" required="required" /> <button>로그인</button> </form> <!--로그인 인풋end--> <!-- 또는 --> <div class="login__horizon"> <div class="br"></div> <div class="or">또는</div> <div class="br"></div> </div> <!-- 또는end --> <!-- Oauth 소셜로그인 --> <div class="login__facebook"> <button> <i class="fab fa-facebook-square"></i> <span>Facebook으로 로그인</span> </button> </div> <!-- Oauth 소셜로그인end --> </div> <!--계정이 없으신가요?--> <div class="login__register"> <span>계정이 없으신가요?</span> <a th:href="@{/auth/signup}">가입하기</a> </div> <!--계정이 없으신가요?end--> </article> </section> </main> </div> </body> <div th:replace="~{layout/footer :: footer}"></div> </html> 1. 절대 경로로 연 signin.html 2. 서버 구동 시켰을 때 나오는 화면, 콘솔 "C:\Program Files\Java\jdk1.8.0_333\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.3.2\lib\idea_rt.jar=57768:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.3.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_333\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_333\jre\lib\rt.jar;C:\Users\dbwjd\Desktop\편하게 테스트용\jsp를타임리프로\thymeleaf\out\production\classes;C:\Users\dbwjd\Desktop\편하게 테스트용\jsp를타임리프로\thymeleaf\out\production\resources;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-thymeleaf\2.6.10\a7b7d4d15a174fe3891ce5b13df128e1de6ba9d6\spring-boot-starter-thymeleaf-2.6.10.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-web\2.6.10\ca6ff4f62825bc8f31811b18fb33c5452da43b81\spring-boot-starter-web-2.6.10.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-security\2.6.10\d766c74b5cc4f3bc75b63e435acd8c2761a564ed\spring-boot-starter-security-2.6.10.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\mysql\mysql-connector-java\8.0.29\16bfffda393ac4fe56f0985f1f035b37d3fc48f\mysql-connector-java-8.0.29.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-log4j2\2.6.10\b0aa7e4b11bb73b38a9e3a453098a1e48ebbde82\spring-boot-starter-log4j2-2.6.10.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter\2.6.10\17180490bcfd4a490ac1a48b27eff4fb8655ec1c\spring-boot-starter-2.6.10.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.thymeleaf\thymeleaf-spring5\3.0.15.RELEASE\7170e1bcd1588d38c139f7048ebcc262676441c3\thymeleaf-spring5-3.0.15.RELEASE.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.thymeleaf.extras\thymeleaf-extras-java8time\3.0.4.RELEASE\36e7175ddce36c486fff4578b5af7bb32f54f5df\thymeleaf-extras-java8time-3.0.4.RELEASE.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-json\2.6.10\10f7730f605d45366420ad7bf575105a1761550d\spring-boot-starter-json-2.6.10.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-tomcat\2.6.10\80df6d17fb599040b84fcab33702ec31eba1a165\spring-boot-starter-tomcat-2.6.10.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework\spring-webmvc\5.3.22\519d86b7ac9b8b6bb54739eb4eb73dc13a263b28\spring-webmvc-5.3.22.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework\spring-web\5.3.22\fdab9b8d8df2e6a8fb90f2481c361bcf2c129567\spring-web-5.3.22.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.security\spring-security-web\5.6.6\d2a50959c71b87a18b0256c7381db9bdd9c7468c\spring-security-web-5.6.6.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.security\spring-security-config\5.6.6\3049cbe8b6a2fc724d2a49f2010437b525f0ca08\spring-security-config-5.6.6.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aop\5.3.22\2f9f00efbff8432f145ccffeb93e6a1819bac362\spring-aop-5.3.22.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-slf4j-impl\2.17.2\183f7c95fc981f3e97d008b363341343508848e\log4j-slf4j-impl-2.17.2.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-core\2.17.2\fa43ba4467f5300b16d1e0742934149bfc5ac564\log4j-core-2.17.2.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-jul\2.17.2\6a479ffc13d5f0ca3df8117ed57419fc5d06de7f\log4j-jul-2.17.2.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.slf4j\jul-to-slf4j\1.7.36\ed46d81cef9c412a88caef405b58f93a678ff2ca\jul-to-slf4j-1.7.36.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-autoconfigure\2.6.10\feeb8e959a35b41650e7fb4040b4f86e451f95c1\spring-boot-autoconfigure-2.6.10.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot\2.6.10\de9f4e24f18907e1d566ff0d96148c3ae1142e68\spring-boot-2.6.10.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-logging\2.6.10\145051d408cb255a81f599f52cc4da29b39d36f9\spring-boot-starter-logging-2.6.10.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\jakarta.annotation\jakarta.annotation-api\1.3.5\59eb84ee0d616332ff44aba065f3888cf002cd2d\jakarta.annotation-api-1.3.5.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework\spring-core\5.3.22\661fc01832716c7eedebf995c6841b2f7117c63d\spring-core-5.3.22.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\1.29\6d0cdafb2010f1297e574656551d7145240f6e25\snakeyaml-1.29.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.thymeleaf\thymeleaf\3.0.15.RELEASE\13e3296a03d8a597b734d832ed8656139bf9cdd8\thymeleaf-3.0.15.RELEASE.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.36\6c62681a2f655b49963a5983b8b0950a6120ae14\slf4j-api-1.7.36.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jsr310\2.13.3\ad2f4c61aeb9e2a8bb5e4a3ed782cfddec52d972\jackson-datatype-jsr310-2.13.3.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.module\jackson-module-parameter-names\2.13.3\f71c4ecc1a403787c963f68bc619b78ce1d2687b\jackson-module-parameter-names-2.13.3.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jdk8\2.13.3\d4884595d5aab5babdb00ddbd693b8fd36b5ec3c\jackson-datatype-jdk8-2.13.3.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.13.3\56deb9ea2c93a7a556b3afbedd616d342963464e\jackson-databind-2.13.3.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-websocket\9.0.65\bd70dfeb39cc83c6934be24fa377b21e541dbe76\tomcat-embed-websocket-9.0.65.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-core\9.0.65\a24c5f379b2ec343a167a83332b75c37f26b2ae7\tomcat-embed-core-9.0.65.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-el\9.0.65\d278157387e59a5f9b48091dcada22b7c74aed00\tomcat-embed-el-9.0.65.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context\5.3.22\fdd59bb4795c7a399e95ec4a5c8b91103e3189fd\spring-context-5.3.22.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework\spring-beans\5.3.22\866c2022b5fef05b1702f4a07cfa5598660ce08a\spring-beans-5.3.22.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework\spring-expression\5.3.22\c056f9e9994b18c95deead695f9471952d1f21d1\spring-expression-5.3.22.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.security\spring-security-core\5.6.6\700dd9a8b103c6a243a0df38eba3e49ec27dd927\spring-security-core-5.6.6.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.17.2\f42d6afa111b4dec5d2aea0fe2197240749a4ea6\log4j-api-2.17.2.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jcl\5.3.22\811ace5e5eb379654ed96fd7844809db51af74a5\spring-jcl-5.3.22.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.attoparser\attoparser\2.0.5.RELEASE\a93ad36df9560de3a5312c1d14f69d938099fa64\attoparser-2.0.5.RELEASE.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.unbescape\unbescape\1.1.6.RELEASE\7b90360afb2b860e09e8347112800d12c12b2a13\unbescape-1.1.6.RELEASE.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.13.3\7198b3aac15285a49e218e08441c5f70af00fc51\jackson-annotations-2.13.3.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.13.3\a27014716e4421684416e5fa83d896ddb87002da\jackson-core-2.13.3.jar;C:\Users\dbwjd\.gradle\caches\modules-2\files-2.1\org.springframework.security\spring-security-crypto\5.6.6\1fd0dbfcdb031a097710c4450e5c545f8fb154bf\spring-security-crypto-5.6.6.jar" ex.thymeleaf.ThymeleafApplication . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.6.10) 2022-08-18 23:51:50.243 INFO 13868 --- [ main] e.t.ThymeleafApplication : Starting ThymeleafApplication using Java 1.8.0_333 on DESKTOP-H6C6G5D with PID 13868 (C:\Users\dbwjd\Desktop\편하게 테스트용\jsp를타임리프로\thymeleaf\out\production\classes started by dbwjd in C:\Users\dbwjd\Desktop\편하게 테스트용\jsp를타임리프로\thymeleaf) 2022-08-18 23:51:50.259 INFO 13868 --- [ main] e.t.ThymeleafApplication : No active profile set, falling back to 1 default profile: "default" 2022-08-18 23:51:52.755 INFO 13868 --- [ main] o.s.b.w.e.t.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2022-08-18 23:51:52.776 INFO 13868 --- [ main] o.a.c.c.StandardService : Starting service [Tomcat] 2022-08-18 23:51:52.777 INFO 13868 --- [ main] o.a.c.c.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.65] 2022-08-18 23:51:53.025 INFO 13868 --- [ main] o.a.c.c.C.[.[.[/] : Initializing Spring embedded WebApplicationContext 2022-08-18 23:51:53.025 INFO 13868 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2672 ms 2022-08-18 23:51:53.313 WARN 13868 --- [ main] .s.s.UserDetailsServiceAutoConfiguration : Using generated security password: 883c43da-de4b-4d13-8951-8c3c2b83961e This generated password is for development use only. Your security configuration must be updated before running your application in production. 2022-08-18 23:51:53.421 INFO 13868 --- [ main] o.s.s.w.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@149c3204, org.springframework.security.web.context.SecurityContextPersistenceFilter@12abdfb, org.springframework.security.web.header.HeaderWriterFilter@572e6fd9, org.springframework.security.web.csrf.CsrfFilter@459cfcca, org.springframework.security.web.authentication.logout.LogoutFilter@1c6c6f24, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@ad9e63e, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@6bbe50c9, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@8a98f38, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@64f16277, org.springframework.security.web.session.SessionManagementFilter@58b71ceb, org.springframework.security.web.access.ExceptionTranslationFilter@2b5183ec, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@1e141e42] 2022-08-18 23:51:53.645 INFO 13868 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html] 2022-08-18 23:51:53.832 INFO 13868 --- [ main] o.s.b.w.e.t.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2022-08-18 23:51:53.844 INFO 13868 --- [ main] e.t.ThymeleafApplication : Started ThymeleafApplication in 4.527 seconds (JVM running for 5.851) 2022-08-18 23:52:15.777 INFO 13868 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2022-08-18 23:52:15.777 INFO 13868 --- [nio-8080-exec-1] o.s.w.s.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2022-08-18 23:52:15.779 INFO 13868 --- [nio-8080-exec-1] o.s.w.s.DispatcherServlet : Completed initialization in 2 ms
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
페치조인 select 필드에 의문이 있습니다.
이번 강의에 나온 예시처럼 fetch join을 여러 관계에 적용한다면 한번의 select 쿼리에 모든 필드값을 가져오게 됩니다. 여기서 의문이 생긴게 만약 필요한 필드의 개수가 소수라면, 해당하는 필드만 select 하여 가져오는게 성능상 좋을지 아니면 페치 조인을 통해 한방 쿼리로 가져 오는게 성능상 좋을지 입니다. 전자의 경우 다수의 select 문이 실행되겠지만 가져오는 조회하는 필드는 적고, 후자의 경우 한번의 select 문이 실행되지만 모든 필드를 조회합니다. 이러한 경우엔 어떤 방식이 유리한가요? 페치조인으로 한방에 가져오는 메서드로 여러 방면에서 재사용하는 것이 좋은지, 각 상황에 맞는 쿼리로 다수의 메서드를 만드는게 좋은지 궁금합니다.
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
null과 equals의 차이가 뭔지 궁금합니다.
검색해보니 ‘==’ 는 연산자로 주소값을 비교하고, ‘equals’ 는 메소드로 실제 내용 자체를 비교한다고 하는데 title == null, title.equals("")의 차이는 null은 title 객체 자체가 없는 것이고 equals 객체는 만들어졌는데 값이 ""인 의미인가요? 둘의 차이가 잘 이해되지않아 질문드립니다!
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
깃, 블로그 업로드 관련 질문드립니다.
안녕하세요, 선생님. 혹시 공부한 코드는 깃과 블로그에 올려도 되는지 궁금합니다!
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
4분 14초 부분 에러
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 똑같이 입력한 것 같은데 저는 왜 에러가 나올까요?? ㅜㅜ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
어디에서 문제가 생겼는지 궁금합니다.
강의를 보기전에 BFS로 문제들 풀고자 하였습니다. 76%까지만 채점이 되고 그 이후로는 틀린 부분이 있기 때문에 오답처리가 되는것 같습니다. 해당 코드에서 어떤부분이 문제가 되는지 알고싶습니다. 코드주소 : http://boj.kr/337991bfbac5479ea85415eebf481d24
-
해결됨시스템엔지니어가 알려주는 리눅스 실전편 Bash Shell Script
vagrant up 실행 중 에러
안녕하세요, 윈도우10 환경에서 2-1 서버 구축 강의를 보며 진행 중 오류가 발생해 문의 드립니다. 실행 로그는 아래와 같습니다. $ vagrant upBringing machine 'cent1' up with 'virtualbox' provider...Bringing machine 'cent2' up with 'virtualbox' provider...Bringing machine 'cent3' up with 'virtualbox' provider...==> cent1: Preparing master VM for linked clones... cent1: This is a one time operation. Once the master VM is prepared, cent1: it will be used as a base for linked clones, making the creation cent1: of new VMs take milliseconds on a modern system.==> cent1: Importing base box 'rockylinux/8'...==> cent1: Cloning VM...==> cent1: Matching MAC address for NAT networking...==> cent1: Checking if box 'rockylinux/8' version '5.0.0' is up to date...==> cent1: Setting the name of the VM: cent1==> cent1: Clearing any previously set network interfaces...==> cent1: Preparing network interfaces based on configuration... cent1: Adapter 1: nat cent1: Adapter 2: hostonly cent1: Adapter 3: hostonly==> cent1: Forwarding ports... cent1: 22 (guest) => 2222 (host) (adapter 1)==> cent1: Running 'pre-boot' VM customizations...==> cent1: Booting VM...==> cent1: Waiting for machine to boot. This may take a few minutes... cent1: SSH address: 127.0.0.1:2222 cent1: SSH username: vagrant cent1: SSH auth method: private key cent1: cent1: Vagrant insecure key detected. Vagrant will automatically replace cent1: this with a newly generated keypair for better security. cent1: cent1: Inserting generated public key within guest... cent1: Removing insecure key from the guest if it's present... cent1: Key inserted! Disconnecting and reconnecting using new SSH key...==> cent1: Machine booted and ready![cent1] No Virtualbox Guest Additions installation found.The guest's platform ("rocky") is currently not supported, will try generic Linux method...Copy iso file C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso into the box /tmp/VBoxGuestAdditions.isoMounting Virtualbox Guest Additions ISO to: /mntmount: /mnt: WARNING: device write-protected, mounted read-only.Installing Virtualbox Guest Additions 6.1.36 - guest version is unknownVerifying archive integrity... All good.Uncompressing VirtualBox 6.1.36 Guest Additions for Linux........VirtualBox Guest Additions installerCopying additional installer modules ...Installing additional modules .../opt/VBoxGuestAdditions-6.1.36/bin/VBoxClient: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory/opt/VBoxGuestAdditions-6.1.36/bin/VBoxClient: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directoryVirtualBox Guest Additions: Starting.VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernelmodules. This may take a while.VirtualBox Guest Additions: To build modules for other installed kernels, runVirtualBox Guest Additions: /sbin/rcvboxadd quicksetup <version>VirtualBox Guest Additions: orVirtualBox Guest Additions: /sbin/rcvboxadd quicksetup allVirtualBox Guest Additions: Kernel headers not found for target kernel4.18.0-348.20.1.el8_5.x86_64. Please install them and execute /sbin/rcvboxadd setupmodprobe vboxguest failedThe log file /var/log/vboxadd-setup.log may contain further information.An error occurred during installation of VirtualBox Guest Additions 6.1.36. Some functionality may not work as intended.In most cases it is OK that the "Window System drivers" installation failed.Redirecting to /bin/systemctl start vboxadd.serviceJob for vboxadd.service failed because the control process exited with error code.See "systemctl status vboxadd.service" and "journalctl -xe" for details.Got different reports about installed GuestAdditions version:Virtualbox on your host claims:VBoxService inside the vm claims: 6.1.36Going on, assuming VBoxService is correct...Redirecting to /bin/systemctl start vboxadd-service.serviceJob for vboxadd-service.service failed because the control process exited with error code.See "systemctl status vboxadd-service.service" and "journalctl -xe" for details.Unmounting Virtualbox Guest Additions ISO from: /mntGot different reports about installed GuestAdditions version:Virtualbox on your host claims:VBoxService inside the vm claims: 6.1.36Going on, assuming VBoxService is correct...Got different reports about installed GuestAdditions version:Virtualbox on your host claims:VBoxService inside the vm claims: 6.1.36Going on, assuming VBoxService is correct...Got different reports about installed GuestAdditions version:Virtualbox on your host claims:VBoxService inside the vm claims: 6.1.36Going on, assuming VBoxService is correct...Restarting VM to apply changes...==> cent1: Attempting graceful shutdown of VM...==> cent1: Booting VM...==> cent1: Waiting for machine to boot. This may take a few minutes...==> cent1: Machine booted and ready!==> cent1: Checking for guest additions in VM... cent1: No guest additions were detected on the base box for this VM! Guest cent1: additions are required for forwarded ports, shared folders, host only cent1: networking, and more. If SSH fails on this machine, please install cent1: the guest additions and repackage the box to continue. cent1: cent1: This is not an error message; everything may continue to work properly, cent1: in which case you may ignore this message.==> cent1: Setting hostname...==> cent1: Configuring and enabling network interfaces...==> cent1: Mounting shared folders... cent1: /vagrant => C:/playground/VWS_vagrant_scriptVagrant was unable to mount VirtualBox shared folders. This is usuallybecause the filesystem "vboxsf" is not available. This filesystem ismade available via the VirtualBox Guest Additions and kernel module.Please verify that these guest additions are properly installed in theguest. This is not a bug in Vagrant and is usually caused by a faultyVagrant box. For context, the command attempted was: mount -t vboxsf -o uid=1000,gid=1000,_netdev vagrant /vagrant The error output from the command was: /sbin/mount.vboxsf: mounting failed with the error: No such device 어떻게 하면 수정하여 환경 구축할 수 있을지 알고 싶습니다. 감사합니다.
-
미해결3. 웹개발 코스 [스프링 프레임워크+전자정부 표준프레임워크]
?? 삐 소리 좀 에바아닌가요?
강의 어떤 부분도 웬만하면 언급안하고 싶었는데, 배경에 삐 소리는 좀 너무하지않나요? 귀가 아픕니다. 귀가...... 강의는 들어야겠고... 흠 이건 좀 너무한거같은데;; 거슬리는게 아니라, 강사님 말하는거 들으려고 하면 귀가 아픈데요;;
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Dto 관련해서 질문드립니다!
안녕하세요! 로드맵 따라서 좋은 강의 잘 듣고 있습니다. 실제 프로젝트를 진행하면서도 들었던 의문인데 생성, 수정과 같은 역할이 다른 Dto이지만 동일한 값을 가져가는 Dto가 많이 생성되는 것을 느끼게 되었습니다. 실제 실무에서는 이런 경우 Dto를 어떻게 처리하시는지 궁금합니다! 동일하게 쓰이는 값들을 한 곳으로 모아 상속을 통해 하위 Dto를 만드는 방법도 생각해보았는데 이런 방법은 어떤지 궁금합니다.
-
미해결스프링부트 시큐리티 & JWT 강의
안녕하세요 강의 듣던중 JWT와 세션에 관해 의문이 들어 질문 남깁니다.
안녕하세요 좋은 강의 잘듣고 있습니다. 다름이 아니라 강의를 듣는중에 의문이 들어 질문 드립니다. 세션과 JWT의 차이가 세션을 유지하냐 안하냐의 차이로 알고 있는데 JWT를 쓸때 authenticaion 객체가 session 영역에 저장됨. 이라고 하셨는데, 인증정보를 세션 저장소에 저장하게 되면 결국 해당 세션을 유지하는 것 아닌가요? 차이가 없어지는 것 아닌가 싶어서 질문 남깁니다. 아, 그리고 추가로 github에 @AuthenticationPrincipal가 사용불가능이라 하셨는데 컨트롤러에서 불러와 보니까 잘 불러와지던데 제가 뭘 잘못한 걸까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
persistence.xml 질문입니다.
새로운 프로젝트를 만들어서 다시 해보니까 h2.Driver가 오류로 뜹니다 이유가 뭘까요??
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
API 예외처리 동작순서 질문
영한님 안녕하세요! 질문드립니다...! API 예외처리 동작순서 질문 GET : http://localhost:8080/api/members/ex 1. WAS(/api/members/ex, Accept: application/json) -> 필터 -> 서블릿 -> 인터셉터 -> 컨트롤러 2. WAS(여기까지 전파) <- 필터 <- 서블릿 <- 인터셉터 <- 컨트롤러(RuntimeException 예외발생) 3. WAS 오류 페이지 확인 4. WAS(/error-page/500) -> 필터(x) -> 서블릿 -> 인터셉터(x) -> 컨트롤러(/error-page/500, HTTP 메시지 컨버터(ReturnValueHandler)) 로 이해하고 있는데 맞을까요?!