먼저 좋은 강의 듣게 되어 감사합니다. 기초적인 질문일수도 있는데, DTCStatusAvailityMask 관련해서 질문 있습니다. 만약 SW가 개발중인 상태라 DTC masking을 하게 되면 현장에서는 실제로 이게 문제가 없어서 DTC가 안 뜨는 것인지 아니면 Masking 된 상태라 DTC가 안 뜨는 것인지 어떻게 알 수 있나요? 그리고 SW 개발 단계에 따라 masking data가 변경되면 그 정보는 어떻게 알 수 있나요?
7분 08초 정도에 회원가입 테스트 코드를 실행하는 부분에서요,,! MemberServiceTest 클래스에 @Transactional을 걸어서 회원가입() 메소드를 하나의 트랜잭션으로 관리하는 것으로 이해했습니다... memberService.join(member); 으로 persistence context에 member를 영속화 시킨 상태인데, 그 다음 코드인 memberRepository.findOne(savedId);에서, 왜 select 문이 나가는거죠? 하나의 트랜잭션이고, member가 영속 상태라서 1차 캐시에서 관리되면, context에서 가져와야 하는게 아닌가요?... 트랜잭션을 롤백한다는 것의 의미가 DB의 트랜잭션을 롤백한다는 것 뿐만 아닌 영속성 컨텍스트도 롤백하는 것을 의미하나요?.. 만약 그렇다면, 저는 @Transactional을 메소드 단위로 걸었는데, 왜 회원가입() 메소드 중간에 롤백이 되는 건가요?..ㅠ 아예 애초부터 스프링에서의 트랜잭션 롤백은 영속성 컨텍스트에 반영조차 하지 않는 거라고 봐야 하나요?.. 너무 헷갈립니다 ㅠ.ㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx ) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG ) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. JUnit5를 사용하여 테스트 코드를 작성 중인데, JUnit4와는 다르게 @Test(expected = ) 사용이 불가하더라고요. 다음과 같이 테스트 코드를 작성하면 될까요? @Test public void 중복_회원_예약() throws Exception { //given Member member1 = new Member(); member1.setName("kim"); Member member2 = new Member(); member2.setName("kim"); //when memberService.join(member1); assertThrows(IllegalStateException.class, () -> { memberService.join(member2); }); }
TObjectPtr 클래스에는 static_assert 선언이 되어있습니다. UObject 에서 파생된 클래스인지 검사하고 에러메시지를 표시해주게 되는데요. 우리가 평소 어떤 액터 클래스나 컴포넌트 클래스를 생성해서 사용할 때 내부에 TObjectPtr 을 사용해서 UObject 클래스를 등록하고 사용하게 됩니다. 문제는 UObject 의 헤더파일을 바로 포함시키기 보다는 중복 참조와 컴파일 시간을 줄이기 위해서 전방선언으로 처리하는 경우입니다. 이때 전방선언된 UObject 의 파생 클래스는 실제로 UObject 에서 파생되었는지 이 시점에서는 알 수 없습니다. 하지만 실제로 그렇게 사용해보면 문제없이 사용되는 것을 확인 할 수 있었습니다. 왜 TObjectPtr의 static_assert의 조건을 통과하는 것일까요? Ex) class UInputAction; TObjectPtr<UInputAction> UTestAction; // 왜 에러가 아닐까요?
실리콘밸리 엔지니어와 함께하는 랭체인(LangChain)과 랭그래프(LangGraph) 그리고 MCP
git에서 코드를 다운받아 영상에 올라온 대로 코드를 실행 해 보았는데 저는 결과가 다음과 같아요. Question: Who was the father of Mary Ball Washington? Are follow up questions needed here: Yes. Follow up: Who was the husband of Mary Ball Washington? Intermediate answer: The husband of Mary Ball Washington was Augustine Washington. Follow up: Who was the father of Augustine Washington? Intermediate answer: The father of Augustine Washington was Lawrence Washington. So the final answer is: Lawrence Washington 처음엔 계속 Are follow up questions needed here: 에서 답변이 No로 출력 되고 질의가 끝나다가, 계속 돌려보니까 저런 틀린 답변을 내주는데, 이건 모델을 잘못 선택하기 때문일까요? 모델 설정에 따로 건드린 것이 없어 자동으로 GPT3.5 Trubo를 선택하는데 해당 강의 촬영시점과 수강시점 간에 기본이 되는 모델이 바뀐걸까요? 왜 이렇게 되는걸까요? ㅜㅜ
강의를 잘 따라오던 도중, feed_repository의 getFeedList함수에서 isEqualTo 부분(1분41초)에서 uid는 nullable이므로 feedScreen에서는 자동으로 null값이 들어가면서 모든 게시물들을 띄워줄거라고 하셨는데, 말씀은 이해가 되지만 현재 제 앱에서는 '게시물이 존재하지 않습니다.' 화면이 뜨네요. profile_screen에서는 잘 작동이 됩니다만, 혹시 feedScreen이나 feedProvider 부분에서 추가로 작성해줘야 하는 코드가 있을까요?
안녕하세요 강의 듣다가 궁금한점이 있어서 질문 드립니다..! 해당 강의 16분 37초 기준으로 16-17번째 줄 코드를 보면 if(j!==i && (product[j][0]+product[j][1])>money) break; if(j!==i && (product[j][0]+product[j][1])<=money){ 이렇게 적으셨는데 break 하는 부분에 꼭 굳이 j!==i 도 적어야하나요 ?? 저의 경우 function solution(bud, product) { let answer = 0, total = product.flat().reduce((prev, curr) => prev + curr); product.sort((a, b) => a[0] + a[1] - (b[0] + b[1])); for (let i = 0; i < product.length; i++) { // 50% 할인 쿠폰 적용할 상품 for 문 돌리기 let money = bud - (product[i][0] / 2 + product[i][1]); // 사용 가능한 금액 let cnt = 1; // 할인받은 애는 되니까 1 시작 for (let j = 0; j < product.length; j++) { if (i === j) continue; if (money < product[j][0] + product[j][1]) break; money -= product[j][0] + product[j][1]; cnt++; } answer = Math.max(answer, cnt); } return answer; } 이렇게 i===j 를 만나면 continue 로 하고 예산이 넘어갈때만 break 두돌록 했는데 이렇게 잓성해도 괜찮을까요 ?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] package ref.ex; import java.util.Scanner; public class ProductOrderMain1 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("입력할 주문의 개수를 입력하세요: "); int n = input.nextInt(); ProductOrder[] orders = new ProductOrder[n]; for (int i = 0; i < n; i++) { System.out.println((i + 1) + "번째 주문 정보를 입력하세요."); orders[i] = createOrder(); } printOrders(orders); int totalPrice = getTotalAmount(orders); System.out.println("총 결제 금액: " + totalPrice); } static ProductOrder createOrder() { Scanner input = new Scanner(System.in); ProductOrder order = new ProductOrder(); System.out.print("상품명: "); order.productName = input.nextLine(); System.out.print("가격: "); order.price = input.nextInt(); System.out.print("수량: "); order.quantity =input.nextInt(); return order; } static void printOrders(ProductOrder[] orders) { for (ProductOrder order : orders) { System.out.println("상품명: " + order.productName + ", 가격: " + order.price + ", 수량: " + order.quantity); } } static int getTotalAmount(ProductOrder[] orders) { int totalPrice = 0; for (int i = 0; i < orders.length; i++) { totalPrice += (orders[i].price * orders[i].quantity); } return totalPrice; } } 강의에서는 main 메서드에서 입력을 받는데 저는 creatOrder에서 입력을 받도록 하여 만들었습니다. 결과는 똑같았는데 main 메서드에서 Scanner를 통해서 입력을 받는게 좋은지 아니면 그냥 다른 메서드에서 입력을 받는게 상관없는 방식인지 궁금합니다.
안녕하세요 강의 잘 듣고 있습니다. "Kafka Producer의 send() 메소드 호출 프로세스" 장표에 묘사된 Batch 관련해서 의견 남깁니다. 강의 중반부터 나오듯이 각 Batch 버퍼는 Partition과 1대1 대응하도록 되어있는데, 해당 장표에서는 Partition#1 안에 여러개의 배치가 존재할 수 있는 것처럼 되어 있어 혼동이 생길 수 있어 보입니다. Partition#1에 갈 Message는 Batch#1에만 적재되어야하므로 그림 상 P#1 안에는 B#1만 있는 것이 맞지 않을까요? 만약 제가 의도와는 다르게 이해한 것이라면, 간략한 설명 덧붙여주시면 감사하겠습니다.
3:27~ theme 등록 중에 라이브러리에서 참조 브랜드 컬러 50을 주신다고 하셨는데, 컬러 스타일 기본 셋팅이 안되있는 상태에서 실습이 가능한걸까요? 플러그인 설치부터 다시 해봐도 같은 셋팅값 설정이 안되있어서 질문남깁니다! 아직 초~중반 수강중인데, 퀄리티가 너무 좋네요. 감사합니다.