묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
수업 질문입니다.
안녕하세요. 해당 강좌로 도움을 많이 받고 있습니다만,강좌에서는 redux을 이용한 상태관리 없는거 같더구요 .실무에서 redux를 많이 사용하느것 같은데요,혹시 추가 적으로 redux 강좌나 추가 업데이트 계획이 있으신지 문의 드립니다.아님 다른 이정환님의 한입 강좌 중에서 들을 수 있는지요?
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
f"{field}{{{{{index}}}}}": 에 대해 제가 이해한 게 맞을까요?
2-4. [응용] 엑셀문서 값을 필드에 입력하기 관련입니다. # 1. 함수 정의 def 필드삽입(index, value): # 2. 필드 목록 만들기 field_list = ["이름", "성별", "생일", "취미"] # 3. 반복문으로 필드에 데이터 넣기 for idx, field in enumerate(field_list): # 4. 한글 문서에 데이터 입력하기 hwp.PutFieldText(f"{field}{{{{{index}}}}}", value[idx]) 위의 코드에서 바로 이 부분..hwp.PutFieldText(f"{field}{{{{{index}}}}}", value[idx])그중에서도 아래의 구문이 이해하기 어려웠습니다.f"{field}{{{{{index}}}}}" 이에 대하여 제가 최대한 이해하려고 풀어 써 본 것은 아래와 같습니다. ※ 아래는 엑셀(취미.xlsx)의 캡처 f"{field}{{{{{index}}}}}":위 줄은 한글 문서 안에 있는 특정 필드를 가리키는 주소를 의미함.예를 들어, 엑셀(취미.xlsx)의 첫 행인 2행의 이름 값을 넣고 싶다면, 한글 문서에서는 그 자리가 "이름{{0}}"에 해당할 것임.또한, 엑셀의 3행의 이름 값을 넣을 자리라면 "이름{{1}}"이 될 것임. 그래서 f"{field}{{{{{index}}}}}"는,여기서 field가 "이름", "성별", "생일", "취미" 중 하나이고, index는 몇 번째 데이터인지를 나타내는 숫자임.예를 들어, 첫 행인 2행의 이름이면 "이름{{0}}", 두 번째 행인 3행의 생일이면 "생일{{1}}" 이런 식으로 만들어야 함. 그런데 여기서 왜 중괄호가 5쌍이나 있는 것인지 궁금했음. --- {{{{{index}}}}} 에 중괄호가 무려 5쌍 있음! f"{field}{{{{{index}}}}}"에서,{{ }} <----- 실제로 보여질 중괄호 { } 를 출력하기 위함 ..... ①{{ }} <----- 실제로 보여질 중괄호 { } 를 출력하기 위함 ..... ②{index} <----- 'index'라는 변수의 값 넣기 위한 부분임. 위의 ①, ②의 부분의 중첩 즉 총 4쌍의 중괄호에 의해 {{ }} 형태의 문자열이 만들어짐.결과적으로 field = 이름이고 index = 0 이라면, f"{field}{{{{{index}}}}}" 코드는 "이름{{0}}" 이라는 문자열을 만들어 냄."이름{{0}}" 이라는 형태의 문자열을 만들어 내야, 이것을 이용해서 한글 문서에 hwp.PutFieldText("이름{{0}}", value[idx]) 라는 식으로 작동되어 원하는 값을 입력할 수 있는 상태가 되기 때문임. 제가 이해한 내용이 맞을까요?중괄호도 많고 복잡해서 이해하기 어려웠는데, 저와 같은 형태로 되어야 하는 이유를 추정해 보았습니다. 답변 부탁드립니다. 감사합니다.근데 문외한의 입장에서는 이런 거 한 줄 이해하기가 원래 이렇게 어렵게 느껴지는 게 정상인가요? ㅜㅠ
-
미해결김영한의 실전 자바 - 중급 2편
인텔리제이 SDK 오류
인텔리제이에서 java-mid2 폴더를 열면 파일들이 안보이는데 SDK 오류 같습니다. 어떤 버전의 SDK 써야 오류 안나나요? 지금은 Eclipse Termurin 21.0.4 -aarch64 설정되어 있네요
-
해결됨이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
Coudn't set association for project. Check the file is writeable. 이라는 에러가 뜹니다.
(윈도우11)12:33 까지 따라한 상태이며, 모듈까지 삽입한 후 UnrealBuildSystem.uproject 를 실행하였으나라는 에러가 뜹니다. 제가 옮긴 Binaries->Win64 내부 파일들은이것이며.txt에는로 적혀서 저장되어 있습니다. 혹시 어떤 문제때문에 에러가 뜬지 알수 있을까요?
-
미해결
모델링 및 평가(분류) 질문! 머신러닝 개념
X_train, y_train fit 학습 시rf.fit(X_tr[cols], y_tr)이렇게 되어있으면 X_tr[cols]의 첫행과 y_tr의 첫행이 매칭되면서 그 이후의 행들에 대한 데이터도 쭉 매칭되어 학습하고 이를 기반으로 test파일에 대해 예측을 하는 것이죠? 이게 X_train의 첫행age fnlwgt education.num capital.gain capital.loss hours.per.week 34.0 177331 10 4386 0 40.0 이게 y_tr의 첫행income>50K일 때 이런 매칭된 수많은 데이터 학습으로 'age', 'fnlwgt', 'education.num', 'capital.gain', 'capital.loss', 'hours.per.week' 값이 어떨 때, income의 값은 이렇더라는 데이터를 기반으로 값을 예측하는 것이 맞는건가요?그래서 학습 시에 매칭이 되기위해 X_train과 y_train의 데이터 행 개수가 딱 맞아떨어져야 했던 것이죠?
-
미해결머신러닝, 딥러닝 입문 : 알고리즘 이해하기
강의자료 문의
강의에서 사용되는 강의자료를 제공해주실 수 있나요?
-
미해결이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
언제 public을 쓰고 언제 protected를 써야 하나요?
헤더함수에서 public과 protected를 각각 언제 써야하는지 헷갈립니다. 예를 들어 2강에서, ABFountain.h에서는 컴포넌트들을 public으로 선언했고 ABCharacterPlayer.h에서는 컴포넌트들을 protected로 선언했는데 차이가 궁금합니다. 그리고 항상 BeginPlay는 protected로, Tick은 public으로 선언되어 있는데 이 부분도 왜 그런지 궁금합니다.
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
네비게이션 보더
영상에선 패스하셨지만네비게이션 서브메뉴 보더 중간없애고 테두리만 있게어떻게 하는지 알수있을까요?
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
한국어 같은 경우 언어코드인 messages_ko.properties 로 생성하는게 더 좋지 않나요?
한국어 같은 경우 언어코드인 messages_ko.properties 로 생성하는게 더 좋지 않나요? 좋은 강의 잘 듣고 있습니다. 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2유형 질문있습니다!
안녕하세요 선생님 작업형 2유형 관련해서 질문이 있습니다. 2유형에서 고득점을 목표로 하지 않기 때문에 간단하게 기본 공식만 외워가려고 생각중인데요 target = train.pop("A")train = pd.get_dummies(train)test = pd.get_dummies(test) from sklearn.model_selection import train_test_splitX_tr,X_val,y_tr,y_val = train_test_split(train,target,test_size = 0.2, random_state = 0) from sklearn.ensemble import RandomForestRegressorrf = RandomForestRegressor(random_state=0)rf.fit(X_tr,y_tr)pred = rf.predict(X_yal) pred = rf.predict(test)result = pd.DataFrame({'pred':pred})result.to_csv("result.csv",index=False)print(pd.read_csv("result.csv").head())print(pd.read_csv("result.csv").shape) 이런식으로 간단하게 문제에 맞춰 작성했을때 빨간색 하이라이트 부분을 제출을 하는건데 , 초록색 부분을 주석처리를 해줘야 하는걸까요? 아니면 주석처리 하지 않고 위에처럼 제출을 하면 될까요?추가적으로 주석처리가 필요한 부분이 있으면 알려주십쇼!!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모델링 및 평가(분류) 질문! 왜 수치형 데이터만 활용하는가?
모델링 및 평가(분류) 강의에서 X_train 데이터의 15개의 칼럼 데이터 중 일부 수치 데이터만 활용하여 머신러닝에 사용하는데, 모든 데이터를 다 활용하지 않는 이유가 있을까요?만약 모든 데이터를 다 활용한다면 roc_auc_score의 변화는 어떻게 되나요?
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
측정항목 비활성화
GA-탐색-유입경로 탐색 분석 시 측정항목이 비활성화되어있습니다.항목들을 활성화하려면 어떻게 해야 하나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
한 엔티티에 같은 JoinColumn name이 있을경우 어떻게 처리하는지 궁금합니다.
@ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") private User createUser; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") private User lastModifyUser;DB 한 테이블에 글 등록 유저 정보와 마지막 수정 유저 정보를 넣도록 설계했는데 아래와 같이 안되면 이럴때는 보통 설계를 어떻게 하나요??Caused by: org.hibernate.MappingException: Column 'user_id' is duplicated in mapping for entity 'study.factory.domain.Order' (use '@Column(insertable=false, updatable=false)' when mapping multiple properties to the same column)
-
미해결홍정모의 따라하며 배우는 C언어
mingw-w64 수동설치
mingw-w64설치가 안되서 sourceforge 에서 다시다운받았는데 파일이 .zip으로 되어있습니다. 어떻게 하면될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
원핫인코딩 데이터 합치기
피처 엔지니어링 강의 중 분리한 데이터 다시 합침 부분에서 강의영상과 출력값이 달라서 질문드립니다. 강의화면에서는 107 컬럼, 103컬럼인데요, 같은 코드 결과인데 컬럼수가 15개로 나온이유가 궁금합니다.
-
미해결쉬운 용어로 배우는 Git & Github 첫걸음 - 협업까지 마스터하기
브랜치는 한 파일 당 하나만 가능한가요?
안녕하세요 수업 잘 듣고있습니다응용 실습을 하는데 오류가 나서 질문드려요 main에서 두 브랜치를 생성해봤어요하나 먼저 pull request했을 땐 정상적으로 merge pull request가 떴어요그리고 이후에 같은 파일을 수정한 새로운 브랜드를 push하고 pull request 하려고 했는데 This branch has conflicts that must be resolved라는 문구와 함께 merge에 실패했어요한 파일 당 하나의 브랜치만 관여가 가능한걸까요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
두가지 이상 문서를 넣고 싶을때는 어떻게 하나요?
안녕하세요~ 지난번에 gemini로 한다고 고전한다고 질문글을 남겼던 학생입니다. 그냥 openai로 다시 시작하니 실크로드마냥 뻥 뚫리더라고요.....기억나실지는 모르겠지만 지지난번에 남겼던 .env 문제도 해결했습니다. vscode에서도 그냥.env로 파일명 만들면 만들어지더라고요. 전엔 해당 확장자로 안 됐는데 어느순간 되는것이 이유를 모르겠습니다만... 아무튼 네 됐습니다. 그런데 (어쩌면 수업 외적인) 질문이 있는데요.만약에 제가 chatbot에 2개 이상의 문서를 넣고 싶으면 어떻게 해야되나요? 가령 소비자 보호법과 세법을 넣는다고하면 소비자보호법 관련 문서에는 이게 소비자 보호법이라는게 명시가 안 되어 있고, 세법 문서에는 해당 내용이 세법이라는 것에 대해 명시가 되어 있지 않아 1) 단순히 두 word파일을 하나의 파일로 합치면 혼란이 올 것 같은데, 2) 안 합치고 따로 하자니 일단 그 방법도 모르거니와 각각 넣는 게 파일명 말고는 1번과 무슨 차이인지도 모르겠어서 선생님께 질문을 드립니다. 비슷한 상황으로 다른 예시를 들어드리자면 , 가령 대출 관련 챗봇을 만드려고 할 때, 신용 대출에 대한 문서가 신용 대출 << 언급이 안되어 있는 아래와 같은 상황이고 [직장인 대출]금리 10%조건 : 1년이상 재직자대출한도: 만원[직장인 대출2]금리 9%조건 : 3년이상 재직자대출한도: 2만원[CSS 대출] 금리 11%조건 : 20세이상 30세 미만 대출한도: 3만원 그리고 주택 담보 대출은 아래와 같을 때, (= 대출 내용은 다르지만 대출을 받을 수 있는 컨디션은 똑같을 때)[a아파트 대출]금리 10%조건 : 1년이상 재직자대출한도: 50만원[주택 대출]금리 9%조건 : 3년이상 재직자대출한도: 60만원[버팀목 대출] 금리 11%조건 : 20세이상 30세 미만 대출한도: 70만원 이 상황에서 만약에 주택담보대출을 알아보고 있으면 굳이 신용대출까지 조회를 안 해도 되잖아요. 이런 상황은 어떻게 거르죠? 참고로 직장인 대출 <- 신용이라는 키워드로 거를수가 없습니다. 강의에서 알려주신 대로 데이터 사전이나 프롬포트를 이용해 처리하는 방법밖엔 없을까요? (생각나는 상황이 이런거인데 사실 대출을 잘몰라서 ;; 제 질문이 잘 전달됐는지 모르겠네요..) 아무튼 긴 글 읽어주셔서 다시 한 번 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
피처 엔지니어링 원핫인코딩 Train/Test 컬럼 불일치
범주형 변수에 get.dummies를 이용하여 원핫인코딩 하는 작업 중 질문이 있습니다.train 데이터셋과 test 데이터셋의 컬럼수가99개와 95개로 다릅니다.(다른 이유는 train 데이터셋과 test 데이터셋의 컬럼 중에 관측치가 다른 항목이 있기 때문이라고 하셨는데요,그런 이유라면 다른 것이 정상인가요?) 그런데 영상에서는 100개로 나옵니다,,강의 100개 vs 99개 컬럼 갯수가 다른 이유는 무엇일까요? 아래는 코드와 출력값 첨부드립니다.# 원핫 인코딩 n_train, n_test, c_train, c_test = get_nc_data() # 데이터 새로 불러오기 c_train = pd.get_dummies(c_train[cols]) c_test = pd.get_dummies(c_test[cols]) display(c_train.head()) display(c_test.head()) print(c_train.shape) print(c_test.shape)
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
init()에서 LoadStudentObject() 이 함수가 런타임 정적로딩이라고 보면 되나요?
void UMyGameInstance::LoadStudentObject() const 이 함수가 에셋의 로딩전략중2번째에 해당하는 런타임 로직에서 정적로딩을 하는게맞나요?21:54 로딩전략의 각각의 차이점이 잘 감이 오질않는데요 런타임로직에서 정적로딩을 한다는것은 에셋 크기가 클수록 부하가 엄청 커지겟지만작은에셋들을 바로 로딩할때 간편하게 쓰기위함이고 생성자 코드에서 미리 로딩을한다면프로젝트가 켜지는 속도는 느리겠지만에셋을 사용할땐 빠르겠고 관리자를 사용해 비동기로딩이라는것은게임이 진행되는 와중에 당장은 에셋을 쓰진않지만언젠간 쓸 에셋들을 계속해서 꾸준히 싱글턴클래스에서로딩을 한다는건가요?
-
미해결홍정모의 따라하며 배우는 C++
예외 클래스 상속 관련 다른 예제 코드 확인 부탁 드립니다.
교수님의 강의를 보고 선 정리를 하는 과정에서 chat gpt를 이용해서 새로운 예제를 같이 공부하고 있습니다. 교수님의 코드에서는 ArrayException 객체를 throw하는 과정에서 메모리 문제가 발생하지 않고 부모 객체로 catch하여ObjectSilce 문제를 확인을 할 수 있었는데요.chat gpt가 알려준 예제(예제 클래스 상속으로 인한 Object Slice 문제)#include <iostream> #include <string> // 사용자 정의 예외의 기본 클래스 class Exception { public: explicit Exception(const std::string& message) : message_(message) {} // 가상 소멸자 추가 virtual ~Exception() {} // 예외 메시지를 반환하는 가상 함수 virtual const char* what() const noexcept { return message_.c_str(); } private: std::string message_; }; // Exception을 상속받은 커스텀 예외 클래스 class CustomException : public Exception { public: explicit CustomException(const std::string& message, int errorCode) : Exception(message), errorCode_(errorCode) {} // CustomException에만 있는 멤버 함수 int getErrorCode() const { return errorCode_; } private: int errorCode_; }; void throwException() { // CustomException 객체를 값으로 던짐 (복사본이 던져짐) CustomException ex("CustomException occurred", 404); throw ex; // 함수 종료 시 스택에서 삭제될 객체의 복사본이 던져짐 } int main() { try { throwException(); } catch (Exception& e) { // Exception을 값으로 잡음 -> 객체 잘림 발생 std::cout << e.what() << std::endl; // 파생 클래스의 멤버 접근 시도 try { CustomException& ce = dynamic_cast<CustomException&>(e); std::cout << "Error code: " << ce.getErrorCode() << std::endl; } catch (std::bad_cast&) { // 객체 잘림으로 인해 CustomException으로 캐스팅 실패 std::cout << "Caught bad_cast: Object slicing occurred, cannot cast to CustomException." << std::endl; } } return 0; }위 코드를 실행 시켰을때 예외 클래스를 throw 해줄 때 '메모리 문제'가 발생 하더라구요. 그리고 부모 클래스로 catch를 하지 못했습니다.그래서 저는 교수님 코드와 다른게 뭘까 하고 생각해 보다가 예외클래스 객체의 생성주기의 문제라고 생각해서 gpt와 대화(?)를 해보았고 생성주기 부분을 수정해 주니 정상적으로 작동하였습니다.아래의 예제 코드처럼 동적 할당으로 예외 클래스를 만들어주는게 무겁지 않을까 생각이 듭니다.혹시 저 위 코드에서 메모리 문제를 해결하는 방법이 동적 할당 밖에 없는지 궁금합니다.예외 클래스를 동적 할당으로 생성하여 throw해준 예제 코드#include <iostream> #include <string> // 사용자 정의 예외의 기본 클래스 class Exception { public: explicit Exception(const std::string& message) : message_(message) {} // 가상 소멸자를 추가해 다형성 지원 virtual ~Exception() {} // 예외 메시지를 반환하는 가상 함수 virtual const char* what() const noexcept { return message_.c_str(); } private: std::string message_; }; // Exception을 상속받은 커스텀 예외 클래스 class CustomException : public Exception { public: explicit CustomException(const std::string& message, int errorCode) : Exception(message), errorCode_(errorCode) {} // CustomException에만 있는 멤버 함수 int getErrorCode() const { return errorCode_; } private: int errorCode_; }; void throwException() { // 예외 객체를 동적으로 생성하여 포인터로 던짐 (메모리 관리 필요) throw new CustomException("CustomException occurred", 404); } int main2() { try { throwException(); } // 포인터로 던진 예외를 잡음 catch (Exception* e) { std::cout << e->what() << std::endl; // 파생 클래스로 dynamic_cast하여 멤버 접근 시도 if (CustomException* ce = dynamic_cast<CustomException*>(e)) { std::cout << "Error code: " << ce->getErrorCode() << std::endl; } else { std::cout << "Caught base Exception, cannot cast to CustomException." << std::endl; } // 동적으로 할당한 예외 객체 해제 delete e; } return 0; }