묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
HelloSpringApplication 실행 시 입력상자
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]HelloSpringApplication 실행 시 아래와 같은 입력 상자가 뜨는데 이유가 뭔가요?
-
해결됨스프링 핵심 원리 - 기본편
gradle dependencies library 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]build.gradel에 web 라이브러리 추가하고 External Libraries에도 web관련 라이브러리들이 잘 추가가 되었는데 오른쪽 Gradle에 dependencies library에 빨간줄은 왜 생기는 걸까요??
-
미해결스프링 핵심 원리 - 기본편
컴포넌트 스캔 대상인 @Configuration에 대해서
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요. @Configuration도 컴포넌트 스캔 대상인데 , 제가 궁금한건 교재에 @Configuration 부가기능으로 스프링 빈이 싱글톤을 유지하도록 추가 처리를 한다. 이 부분입니다. 싱글톤은 모든 애노테이션에서 보장하는거 아닌가요? 교재만 보면 Configuration만 싱글톤은 지원하는 것 처럼 적혀져 있어서요. 싱글톤은 @Controller , @Repository , @Component , @Configuration , @Service 등 모든 애노테이션에서 보장하는건줄알았습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자바 17로 진행해도 상관없을까요??
자바 17 밖에 안보여서 일단 17로 진행하려는데 ,,,, 11로 꼭 해야하나요,,?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
단방향에서의 연관관계 주인 및 애노테이션
안녕하세요! 몇가지 궁금한게 있어서 질문드립니다. A -> B인 단방향에서 연관관계 주인은 A인가요? 단방향에서 양쪽 엔티티에 애노테이션(ex. @OneToOne)이 가능한걸로 알고있지만 필수로 적어줘야하는건 연관관계 주인쪽인가요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
H2 와 웹페이지 연동이 안되는 듯 합니다
순수 JDBC 수업을 들으며 코드를 복붙하였고 클래스리소스 위치도 봤는데 웹페이지에서 H2에 저장된 데이터가 보이지 않습니다 웹페이지에서 보이는 목록입니다 H2에서 보여지는 데이터입니다 application.properties 와 SpringConfig 코드창을 올립니다스프링부트 3.X 자바는 17버전을 사용하고 있습니다혹시 몰라 인텔리제이에서 H2를 연동하였는데도 웹페이지에서 DB로 저장이 안되네요 ㅠㅠ 어느 부분을 더 검색해서 조치해야할까요...
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
HelloSpringApplication.java jdk 17로 맞췄음에도 실행되지 않을 때
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]jdk 버전을 17로 맞췄음에도 HelloSpringApplication.java의 실행버튼이 활성화 되지않습니다. 이런 경우는 어떻게 해결해야하나요?
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
NamedLock 에서 @Transactional 사용에 관한 질문
NamedLock을 사용한 예제실습 중 질문입니다NamedLockStockFacade의 decrease 메소드에 @Transactional 을 걸고 StockService의 decrease 메소드에는 @Transactional 을 걸지 않아도 잘 작동해야하는거 같은데, 데드락에 걸리는거 같습니다. 그 이유가 궁금합니다제 생각에는 NamedLockStockFacade의decrease 메소드에 @Transactional 을 걸면,lockRepository.getLock(id.toString()), stockService.decrease(id, quantity), lockRepository.releaseLock(id.toString()) 이 3 메소드가 모두 한 트랜잭션 안에서 처리되므로 lock을 걸고 lock을 해제하는 그 사이에 재고를 감소하므로 아무 문제가 없어보여서 질문드립니다.
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
충돌의 기준이 무엇인가여?
Optimistic Lock은 충돌이 빈번할 경우 적절하지 않다고 하는데, 충돌이 기준이 어떤건지 궁금합니다. 별도로 프로젝트에서 Mybatis랑 같이 쿠폰발급 프로젝트에서 응용중입니다.전 쿠폰 500개를 기준으로 발급된 수량을 합산하는 로직입니다.스레드 100개기준으로 동시성테스트를 진행했을때 69개만 적용되더라구요. 재시도 로직에서 Thread.sleep(1000)으로 하면 98개까지 적용됩니다. 그런데 스레드 10개를 기준으로 동시성 테스트를 진행했을때는 정합성이 맞고, 스레드1000개를 돌려버리면 500개가 전부다 발급됩니다. 1000개 중에 몇개는 실패하고, 몇개는 성공하고 그래서 500개 전부 다 발급된 상황이라고 예상됩니다.Q1. 충돌이 많은 상황이라는게 동시에 여러 스레드가 접근하는 걸 의미하는게 맞나요? 충돌의 기준은 무엇인지, 어플리케이션 내부 로직마다 다른걸까요?Q2. 충돌이 빈번하지 않을때 낙관적락을 사용하는 경우가 어떤 경우인지 궁금합니다.. 정합성이 많이 떨어진다고 생각하는데 실제로 현업에서 많이 사용하나요?Q3. 데이터베이스에 락을 걸지 않아서 성능상 이점이 있다고 하셨는데, 제가 테스트해봤을때는 pessimisticLock보다 Mysql에 더 부하가 많이가더라구요. 재시도로직으로 I/O작업이 더 많이 일어나서 그런것 같은데, 말씀하시는 '성능상 이점'이라는건 어떤건지 궁금합니다.
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
다시 강의를 보니 드는생각..
이메일 인증요청시간을 1시간으로 잡으셨는데인증할때마다 마지막인증요청 시간을 업데이트 쳐줘야 하는거 아닌가요 ???(/resend-confirm-email) 이 메서드를 실행 정상 했을때 마다
-
해결됨스프링 핵심 원리 - 기본편
LogeDemoController 클래스의 @RequestMapping 어노테이션의 기능이 무엇인가요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@RequestMapping어노테이션의 기능과 안에 파라미터로 적용한 log-demo가 무엇인지 궁금합니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
해당 로그인 체크 로직에서 에러가 발생하지 않으려면
/** * @return null 로그인 실패 */ public Member login(String loginId, String password) { Optional<Member> byLoginId = memberRepository.findByLoginId(loginId); Member member = byLoginId.get(); if (member.getPassword().equals(password)) { return member; } else { return null; } // return memberRepository.findByLoginId(loginId) // .filter(m -> m.getPassword().equals(password)) // .orElse(null); } 복사하실 수 있게 코드 원본과 사진 첨부드립니다.밑에 주석처리한 부분이 이제 강의에서 stream으로 간소화한 로직인데요.stream을 사용하지 않은 로직으로 로그인에 실패했을 때, NoSuchElementException 에러가 발생하는 것을 확인했습니다.아마 optional 객체에 get() 메서드를 찍을 때, 발생하는 것 같습니다. 여기서 질문이 있습니다. stream의 filter를 이용하면, 왜 에러가 발생하지 않는 것인지 궁금합니다. stream을 통해 코드를 간소화시켰지만 두 코드의 동작 원리는 같다고 생각합니다. 단지 stream만 썼다고 위 코드는 에러가 발생하고, 아래 코드는 에러가 발생하지 않는 것이 이해가 잘 안되는 것 같습니다. (stream에 대한 이해가 부족한 탓일까요)만약 stream 처리를 하지 않은 로직을 사용한다고 했을 때, NoSuchElementException 에러가 발생되지 않게 하려면 어떻게 로직을 재구성 해야할까요? stream 사용 x
-
미해결Practical Testing: 실용적인 테스트 가이드
OrderProduct 테스트에 대해
안녕하세요 강사님먼저 강의에 대해 너무 감사드린다는 말씀 드리고 싶습니다.강의 내용 중 OrderProduct를 생성하는 부분의 책임이 Order에 있게 설계하는 부분에 정말 매력을 느끼고, 유사한 설계 방법들에 대해 공부하려면 어떤 키워드를 알아보면 좋을까요??또한 이 강의를 따라 공부해서 개인적으로 진행중인 프로젝트에 적용하면서 공부하고 있는데, 딱 Order와 OrderProduct같은 관계에서 OrderProduct를 강의에서처럼 생성자가 아닌 정적 팩토리 메소드를 통해 만들어보고자 하였습니다.하지만 여기에서 OrderProdcut의 정적 팩토리 메소드를 테스트하려면 Order가 필요하고, Order를 create하려면 또 OrderProduct가 내부에서 만들어지는 문제가 발생했습니다.이런 경우는 어떻게 해결할 수 있을까요??임의로 Order에 대해 mock으로 생성해서 해결하고는 있는데, 이게 일반적인 방법이 될 수 있을까요?감사합니다!!
-
미해결스프링 핵심 원리 - 기본편
강의 내용에 나오는 부분을 추가 학습하고 싶은데 어떤 강의를 들어야 할까요?
쓰레드에 관한 개념을 서칭하는데 한계가 있어, 멀티 쓰레드 관련하여 강의를 듣고싶습니다.스프링 로드맵을 따라가고 있는데 이에 대한 설명이 나오는 부분이 있을까요?아니면 김영한 강사님의 자바 강의에 따로 설명이 되어있다면 어떤 강의인지 알려주셨으면 좋겠습니다 ㅠㅠ
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
public FrontControllerServletV1() {} 생성자 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] public FrontControllerServletV1() 생성자가 실행되면,생성자 내부에서 url 주소와 컨트롤러가 매핑되도록 한다는 것은 알겠습니다. 근데 해당 (기본) 생성자를 실행시키려면,어디선가 new FrontControllerServletV1(); 라는 코드를 적어줘야 하지 않나요? 아래 코드를 실행한 결과, 서버클 껐다 킬 때마다 생성자가 1회 실행되던데,왜 자동으로 1회 실행되는거죠?그 어디에도 new FrontControllerServletV1(); 라는 코드는 없는데 말입니다.
-
미해결스프링 핵심 원리 - 기본편
해당 클래스 빈 조회 방법
스프링 컨테이너는 생성자에 클래스 정보를 받습니다. 여기에 클래스 정보를 넘기면 해당 클래스(SingletonBean)가 스프링 빈으로 자동 등록됩니다.여기서 등록된 빈을 조회하려고 하는데 저렇게 name을 singletonBean으로 조회하면 등록된 빈을 찾을 수 없다고 오류가 납니다. 빈 이름으로 조회하고 싶은데 무엇으로 조회해야하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 tcp 연결
5분 26초부분까지 따라왔는데 이러한 문구가 떠서 무엇이 문제인지 잘 모르겠습니다 도와주세요 ㅠ
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
콘솔에 쿼리가 지저분하게 나오는 문제.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.인텔리제이 콘솔창에 쿼리가 이런식으로 지저분하게 보입니다.yml 설정은 이렇게 되어있고요.jpa: hibernate: ddl-auto: create properties: hibernate: # show_sql: true format_sql: true logging: level: org.hibernate.SQL: debug # org.hibernate.type: trace log4j jdbc 설정하는 쪽으로 일단 구글링해서시도해보고 있긴한데, 잘안되네요.혹시 다른 방법이 있을까요
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
addAttribute에 오류 이유가 알고 싶습니다.
addAttribute에 오류 이유가 알고 싶습니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
페이징과 한계 돌파의 batch_size에 대해
밑줄 친 부분은 yml에 batch_size에 의해 조정되는 것 같습니다(맞는지 모르겠습니다). 근데 저는 그런데 영한님 쿼리는 저 부분에 4,11이 들어가있는 이유가 궁금해요. 저는 저 부분이(?,?,?,?,?,?,?,?,?)가 되어서 그런지 몰라도 h2에서 쿼리할때 에러가 뜹니다.(밑사진)