import os # 기존 환경 변수 확인 print("OPENAI_API_KEY:", os.getenv("OPENAI_API_KEY")) print("UPSTAGE_API_KEY:", os.getenv("UPSTAGE_API_KEY")) # OpenAI API 키 삭제 (Upstage API만 사용하도록 설정) if "OPENAI_API_KEY" in os.environ: del os.environ["OPENAI_API_KEY"] # Upstage API 키 직접 설정 os.environ["UPSTAGE_API_KEY"] = "up_kh9mX7uA129qfCuzmcf6COX4HUabn" 처음에 OpenAI API 키랑 Upstage API 키 간의 충돌이 일어났구나 싶어, 위와 같이 코드를 작성한 후에 다시 크로마 DB에 임베딩을 시켜보는 데도 계속 똑같습니다 ㅠㅠ 심지어 API 키를 계속 새로 발급받아도 이래요 ㅠㅠ 어디가 문제일까요...?
XGBClassifier 를 사용해서 target을 분류하려고 하는데, 아래와 같은 에러가 나타납니다 : ValueError : Invalid classes inferred from unique values of y . Expected: [0 1 2 3], got [1 2 3 4] LabelEncoder를 사용해서 processing 도 다 했고, LGBMClassifier랑 RandomForestClassifier는 다 잘 돌아가는데 XGBClassifier만 저런 오류가 나타나네요;;; 참고를 위해 지금까지 작성한 코드 하기로 공유 드립니다 : import pandas as pd train=pd.read_csv('train.csv') test=pd.read_csv('test.csv') train=train.drop('ID', axis=1) test_id=test.pop('ID') print(train.shape, test.shape) print(train.head()) print(test.head()) print(train.info()) print(test.info()) print(train.isnull().sum()) print(test.isnull().sum()) y=train.pop('Segmentation') y=y.astype('object') y=y.astype('category') print(y.info(), y.shape) int_cols=train.select_dtypes(exclude='object').columns train[int_cols].corr() cat_cols=train.select_dtypes(include='object').columns print(train[cat_cols].describe(include='object')) print(test[cat_cols].describe(include='object')) for i in cat_cols: train[i]=train[i].astype('object') test[i]=test[i].astype('object') for i in cat_cols: print(train[i].value_counts()) print(test[i].value_counts()) from sklearn.preprocessing import RobustScaler scaler=RobustScaler() for i in int_cols : train[i]=scaler.fit_transform(train[[i]]) test[i]=scaler.transform(test[[i]]) from sklearn.preprocessing import LabelEncoder le=LabelEncoder() for i in cat_cols: train[i]=le.fit_transform(train[i]) test[i]=le.transform(test[i]) print(train.head()) print(test.head()) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val=train_test_split(train, y, test_size=0.2, random_state=2025) print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape) y_val=y_val.astype('category') y_tr=y_tr.astype('category') from sklearn.ensemble import RandomForestClassifier rf=RandomForestClassifier(n_estimators=100, max_depth=5, random_state=2025) rf.fit(X_tr, y_tr) y_pred_rf=rf.predict(X_val) from lightgbm import LGBMClassifier lgbm=LGBMClassifier() lgbm.fit(X_tr, y_tr) y_pred_lgbm=lgbm.predict(X_val) from sklearn.metrics import f1_score print(f1_score(y_val, y_pred_rf, average='weighted')) print(f1_score(y_val, y_pred_lgbm, average='weighted')) from xgboost import XGBClassifier xgb=XGBClassifier() xgb.fit(X_tr, y_tr) y_pred_xgb=xgb.predict(X_val)
플러그인이 강의에 나온 버전보다 업데이트 되었는지 아래 사진처럼 출력이 됩니다. 갠적으로 컬러 크기가 Description 폰트에 비해 너무 크고 세로로 1자 형태로 배열되니까 보기 불편하다고 느낍니다! 혹시 또 다른 플러그인은 없을까요? 이번 미션은 Print variables로 하겠지만, 추후에는 더 유용한 플러그인을 사용해보고 싶습니다ㅎㅎㅎ
Mac m1환경에서 아래 링크 따라 수행했고 대시보드도 제대로 설치 및 설정이 된 것 같은데 접속이 되지 않습니다. bridge가 아닌 shared network라서 접근이 안 되는걸까요? https://kubetm.github.io/k8s/02-beginner/cluster-install-case7/
안녕하세요. 선생님. 강의 교안 p.33에서 cout << a << " " << "" << b << '\n'; "" 빈 문자열을 넣으신 이유가 있을까요? 빈 문자열을 빼도 출력 값은 동일하게 보이는데 어떤 의미로 넣으신건지 궁금합니다. 혹시 cout 설명처럼 입력할 문자열을 넣을 수 있다를 설명하기 위해서 그런건가요?
안녕하세요. 강의 듣다가 문의 사항이 있어서 글 남깁니다. 9번 문항에 2번 보기를 보면 웹 서버나 다른 모듈이 처리하고 난 다음에 modsecurity에서 분석한다고 되어 있는 게 맞는 설명이라고 넘어갔습니다. 그런데 그 항목 관련 설명 자료(26:19 참고)에는 다른 모듈이 처리하기 전에 modsecurity에서 처리한다고 되어 있습니다. 해당 부분에 대한 설명 부탁드립니다. (3번 보기가 명백히 틀렸지만 2번 보기가 앞에서 사용한 자료 내용과 상반되는 것 같아서 문의드립니다.) 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 필터 강의에서 아래 로직에 대해 질문이 있습니다. HttpSession session = httpRequest.getSession(false); if ( session == null || session.getAttribute(SessionConst.LOGIN_MEMBER) == null ) { log.info ("미인증 사용자 요청 {}", requestURI); httpResponse.sendRedirect("/login?redirectURL=" + requestURI); return; // 여기가 중요, 미인증 사용자는 다음으로 진행하지 않고 끝! } 여기에서 HttpSession session = httpRequest.getSession(false); 는 유저가 보낸 세션을 기반으로 서버에서 세션을 조회해서, 있으면 반환하고 없으면 null 반환하는 것으로 이해했는데요. 그 밑의 if 조건절에 대해 질문이 있습니다. if문에서 session == null 인 경우는, 1) 브라우저가 보낸 세션 ID가 없는 경우 (세션쿠키가 없는경우) 브라우저가 세션을 보냈지만 해당 세션이 서버에 존재하지 않는 경우 이렇게 두가지일 것으로 생각했습니다. 이게 맞을까요? session.getAttribute(SessionConst.LOGIN_MEMBER) == null 의 경우가 존재할 수있는지 궁금합니다. 즉 유저도 세션을 보냈고, 서버에도 세션이 존재하는데, 그 세션의 멤버 속성값이 존재하지 않는 경우가 있나요? invalidate 를 하는 것도 세션 자체를 삭제하는 것으롱 ㅏㄹ고 있어서,, 궁금합니다. 답변 주시면 감사하겠습니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] volatile를 통해 메인 메모리에서 값을 바로 확인 하는건데 그러면 메모리는 어떻게 값이 변경 되는 것을 알 수 있는 건가요? 메인 메모리에서 값이 변경이 안되면 volatile을 사용해도 변경 된 걸 알 수 없는거 아닌가요? 제가 너무 깊게 들어간걸까요...ㅜㅜ... 운영체제?를 공부해야 되는 부분일까요??,,
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. package hello2.servlet.basic.request; import com.fasterxml.jackson.databind.ObjectMapper; import hello2.servlet.basic.HelloData; import jakarta.servlet.ServletException; import jakarta.servlet.ServletInputStream; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.util.StreamUtils; import java.io.IOException; import java.nio.charset.StandardCharsets; @WebServlet(name = "requestBodyJsonServlet", urlPatterns = "/request-body-json") public class RequestBodyJsonServlet extends HttpServlet { private ObjectMapper objectMapper = new ObjectMapper(); @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletInputStream inputStream = req.getInputStream(); String messageBody = StreamUtils.copyToString(inputStream, StandardCharsets.UTF_8); System.out.println("messageBody = " + messageBody); HelloData helloData = objectMapper.readValue(messageBody, HelloData.class); System.out.println("helloData username = " + helloData.getUsername()); System.out.println("helloData age= " + helloData.getAge()); resp.setContentType("application/json"); } } 여기서 resp.setContentType을 지정한다면 포스트맨에 메세지바디에 자동적으로 json형식으로 지정이 되는건가요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @Autowired public MemberService (MemberRepository memberRepository){ this.memberRepository = memberRepository; } MemoryMemberRepository를 사용 할 수 있는 이유가 해당 구현체를 @Repository로 빈을 등록했기 때문에 @Autowired를 통해 MemberRepository 타입으로 주입받을 수 있는 게 맞을까요?
G:\내 드라이브\인프런 - 스프링 입문 - 김영한\hello-spring>gradlew.bat 이렇게 실행했는데 아래와 같은 에러가 뜨는데 어떻게 해야 하나요? ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation.
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
처음 flutter 프로젝트 생성하는데 android쪽 mainactivity.kt에서 오류가 발생해요 아무런 코드 건든것도 없이 package com.example.eyeforyou_plus import io.flutter.embedding.android .FlutterActivity class MainActivity: FlutterActivity() 이렇게만 되어있는데 embedding과 FlutterActivity()에서 "Unresolved reference: embedding" 이런 오류가 납니다. 프로젝트 생성하고 아무것도 건들지 않았는데 이런 오류가 나는걸 왜일까요??ㅠㅠ
학습 관련 질문을 남겨주세요. 상세하게 적어주실 수록 원하는 답변을 얻으실 가능성이 높습니다. 먼저 유사한 질문이 있었는지 확인 부탁드립니다. 서로 예의를 지키며 존중하는 문화를 만들어가요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 회고 만들기 기능이 안보이는데 혹시 어떻게 하면될까요??
안녕하세요! 좋은 강의 덕분에 현업에서 CAPL 지옥에 갇혀 있습니다. 현재 제어기들 진단하는 테스트 케이스를 작성하고 있는데, CAPL로 임의의 Error frame을 만들어서 특정 CAN 채널로 보내, 응답 받는 제어기들의 상태를 보고 싶습니다. 그래서 CAPL 헬프에서 찾아보니 Error frame을 보내는 방법이 2가지가 있는 것 같습니다. void Error_function() // Error frame 생성 함수 { int i; for (i = 0; i < 250; i++) // 250번 반복 실행 { canOutputErrorFrame(CAN1.errorFrame, 6, 0); // 1번 채널에 6 dominant bits 에러 canOutputErrorFrame(CAN2.errorFrame, 6, 0); canOutputErrorFrame(CAN4.errorFrame, 6, 0); canOutputErrorFrame(CAN5.errorFrame, 6, 0); canOutputErrorFrame(CAN6.errorFrame, 6, 0); testWaitForTimeoutSilent(500); // 500ms 대기 후 다시 실행 } } // CAN1번에 있는 Message를 Bus off 시켜 Error frame 생성 canConfigureBusOff(6, PCAN_Nodes[p].MessageIDs[0], 1); 우선 1번 canOutputErrorFrame을 사용했을 때 CAN 상에서 Error frame이 증가하는 것은 확인했지만, REC/TEC 값의 변화는 보지 못했습니다. 2번 같은 경우는 특정 CAN 채널에 연결된 ECU를 Bus off를 시켜 Error frame으로 만드는 것 같은데, 이 경우 TEC 값이 증가하는 부분을 확인할 수 있습니다. 임의로 Error frame을 만들기 위해서 2가지 함수(기능)을 활용해 동작하는데, 해당 접근이 올바른 접근인지 궁금하고, 2개의 차이도 한번 여쭙고 싶습니다! 아직은 CAPL이 많이 미숙하지만 존버매니아님의 강의 계속 돌려 보겠습니다:)
gpt에 질문을 해도 명확한 답이 안나와서 질문드립니다. 현재 2가지 장점으로 getStackTrace를 사용한다고 이해했습니다. printStackTrace를 사용하면 콘솔 출력이므로 로그 관리가 어렵다 getStackTrace를 사용하면 속도 측면에서 이점이 있다. 속도가 조금 느리더라도 로그 관리를 위해서 getStackTrace를 사용한다고 말해야할까요? 아니면 다른 이유가 있어서 getStackTrace의 속도가 느린걸까요?