묻고 답해요
144만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 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를 실행하면 해당 에러가 계속 뜨네요 검색해봐도 안나오고 너무 답답합니다 ㅠ
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
ModelView 질문
안녕하세요~ mvc에 도입된 ModelView클래스에 질문있습니다.위 코드처럼 필드에 바로 HashMap 구현객체를 할당한 것을 보실 수 있는데요.MVC model v3 을 설명하는 강의자료에 나온 소스입니다. 생성자로 초기화하는 아래 코드처럼 작성해주실 것이라 기대했는데@Data @AllArgsConstructor public class ModelView { private String viewName; private Map<String, Object> model; public ModelView(String viewName) { this.viewName = viewName; this.model = new HashMap<>(); } }그렇지 않은 이유가 궁금합니다~!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Api 관련질문
@GetMapping("hello-api") @ResponseBody public Hello helloApi(@RequestParam("name") String name){ Hello hello = new Hello(); hello.setName(name); return hello; } static class Hello{ private String name; public void setName(String name) { this.name = name; } public String getName() { return name; } } 위처럼 APi사용하려는데 이렇게 한국어로 입력 시 문자가 깨지는 현상이 발생합니다 설정은 다음과 같습니다
-
미해결Practical Testing: 실용적인 테스트 가이드
readOnly = true 시 jpa 동작관련
readOnly = true시에는 jpa 에서는 단순 cud 는 동작하지만,변경감지는 안된다는 말씀이신가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HttpRequestHandler에 대해서
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 선생님!HttpRequestHandler에 대해 공부하던 중 궁금한 점이 있어 질문 드립니다.HttpRequestHandler는 서블릿과 가장 유사한 형태의 핸들러라고 자료에 나와있는데 서블릿과 가장 유사하다는 것이 어떤 의미인지 잘 모르겠습니다.HttpRequestHandler의 Adapter인 HttpRequestHandlerAdapter를 들어가 보았는데 public class HttpRequestHandlerAdapter implements HandlerAdapter{ //... @Nullable public ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object Handler) throws Exception{ ((HttpRequestHandler)handler).handleRequest(request,response); return null;} //... } 와 같이 ModelAndView를 반환하지 않고 null을 반환하고 있습니다. 이 그림에서는 MVC의 구조에서 ModelAndView를 반환한다고 되어있는데 null을 반환하여 질문드려봅니다
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
gradle 관리 방법에대한 의견이 궁금해 문의남깁니다!
안녕하세요!코프링 대신에 자프링부터 들렀습니다 ㅎㅎ 기존에 maven만 사용해봐서 신규 플젝도 maven으로 생성했는데.. gradle을 이참에 배워보려고 합니다!! gradle이 groovy랑 kotlin 2가지 언어로 나뉜 것 같은데 영상에서 그루비를 선택하신 이유가 있을까요?혹시 기존 프로젝트도 그루비를 사용하시는거라면 이유가 궁금합니다! 많은 부분을 사용하는건 아니더라도 추후 코프링을 사용한다면 그레이들또한 코틀린으로 관리하는게 더 편하지 않을까 싶어서요!
-
미해결스프링 핵심 원리 - 기본편
계속 파일이 생겼다 없어졌다 합니다.
이렇게 인텔리제이에서 폴더가 계속 사라졌다 생겼다 합니다
-
해결됨스프링 DB 2편 - 데이터 접근 활용 기술
@Autowired를 할 때 이 두 가지 방식의 차이
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@Autowired PlatformTransactionManager transactionManager; TransactionStatus status;이 코드와@Autowired PlatformTransactionManager transactionManager; @Autowired TransactionStatus status;이 코드는 다르게 동작하나요? 제가 실수로 두 번째 코드로 썼다가 오류가 났었는데 첫 번째 코드로 하니 정상 동작이 되었습니다.+)아 잠시 헷갈렸습니다..
-
미해결스프링 핵심 원리 - 기본편
Inheritance
Entity를 설계할 때 Inheritance란 개념을 배웠는데 만약 조부모, 부모, 자식 이런 식으로 삼중(?) 상속을 해야할 경우 어떤 식으로 구현해야 하나요? 실무에서 사용하는 방법이 궁금합니다,,
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
WAS 뜻이 Web Application Server인데 강의자료와 헷깔립니다.
강의 14:14 관련 질문입니다. WAS 제품중 하나인 톰캣이 있습니다.WAS (Web Application Server) 는 정적리소스를 처리하는 WebServer 기능과동적리소스를 처리하는 Servlet컨테이너를 동시에 가지고 있는 것으로 알고있는데요. 위 처럼 큰 개념으로 이해하고 있었는데 강의자료에서는 '웹서버'로 알고 있는 영역에 '웹애플리케이션서버' 라는 용어로 표현하신 걸 보고 혼동이 왔습니다. 어떻게 정리하는 것이 좋은지 조언부탁드립니다.