묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결백엔드 개발자 성능 개선 초석 다지기
findNoticeByDates 실행 에러
인덱싱 ngrinder 성능테스트를 하기 위해서 findNoticesByDates에서 dates?startDate=2023-01-15%2000:00:00&endDate=2023-02-14%2023:59:59로 파라미터 값을 넘기는 과정에서 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.example.performancecache.mapper.NoticeReadMapper.findNoticesByDates가 발생하는데 혹시 NoticeReadMapper.xml에 따로 설정을 해줘야 하는건지 아니면은 강의를 따라가며 제가 놓친 부분이 있는건지 궁금합니다 해결방법도 같이 질문드립니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Cannot resolve method "addAttribute"
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
mvc강의 듣고 프로젝트 진행중 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]mvc 강의를 다 듣고 프로젝트를 진행중인데 계속 오류가 떠서 혹시 한번만 봐주실수있나요 ? ㅠㅠhttps://drive.google.com/drive/folders/15tIzYE6utLhSHtXVeYGPBUeqcMUFxKJc?hl=ko http://localhost:8080/velog/signUp 스프링을 실행시키고 위의 url로 이동한 뒤, 값을 모두 입력하고 Sign Up 버튼을 누르면 처음 기본 화면인 http://localhost:8080/velog/login 으로 가야하는데 이동을 안하고 계속 에러가 뜨는 상황입니다 ㅠㅠ.. 혼자 해결해보려고 했는데 하루종일 잡고있어도 에러가 안풀리네요... 도와주시면 감사하겠습니다어느부분에서 오류가 난걸까요 ?ㅠㅠㅠ
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
cmd 실행에서 파일이 안 뜹니다
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]왜 저렇게 뜨는지 잘 모르겠습니다..원래 spring study는 C:\ 아래에 있었는데 cmd엔 C:\Users\지우>가 기본값이어서 저 아래에 넣어주었는데도 안 뜹니다.. 지금은 intellj 실행할 때 경로가 일치하지 않다고 오류가 떠서 다시 C:\ 아래로 옮겼습니다
-
미해결스프링 시큐리티
spring security 패치 관련
@Configuration @EnableWebSecurity public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { //인증 http .authorizeHttpRequests((authorizeRequests) -> authorizeRequests.anyRequest().authenticated()); //인가 http .formLogin((formLogin) -> formLogin .usernameParameter("user") .passwordParameter("1234") .defaultSuccessUrl("/", true) ); return http.build(); } }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
빈으로 등록하는 이유
controller, repository 이런걸 스프링 빈으로 등록하는 이유는 자주 사용하기 때문인가요 ?? 딱 1개만 생성이 되어서 메모리 낭비를 방지하기 위함인가요 ?그리고 해당 컨트롤러/레포지토리 객체를 만들어서 스프링 컨테이너가 들고있을 때 해당 객체의 내용을 다 포함하고 있는 형태로 들고있나요?? 아니면 인터페이스처럼 가볍게?? 들고있는건가요 ??질문이 너무 추상적이네요 죄송합니다
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
부트스트랩, css
프로젝트를 받아서 실행시켜보니 이런 메시지가 뜨면서 css가 적용되지 않은것을 확인 했습니다. 해결해 보기 위해서 링크도 추가해보고 했지만 여전히 바뀌지가 않네요 이럴경우는 어떻게 해야할까요..?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품주문() 테스트에서 주문가격이 에러가 뜨는데, 어딜 봐야할 지 모르겠어요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]OrderServiceTest의 상품주문() 테스트에서 아래의 테스트가 에러가 뜨는데요.assertEquals(10000 * orderCount, getOrder.getTotalPrice(), "주문 가격은 가격 * 수량이다.");Expected :20000Actual :0 실제 20000이 아닌 0으로 반환되는데, 어디를 봐야할까요?Order클래스의 getTotalPrice()메소드에서orderItem.getOrderPrice()는 10000을 잘 반환하는데요totalPrice는 0으로 자꾸 반환하네요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
순수 jdbc에서 동작시키면 갑자기 회원조회기능, 회원등록후 홈화면 가기가 안되ㅂ니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. https://drive.google.com/file/d/1i3bo7BW0D9boeFa4l3_EW4sBliS1sqDe/view?usp=sharing 코드는 위와 같습니다. 감사합니다.
-
미해결스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
스프링 버전업일 경우에는 Pointcut @PostMapping 조건이 달라질까요?
안녕하세요 강사님현재 스프링부트 3.2.2 버전을 사용하고 있습니다.배운대로 개인적인 프로젝트에 적용해보고 있는데@Around 애노테이션의 메서드 실행이@GetMapping일 경우에는 AOP가 잘 작동하나@PostMapping일 경우에는 작동하지 않고@Validation 애노테이션에서 오류가 먼저 터집니다..무슨 문제일까요..? .m.m.a.ExceptionHandlerExceptionResolver : Resolved [org.springframework.web.bind.MethodArgumentNotValidException: Validation failed for argument [0] in public org.springframework.http.ResponseEntity<?> com.board.www.app.board.controller.api.BoardApiController.create(com.board.www.app.board.dto.BoardDto,org.springframework.web.multipart.MultipartFile) with 2 errors: [Field error in object 'dto' on field 'content': rejected value []; codes [NotBlank.dto.content,NotBlank.content,NotBlank.java.lang.String,NotBlank]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [dto.content,content]; arguments []; default message [content]]; default message [내용을 입력해 주세요]] [Field error in object 'dto' on field 'title': rejected value []; codes [NotBlank.dto.title,NotBlank.title,NotBlank.java.lang.String,NotBlank]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [dto.title,title]; arguments []; default message [title]]; default message [제목을 입력해 주세요]] ]
-
미해결백엔드 개발자 성능 개선 초석 다지기
gradle
안녕하세요! 혹시 캐시 설정 관련해서도 gradle 설정 파일도 올려주실 수 있을까요!?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
강의 질문있습니다.
앨범 클래스 파일에는 아래와 같은 에러가 나옵니다.(3번째 사진)Persistent entity 'Album' should have primary key코드입니다.package jpabook.jpashop.domains.Item; import jakarta.persistence.*; import lombok.Getter; import lombok.Setter; //import javax.persistence.*; @Entity @DiscriminatorValue("A") @Getter @Setter public class Album { private String artist; private String etc; }OrderItem 클래스 파일에는 아래와 같은 에러가 나옵니다.(2번째 사진)'Many To One' attribute type should not be 'Item'코드입니다.package jpabook.jpashop.domains; import com.fasterxml.jackson.annotation.JsonIgnore; import jakarta.persistence.Entity; import jpabook.jpashop.domains.Item.Item; import lombok.AccessLevel; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import jakarta.persistence.*; @Entity @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class OrderItem { @Id @GeneratedValue @Column(name = "order_item_id") private Long id; // @ManyToOne(fetch = LAZY) @ManyToOne @JoinColumn(name = "item_id") private Item item; @JsonIgnore // @ManyToOne(fetch = LAZY) @ManyToOne @JoinColumn(name = "order_id") private Order order; // private int orderPrice; //주문 가격 // private int count; //주문 수량 }카테고리 클래스 파일에는 아래와 같은 에러가 나옵니다.(1번째 사진)'Many To Many' attribute value type should not be 'Item'코드입니다.package jpabook.jpashop.domains; import jakarta.persistence.*; import jpabook.jpashop.domains.Item.Item; import lombok.Getter; import lombok.Setter; //import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter public class Category { @Id @GeneratedValue @Column(name = "category_id") private Long id; private String name; @ManyToMany @JoinTable(name = "category_item", joinColumns = @JoinColumn(name = "category_id"), inverseJoinColumns = @JoinColumn(name = "item_id")) private List<Item> items = new ArrayList<>(); // @ManyToOne(fetch = LAZY) @ManyToOne @JoinColumn(name = "parent_id") private Category parent; @OneToMany(mappedBy = "parent") private List<Category> child = new ArrayList<>(); // //==연관관계 메서드==// // public void addChildCategory(Category child) { // this.child.add(child); // child.setParent(this); // } } 강의를 여러번 들어도 틀린부분은 없는데 에러가 나오는게 이해가 되지 않아 코드 올립니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
카프카를 통해 다른 서비스의 데이터를 수정하는 과정에서 예외가 발생했을 경우처리하는 방법이 궁금합니다.
두개의 Service가 통신할 때 예외처리 시나리오A, B 서비스가 있을 때 A 서비스에서 B 서비스로 데이터를 수정 또는 생성하는 요청을 했는데 이 때 개발자가 의도해서 예외를 발생시켰던 예상치못한 예외가 발생했던 간에 예외가 발생해서 B서비스의 데이터를 수정하지 못하는 경우라면 A서비스는 어떻게 롤백시켜주나요? 1번 시나리오에서 하나의 서비스가 추가되어 3개의 Service가 통신할 때 예외처리 시나리오A서비스에서 B 서비스를 수정 or 생성 하고 C서비스를 수정 or 생성하는 시나리오일 경우 만약에 B서비스에 요청을 했을 때는 성공을하고 C서비스에 요청을 했을 때 실패를 했다면 A서비스로 롤백시켜줘야하고 B서비스도 롤백을 시켜주어야할텐데 이 경우에는 어떻게 롤백처리를 해주나요??구글해보니 그냥 추상적으로 오케스트레이션 Saga패턴? 그런걸로 처리한다는데 막연하게 글로만 설명있고 어떤 소프트웨어를 설치해서 코드를 짜면된다 이런건 없어서 어떻게 처리되어야하는건지 감을 못잡겠네요ㅠㅠ. Axon 서버 뭐 이런것도 본거 같기도 하고요.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Service, Repository 사용시 MemberService-MemoryMemberRepository 관계 질
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. MemberService 클래스와 MemoryMemberRepository 클래스 간 관계가 궁금해 질문 드립니다.MemberService 클래스 내부에서 DB 접근을 위해 MemberRepository를 final로 선언하고 이를 생성자로 인스턴스를 할당 해주고 있는데, @Service, Repository로 스프링빈에 등록만 하고 따로 다른 코드를 쓰는것 같진 않은 것 같습니다.해당 클래스들은 @AutoWired를 사용하지 않아도 자동으로 매핑(?)이 되는걸까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
AOP 적용에 대한 이해
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. AOP를 학습하면서 특정 작업에 시간이 얼마나 걸리는지 측정하는 것은 학생입장에서 실무에서나 쓰이지 보통 학생들끼리 하는 프로젝트에서는 사용의미가 취약한 느낌이 드는데 혹시 실무가 아닌 상황에서도 유용하게 쓰일만한 다른 예시가 있을까요?
-
미해결스프링 배치
spring batch 5 버전 대응
spring batch 5 버전이 되면서 배치 설정과 관련해서 변화가 생긴 걸로 압니다.JobBuilderFactory와 StepBuilderFactory가 더 이상 사용되지 않고, @EnableBatchProcessing을 더 이상 권장하지 않고, DefaultBatchConfiguration 상속하여 job설정을 하는 등..기존 예제 소스를 spirng batch 5 버전에 맞게 refactoring하거나 아니면, 최소한 spring batch 5 버전에 맞는 설정 예시와 관련해서 추가로 문서를 정리해서 제공할 계획은 없나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest실행중 에러가 났습니다
프로젝트 입니다https://drive.google.com/file/d/1v6JLNNmmTBQuH3zuJU1CXzh18yvC3xwG/view?usp=drive_link에러는 다음과 같습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
isEmpty(), NPE
private void validateDuplicateMember(Member member) { //중복 회원 검증 List<Member> findMembers = memberRepository.findByName(member.getName()); if(!findMembers.isEmpty()){ throw new IllegalStateException("이미 존재하는 회원입니다."); } }중복 회원 검증 메서드에서 위의 코드는 test 돌릴 때 제대로 작동하는데 아래 코드처럼 if문의 조건을 바꾸면 test가 fail합니다..!리스트가 null일 경우 isEmpty() 호출 시 NPE가 발생하기 때문에 가급적 null인지 여부도 함께 확인하라는 글을 본적이 있어서 아래처럼 작성한 것인데, 왜 에러가 나는 건지 궁금합니다!private void validateDuplicateMember(Member member) { //중복 회원 검증 List<Member> findMembers = memberRepository.findByName(member.getName()); if(!findMembers.isEmpty() || findMembers!=null){ throw new IllegalStateException("이미 존재하는 회원입니다."); } }
-
해결됨백엔드 개발자 성능 개선 초석 다지기
5000건에 대한 부하테스트 중 5000건 관련
올려주신 코드를 확인해보면SELECT * FROM notice limit 1000;findAll 쿼리는 1000건만 가져오도록 되어있습니다.5000건의 데이터를 조회하는 API라 하신 것은 5천건의 데이터를 가진 테이블에서 1000건을 조회하는 쿼리라고 이해하면 될까요?
-
해결됨백엔드 개발자 성능 개선 초석 다지기
비동기 방식시 주의사항 관련해서 (Common Pool)
비동기 방식 사용시 별도의 thread pool을 설정하지 않는다면 common pool을 사용하기 때문에, thread pool의 thread를 사용하도록 설정해야 하셨는데, common pool을 사용하면 안되는 이유와 thread pool의 thread를 사용했을 떄 어떤 차이점이 있는지 궁금합니다. 제가 배경지식이 부족해서 그런지 모르겠지만 이 부분에 대한 설명이 없어서 아쉬웠습니다.