묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
프로젝트를 오픈 할 때 질문
프로젝트 오픈할 때 form 폴더를 선택하는 대신 form폴더 안에 있는 build.gradle을 Open as Project로 오픈하는 이유가 있을까요?PDF대로 따라하다가 문득 궁금해져서 질문합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타입 에러 시 BindingResult
지식 공유자님의 코드에서는 FieldError 생성자의 네 번째 파라미터(bindingFailure)가 전부 false로 놔둔 이유는 만약 타입 에러가 나서 바인딩이 실패한 필드는 컨트롤러 메서드의 코드를 실행하기 전에 이미 BindingResult에 들어가 있기 때문에 굳이 코드를 안 적어도 되는 것인가요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인터셉터에서 HttpServletRequest 교체 방법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. 우선 스프링 인터셉터에서 parameter 로 들어오는 request 를 변경 가능한지 궁금합니다.client 측에서 암호화된 데이터를 전송하고 암호화된 데이터를 복호화를 하고 싶은데, 모든 controller 에 하기 불편해서 interceptor 를 활용해 적용해보려고 합니다. 근데 request 자체를 교체하는건 어려운 것 같은데 이런 경우에는 어떤 방식을 채택하는 것이 좋을까요?
-
미해결[React 1부] 만들고 비교하며 학습하는 React
리액트 1,2부 이후 후속 강의나 준비 중인 다른 강의가 있으신가요?
강사님, 리액트 1부 강의를 너무 알차게 수강한 터라인프런에 올리신 리액트 1,2부의 후속 강의나 준비 중인 다른 강의 계획이 있는 지 궁금합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
한꺼번에 선택해서 버튼을 누르는게 좋은 선택인지? 아니면 나눠서 버튼누르는게 좋은 선택인지??
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금한점이 생겨서 질문을 드립니다.셀렉트, 싱글, 라디오 버튼을 만드는 예제에서, 상품을 한번에 등록하는것을 보았는데요. 오늘 생각해 보니까 나눠서 할때도 있다는 생각이 듭니다.(배송할때 페이지가 나누어져 있는게 생각이 났습니다) 그래서 궁금증은 만약에 어떤 것들을 등록할때 나눠서 페이지를 보여 줄수 있고, 페이지를 합쳐서 보여줄수 있다면 어떤게 좋은것인지?그리고 나눠서 보낸다면 어떤식으로 결과값을 저장해서 다음 페이지로 넘기는지 궁금합니다. 답변 부탁드립니다.
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
using (SqlConnection ~)을 하는 이유가 뭔가요?
using문은 영역 밖으로 나가면 Dispose가 호출되는것으로 알고 있습니다. db연결은 전역적으로 한번 만들어 놓으면 그걸 계속 사용하면 될것 같은데 using으로 사용할때만 임시로 만들고 사용후에 제거할 필요가 있는걸까여?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@PostMapping("/members/new")가 동작하지 않습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 올바르게 작성한 것 같은데 등록 버튼 클릭 시 홈으로 돌아오는 것도, sysout 내용이 콘솔에도 찍히지 않습니다 ㅜㅜ
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
JPQL 대신 네이티브 쿼리를 사용해야 하는 경우
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강의를 듣다가 JPQL을 생성해주는 JPA나 QueryDSL이 되게 편리하고 유용한 기술이라는 생각이 들었는데, 네이티브 쿼리를 활용해야 하는 상황에 대해서도 궁금해지더라구요.네이티브 쿼리를 활용해야만 하는 상황이나, JPQL 대신 네이티브쿼리를 사용하는 것이 효율적인 유스케이스를 알려 주실 수 있나요? 예를 들어, 대용량 배치 작업의 경우에는 ....과 같은 부분에서 오버헤드가 발생하는 JPQL 대신 네이티브 쿼리를 사용할 수 있는 JDBC 템플릿 등을 사용하는 것이 권장되서 많이 사용된다거나 하는 부분입니다.
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
이후 예정된 강의 문의를 드립니다
안녕하세요.국내 닷넷계열의 강의 중에선 여러 분야를 다뤄주시고 계셔서 닷넷쪽 지식에서 많은 도움을 받고 있습니다maui 관련 강의도 올려쥬신 만큼 이후에 혹시 블레이저 쪽 강의를 만들어주실 계획이 있으실까요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
after 메서드 사용 유무
[1줄 질문]after 메서드 로직을 테스트에 바로 적는 것도 보편적으로 사용하는 방법일까요?[설명] 테스트를 실행한 후, after 메서드로 memberA, memberB, ex 객체 값을 삭제하여 다음 테스트 실행할 때 데이터 충돌을 방지하는 것으로 이해했습니다.after 메서드를 실행할 때마다 테스트에서 생성 자체가 되지 않은 객체 또한 삭제되는 경우가 있는데, 이런 경우에는 after 메서드 대신 테스트 후(then 로직 종료 후) 바로 삭제하는 로직을 추가하는 것이 좀 더 빠르지 않을까 생각해보았습니다.물론 after 메서드를 사용하는 것은 중복 로직을 줄이기 위함도 있겠지만, 지금과 같은 경우에는 테스트 내에서 삭제 로직까지 추가하는 것은 보편적인 방법이 아닌지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
java static class와 kotlin class
[질문 내용]kotlin으로 실습을 진행하고 있는데, java의 static class에서 static은 무슨 의미인가요? kotlin에서의 그냥 class와 같은 역할인 걸까요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
데이터베이스 접근 및 DB 락
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]데이터 베이스 접근 및 DB 락에 대해서 학습을 하면 "동시성 이슈" 그리고 "트랜잭션 격리성" 에 대한 전반적인 DB Lock 이슈 관리에 도움이 될까요??
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
속성 값 설정
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.th:checked="false"로 설정하면 렌더링 후에 checked 속성이 완전히 없어지던데,이건 타임리프가 내부적으로 속성을 아예 제거해주는 건가요? 아니면 단순히 비워두는 건가요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
@SpingBootTest, @TestConfiguration
아직 스프링부트 강의까지는 수강하지 못해서 남기는 질문입니다. 만약 프로젝트가 처음부터 스프링부트 환경이라고 한다면 별도로 @SpringBootTest 같은 애노테이션은 사용하지 않아도 되나요?@TestConfiguration의 경우에 꼭 내부 클래스로만 사용해야하나요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
자바 map으로 put으로 넣을시 get으로 하는게 좋은 선택인지, 그냥 타자로 치는게 좋은 선택인지?
========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (모르겠음)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 강의를 보다가 궁금증이 생겨서 질문을 올립니다.강의 도중에 userA,userB를 map에 넣기 위해서, key값으로 String 으로 "userA", "userB"로 입력 하시 는 것을 보았습니다.(사진참조) 근데 어떤 때에는 get으로 값을 넣는 경우도 있는 것을 생각 할수 있었 습니다. (추가1: getName으로 넣어도 되는거 아닌가?라는 생각 때문에 다른 강의들에서 레파지토리는 어떻게 했는지 살펴봄)(예전 강의에서 save할때) 그래서 어떤 것이, 더 나은 선택 인지, 저는 모르겠습니다.그래서 어떤 때에는 get으로 값을 써야 하고,어떤 때에는 직접 타자로 값을 쳐서 입력해야 하는지 알고 싶습니다. 답변 부탁 드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 DB연결
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 자바부터 강의를 듣고있는데 언어가 이해가 되는부분이 있고 안되는 부분이있는데 이거는 앞에가서 다시 학습을 하고와야하나요!?지금 스프링입문은 여기서 다이해하고 다음 강의로 넘어가야 하는 건가요!?
-
미해결[React 1부] 만들고 비교하며 학습하는 React
super.show() 호출하는 이유가 궁금합니다.
안녕하세요, 강의 잘 듣고 있습니다.23강에서 SearchFormView 클래스의 show 메서드 오버라이딩과 관련하여 궁금한 점이 생겨서 질문드립니다.// SearchFormView.js show(searchKeyword = "") { this.inputElement.value = searchKeyword; this.showResetButton(this.inputElement.value.length > 0); }super.show() 를 호출하지 않아도 화면이 의도대로 동작하는 것을 확인했는데요.super.show() 호출이 단순히 체이닝을 위한 호출인지 아니면 제가 놓친 다른 의도가 있는 것인지 궁금합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
request-body-json
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강사님이 해당 서블릿 코드를 작설하실 때에는 response.getWriter().write("ok"); 만으로 postmant 테스트에서 200 ok 와 함께 response body에 ok가 찍히는걸 알 수 있습니다. 하지만 해당 코드로 제 로컬 pc에 실행을 해보니 다 동일하게 잘 전달이 되지만 response body에 아무것도 찍혀 있지 않습니다.그래서 코드를 response.setContentType("application/json"); response.getWriter().write("{\"status\":\"ok\"}"); 이런식으로 헤더에 본문 내용에 들어갈 타입을 선언하니 잘 출력이 되더라구요 여기서 궁금한점은 왜 차이가 나는가입니다.제가 아는 선에서는 따로 컨텐트 타입 설정을 안해주면 .getWriter().write()시에 text/plain 타입으로 나가는 걸로 알고 있습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
MessageCodesResolver
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. if(!StringUtils.hasText(item.getItemName())){ // 글자가 없으면 bindingResult.rejectValue("itemName", "required"); } if(item.getPrice() == null || item.getPrice() < 1000 || item.getPrice() > 1000000){ bindingResult.rejectValue("price", "range", new Object[]{1000, 1000000}, null); } if(item.getQuantity() == null || item.getQuantity() >= 9999){ bindingResult.rejectValue("quantity", "max", new Object[]{9999}, null); }; // errors.properties required.item.itemName=상품 이름은 필수입니다. range.item.price=가격은 {0} ~ {1} 까지 허용합니다. max.item.quantity=수량은 최대 {0} 까지 허용합니다. totalPriceMin=가격 * 수량의 합은 {0}원 이상이어야 합니다. 현재 값 = {1}rejectValue()로 price와 quantity를 넘겨서 유효성 검사에서 실패해서 error를 넘겨주는데 왜 전역 에러로는 뜨는데필드 에러로는 안뜨는거죠?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
MessageCodesResolver
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. if(!StringUtils.hasText(item.getItemName())){ // 글자가 없으면 bindingResult.rejectValue("itemName", "required"); } if(item.getPrice() == null || item.getPrice() < 1000 || item.getPrice() > 1000000){ bindingResult.rejectValue("price", "range", new Object[]{1000, 1000000}, null); } if(item.getQuantity() == null || item.getQuantity() >= 9999){ bindingResult.rejectValue("quantity", "max", new Object[]{9999}, null); }; // errors.properties required.item.itemName=상품 이름은 필수입니다. range.item.price=가격은 {0} ~ {1} 까지 허용합니다. max.item.quantity=수량은 최대 {0} 까지 허용합니다. totalPriceMin=가격 * 수량의 합은 {0}원 이상이어야 합니다. 현재 값 = {1}rejectValue()로 price와 quantity를 넘겨서 유효성 검사에서 실패해서 error를 넘겨주는데 왜 전역 에러로는 뜨는데필드 에러로는 안뜨는거죠?