[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 이런 식으로 출력이 되는데 코드에 어떤 문제가 있는 건가요?? Start 작업 시작 작업 시작 End 작업 완료 작업 완료 이런 식으로 출력 값이 떠야 하는데 어떤 문제가 있는 건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. while 문 안에 int totalcost = 0;을 넣으면 왜 안되는지 잘 모르겠습니다!
안녕하세요. 변경감지 기능을 사용하기 위해서 데이터 베이스 통신해서 데이터를 가져와서 쓰는 것과 기존에 set으로 BookForm 객체 만드는 것에 대해서 여쭤보고 싶은게 있습니다. 데이터베이스 통신이 한 번 더 일어나는데 위험성이 증가하거나 하진 않나요..? 옛날에 사수한테 웬만하면 데이터베이스 통신하는 일을 줄이라고 했던 일이 기억나서 여쭤봅니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 내용] 강의 내용과 관련된 질문은 아닌데 제가 commit에서 unversioned files에 있는 것들에 그동안 했던 작업들이 너무 쌓여있는 것 같아 delete를 했더니 intellij에 그동안 작업했던 작업물(패키지는 남아있고 자바 파일들이 모두 날라갔습니다) 혹시 복구할 방법은 없겠죠..?
java 버전17.0.9이고 springboot 버전은 3.2.10-SNAPSHOT 입니다. implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' build.gradle 파일에 로그 관련 부분 추가하니 아래와 같이 오류가 나는데 이유를 모르겠습니다. Caused by: java.lang.NoClassDefFoundError: org/apache/maven/settings/building/SettingsBuildingRequest at org.gradle.api.internal.artifacts.DependencyManagementBuildScopeServices.createMavenSettingsProvider(DependencyManagementBuildScopeServices.java:289) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125) at org.gradle.internal.service.ReflectionBasedServiceMethod.invoke(ReflectionBasedServiceMethod.java:35) at org.gradle.internal.service.DefaultServiceRegistry$FactoryMethodService.invokeMethod(DefaultServiceRegistry.java:916)
안녕하세요! 프로젝트를 진행하는 도중 영한님 강의가 생각 나 궁금한 게 생겨 문의납깁니다. 테이블의 모든 값들을 전체 조회하며, 거의 변하지 않는 데이터를 단순 조회하는 용도로 쓸 때도 DTO를 통해 조회하는 게 좋을까요? (예시: 프로젝트 실행 시 csv파일 또는 엑셀파일을 통해 DB에 자동 저장되게 만든 도시 데이터 등을 확인하는 단순 get List, 여행•숙박 사이트에 기본으로 저장되어있는 지역 카테고리 등)
안녕하세요. 궁금중이 생겨서 질문을 남깁니다. 전에 y2gcoder님이 저에게 답변 해준 ‘ 익명 클래스를 어떻게 만드는지, 왜 저렇게 되는지에 대해서는 이해했다는 조건이 필요할 것 같습니다 ’ 이글을 읽으면서 생각하다가 이런생각이 들었습니다. 익명클래스는 인터페이스 및 상속 받은 것만 쓸수 있다고 하였고, 익명클래스는 메서드 안의 내용을 통채로 넣어 버린것을 알수 있었습니다. 그러면서 들은 생각이 상속이나 임플리먼츠 를 할때 메서드 고작 하나(1개) 밖에 없으니, 새로운 클래스를 만들기 보다는, 익명클래스를 만들어서 용량도 줄이고 유동성 있게 만들어보자 라는 생각이 들더군요. 영한님이 보여주신Run()이라는 메서드를 보면서 말이죠. 혹시 저의 생각이 맞는지 알고 싶습니다. 틀리다면 틀리다고 말씀해 주시면 감사하겠습니다. 답변 부탁드립니다.
안녕하세요 강사님 질문이 있습니다. 엑셀파일을 pinecone에 업로드하여 데이터 분석용으로도 활용이 가능할까요? 예를 들어서 "판매 건수가 50개 이상인 월 알려줘" 입니다 엑셀파일을 pinecone에 업로드는 완료하였는데, 답변을 전혀 못하고 있어, 다른 방법이 있는지 궁금하네요. 감사합니다. 추가로 엑셀파일을 pinecone에 적재할 때 하나의 행이 하나의 ID에 적재되는게 맞을까요??
@Transactional public void decrease(Long id, Long quantity) { Stock stock = stockRepository.findById(id).orElseThrow(); stock.decrease(quantity); stockRepository.saveAndFlush(stock); } 현재 강의 코드인데, 락을 사용해서 해결을 할 수도 있지만, 그냥 아래와 같이 JPQL을 사용해서 해결할 수 있지 않나요? @Transactional public void decrease(Long id, Long quantity) { Stock stock = stockRepository.findById(id).orElseThrow(); if (stock.getQuantity - quantity < 0) { throw new RuntimeException("재고는 0개 미만이 될 수 없습니다."); } stockRepository.decrease(id, quantity); } @Modifying @Query("UPDATE Stock s SET s.quantity = s.quantity - :quantity WHERE s.id = :id") public void decrease(@Param("id") Long id, @Param("quantity") Long quantity); 락을 사용하는 것보다 이렇게 하는게 비용이 더 적을 것 같은데, 이렇게 하지 않는 이유를 알 수 있을까요??
데이터 보안 측면에서 송신자 공개키 로 암호화 -> 송신자 개인키 로 복호화를 한다고 적혀있는데요. 수신자가 송신자의 개인키를 가지고 있다는게 보안적으로 문제가 되는게 아닌가 싶습니다. 수신자 공개키 로 암호화 -> 수신자 개인키 로 복호화의 오타인 것인지, 아니라면 어떻게 보안적으로 괜찮은건지 궁금합니다.
안녕하세요, 우선 좋은 강의 제작해주셔서 감사합니다. 저는 오픈소스 모델을 활용하여 사내에서 구동되는 어플리케이션을 만드는게 목표여서 ollama를 통해 llama3.1 모델로 실습을 진행하고 있는데요, RAG를 구성한 뒤 테스트 시 llama3.1이 답변을 제대로 못하고 있는데, 어떤 부분이 문제인지 잘 모르겠습니다. 한국어라서 성능에 문제가 있는건가 싶었는데 huggingface의 Meta-Llama-3.1-8B-Instruct로 한국어로 된 프롬프트를 다양하게 테스트 했을때는 성능이 괜찮았습니다. llm을 ChatUpstage로만 바꿨을때는 응답이 제대로 나오고 있어서 RAG 구성에 문제가 있을 가능성도 낮아보입니다. 응답 전문은 아래와 같습니다. 제가 봤을때는 답변이 생성된게 아니라 관련 데이터를 그냥 리턴해주고 있는 것 같습니다. {'query': '연봉 5천만원인 직장인의 소득세는 얼마인가요?', 'result': '기장세액공제와 관련된 장부 및 증명서류를 해당 과세표준확정신고기간 종료일부터 5년간 보관하지 아니한 경우. 다만, 천재지변 등 대통령령으로 정하는 부득이한 사유에 해당하는 경우에는 그러하지 아니하다.'} {'query': '연봉 5천만원인 직장인의 소득세는 얼마인가요?', 'result': '[전문개정 2009. 12. 31.]\n\n\n\n① 종합소득과세표준에 다음의 세율을 적용하여 계산한 금액으로 한다.\n\n② 제1항에서 “종합소득와세표준”이란, 그 해의 세액표준에서 공제되는 자금과 기타공제하는 자금(해당 연도 법률에 정함)에 해당하는 소득과세표준을 말한다. <개정 2009. 12. 31., 2016. 12. 20., 2017. 12. 19., 2020. 12. 29., 2022. 12. 31.> \n\n③ “공제하는 자금”이란, 공제대상자에 해당하는 사람(그 배우자를 포함한다)의 생계를 같이 하는 사람에게 지급되는 연금 또는 공제대상부양가족, 공제대상장애인, 공제대상경로우대자의 부양비 또는 공제대상공로인, 공제대상국외거주자에 해당하는 사람의 거주비, 공제대상국외거주자의 배우자에게 지급되는 거주비(이하 “공제대상부양가족과 같은 공제대상자”라 한다) 또는 공제대상자(그 배우자를 포함한다)의 비유가족에 해당하는 사람의 생계를 같이 하는 사람으로서, 국외거주자의 자산으로부터 지급되는 돈에 한하여 공제하고 있는 것으로 추정되거나, 국외거주자의 가구원 중에서 공제대상자가 아닌 자산으로부터 지급하는 돈에 한하여 공제하는 경우를 말한다. 다만, 상기 각 공제할 사항과 같은 공제가 국세청장이 정한 금액을 초과하지 아니하고 과세표준 확정신고자에게서 받는 경우에는 이에 관계하지 아니하다.<개정 2014. 1. 1., 2016. 12. 20., 2017. 12. 19., 2020. 12. 29., 2022. 12. 31.> \n\n④ “공제하는 자금”의 범위와 방법은 「국세기본법」 제44조에 따른 국세청장이 정한다.<개정 2014. 1. 1., 2016. 12. 20., 2017. 12. 19., 2020. 12. 29., 2022. 12. 31.> \n\n⑤ “공제대상자”는, 「국세기본법」 제44조에 따른 국세청장이 정한 금액을 초과하지 아니하고 공제하는 자금이 있다면 그 사람으로 한다.<개정 2014. 1. 1., 2016. 12. 20., 2017. 12. 19., 2020. 12. 29., 2022. 12. 31.> \n\n⑥ “공제대상자” 중 거주자의 부양가족 중 거주자(그 배우자를 포함한다)의 직계존속이 주거 형편에 따라 별거하고 있는 경우에는 제50조에서 규정하는 생계를 같이 하는 사람으로 본다.\n\n⑦ 제50조, 제51조 및 제59조의2에 따른 공제대상 배우자, 공제대상 부양가족, 공제대상 장애인 또는 공제대상 경로우대자에 해당하는지 여부의 판정은 해당 과세기간의 과세기간 종료일 현재의 상황에 따른다. 다만, 과세기간 종료일 전에 사망한 사람 또는 장애가 치유된 사람에 대해서는 사망일 전날 또는 치유일 전날의 상황에 따른다.<개정 2014. 1. 1., 2016. 12. 20., 2017. 12. 19., 2020. 12. 29., 2022. 12. 31.> \n\n⑧ 제50조제1항제3호 및 제59조의2에 따라 적용대상 나이가 정해진 경우에는 제4항 본문에도 불구하고 해당 과세기간의 과세기간 중에 해당 나이에 해당되는 날이 있는 경우에 공제대상자로 본다.<개정 2014. 1. 1., 2016. 12. 20., 2017. 12. 19., 2020. 12. 29., 2022. 12. 31.> \n\n⑨ “공제대상자”의 범위와 방법은 「국세기본법」 제44조에 따른 국세청장이 정한다.<개정 2014. 1. 1., 2016. 12. 20., 2017. 12. 19., 2020. 12. 29., 2022. 12. 31.> \n\n[더보기]'} 추가로 확인이 필요한 사항이 있다면 말씀주시면 공유드리겠습니다! 확인 부탁드립니다. 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 벤더에서 Orcale OpenJDK 21버전이 안뜨는데 어떤걸로 설정해야되나요??
@Test void 상품주문_재고수량초과() throws Exception { //given Member member = createMember(); Item item = createBook("시골 JPA", 10000, 10); int orderCount = 11; //when // orderService.order(member.getId(), item.getId(), orderCount); //then Assertions.assertThrows(NotEnoughStockException.class, () -> orderService.order(member.getId(), item.getId(), orderCount),"재고 수량 부족 예외가 발생해야 한다."); } Assertions.assertThrows 사용 시 파라미터 자체에 로직을 넣어줘야 해서, JUnit4 의 expected 옵션과 다르게 테스트의 when 항목을 적지 않아도 되는 상황이 발생하는 것 같아서요. 현업에서도 이 방식을 주로 사용하시나요? (+ 추가 질문) junit 과 assertj.core 라이브러리를 함께 쓰는 경우엔 이렇게 한 쪽을 지저분하게 쓸 수 밖엔 없나요? (isEqualTo와 assertThrows를 하나의 테스트 클래스에서 같이 쓰는 경우) @Test void 주문취소() throws Exception { //given Member member = createMember(); Book item = createBook("시골 JPA", 10000, 10); int orderCount = 2; Long orderId = orderService.order(member.getId(), item.getId(), orderCount); //when orderService.cancelOrder(orderId); //then Order getOrder = orderRepository.findOne(orderId); org.assertj.core.api.Assertions.assertThat(getOrder.getStatus()).isEqualTo(OrderStatus.CANCEL); org.assertj.core.api.Assertions.assertThat(item.getStockQuantity()).isEqualTo(10); }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 다음과 같은 에러가 발생합니다 이유가 궁금합니다