묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
섹션 4부터 너무 어렵고 자바의 람다식도 모른다면 자바부터 다시 공부하고 시작하는게 맞을까요? 스프링을 처음해보는데 넘 어렵네요,,
섹션 4부터 너무 어렵고 자바의 람다식도 모른다면 자바부터 다시 공부하고 시작하는게 맞을까요? 스프링을 처음해보는데 넘 어렵네요,,
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
쿼리 로그 출력 관련 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]MemberApiController.javaMemberService.java 쿼리 실행이 select - update - select가 로그에 출력될꺼라고 예상 했는데 실제 로그는 select - update 까지만 출력되는데 이유를 알 수 있을까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서블릿 컨테이너 질문있습니다.
서블릿 컨테이너가 Request와 Response, 서블릿을 생성하고 관리해준다고 하셨는데서블릿 컨테이너가 생성하는 객체들의 참조 변수는 해당 객체의 최상위 타입인가요??
-
미해결Practical Testing: 실용적인 테스트 가이드
Integration Test Truncate
안녕하세요! 좋은 강의 잘 들었습니다!!강의 듣고, 테스트 적용해보며 한가지 궁금한게 생겼는데요!테스트 데이터 삭제의 건 입니다!요구사항이 다음과 같다고 한다면, 어떤 방법을 내리실 지 궁금해서요! Test라는 별도의 환경 없음. 로컬 개발환경은 개발DB를 바라보는 상황JPA가 아닌 MyBatisUnit Test가 아닌 integration Test혹시 이런 상황이라면, 테스트를 진행하며 추가되거나 변경된 데이터들을 어떻게 삭제할 수 있을까요 ??더 나아가서는, 성능테스트를 진행한다면 별도의 Test 환경이 없을 때 성능테스트를 진행하며 생긴 대량의 데이터들을 어떻게 원래대로 원복 시킬 수 있을까요 ??감사합니다!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
service() 메서드 질문있습니다.
protected service()를 오버라이딩 해주는 이유가서블릿 컨테이너가 Servlet 인터페이스와 의존관계에 있기 때문에, Http 요청이 오면 Servlet.service()와 같이 service를 호출하면HttpServlet 클래스에 오버라이딩된 public service()가 실행되고public service()에서 protected service()를 호출하니까protected service()를 저희가 원하는 동작을 하도록 오버라이딩 해서 사용하는 거 맞을까요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RequestMapping과 HttpRequestHandler를 같이 사용 할 수 없나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]아래와 같은 코드를 한번 해봤습니다. 제 생각대로라면 RequestMappingHandlerMapping에 MyHttpRequestHalder가 등록되어 getHandler시 가져오고 이것을 getHandlerAdapter가 HttpRequestHandlerAdapter를 찾아 handleRequest를 수행해 줄것이라 생각했는데생각처럼 동작하지 않네요.handler와 adapter는 인터페이스로 되어 있어 어떤조합이든 되는게 아니었나요?좀 헷갈립니다.@Controller @RequestMapping("/springmvc/request-handler") public class MyHttpRequestHandler implements HttpRequestHandler { @Override public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().write("ok"); } }
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
java version 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]start.spring.io와 IntelliJ 자체에서 SpringBoot 프로젝트 생성하기 시 java version이 최소 17입니다. 해당 버전 대응 부탁드립니다.
-
해결됨Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부
source.next와 source.emit의 차이에 대한 질문입니다.
안녕하세요.강의 잘 보고 있습니다. 마지막에 와서 의문이 드는게 있어 질문 남겨봅니다.첫 번째 예제 TestPublisherTestExample01에서는 source.next로 테스트를 진행했고,세 번째 예제 TestPublisherTestExample03에서는 source.emit으로 테스트를 진행했는데요.emit의 경우 내부적으로 complete()을 통해 signal을 발생 시키는 것으로 이해했습니다. 그런데, 말씀대로라면 첫 번째 테스트에서 expectComplete()이 통과하는게 이해가 가지 않아서요.둘의 차이는 결국 Flux를 create 해주는 방식에 있는 것 같은데, 첫 번째 예제의 경우 zipWith을 통해 complete이 발생하는 걸까요? 잘 감이 오지 않는데, 설명해주시면 감사하겠습니다!
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
GitHub에 application설정 내용 push
강의를 다시 보며 개인적으로 복습하던 중 만약 MySQL까지 배포를 완료한 후에 깃허브에 코드를 올리게 되면 Repo가 Public이라서 application에 설정해둔 저의 DB정보와 password도 함께 보여지게 될 텐데 이를 방지하는 방법이 있을까요? Private일 때 배포하는 방법은 강의 내용에 없어서 아쉽지만ㅠ Public일 때 깃허브에 application 설정을 gitignore을 통해서 push하지 않아도 배포하는 데에 있어서 지장이 없는지 궁금합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
jdk 버전 관련해 질문이 있습니다.
plugins { id 'java' id 'org.springframework.boot' version '3.3.5' id 'io.spring.dependency-management' version '1.1.6' } group = 'hello' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } tasks.named('test') { useJUnitPlatform() } 제 프로젝트에 "toolchain { languageVersion = JavaLanguageVersion.of(21)" 라고 기술했는데요. 제 시스템에 설치된 jdk버전이 꼭 21 버전이어야만 빌드가 되더라구요. 자바 버전이 17이면, jdk가 17이상만 되면 빌드가 된다고 어디서 들었던 것 같은데, 혹시 툴체인이랑은 별개의 내용인건가요?
-
미해결스프링 부트 - 핵심 원리와 활용
편리한 부트 클래스 만들기 챕터에 질문이 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]MySpringBootMain 클래스의 main 메서드에서 MySpringApplication.run()을 호출하면서 인자로 MySpringBootMain을 넘깁니다. 이 자리는 configClass인데, MySpringBootMain에는 @MySpringBootApplication 어노테이션만 붙어있고, Bean이나 기타 설정에 대한 내용은 전혀 없습니다. 또한 @Configuration 어노테이션도 없습니다. 그렇다면 @MySpringBootApplication을 통해서 Configuration 클래스의 역할을 하는 것 같은데 이 부분이 잘 이해가 되지 않습니다. 아마도 @ComponentScan 어노테이션이 MySpringBootMain가 configClass의 역할을 하도록 해주는 것 같은데 어떤 원리인지 잘 모르겠습니다. EmbedTomcatSpringMain를 사용할 때는 HelloConfig.class를 넘기는데, 이때는 @Configuration이 붙어있으니까 이해가 됩니다. @ComponentScan이 붙어있으면 해당 클래스의 패키지의 모든 컴포넌트를 읽는다고 하는데, 여기에 뭔가 생략된 설명이 있는 것 같은데 잘 모르겠습니다. 질문이 중언부언해서 죄송합니다!
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
FrontControllerServletV1 404오류
안녕하세요 강의를 따라 진행하면서 /front-controller/v1/members/new-form에 들어가면 404오류가 뜨고있습니다어떻게 해결할지 몰라 질문글을 남깁니다https://drive.google.com/file/d/11KMx5ovVj1_bTCjTaOx2u7fx4uxQcV6g/view?usp=sharing
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
홈로그인 부분 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]HomeController에서로그인을 했을경우에는 무조건 세션에 회원데이터를 넣어서 homeController로 리다이렉트를 하고 homeController에서 처음에 세션을 조회해서 null일경우에 home.html로 보내는데 loginMember가 null일 경우가 있을까요?? 로그아웃을 했을 경우에도 세션자체를 없애기때문에 처음 세션을 조회하는 부분에서 분기처리가 될거같은데 제가 잘못이해하고 있는지 잘 이해가 되지않아 질문드립니다!
-
해결됨스프링 DB 1편 - 데이터 접근 핵심 원리
drop table if exists 쿼리 인텔리제이 에러
drop table member if exists cascade; ',', CASCADE or RESTRICT expected, got 'if' 인텔리제이에서 에러가 나서 찾아보니h2 디비 문법 오류 이더군요실행은 되는데 if exists 순서를 변경해주니까 인텔리에서 에러가 없어졌습니다 혹시나 해서 기록남깁니다 drop table if exists member cascade;
-
미해결3. 웹개발 코스 [스프링 프레임워크+전자정부 표준프레임워크]
섹션2 3강부터 추가 강의는 언제 업데이트 될까요?
섹션2 3강부터 추가 강의는 언제 업데이트 될까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
강의를 보고 연관관계 매핑을 하는데 모르겠습니다...
무신사와 비슷하게 만들고 있는데하나의 옷은 여러개의 카테고리를 가질 수 있잖아요Ex) [상품] 버버리코트 - [카테고리]상의, 코트, 겨울 등등..그런데 하나의 카테고리 또한 여러개의 상품에 등록되는 거 같아요Ex) [상품]아디다스 저지, 빨간색니트, 반팔티 - [카테고리]상의 이래서 N-M으로 연관관계 매핑이 되는 줄 알고 중간테이블로 둬서1:N , N:1로 만들었습니다.그런데 아이템을 넣고 확인해보니 중간테이블과 카테고리의 아이디가 동일하게 올라갈 수 밖에 없는 로직으로 구성되어 있습니다. 왜냐하면 옷 하나를 등록할 때 보통 많은 카테고리를 넣기 때문입니다.Item item = ItemRegisterDto.Request.toItemEntity(itemRegisterDto, findMember); itemRepository.save(item); Set<String> categoryNames = itemRegisterDto.getCategoryNames(); for (String categoryName : categoryNames) { Category category = ItemRegisterDto.Request.toCategoryEntity(categoryName); category.addItemCategories(item, category); categoryRepository.save(category); }public void addItemCategories(Item item, Category category) { this.itemCategories = new ArrayList<>(); this.itemCategories.add(ItemCategory.builder() .category(category) .item(item) .build()); }중간테이블과 카테고리의 아이디가 동일하게 올라가므로굳이 중간테이블을 쓰지 않고 옷과 카테고리를 1:N 양방향 매핑으로 연관관계를 만들면 될 거 같다고 생각했습니다.만약, 옷과 카테고리를 1:N 양방향 매핑이 맞다면 하나의 옷은 여러개의 카테고리를 가질 수 있고 하나의 카테고리 또한 여러개의 옷을 가질 수 있는데 다대다관계가 아닌 이유도 궁금합니다.마지막으로 어떻게 생각해야 연관관계 매핑에 있어서 잘 지을 수 있을까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
수업과는 조금 다른 실무 id취향 질문이 있습니다!
안녕하세요, 테이블 생성중에 id관련된 내용을 보다가 궁금한게 생겨 질문 남깁니다! 개발자에 따라서 유한한 bigint로 이루어진 고유 id를 극혐하고 이론상 거의 무한한 uuid를 사용해야한다 주장하시는 분들이 꽤나 많던데, 태현님께서는 어떻게 생각하시나요? 저는 개인적으로 실무에서도 uuid대신 bigint로 이루어진 id를 사용중에 있고, 유저에게 노출이 필요한 유저 고유번호만 내부에서 사용하는 id값 이외에 uuid칼럼을 따로 만들어서 관리하거든요 🤔🤔만약에 uuid를 사용한다면 조회의 성능이랑.. auto_increment를 사용할 수 없으니 매 번 insert문마다 서비스로직에서 uuid를 만들어서 넘겨야 하는것에 대해서도 그래야만 하는지 좀 의문이 있기도 하구요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA, DB 연동 관련 오류 질문
안녕하세요 영한님 JPA 활용1 강의의 JPA와 DB 설정, 동작확인 파트를 실습하다가 오류가 생겨 질문남겨요3시간 동안 검색해도 해결하지 못했어요.. MemberRepository 테스트 시 아래와 같은 오류가 발생해 해결하고자 합니다. 아마 application.yml 쪽 문제 같은데 강의와 똑같이 따라했는데도 불구하고 오류가 발생하네요..H2는 확실히 켜고 테스트 시도했습니다. 아래는 강의를 보며 따라한 프로젝트입니다.https://drive.google.com/file/d/1BvWBkoHE0fjdIFABmGeiOMDLuG-pKdwP/view?usp=sharing
-
미해결토비의 스프링 6 - 이해와 원리
Test 결과 화면이 다른 거 같은데 설정 문제일까요?
토비님 강의 재밌게 보고 있습니다 그런데 강의 중에 토비님이 테스트를 실행하면 테스트 터미널 창에 > Task 이런 식으로 뭔가 많이 뜨던데저는 문구가 따로 나오지 않네요 정상적인 결과일까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradlew 실행 시 다음과 같은 오류가 발생하는데 뭐가 문제일까요?
강의를 보면서 cmd 실행후 helloC:\Users\Desktop\Study\hello-spring\hello-spring> 에서 gradlew build를 실행하면 해당 에러가 계속 뜨네요 검색해봐도 안나오고 너무 답답합니다 ㅠ