inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

강의보고 토이프로젝트로 재고감소 낙관적락 기법 적용 질문

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

안녕하세요 강사님 강의를 보고 토이 프로젝트에서 주문 시 재고 감소 및 메뉴 주문량 증가 로직에서 낙관적락 기법을 적용해 보았는데요, 강의에서 해주신 내용 그대로 파사드 패턴 까지 적용을 해보면서 시도했는데 무한 루프가 돌았습니다. hikariCP pool을 40으로 설정해주니 그제서야 해결이 되었는데요, 강의에선 네임드락에서 커넥션풀을 지정해주었는데요 저는 낙관적락인데도 해당 설정을 해서 해결된 이유가 있을까요? @Service @RequiredArgsConstructor public class OrderService { @Transactional public Order orderWithOptimisticLock(Long memberId, LocalDateTime now) { Cart cart = cartRepository.findByMember(memberId); List<CartItem> cartItems = cart.getCartItems(); cartItems.stream() .map(CartItem::getMenu) .forEach(menu -> { decreaseStockWithOptimisticLock(menu.getId(), 1); increaseMenuOrderCountWithOptimisticLock(menu.getId(), 1); }); Money money = calculator.calculateMenus(cart.getMember(), cart.convertToMenus()); Order order = Order.createOrder(cart, money, now); return orderRepository.save(order); } public void decreaseStockWithOptimisticLock(Long menuId, int quantity) { Menu menu = menuRepository.findByIdForOptimisticLock(menuId); menu.decrease(quantity); } public void increaseMenuOrderCountWithOptimisticLock(Long menuId, int quantity) { Menu menu = menuRepository.findByIdForOptimisticLock(menuId); menu.increaseOrderCount(quantity); } } ``` @Component @RequiredArgsConstructor public class OptimisticLockStockFacade { private final OrderService orderService; public Order order(Long memberId, LocalDateTime localDateTime) throws InterruptedException { while (true) { try { return orderService.orderWithOptimisticLock(memberId, localDateTime); } catch (Exception e) { Thread.sleep(50); } } } } ``` public interface JpaMenuRepository extends JpaRepository<Menu, Long> { @NotNull @Lock(LockModeType.OPTIMISTIC) @Query("select m from Menu m where m.id = :id") Optional<Menu> findByIdForOptimisticLock(@NotNull @Param("id") Long id); }

  • java
  • spring
  • 동시성
하윤 댓글 2 좋아요 0 조회수 647

커뮤니티 버전에서 스프링 부트를 선택할수 없습니다.

미해결

스프링 부트 웹 개발 입문 - 따라하며 배우기

이경우에는 https://start.spring.io/ 에서 생성해서 파일을 올리면되나요?? 동일하게 수업을 따라갈 수 있을까요? 처음부터 막히네요 ㅠㅠ 도와주세요

  • spring
  • mvc
  • spring-boot
ㄱㅈㅇ 댓글 1 좋아요 1 조회수 364

Array.sort 사용 구분

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

앞 문제에서 Collection.sort를 쓰면 문제에서 효율적이지 못하다는 댓글을 봐서 처음부터 Array.sort를 해서 정렬하는 방법을 생각을 못했는데 어떤 문제에선 사용하고 사용하지말고 구분이잘 안되는데 이럴땐 어떻게 하나요...

  • java
  • 코딩-테스트
이주용 댓글 1 좋아요 0 조회수 386

class active 관련 질문

미해결

스프링 프레임워크는 내 손에 [스프1탄]

현재 강의를 보면 Home에만 계속 active가 적용되어 있는데 Home을 클릭하면 Home에만 active, 게시판을 클릭하면 게시판에만 active 설정은 어떻게 하는 건가요?

  • jsp
  • spring
  • mvc
  • spring-security
  • active
kjwane 댓글 1 좋아요 0 조회수 564

강사님 폰트가 궁금합니다!

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 아니오... 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 강의자료의 강사님의 폰트가 궁금합니다! 이것도 JetBrains Mono 인가요?

  • spring
  • mvc
콩순 댓글 1 좋아요 0 조회수 661

gradlew 빌드가 안됩니다

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 자바 19버전인데 스프링부트 3.0.0이상에서는 17버전 이상으로 사용하래서 자바 19버전인데 왜 빌드가 안되는지 궁금합니다..

  • java
  • spring
  • mvc
  • spring-boot
조예성 댓글 1 좋아요 0 조회수 642

DB질문입니다

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Mybatis 강의에서 수업을 쭉 따라가다보면 -의존성 추가 -@Mapper 인터페이스 생성 -xml 파일 생성; 이후에 바로 테스트를 실행하시는데 이 과정에는 H2 DB의 url, id, pw를 넣어주는 설정 작업이 없는것 같은데 dataSource랑 connection은 어떻게 얻어오고 mybatis는 어떻게 db와 연결이 되는건가요???

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
cn1056 댓글 1 좋아요 0 조회수 341

서버에서 진행한다는 뜻은 뭘까요?

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

검증을 서버에서 진행한다는게 인텔리제이에서 Validation 코드로 검증한다는것이 서버에서 진행한다는게 맞을까요?

  • spring
  • mvc
자바마스터하자 댓글 2 좋아요 0 조회수 422

인코딩과 컬럼선택기준

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

인코딩을 할때 선생님이 어쩔때는 원핫인코딩을 하시고 어쩔때는 레이블인코딩을 하시던데 그 인코딩을 정하시는 기준을 잘 모르겠습니다! 인코딩을 정하실때 그 경우에 대해서 자세히 알려주시면 감사하겠습니다 그리고 인코딩을 할때 컬럼도 몇개 정하셔서 하시던데 그 컬럼고르는 기준도 잘 모르겠습니다 그 기준에 대해서도 선택하는 방법을 알려주시면 감사하겠습니다 ㅠㅠ

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
jms717958 댓글 1 좋아요 0 조회수 375

작동이 잘 안되요

미해결

스프링 프레임워크는 내 손에 [스프1탄]

프로젝트 다운 받아서 쓰는데 작동이 잘 안됩니다.

  • jsp
  • spring
  • mvc
  • spring-security
ciw 댓글 1 좋아요 0 조회수 220

스프링 빈 등록

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

@Configuration static class HelloBean { @Bean public String helloBean(String msg){ return "hello "+msg; } } 이런식으로 등록하면 안되는 이유가 뭘까요??

  • spring
  • mvc
jung 댓글 1 좋아요 0 조회수 414

DB관련

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

[질문 내용] 궁금해서 schema.sql에 mysql 문법으로 테이블을 생성했는데, 문제 없이 돌아가긴 했습니다. 이것은 Spring boot 내부적으로 mysql을 h2 database 문법으로 변경해줘서 가능한건가요? 추가적인 질문으로, 사이드 프로젝트로 Spring-MySQL으로 개발을 진행하려고 합니다. 근데 5명의 팀원들이 있는데 보통 실무에서는 데이터베이스를 각자의 로컬에다가 테이블을 다 생성하고 개발을 진행하는지, 아니면 RDS 같은 클라우드 서비스를 이용하여 공용 DB 서버를 만드는지 궁금합니다.

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
meshjo 댓글 1 좋아요 0 조회수 308

memberMapper 빨간줄

미해결

스프링 프레임워크는 내 손에 [스프1탄]

저는 이 부분이 빨간줄인데 어디서 잘못된 건지 자동완성도 안 뜨더라구요ㅜㅜ 어느 부분이 잘못된지 모르겠습니다.

  • jsp
  • spring
  • mvc
  • spring-security
kjwane 댓글 1 좋아요 0 조회수 261

localhost:8080으로 접속해도 index.html이 열리지 않아요

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 현재 인텔리제이 Ultimate 버전을 쓰고 있습니다. Hello 서블릿 프로젝트를 생성 후 차근차근 따라했는데, webapp에 html 파일을 생성했음에도 불구하고 white label error page가 나타납니다. 시크릿 모드에서도 마찬가지입니다. 또한 프로젝트 삭제 후 새로 생성을 하여 시도했음에도 불구하고 크롬에서 white label page가 나왔고, 이 또한 시크릿 모드에서도 똑같은 현상이 나타났습니다. Invalid caches를 삭제하고 다시 실행해도 같은 현상이 발생했습니다. chrome에서 새로고침 우클릭 후 캐시 삭제를 해도 같은 현상이 발생하였습니다. ** resources > static으로 옮겼더니 동작을 했습니다! 현재 프로젝트는 Onedrive 연동이 되지 않은 D드라이브에서 진행중입니다. 왜 그런건지 알 수가 없어 도움을 요청드립니다. 아래 링크 첨부하여 드립니다. https://drive.google.com/file/d/1SyTVwU-KVdZoNf_Krbhp38BVQTtXE7Ze/view?usp=sharing 감사합니다.

  • spring
  • mvc
MN 댓글 3 좋아요 1 조회수 2268

MIME TYPE 질문있습니다.

미해결

[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]

MIME TYPE 을 하는 이유가 서버가 클라이언트에게 전달할 때 byte 단위로 전달해서 클라이언트가 한글을 받으면 깨지니깐 서버에서 ContentType을 utf로 변환시켜서 클라이언트에게 전달하는 건가요 ?

  • jsp
  • mysql
  • mvc
  • ajax
  • pojo
Rain D 댓글 1 좋아요 0 조회수 374

mvc 회원목록 화이트라벨 500에러 페이지가 뜨는 이유가 뭔가요,.,?

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] org.apache.jasper.JasperException: The absolute uri: [ http://java.sun.com/jsp/jstl/core ] cannot be resolved in either web.xml or the jar files deployed with this application 첫줄 에러가 이렇게 뜹니다..

  • spring
  • mvc
홍정기 댓글 2 좋아요 0 조회수 759

MemberFrom의 setname설정방법

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

궁금한게 있는데요! createMemberForm.html에서 name="name"으로 된 부분이 MemberForm의 setname이 된다고 이해를 했는데 그 연결고리가 어디인지 궁금합니다. 제가 보는데 도대체 어디서 이 name이 MemberForm의 setname이 되는지 모르겠습니다ㅠㅠ. setname으로 된 이유를 알면 MemberController에서 public String create(MemberForm form){ Member member = new Member(); member.setName(form.getName()); 이렇게 되는거는 이해가 되거든요... 근데 setname이 어디서 어떻게 설정되었는지 모르니 답답하네요ㅠ

  • java
  • spring
  • mvc
  • spring-boot
윤성빈 댓글 2 좋아요 0 조회수 341

작업형2에서 언제는 분류모델을 써야하고 언제는 회귀모델을 써야할까요?!

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

보통 작업형2에서는 예측값을 물어보는 문제가 나오던데요. 문제가 나올때 어느문제는 분류모델을, 어느문제는 회귀모델을 사용해야하는지 궁금합니다. 지금까지 강의+기출문제를 보면서는 분류/회귀를 결정하는 부분이 평가 모델을 통해 진행된다는 느낌을 받았는데요. 1) roc_auc_score, accuracy_score 이 평가모델로 쓰일 경우, 분류형 모델 사용(Classifier) 2) rmse, mean_squared_error 이 평가모델로 쓰일 경우, 회귀모델 사용(Regressor) 이렇게 생각하면서 작업형2를 접근하는게 맞는지 궁금합니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
hello4298 댓글 1 좋아요 0 조회수 386

에러 이유를 모르겠어요

미해결

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 뭔지를 모르겠네요 ㅠㅠ

  • spring
  • mvc
홍정기 댓글 1 좋아요 0 조회수 498

memberService에서 회원 서비스 테스트 하려고 하는데 No test subjects found가 뜹니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 테스트를 위해 만들고 싶은데 단축키를 눌러도 똑같이 뜹니다....코드 드립니다ㅜㅜ package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; import java.util.List; import java.util.Optional; public class MemberService { // 회원 서비스를 개발하려면 일단 회원 repository가 있어야 한다 private final MemberRepository memberRepository = new MemoryMemberRepository(); // 회원 가입 // member 에 저장하고 id를 반환하면 된다 public Long join(Member member) { validateDuplicateMember(member); //중복 회원 검증 memberRepository.save(member); return member.getId(); } // 중복 검증 private void validateDuplicateMember(Member member) { memberRepository.findByName(member.getName()) .ifPresent(m -> { throw new IllegalStateException("이미 존재하는 회원입니다."); }); } // 전체 회원 조회 public List<Member> findMembers() { return memberRepository.findAll(); } public Optional<Member> findOne(Long memberId) { return memberRepository.findById(memberId); } }

  • java
  • spring
  • mvc
  • spring-boot
박진아 댓글 1 좋아요 0 조회수 529

인기 태그

인프런 TOP Writers

주간 인기글