묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
OSIV OFF시 Sercice클래스 최적화
orderService.class를 예를들면 Order Entity를 저장하거나 find하거나 등 entity위주의 코드만 뒀습니다.허나 Order Entity뿐만 아니라 OrderForm, OrderDto를 변환해주는 코드가 필요하다면 각 형태를 변화해주는 Service를 따로 만들어야하는지 아님 하나의 Service클래스안에 다 둬야 하는지 궁금합니다.예로들어 OrderEntity => OrderForm 로바꿔주는서비스, OrderEntity => OrderDto로 바꿔주는 서비스,OrderEntity를 repository에 넘겨주는(DB에 저장하는) 서비스 이런식으로 각각 나눠서 여러개의 클래스로 만들어주나요??
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
RowMapper<Item> 질문있습니다.
수업에 나오는 RowMapper<Item>에 대해서 질문드립니다.RowMapper의 코드를 확인해보니@FunctionalInterface public interface RowMapper<T> { /** * Implementations must implement this method to map each row of data * in the ResultSet. This method should not call {@code next()} on * the ResultSet; it is only supposed to map values of the current row. * @param rs the ResultSet to map (pre-initialized for the current row) * @param rowNum the number of the current row * @return the result object for the current row (may be {@code null}) * @throws SQLException if an SQLException is encountered getting * column values (that is, there's no need to catch SQLException) */ @Nullable T mapRow(ResultSet rs, int rowNum) throws SQLException; }강의에서 구현한 (rs, rowNum) => T 의 메서드가 보이는데요 해당 메서드는 throws SQLException, 즉 체크 예외를 던지고있습니다. 검색해본결과 람다는 컴파일타임이 아니라 런타임에 실행되기 때문에 사용하는측에서 컴파일시점에 예외체크를 하지않아도 컴파일이 통가된다라고 보았습니다. (throws SQLException 라고 적혀있는데 컴파일타임에 체크되어야하는거 아닌가 라고 생각은 하면서) 질문그렇다면 제가 jdbc의 RowMapper를 실무에서 사용한다면 매번 체크 예외를 위한 예외처리를 매번 다 해줘야한다는 의미인가요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
서버 실행에 오류가 납니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]어제까지만 해도 잘 됐던 서버가 오늘 갑자기 안됩니다. 어제랑 다른점으로 코드를 추가한 것이이 2가지 밖에 없는데 왜 오류가 나오는지 궁금합니다.인텔리 제이는 지금 학생용 라이센스를 사용중입니다.아래 링크는 코드 압축 파일 입니다. https://drive.google.com/file/d/12BtT_YTA__LkJFnUkQ_Q2ae-X9MT4TK7/view?usp=sharing
-
미해결스프링 핵심 원리 - 기본편
스프링 빈은 항상 stateless로 설계해야 한다는 말에 대해 궁금증이 있습니다.
만약 스프링 특정 빈에 아래와 같이 캐시를 저장하고 있다면 Map<String,Article> articleCache캐시로 동작하는 Map 객체는 stateful이라고 생각됩니다. 근데 이게 싱글톤으로 동작하지 않고, 매번 객체를 새로 생성한다면 캐시의 의미가 사라지지 않나요?그래서 '스프링 빈은 항상 stateless'로 설계해야 한다가 과연 늘 옳은 말인지 궁금합니다.
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
Dynamic web 프로젝트를 메이븐 프로젝트로 컨버트해서 사용하는 이유가 궁굼합니다.
윤재성 강사님 스프링 프레임워크 개발자를 위한 실습을 통한 입문 과정도 수강을 하였는데요.거기서는 maven 프로젝트로 생성해서 Create a Simple project로 프로젝트를 생성했었습니다.Spring MVC5 강의에서는 Dynamic web 프로젝트를 생성하고 메이븐 프로젝트로 convert 해서 사용하시던데 메이븐 프로젝트로 처음부터 만들지 않고 컨버트해서 강의하신 이유가 궁굼합니다! 또 그 둘의 차이점도 궁굼해요!
-
미해결스프링 핵심 원리 - 기본편
Long과 long의 차이
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의를 보다 보면 어떤 경우엔 Long을 쓰고 또 어떤 경우엔 long을 쓰던데 둘의 차이가 있나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
궁금한점 있습니다
안녕하세요 강사님 궁금한것이 있어서 질문 남깁니다 public void returnBook(String bookName) { UserLoanHistory targetHistory = this.userLoanHistories.stream() .filter(history -> history.getBookName().equals(bookName)) .findFirst() .orElseThrow(IllegalAccessError::new); //findFist()는 옵셔널로 반홚나다 targetHistory.doReturn(); }이 로직에서 만약 한 책을 빌렸다가 반납하면 그 히스토리를 반납완료 상태로 만들어주고 끝내고다시 그 책을 빌리려고 한다면 새로운 히스토리를 만들어서 List에 저장할텐데 그럼 다시 그책을 반납할 경우 findFirst()를 해서 그 히스토리를 찾아왔을때 이미 반납된 책을 다시 반납하는 행위가 되는것이 아닌건지 궁금해서 질문 드립니다!
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 에러
강의 내용대로 코드도 똑같고 위치도 다 똑같이 했는데 다음과 같이 오류가 뜹니다. 구글에 쳐도 안나오고 해결방법좀 알려주세요...
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
상품등록폼
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 상품등록은 언제나 같은 폼인데 경로를 변경하는 이유가 무엇인가용 정적경로 그대로 서비스해도 되지않나요
-
해결됨스프링 부트 - 핵심 원리와 활용
프로메테우스 기본 설정
안녕하세요.현재 서비스중인 사이트에 액츄에이터 적용중에 있습니다!웹에서는 /actuator/prometheus 접근은 되는데 프로메테우스 화면에서 보면 상태가 down이고 에러가 납니다. URL 링크 연결은 잘돼요..스프링 시큐리티쪽에서 별도로 처리를 해줘야되는건지... 예측되는 부분이 있을까요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Service logic 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]현재 ItemService에서 update 로직을 수행하고 있습니다.혹시 Item Entity 에서 update 로직을 수행해도 되나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
실행시 오류가 생겨서 데이터베이스에 업데이트가 안되는 현상을 겪고 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이렇게 오류가 나는데 혹시 왜그런지 알 수 있을까요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
bindingResult
1. itemName이 존재하지 않을 때 bindingFailure를 false로 하고 bindingResult에 FieldError를 넣어줍니다. 궁금한 부분은 값이 들어오지 않는 경우도 binding 자체는 성공적으로 이루어졌다는 이야기인가요?데이터 바인딩이라는 것에 대해 자세히 설명해주시면 감사하겠습니다. @ModelAttribute Item파라미터를 받을 때 바인딩이 실패할 경우 스프링에서 bindingResult에 BindFailure가 true 로 한 후 FieldError를 저장하는 건가요?바인딩을 정확히 받아드리지 못하고 있어서 이런저런 궁금증이 생기네요.. 감사합니다. 4. 예를들어 Price의 경우 "qqq"등으로 바인딩이 실패하면 Null값으로 Item객체가 파라미터로 들어오나요?5. 바인딩이 되는 시점이 정확히 궁금합니다.
-
미해결실전! 스프링 데이터 JPA
Entity를 직접 반환할 때 Model에 담아서 보낸다면?
안녕하세요, 강의 정말 잘 듣고있습니다.다름이 아니라Entity 반환에 대해서 질문 있습니다.영한님께서 보안적인 문제, API 유지보수 문제 등 때문에 DTO로 변환하여 반환 하여한다고 하셨는데, 만약 RestApi가 아니라 view로 직접 전달할 때 받아온 Entity를 DTO로 변환 하지 않고 그대로 model에 담아서 보낸다면 어떠한 문제들이 있을까요? 질문 드리기 전에 제가 먼저 생각 해봤을 때 장점은굳이 새로운 dto 객체를 만들지 않아도 된다는 장점이 있고단점으론 불필요한 데이터도 반환 되는 문제와 api의 확장 가능성이 힘들다 정도 있다고 생각되는 더 많은 단점이 있을까요?
-
미해결Practical Testing: 실용적인 테스트 가이드
ControllerTestSupport 관련 질문입니다.
안녕하세요 강사님현재 회사에서 진행중인 프로젝트에서 ControllerTestSupport를 생성하여 controllerTest시 스프링부트를 띄우는 횟수를 줄이기 위해 사용하였는데 테스트 속도가 줄어들거나 하지 않고 거의 똑같더라구요,, 그래도 스프링부트를 띄우는걸 최소화 하는게 나을까요? ControllerTestSupport 사용해야하는 더 나은 이점이 있는지 궁금합니다!
-
미해결스프링 핵심 원리 - 기본편
빈으로 등록된 NetworkClient 객체에 관하여 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.빈으로 등록된 NetworkClient 객체에 관하여 질문드립니다.코드를 참조하면 LifeCycleConfig.class만 파라미터로 받고 있기 때문에 빈에 등록된 것은 NetWorkClient객체라고 생각됩니다. 그러면 NetWorkClient 객체 내에 있는 필드 url은 빈으로 등록되지 않는건가요?만약 그렇다면 의존관계 주입은 이루어지지 않는건가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
hello-spring run은 되는데 중지하면 오류가 나요
안녕하세요. 스프링부트는 2.7.15 다운 받았고 SDK는 모두 11로 설정해놨습니다.!!자꾸 옆 부분이 빨간색으로 뜨는 이유는 뭘까요...?RUN도 잘 되는데 중지하면 오류가 납니다...알려주시면 감사하겠습니다.!
-
해결됨토비의 스프링 부트 - 이해와 원리
커스톰 @Conditional 강의에서 질문입니다.
<해결됨>같은 질문 링크입니다. https://www.inflearn.com/chats/757401/x27-conditional%EA%B3%BC-condition-x27-%EA%B0%95%EC%9D%98-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B83-0-%EC%9D%B4%EC%83%81%EC%9C%BC%EB%A1%9C-%EC%95%88%EB%90%98%EB%8A%94%EB%B6%84%EB%93%A4 https://github.com/tobyspringboot/helloboot/commit/9db7fbb4b665ad0a21e18fa580d378179b44fa92spring boot 3에서 적용해보고 있습니다.제목의 강의에 해당하는 커밋은 위 링크일 것 같습니다. 해당 커밋에서 checkout 한 후, dependencies { implementation('org.springframework.boot:spring-boot-starter-web') { exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat' } implementation 'org.springframework.boot:spring-boot-starter-jetty' testImplementation 'org.springframework.boot:spring-boot-starter-test' } 위와 같이 jetty를 사용하게 해두고 어플리케이션을 실행하면 Unable to start web server, java.lang.NoClassDefFoundError: jakarta/servlet/http/HttpSessionContext 오류는 jakarta.servlet.http 패키지의 HttpSessionContext 자바 클래스를 찾을 수 없음이렇게 나오는 것 같습니다.어떻게 해결할 수 있을까요..?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
return "redirect:/items/{itemId}"; 질문
아래코드에서 @PostMapping("/items/new") 이 컨트롤러가 호출이 되면 return "redirect:/items/{itemId}";에 의해 redirect되는데 그 다음 바로 아래 컨트롤러 @GetMapping("/items/{id}")가 호출되는거로 보여집니다. 그런데 redirect 경로는 끝에 {itemId}인데 왜 /items/{id}가 호출이 되나요 ? 같아야 호출되는거 아닌가요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 JdbcTemplate에서 질문
public class JdbcTemplateMemberRepository implements MemberRepository{ private final JdbcTemplate jdbcTemplate; public JdbcTemplateMemberRepository(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(dataSource); }이 코드 부분에서JdbcTemplate가 org.spring에 영한님 강의에서는 있던데제 꺼에서는 없더라고요. 이거 해결책이 궁금합니다.감사합니다.