안녕하세요 강사님 질문이 있습니다. 엑셀파일을 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[더보기]'} 추가로 확인이 필요한 사항이 있다면 말씀주시면 공유드리겠습니다! 확인 부탁드립니다. 감사합니다.
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
연습문제 2번에서 아래 코드로 했을 때 안되는데 이유가 뭔지 모르겠습니다! 어차피 1개라서 반복문을 쓰지 않아도 될까 했는데 안되네요.. import requests from bs4 import BeautifulSoup url = 'https://davelee-fun.github.io/' res = requests.get(url) soup = BeautifulSoup(res.content, 'html.parser') items=soup.select('.sitetitle') print(items.get_text()) (+) print(item.get_text()) 했을때는 잘 추출되는데 item은 선언한적이 없는데 왜 되는걸까요~?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 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. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 다음과 같은 에러가 발생합니다 이유가 궁금합니다
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] JDK은 21로 Gradle은 8.5로 맞췄는데요 gradlew build하면 BUILD FAILED가 뜨지만 localhost:8080 은 잘작동합니다. 파일경로에는 한글포함안되어있고 gradlew clean build해도 동일한 오류가 발생합니다. 해당 오류가 왜 발생하는지 그냥 진행해도 되는지 궁금합니다.
json으로 데이터로 잘불러왓고 dag도 성공적으로 마쳤다고 했는데 정작 files 폴더에는 저장이 안되어 있습니다. 그래서 docker inspect로 mount 속성을 보니 { "Type": "bind", "Source": "/home/jspark9703/airflow/files", "Destination": "/opt/airflow/files", "Mode": "rw", "RW": true, "Propagation": "rprivate" } propagation이 rprivate으로 되있더군요 아마 이 속성때문에 그런거같은데... volumes 속성을 바꾸는 방법은 없을까요? 아님 다른 문제가 있는 것일까요?
안녕하세요? 조금씩 천천히 강의를 따라가고 있습니다 ^^ 글자속성 변경하기 챕터에서 특정 범위의 서체 변경하기를 따라 해 보고 있는데요. 빈문서를 만들고, 텍스트를 입력한 다음, 블럭을 설정하고, charshape = True를 입력하고, 실행시키면 화면에 나오는 것처럼 글자 속성이 변하지 않네요. 참고로 저는 Visual Studio Code로 작업을 하고 있습니다. 추측으로는, 열어 놓은 한글 파일에 접근할 수 있어야 하고 블럭설정한 부분을 읽어야 하는 것 같은데, 이 코드는 빠져 있는 건가요? 멋진 강의 감사합니다! ^^
비슷한 게시글을 봐도 이해가 잘 가지 않아서 재차 질문 드립니다 제가 이해하는 상황이 맞는지 고견 부탁드립니다 1. fetch = EAGER 쿼리가 두 번 실행 이것이 프록시 강의영상에서 말씀하시는 (N+1) 문제인지 궁금합니다 첫 번째 쿼리는 em.flush(), em.clear() 실행되면 영속성 컨텍스트가 비워지고 이후 jpql 쿼리가 실행되면서 EAGER 패치 전략에 따라 Team도 함께 조회가 됩니다. 두 번째 쿼리는 영속성 컨텍스트가 비워졌고 EAGER 패치 전략으로 조회되어야 합니다. 실제 엔티티로 조회되어야 하는걸로 알고있습니다 하지만 특정 시점에서 Team이 프록시로 로드 되었고 이후 프록시가 초기화되면서 다시 데이터베이스에서 조회하면서 발생한 쿼리로 생각이 듭니다