묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트코드 메서드명 한글
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]영한님 안녕하세요.테스트 코드 작성하실때 메서드명을 한글로 기재하시던데 실제 실무에서 테스트 코드 작성하실때도 한글로 작성하셨었나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의자료 확인 요청
5. 회원 관리 예제 - 웹 MVC 개발.pdf 내의 소스중MemberForm클래스의 create() 메소드 내에MemberService memberService= new MemberService();가 빠져있습니다.
-
해결됨앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
기초 앱 4강 Type Any -> UIButton
뒤에 설명이 나오는지는 아직 모르겠는데 수강자 분들 참고하시라고 적어놓습니다... 강의에서 @IBAction 함수 선언할 때 sender Type 을 Any 에서 UIButton 으로 변경하는데 그 이유가 이건 sender 의 타입이 UIButton 이라는 걸 명확하게 하는 거라고 보면 되고 Any 로 놔두면 나중에 sender 를 써야할 때는 타입캐스팅을 해야 사용이 가능합니다. [UIButton] 인 경우 sender.backgroundColor = ... [Any] 인 경우if let myButton = sender as? UIButton {sender.backgroundColor }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
소스는 어디잇나요?
너무 빨리 넘기시니 보면서 직접 타이핑도 못하고,갖다 붙일 소스코드 어디있나요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
오류 메시지 원래 없는건지? (5:41초에 나오는 밑에 at [source: 생략]) 아니면 무엇을 추가 했나요?
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증이 생겨서 질문을 드립니다.영한님 강의를 따라 하면서 하는데영상의 의 사진처럼 저는 한 줄이 안보여서 그러는데, 혹 무엇을 추가 하신 적이 있으신가요?사진에 나오는,스프링 로그 밑에 나오는at [source : (pushbackInputStream); line 1, column:30) 이 코드요. 저의 경우에서는 포스트맨 에서, 실행을 send를 눌렀지만 이 로그는 보이지가 않아서 물어봅니다. 혹 무언가를 추가 하신 적이 있으신가요? 아니면 무료 버전 이어서 차이가 있는 건가요?답변 부탁 드립니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
커리큘럼 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 커리큘럼 관련 질문은 어디에 남겨야 좋을지 모르겠어서 여기에 남기게 됐씁니다 ㅠㅠ 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? [질문 내용]안녕하세요! 평소에 강의 너무 잘 듣고 있습니다! 데이터베이스 강의가 다양해서 좋지만 ! 순서가 고민돼서 질문드립니다. 저는 신입 또는 저년차 개발자로 입사하고 싶습니다! 기본적인 SQL 쿼리는 작성할 수 있습니다. 현재 자바, 스프링 핵심원리 기본, 스프링 MVC1 강의 들었습니다. 1. 데이터베이스 강의 순서 추천: 김영한의 실전 데이터베이스/ 스프링 DB/ 자바 ORM 표준 JPA 프로그래밍/ 실전! 스프링 데이터 JPA 등 다양한 데이터베이스 강의 중 어떤 순서로 학습하면 좋을까요? 2. 스프링 관련 강의 추천: 위에서 추천해주실 데이터베이스 강의와 함께 스프링 MVC2/ 스프링부트/ 스프링부트와 JPA 활용 강의 중 어떤 강의 수강하는 것이 좋을지도 추천 부탁드립니다!
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
글로벌 설정 이라는게 무엇을 말하는 건가요?
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증이 생겨서 질문을 남깁니다.영상에서 나오는 "글로벌 설정"이라는게 정확히 어떤 의미에서 사용하였는지 모르겠습니다. 일단 코드를 따라하고, 영상을 다시 보기는 했는데. 저가 보기에는 그냥 글로벌 설정 하기 전 및 글로벌 설정을 하고 나서 차이점을 모르겠습니다.일단 생각하는 것은 글로벌 설정이 메시지랑 관련 있다? 라는 정도만 생각하게 됩니다. 글로벌 설정에 대해서 더 자세히 가르쳐 주시면 감사하겠습니다. 답변 부탁드립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
스프링 배치 관련
안녕하세요. 다음이 아니라 스프링 로드맵에 스프링 배치 관련된 내용은 있나요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
@RequestParam의 defaultValue가 blank 값도 처리하는 지 여부
강의에서는 @RequestParam의 defaultValue 파라미터가 빈 문자열을 처리한다고 했는데, empty 값만 처리해주는 지 또는 blank도 처리해주는지의 여부가 궁금합니다.또한, @RequestParam으로 오는 데이터가 blank일 수도 있는데, required = true 옵션은 blank를 인식할 수 있나요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
검증1 복습할겸 editForm을 고치고 실행하는데 오류 납니다. 도와주세요.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 영한님이 영상에 addForm을 고친것 처럼, editForm을 고쳐서 수정에서 값이 없으면 에러를 출력하려고 했습니다. 그러나 대실패 입니다. 현재 실력으로는 어떻게 고쳐야 해야 하는지 몰라서 게시판에 도움을 요청합니다.혹시 힌트라도 주실수 있으신가요? v1컨트롤러 edit 고친것(add내용을 복사 붙여 놓기 한 다음 수정) editForm을 수정한 내용(addFrom 의 내용을 수정)오류 내용잘린 메시지Error resolving template [validation/v1/items/{itemId}/edit], template might not exist or might not be accessible by any of the configured Template Resolvers Error resolving template [validation/v1/items/{itemId}/edit], template might not exist or might not be accessible by any of the configured Template Resolvers] with root cause (그 외의 것들은 전혀 건들지 않았음)힌트를 주실 분 계신가요? 답변 부탁 드립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
postman으로 /request-body-json-v1 호출시 500 error
Json형태의 request 에서 아래 예제 그대로 진행했는데, 자꾸 500 error가 나와서요java 24, springboot 2.5.5@Slf4j @Controller public class RequestBodyJsonController { private ObjectMapper objectMapper = new ObjectMapper(); @PostMapping("/request-body-json-v1") public void requestBodyJsonV1(HttpServletRequest request, HttpServletResponse response) throws IOException { ServletInputStream inputStream = request.getInputStream(); String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8); log.info("messageBody={}", messageBody); HelloData helloData = objectMapper.readValue(messageBody, HelloData.class); log.info("username={}, age={}", helloData.getUsername(), helloData.getAge()); response.getWriter().write("ok"); } } [postman] 수행결과{ "timestamp": "2025-08-24T05:03:39.632+00:00", "status": 500, "error": "Internal Server Error", "path": "/request-body-json-v1" } [인텔리제이 로그]2025-08-24T14:03:39.540+09:00 INFO 6552 --- [springmvc] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'2025-08-24T14:03:39.541+09:00 INFO 6552 --- [springmvc] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 0 ms2025-08-24T14:03:39.570+09:00 INFO 6552 --- [springmvc] [nio-8080-exec-1] h.s.b.request.RequestBodyJsonController : messageBody={"usernsme":"aaa", "age":20}2025-08-24T14:03:39.620+09:00 ERROR 6552 --- [springmvc] [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exceptioncom.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "usernsme" (class hello.springmvc.basic.HelloData), not marked as ignorable (2 known properties: "username", "age"]) at [Source: REDACTED StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION disabled); line: 1, column: 14] (through reference chain: hello.springmvc.basic.HelloData["usernsme"]) at com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:61) ~[jackson-databind-2.19.2.jar:2.19.2] at com.fasterxml.jackson.databind.DeserializationContext.handleUnknownProperty(DeserializationContext.java:1180) ~[jackson-databind-2.19.2.jar:2.19.2] at com.fasterxml.jackson.databind.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:2244) ~[jackson-databind-2.19.2.jar:2.19.2] at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownProperty(BeanDeserializerBase.java:1823) ~[jackson-databind-2.19.2.jar:2.19.2] at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.handleUnknownVanilla(BeanDeserializerBase.java:1801) ~[jackson-databind-2.19.2.jar:2.19.2] at
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
프론트엔드와 백엔드의 mvc, rest api에 대한 질문
REST API로 서비스를 설계할 경우, 사용자는 보통 프론트엔드를 통해 백엔드의 기능을 이용하게 됩니다. 이때 프론트엔드와 백엔드 각각에 MVC 패턴이 적용된다고 보아야 할까요, 아니면 두 계층을 합쳐 하나의 MVC로 이해해야 할까요? 또한 백엔드 측의 API를 Open API 형태로 외부에 공개한다면, 이것도 뷰로 간주할 수 있는지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build gradle
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]build.gradle 이렇게 하면 되는건가요?옆에 주석을 써봤는데 제가 이해한게 맞나요?plugins { id 'java' id 'org.springframework.boot' version '3.5.4' id 'io.spring.dependency-management' version '1.1.7' } group = 'hello' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' // 추가 여기부터 implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.1' // SQL 쿼리를 로그로 찍어주는 라이브러리. 개발할 때 DB에서 어떤 쿼리가 실제로 나가는지 확인하기 위함. runtimeOnly 'com.h2database:h2' // H2 DB (인메모리 DB) 사용. 개발이나 테스트용으로 DB 서버 없이 DB를 돌릴 때 편리. // lombok 관련 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' // querydsl 추가 implementation 'com.querydsl:querydsl-jpa:9.8:jakarta' // QueryDSL JPA 핵심 라이브러리 annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta" // 엔티티로부터 Q클래스 자동 생성 annotationProcessor "jakarta.annotation:jakarta.annotation-api" // 컴파일 시 필요한 annotationProcessor "jakarta.persistence:jakarta.persistence-api" // Jakarta EE API // 여기까지 // test lombok testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } // 중괄호 추가 testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } // 추가 clean { delete file('src/main/generated') }
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
모델의 역할과 계층 분리에 대한 이해 차이 + 추가질문
안녕하세요, 강의를 들으면서 궁금한 점이 있어 질문드립니다.강의에서는 모델을 컨트롤러와 뷰 사이에서 데이터를 전달하는 객체로 설명하면서, 컨트롤러는 비즈니스 로직을 직접 수행하기보다는 서비스와 리포지토리에 이를 위임해야 한다고 말씀해주셨습니다.그런데 제가 기존에 알고 있던 개념은 조금 달랐습니다. 모델은 일반적으로 데이터베이스의 테이블을 표현하고, 컨트롤러가 요청을 받아 모델에 명령을 내리면, 모델이 데이터를 조작하거나 비즈니스 로직을 처리한 뒤 컨트롤러와 뷰에 변화를 알리는 구조라고 이해하고 있었습니다. 즉, 모델이 도메인 객체(DTO, 엔티티 등)와 함께 비즈니스 로직, 그리고 DB와의 실질적인 연결까지 담당한다고 생각해왔습니다.따라서 강의에서 제시해주신 설명과 제가 알고 있던 개념 사이에 차이가 있는 것 같아 혼란스럽습니다. 혹시 제가 기존에 이해했던 방식이 잘못된 것인지, 아니면 단순히 접근 방식과 관점의 차이라고 봐야 하는지 조언 부탁드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원가입 테스트 중 빈값 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 현재 강의 8분쯤, 회원가입 테스트 할때 "이미 존재하는 회원입니다"를 방지 하기 위해 delete from member; 이후에 정상 작동 되어야 하는데, 오류가 나는 상황입니다. 회원가입 테스트 함수 내에,join 함수 실행 후에, findOne(saveId) 에서 빈값으로 확인됩니다.saveId 의 경우엔 테스트 할때마다 시퀀스가 올라서 11, 12, ... 가 확인됩니다. select * from member; 시에 빈값이고,join(member)가 정상으로 됬기 떄문에 saveId값이 오르고 있는것 같은데,findOne에서 빈값이라고 하니 get()할 값이 없어서 오류가 나는것 같은데,진도를 나가기 위해 어떻게 수정해야 할까요 ? join이 정상실행 됬다는 확인은 해당 소스 위 아래 sout "1" "2" 를 각각 붙였더니 정상 실행 되었고,findOne 위에 sout("3")까지 출력 됬지만, findOne 아래 sout("4")은 출력되지 않고 오류가 떴습니다. 그리고 오류를 찾아가기 위해, 확인하고 싶은 현 시점에 소스 상황입니다.MemberServcie 클래스에서 @Service 와빈 주입을 위한 @Autowired 는 주석처리가 되어 있는데 맞을까요 ? 12분 짜리 강의를 위해 3시간째 ㅠㅠ 버벅이고 있습니다. 도와주세요 ㅠㅠ혹시 제 질문이 부족했다면, 제가 답을 얻기위해 추가 질문이라도 부탁드립니다 ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
윈도우 pc H2 실행 불가
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.H2 설치 및 삭제 여러차례 반복 및 구글링과 인프런에 등록된 F&Q 내용대로 해봐도 H2가 실행되지 않습니다.저거 두 개 다 실행해도 작동이 안 됩니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
console log 출력 관련 질문입니다.
수고 많으십니다.강사님이 하신 것처럼 application properties에서 동일한 메시지 레벨의 출력은 설정은 했는데 로그 메시지가 출력이 너무 달라요. initHandlerMappingMap내부의 URI가 "/front-controller/v3/members/new-form"으로 되어 있어서 실제로 html에 설정이 되어 있는 "/front-controller/v5/v3/members/new-form" 이거랑 달라서 오류가 떠야 하는데 브라우저 창에서는 404오류가 뜨면서 page not found가 뜨는데 로그메시지는 아무것도 출력되는것도 없고 GET 메시지도 안들어와요. 어떻게 하면 좋을까요? 제가 따로 서치를 해봤는데도 해결방법을 모르겠어서 질문해봅니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
애플리케이션이 실행 되지 않습니다 ㅠㅠㅠ
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]Settings -> Build, Execution, Deployment -> Gradle에서 기존의 Gradle 둘 모두 IntelliJ IDEA로 변경한 후, SpringBootApplication이 실행되지 않습니다... 이유가 뭔지 궁금해서 이렇게 질문드립니다!아래 사진은 저의 인텔리제이 콘솔에 출력된 에러 로그 및 build.gradle 입니다. plugins { id 'java' id 'war' id 'org.springframework.boot' version '3.5.4' id 'io.spring.dependency-management' version '1.1.7' } group = 'hello' version = '0.0.1-SNAPSHOT' description = 'Demo project for Spring Boot' java { toolchain { languageVersion = JavaLanguageVersion.of(24) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() }
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
@EventListener(ApplicationReadyEvent.class) 관련
@EventListener(ApplicationReadyEvent.class)와 같은 기능을 사용하기 위해@Component public class DataInitializer implements ApplicationListener<ApplicationReadyEvent> 를 사용하여 프로젝트를 운영하고 있습니다.혹시 잘못된 것인지 궁금합니다.
-
해결됨처음하는 파이썬 백엔드 FastAPI 입문 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]
16강에 원래 있어야 할 강의 내용이 없고 23강 내용이 그대로 업로드 되어 있습니다.
16강에서 http 메서드에 대한 설명을 이어 나가야 하는데 실행하면 23강의 내용이 똑같이 나옵니다.