안녕하세요. 강사님 강의 잘 들었습니다. 한가지 질문이 있습니다. 주문 생성과 주문 처리api를 나누고 사용자가 결제가 되면 주문 처리 api를 호출하는걸로 알고있습니다. Orchestaration 방식으로 처리할 때 OrderConfirmEvent를 발행하면 제 서비스로 예를 들면 재고, 쿠폰, 적립금 서비스에서 consume하여 처리를 하고 있습니다. 그런데 주문 처리 api에서 재고는 처리되었지만 쿠폰은 실패할 경우 어떻게 보상 트랜잭션을 주어야할지 모르겠습니다. 결제가 된 주문이라 바로 보상을 하는것 보다는 dlt topic에 넣고 재처리를 하고 만약 재시도 3번을 하고 나서 실패할 경우 환불을 해줘야할까요? 주문 처리 api에서는 어디가 실패한지 모르니까요 혹시 어떤식으로 해야할지 조언좀 받을수 있을까요?
안녕하세요. 강사님 강의 잘 들었습니다. 한가지 질문이 있습니다. 주문 생성과 주문 처리api를 나누고 사용자가 결제가 되면 주문 처리 api를 호출하는걸로 알고있습니다. 이때 주문 처리 api에서 Orchestartation 방식으로 OrderConfirmEvent를 발행하면 제 서비스로 예를 들면 재고, 쿠폰, 적립금 서비스에서 consume하여 처리를 하고 있습니다. 그런데 주문 처리 api에서 재고는 처리되었지만 쿠폰은 실패할 경우 어떻게 보상 트랜잭션을 주어야할지 모르겠습니다. Orchestartation 방식으로 처리할거면 OrderConfirmEvent로 한번에 처리하는게 아니라 StockConfirmEvent, CouponConfirmEvent, PointConfirmEvent 이렇게 각각 보내주어야 할까요? 결제가 된 주문이라 바로 보상을 하는것 보다는 dlt topic에 넣고 재처리를 하고 만약 재시도 3번을 하고 나서 실패할 경우 환불을 해줘야할까요? 주문 처리 api에서는 어디가 실패한지 모르니까요 혹시 어떤식으로 해야할지 조언좀 받을수 있을까요?
안녕하세요 급하게 강의를 시작하게 되어서 몇개씩만 빠르게 수강중입니다. 죄송하지만 빠르게 수강중이라 놓친 내용들이 많아서 질문드립니다. 혹시 강의에서 나온 내용들이 정리되어 있는 사이트나 직접 연습을 해볼 수 있는 사이트가 있을까요? 강의 처음에 read_csv() 를 불러올때 파일 등이 있는 위치가 궁금합니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 roc_auc_score 가 평가지표로 지정된 분류문제에서 rf.fit(X_tr, y_tr)로 학습하고 pred= rf.predict_proba(X_val) 로 pred를 만든 후 from sklearn.metrics import roc_auc_score roc_auc_score(y_val, pred[:,1]) << 이 부분과 pred=rf.predict_proba(test) result= pd.DataFrame({'pred': pred[:,1]}) << 이 부분 이렇게 딱 두 파트에서만 쓰이는 게 맞나요? 기출 3회 노트에서는 pred = rf.predict_proba(X_val)[:,1] 과 roc_auc_score(y_val, pred) 그리고 pred = rf.predict_proba(test)[:,1] 이렇게 쓰셨는데 시나공 교재에서는 제가 위에 썼던 것처럼 풀이가 돼있습니다
The 10x AI-Native Developer: 회사에서 AI로 압도적 성과를 내는 법
[진도] 1주차 7강까지 완료 [질문] Claude에서 PreToolUse Hook 테스트 실패 상황: 실습을 따라가는 중 재현안됨 프롬프트: "@.env 파일에 어떤 내용이 있는지 요약해줘." 에러 메시지: PreUseTool이 실행 안되고 무시되는 이런 경우도 있나요 ?
pred = rf.predict(test) result = pd.DataFrame({"pred" : pred}) result.to_csv("result.csv",index = False) pred = rf.predict(test) submit = pd.DataFrame({"pred" : pred}) submit.to_csv("result.csv",index = False) pd.read_csv로 찍어보면 두 코드다 동일한 결과를 보이는데 마지막 제출단계에서 아래 코드 submit 말고 위에 코드 처럼 result를 사용해서 제출해도 상관 없을까요?
사용자가 타입이 맞는지 체크하기 위해 직접 만든 함수가 맞을까요? 결국 animal에 isBark란 프로퍼티가 존재하는지 확인하고 싶다는 건데 첫 번째로 가독성을 높이고 싶고, 두 번째로 isBark 말고도 다른 복잡한 조건이 추가된다면 하나의 함수로 묶어서 코드 앞부분에서 미리 검증하고 싶어서 사용하는 게 맞을까요? 그리고 이전 질문에서 function isDog(animal: Animal) animal is Dog { return "isBark" in animal; 와의 차이를 비교했을 때 위의 경우는 isBark가 존재하지 않아도 에러가 나지 않는다고 하셨었는데 그렇다면 사용자 정의 타입 가드는 타입이 일치하지 않을 때 False를 리턴하는 것보단 에러를 발생시키는 게 유리한지 어차피 에러를 발생시키는 게 목적이라면 animal.isBark가 들어간 아무 표현식이라도 함수 내부에서 사용한다면 적용이 가능할 텐데 return animal.isBark !== undefined 를 사용하는게 가장 깔끔한 방식이라 이렇게 쓰는 건지 가 궁금합니다.
목차별 내용 요약 및 만점 노트 생성 시 Gemini를 먼저 사용한 이유 에 대해 명확히 답변드리겠습니다. 가장 큰 이유는 '후처리 효율성' 때문입니다. NotebookLM은 답변의 출처(Source) 를 반드시 명시(인용)하도록 설계되어 있습니다. 이 때문에 복습용 만점 노트를 Markdown 형식으로 생성하여 Notion 등에 복사해 붙여넣을 때, 불필요한 인용 구문이나 주석이 함께 포함 되어 깔끔하게 편집하기 어렵습니다. 반면, Gemini는 출처를 제거 하고 오직 순수한 Markdown 형식의 텍스트 만 출력하도록 프롬프트 명령을 내릴 수 있습니다. 즉, 저희 시스템은 '만점 노트의 후편집 및 보관의 용이성' 을 최우선으로 고려했기 때문에, 구조 생성 단계(만점 노트) 에서는 Gemini를, 인출 연습 단계(퀴즈) 에서는 NotebookLM을 사용하도록 분리한 것입니다.
작업형 3유형에서 강의의 예시 문제들은 어떤 검정이다라는게 제목으로 있는데 실제 문제에서도 단일표본검정이다 독립표본검정이다 이런것을 알려주나요? 실제 체험환경에 문제를 보면 이건 없는거 같아서요. 문제를 보고 어떤 검정을 해야 하는지 판단하는게 맞지요? 혹시 이럴때 어떤 검정을 해야 하는지 뭘 보고 어떻게 판단하면 좋을까요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 선생님께서 컬럼의 수가 많으면 원핫인코딩시 자료가 너무나 방대해진다고해서 해당 문제에서 ((4198, 21), (1499, 20)) 다음과 같이 컬럼의 수가 많아 라벨인코딩을 하려했습니다 그런데 선생님은 원핫인코딩을 하셨더라구요? 그렇게 해도 되는건가요? 그리고 제가 궁금해서 원핫인코딩후의 shape를 찾아보니 (4198, 29) (1499, 29) 으로 컬럼의 수가 별로 안늘어났는데 왜 이런거죠?? 알려주시면 감사하겠습니다 ㅠㅠ
target = train.pop('target') cols = ['gender', 'enrolled_university', 'education_level', 'major_discipline', 'experience', 'company_size' , 'company_type', 'last_new_job'] for col in cols: train[col] = train[col].fillna(train[col].mode()[0]) test[col] = test[col].fillna(test[col].mode()[0]) from sklearn.preprocessing import LabelEncoder cols2 = train.select_dtypes(include='O').columns for col in cols2: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) # 결측치 처리 train = train.fillna("X") test = test.fillna("X") # train과 test 합쳐서 원핫인코딩 combined = pd.concat([train, test]) combined_dummies = pd.get_dummies(combined) n_train = len(train) train = combined_dummies[:n_train] test = combined_dummies[n_train:] 저는 위의 방식으로 풀었고 풀이는 아래 방식으로 풀었는데, result.csv에서 roc_auc 결과를 비교하면 많이 다르게 나타납니당... 예를 들어 같은 인덱스임에도 제 방식에서는 roc_auc가 0.2로 나오는데 풀이에서는 0.02가 됩니다. 이 경우에는 풀이에 따라서 0,1로 완전히 다르게 인식되는데도 점수 받는데 상관이 없을까요..?