묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
이번 강의부터가 JDBC 직접 사용 맞나요?
이번 강의부터가 7강에서 설명하신 데이터 접근 기술중 JDBC 직접 사용, SQL Mapper, ORM 기술 중 JDBC 직접 사용하는 부분이 맞을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
혹시 index.html 에서는 fragment 사용이 안되는건가요
아래와 같이 코드를 짜서fragment 문법으로 불러오고싶은데적용이 안되고 있습니다 ㅠㅠtemplates 하위 경로에 있는 파일들은해당 방법으로 잘 적용되던데.혹시 static 하위에 있어서 index.html 에서는 경로를 못찾고있는걸까요?!! /static/index.html<!DOCTYPE html> <html lang="ko" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Title</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous"> </head> <body> <div th:replace="fragment/navbar :: navbar"></div> <h3 class="d-flex justify-content-center my-5 text-dark">홈페이지에 오신 것을 환영합니다.</h3> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js" integrity="sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI" crossorigin="anonymous"></script> </body> </html> /templates/fragmnet/navbar.html<!DOCTYPE html> <html lang="ko" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Title</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-sRIl4kxILFvY47J16cr9ZwB07vP4J8+LH7qKQnuqkuIAvNWLzeN8tE5YBujZqJLB" crossorigin="anonymous"> </head> <body> <nav class="navbar navbar-expand-lg bg-body-tertiary" data-bs-theme="dark" th:fragment="navbar"> <div class="container-fluid"> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNavAltMarkup" > <div class="navbar-nav"> <a class="nav-link active" href="/home">홈</a> <a class="nav-link" href="/user/add">회원가입</a> <a class="nav-link" href="/user/login">로그인</a> <a class="nav-link" href="/user/all">회원목록</a> </div> </div> </div> </nav> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/js/bootstrap.bundle.min.js" integrity="sha384-FKyoEForCGlyvwx9Hj09JcYn3nv7wiPVlz7YYwJrWVcXK/BmnVDxM+D2scQbITxI" crossorigin="anonymous"></script> </body> </html>
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
helloMessage테스트 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.helloMessage테스트를 진행하였는데 사진과 같은 오류가 발생하였습니다.찾아보니 lombok버전이 안맞는 것 같다고하여 변경하여 다시 시도해보았지만 해결되지 않았습니다. 혹시 실습을 따라하는 과정에서 실수가 있었는지 몇번이고 확인하였지만 강의와 다른 점은 찾지못했습니다.
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
20) 16. 저장프로시저 쪽 new MapperConfiguration(cfg => { })
var configuration = new MapperConfiguration(cfg => { });이 부분 오류가 나던데 var configuration = new MapperConfiguration(cfg => { }, NullLoggerFactory.Instance);저는 이렇게 해서 오류 해결했습니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
강의 소스 코드..
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 소스에 있는 코드를 그대로 임포트 해서 회원가입을 했는데 로그인이 안되네요.. 뭔가 잘못된건지 모르겠습니다.
-
미해결처음하는 파이썬 백엔드 FastAPI 입문 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]
강의자료 관련 질문
강의자료 받으려 하는데 현대자동차 직원은 수강자 계정인을 어떤 이메일로 받으면 되나요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
storeFile 메서드 return null - optional 적용
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 강의 수강 중 질문이 생겨 여쭤봅니다.public UploadFile storeFile ( ... ) { ... } 메서드에서 multipartFile이 비어있다면 null을 반환하는 검증 if문이 처음에 있습니다. 실무에서 사용한다면 보통 이런 경우에 리턴타입을 optional로 감싸서 보내는게 일반적일까요 ?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
순수한 서비스 계층에 대한 의문???
서비스 계층을 순수한 비즈니스 로직만 남도록 하고,특정 기술에 의존하지 않도록 하는 과정을 배우면서많은 영감을 얻었습니다!그런데, @Transactional은 과연 순수한가 하는 의구심이 듭니다.내부 코드에서는 깔끔하게 지웠지만,순수한 자바 환경에서는 여전히 특정 예외상황에서 불완전하게 동작하고,어노테이션을 통해 프록시 기술에 의존하게 되는데요. 테스트 시에도 순수한 자바테스트가 아니라 스프링 컨테이너에서 관리되도록 해야하니 순수하지 않다고 느껴집니다.이런건 트랜잭션을 순수한 자바코드만으로 깔끔하게 구현하기 어렵기때문에 현실적으로 타협한건가요?여전히 찝찝한 마음이 남아있습니다 ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
name을 통한 비교와 객체를 통한 비교
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]회원 서비스 테스트 강의 5:27에 member와 findMember의 getName을 통해서 맞는지 확인을 했는데 왜 객체가 아닌 이름을 통해 비교를 하는건가요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
프로퍼티 접근법을 사용하지 않은 이유??
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]파일 업로드/다운로드 강의 내용 중,스프링EL 표현식으로 Item의 필드에 접근할때getter를 직접 호출하셨는데요,${item.attachFile.uploadFileName}로 프로퍼티 접근법을 쓰지 않은 특별한 이유가 있을까요?직접 해보니 둘 다 동작되는것은 확인했는데혹시 getter 메서드를 써야하는 특이사항이 있는건지 궁금해서 질문드립니다!
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
3_4test, 4test 자동 리소스 안됨
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]테스트를 돌리는 과정 속에서 자꾸 h2 디비로 접속하지 못하고 새로운 메모리 테이블로 접근하는 거 같습니다. 3_3테스트까지는 문제없이 작동이 되는데 자동 리소스 등록을 하는 부분부터 문제가 생겨요. 다운 받은 예제를 돌릴 때는 또 제대로 실행이 되는데 이거 왜 이러는 걸까요
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
memberRepository.save() 메서드 질문있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.public Member save(Member member){ member.id(++sequence); log.info("save: member={} ", member); store.put(member.getId(), member); return member; }이부분에서 id만 설정해주는데name,loginId, password 값이 정상적으로 세팅되는게 맞는건가요?저는 build 패턴을 이용해서 공부를 하고있는데id말고도 다른 필드도 세팅을 해줘야하는게 맞지 않나 싶어서요.id만 세팅하니까 save할 때 나머지 필드에는 null이 들어갑니다.public Member save(Member member){ member = Member.builder() .id(++sequence) .loginId(member.getLoginId()) .password(member.getPassword()) .name(member.getName()) .build(); log.info("save: member={} ", member); store.put(member.getId(), member); return member;
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
dispatchType=ERROR가 출력되는 이유
이번 강의에서는 DispatchType을 설정해주지 않았는데 어떻게 dispatchType=ERROR가 나오는 걸까요?8분 28초경에 getDisPatcherType()해서 dispatchType 값을 출력해보는데 ERROR가 출력됩니다. 그런데 다음 강의에서 기본값은 REQUEST 인 것으로 배우는데요 따라서 이번 강의에서는 아무것도 설정을 안해줬으므로 기본 값은 REQEUST이므로 중복 호출이 제거되어 에러 페이지 호출시 필터가 호출되지 않아야 한다고 생각했는데 아닌 것같아서요..WebConfig의 필터에 setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ERROR) 하여 ERROR 값을 설정하는 것도 다음 강의에서 하는 것으로 알고 있는데 이번 강의에서는 아무 값도 설정 안해 준것 아닌가요? 제가 어떤부분을 잘못 이해하고 있을까요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
데이터베이스 선택 관련 질문.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)강의 수강전 질문2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 스프링 DB를 듣기전에 데이터베이스에 대한 공부를 하고 해당 강의를 수강하라고 하셔서 강사님의 최신 데이터베이스 강의를 수강중입니다. 해당 강의에서는 MySQL을 사용중인데 이 데이터베이스를 사용해서 스프링 DB 강의를 수강할 수 있을까요? 아니면 H2데이터베이스를 별도로 추가 다운로드 해야할까요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
Transaction readOnly 성능 개선 (김영한님의 대한 감사인사)
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요 김영한님 해당 강의를 통해 Spring의 Transactional의 동작 원리에 대한 흐름을 공부하였던 것이 엊그제 같은데, 시간이 흘러 내부 소스 코드를 보다가 버그를 발견하여 코드 개선을 하여 후기를 남길겸 감사인사를 드리고자 게시글을 올립니다.Spring의 소스 코드를 분석하다 Transaction의 readOnly 부분에서 버그를 발견하여, 이슈를 발행 후 Jhoeller가 해당 이슈를 채택하여, 코드 개선이 되었습니다.항상 감탄만 해왔던 Spring을 창시한 그 Juergen Hoeller에게 최근 pr과 함께 이번 이슈 또한 깊은 분석을 해주어서 감사하다라는 인사를 받게 되어 뿌듯하네요[Influenced] DataSourceTransactionManager의 readOnly 정책 변경 유도 (Issue #35743)[분석] DataSourceTransactionManager가 defaultReadOnly=true 커넥션 풀을 고려하지 않는 설계 문제를 분석하고 공론화함.[검증] doBegin, doCleanup, resetConnection 3개 핵심 메서드의 상세한 코드 분석과 defaultReadOnly=true 환경에서의 명확한 재현 단계(Steps to Reproduce)를 메인테이너(J. Hoeller)에게 리포트함.[결과] 메인테이너가 '깊은 분석(deep analysis)'이라고 코멘트하며, '의도된 설계'라며 방치되던 기존 정책을 '재고(reconsider)'하도록 이끌어냄.[성과] 해당 이슈는 메인테이너가 직접 '최초 1회만 체크'하는 효율적인 방식으로 코드를 수정하여 Spring 6.2.13 릴리스에 실제 반영됨.https://github.com/spring-projects/spring-framework/issues/35743#event-20661446893
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
[건의] 한글 깨짐 발생 경우 pdf 위쪽에 배치 요망
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ()3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]메시지,국제화.pdf 에서 이 부분이 최상단에 있어도 괜찮을것 같습니다.최초 테스트 message.properties 에서 저는 해당 현상이 있어서 챗지피티 도움을 받아 인코딩 문제임을 인지하였고 해당 properies 파일들을 위의 방식과 비슷하게 UTF-8로 변경 하여 해결 하였습니다. 위쪽에 있으면 따로 시간을 들여 찾을 필요가 없이 바로 인지하고 수정 할수 있을겉 같네요!
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
절대 경로로 templates/basic 하위 파일 열면 css 적용 안되는 현상
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]templates 에 css 추가하여 해결 했습니다. html 하위에 ~~~.html 파일들은 css 가 적용되어 열립니다.templates/baisc 하위 ~~~.html 은 이렇게 뼈만 앙상하게 나오는데 강의 에서는 templates 의 하위 html 파일에서도 css 폼이 적용 되어 나오는데 따로 설정 방법이나 변경 사항이 있는걸까요 ?<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="utf-8"> <link th:href="@{/css/bootstrap.min.css}" href="../css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container" style="max-width: 600px"> <div class="py-5 text-center"> <h2>상품 목록</h2> </div> <div class="row"> <div class="col"> <button class="btn btn-primary float-end" onclick="location.href='addForm.html'" th:onclick="|location.href='@{/basic/items/add}'|" type="button">상품 등록</button> </div> </div> <hr class="my-4"> <div> <table class="table"> <thead> <tr> <th>ID</th> <th>상품명</th> <th>가격</th> <th>수량</th> </tr> </thead> <tbody> <tr th:each="item : ${items}"> <td><a href="item.html" th:href="@{/basic/items/{itemId}(itemId=${item.id})}" th:text="${item.id}">회원id</a></td> <td><a href="item.html" th:href="@{|/basic/items/${item.id}|}" th:text="${item.itemName}">상품명</a></td> <td th:text="${item.price}">10000</td> <td th:text="${item.quantity}">10</td> </tr> </tbody> </table> </div> </div> <!-- /container --> </body> </html>
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
나중에 세션을 저장하고 꺼내는것도 나중 강의 에서 나오 나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증이 생겨서 질문을 드립니다."로그인 처리하기 - 세션 동작 방식"을 보던 도중에 세션을 서버에 저장 했다가,꺼낸다는 사실을 알 수 있었습니다. 여기서 질문입니다. 나중 강의에서 (db가 포함된 강의에서) 세션을 넣다 빼는 것도 구현을 하는지 궁금해 집니다.혹 알려주시면 감사하겠습니다. 추가1이렇게 질문하게 된 이유는 들었고 이해는 되었는데 뭔가 애매해서 이쪽 부분 강의를 듣고 생각하다가 이런 생각을 하게 되었습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인라인 코드가 인텔리제이 IDE 에서 오류라고 표기되고 있습니다.
서버를 켜서 소스코드를 보면 의도된 대로 잘 작동하는것 같긴 한데,인텔리제이에서 아래처럼 오류 표기가 계속떠서 혹시 설정을 건드려야 하는 부분이 있는지 궁금합니다 .참고로 현재 Ultimate 버전 사용 중입니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빌드 후 libs 없음
[질문 내용]build까지 성공했는데 해당 경로로 들어갔을 때 libs가 없네요 이런 경우에는 빌드가 제대로 되지 않은건가요?