묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
EntityManager의 쿼리 순서 보장
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. JPA의 영속성 컨텍스트의 쿼리 순서 보장에 대해 궁금한 점이 있어 연락드렸습니다.@Transactional public void deleteUser(Long userId) { seniorRepository.findByUserId(userId).stream() .forEach(seniorService::deleteSenior); User user = findUserById(userId); userRepository.delete(user); } senior 객체가 user객체를 외래키로 가지는 상태입니다.user 객체를 삭제하고, senior 객체는 삭제하지 않기 위해서 위와 같은 코드를 작성하였습니다. deleteSenior 메서드에서는 senior의 User 참조 값을 null로 바꾸어 주는 역할을 수행합니다.그리고 같은 트랜잭션 내에서 user까지 삭제하는 코드입니다. 위 코드에서 senior의 User 참조 값을 null로 변경하는 update 로직과, user를 삭제하는 delete 로직이 트랜잭션이 종료된 시점에 한번에 쿼리로 생성되어 데이터베이스로 날아가는것이 맞는지 궁금합니다. 만약 그렇다면, 두 쿼리의 순서를 보장할 수 있는지 궁금합니다.엔티티 매니저는 key-value 형태로 정보를 저장한다고 하여 순서가 보장되지 않을 것 같은데, 순서가 보장된다면 어떤 것에 의해서 순서가 보장되는지도 알려주시면 감사하겠습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 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:\ 아래로 옮겼습니다
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
연산자 문제 문의드립니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]문제 조건은 이렇게입니다!int 형 변수 score 를 선언하세요. score 가 80점 이상이고, 100점 이하이면 true 를 출력하고, 아니면 false 를 출력하세요. 사소한 질문이긴한데, 문제 답은 저렇게 나왔는데boolean result 변수를 사용해서 출력해야하나요??저는 그냥 바로 이렇게 했습니다 ;-; ...결과는 똑같이 나오는데 ...이렇게 했을 시에 가독성이 떨어져서 변수로 하는걸까요 ..?
-
미해결스프링 시큐리티
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 코드는 위와 같습니다. 감사합니다.
-
미해결백엔드 개발자 성능 개선 초석 다지기
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); // } } 강의를 여러번 들어도 틀린부분은 없는데 에러가 나오는게 이해가 되지 않아 코드 올립니다.
-
미해결김영한의 실전 자바 - 기본편
문제는 비슷하게 풀었는데
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Book 기본 생성자에 0 은 생략이 가능한거죠?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
반복문 문제중 피라미드 문제 관련하여 질문있습니다!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요! 섹션 5 반복문 문제 중에 있는 반쪽짜리 피라미드가 아닌 완전한 피라미드를 만들어 보고 싶은데 혹시 섹션 5까지의 내용으로 구현을 할 수 있는 부분일까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Service, Repository 사용시 MemberService-MemoryMemberRepository 관계 질
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. MemberService 클래스와 MemoryMemberRepository 클래스 간 관계가 궁금해 질문 드립니다.MemberService 클래스 내부에서 DB 접근을 위해 MemberRepository를 final로 선언하고 이를 생성자로 인스턴스를 할당 해주고 있는데, @Service, Repository로 스프링빈에 등록만 하고 따로 다른 코드를 쓰는것 같진 않은 것 같습니다.해당 클래스들은 @AutoWired를 사용하지 않아도 자동으로 매핑(?)이 되는걸까요?
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
saveAndFlush 와 synchronized
https://www.inflearn.com/questions/655574위에 질문에서 saveAndFlush를 사용한 이유에 "save 메소드를 사용하게 된다면 데이터베이스에 바로 flush 가 되는것이 아니기때문에 synchronized 를 이용한 방법을 테스트할 때 오류가 날것입니다." 라고 답변해주셨는데 save를 사용하든 saveAndFlush를 사용하든 문제가 발생하지 않나요?flush를 바로 해준다고 데이터베이스에 커밋이 되는게 아니기때문에 충분히 동시성 문제가 생길 수 있다고 생각됩니다. 결국 아래 코드에서 saveAndFlush를 사용하든 save를 사용하든 실패하는것인데 왜 saveAndFlush를 사용하면 오류가 안난다고 하신건지 궁금합니다.@Transactional public synchronized void decrease(Long id, Long quantity) { Stock stock = stockRepository.findById(id).orElseThrow(); stock.decrease(quantity); stockRepository.saveAndFlush(stock); }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
AOP 적용에 대한 이해
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. AOP를 학습하면서 특정 작업에 시간이 얼마나 걸리는지 측정하는 것은 학생입장에서 실무에서나 쓰이지 보통 학생들끼리 하는 프로젝트에서는 사용의미가 취약한 느낌이 드는데 혹시 실무가 아닌 상황에서도 유용하게 쓰일만한 다른 예시가 있을까요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
While 반복문) 짝수 출력 문제
이 문제에 대한 답을 강사님께서는 이렇게 풀어주셨는데int num = 2; int count = 1; while(count <= 10){ System.out.println(num); num += 2; count++; }이렇게 아래와 같이 풀어도 될까요? 이거는 좋은 코드일까요?nt num = 1; int count = 0; while(count < 10){ if (num % 2 == 0){ System.out.println(num); num++; count++; }else{ num++; } }제가 처음 문제를 이해한 바로는 num이 몇으로 시작하든 num에서부터 처음 짝수 10개를 출력하는 코드를 작성하고 싶었습니다. + 위의 강사님이 풀어주신대로면 num에 홀수를 넣는 순간 처음 홀수 10개를 출력하는 답이 나오기 때문에 만약 num = 2라는 문제조건이 없다면 if (num % == 0)를 작성해서 이때만 답이 나오도록 예외 설정을 해야하는 것도 맞나요?
-
해결됨파일 업로드 취약점 고급 공격 기법 PART2 [통합편]
첨부 파일은 어디에서 다운로드 받을 수 있나요?
상단에서 첨부 파일을 다운로드 받을 수 있으시다고 하셨는데 없는 것 같아서요. 어디서 다운로드 받을 수 있나요?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
채점 사이트에서 런타임 에러가 발생하여 질문드립니다.
강의보기전 짜본 코드입니다. 이클립스에서 실행할때는 답이 맞게 나오는데 채점 사이트에서는 에러가 출력되어 질문드립니다. package codingTest; import java.util.*; public class Main { public int Solution(int n, int[] ns) { int answer = 0; int reward = 0; for (int i = 0; i < n; i++) { if (ns[i] == 1) { reward++; answer += reward; } else if (ns[i] == 0) { reward = 0; answer += reward; } } return answer; } public static void main(String[] args) { // TODO Auto-generated method stub Main T = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int[] ns = new int[n]; for (int i = 0; i < n; i++) { ns[i] = kb.nextInt(); } System.out.println(T.Solution(n, ns)); } }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepositoryTest실행중 에러가 났습니다
프로젝트 입니다https://drive.google.com/file/d/1v6JLNNmmTBQuH3zuJU1CXzh18yvC3xwG/view?usp=drive_link에러는 다음과 같습니다.