묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
V1: 엔티티 직접노출 질문입니다.
@JsonIgnore는 양방향 관계의 무한루프를 막기 위해 설정하는 것이고, @GetMapping("/api/v1/orders") public List<Order> ordersV1() { List<Order> all = orderRepository.findAllByString(new OrderSearch()); for (Order order : all) { order.getMember().getName(); order.getDelivery().getAddress(); List<OrderItem> orderItems = order.getOrderItems(); orderItems.forEach(o -> o.getItem().getName()); } return all; }위에 처럼 프록시 초기화(하지만 실제 엔티티의 참조만 가질뿐 객체는 여전히 프록시)를 해주는 이유는 실제 엔티티의 참조를 가지게 하려고 설정하는 것이고,@Bean Hibernate5Module hibernate5Module() { return new Hibernate5Module(); }위에 처럼 Hibernate5Module을 해주는 이유는 프록시 초기화를 해도 객체는 여전히 프록시기 때문에 Json으로 반환할 수 있게 하려는 것이라고 이해했습니다.여기 까지 이해한 부분이 옳게 이해한 것일까요?그리고 마지막으로 @Bean Hibernate5Module hibernate5Module() { Hibernate5Module hibernate5Module = new Hibernate5Module(); // 강제 지연 로딩 설정 hibernate5Module.configure(Hibernate5Module.Feature.FORCE_LAZY_LOADING, true); return new Hibernate5Module(); }위에 처럼 강제 지연 로딩 설정을 왜 쓰는지는 잘 모르겠습니다.강제 지연 로딩 설정이라는 말이 무엇인가요!?혹시 하이버네이트가 @ToOne은 기본이 eager인데 엔티티에서 직접 lazy 설정해준걸 안해도 된다는 소리인가요? 질문이 크게 숫자로 표시한 두가지 입니다! 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 빅데이터 분석기사 2회 실기 질문
df = pd.concat([X_train,y_train['Reached.on.Time_Y.N']], axis=1) n_train = df.select_dtypes(exclude = object).copy() c_train = df.select_dtypes(include = object).copy() n_test = df.select_dtypes(exclude = object).copy() c_test = df.select_dtypes(include = object).copy() from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() cols = ['Customer_care_calls','Customer_rating', 'Cost_of_the_Product', 'Prior_purchases', 'Discount_offered', 'Weight_in_gms'] n_train[cols] = scaler.fit_transform(n_train[cols]) n_test[cols] = scaler.transform(n_test[cols]) c_train = pd.get_dummies(c_train) c_test = pd.get_dummies(c_test) train = pd.concat([n_train, c_train], axis =1) test = pd.concat([n_test, c_test], axis =1) train = train.drop('ID', axis =1) test_id = test.pop('ID') from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split( train.drop('Reached.on.Time_Y.N', axis =1), train['Reached.on.Time_Y.N'], test_size = 0.2, random_state = 2023) from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_auc_score model = RandomForestClassifier(random_state = 2023) model.fit(X_tr, y_tr) pred = model.predict_proba(X_val)[:,1] print(roc_auc_score(y_val, pred)) pred = model.predict_proba(test)[:,1] submit = pd.DataFrame({ 'ID': test_id, 'Reached.on.Time_Y.N': pred }) submit.to_csv("0000.csv", index = False)작업형2를 n_train, n_test, c_train, c_test로 나누어서 풀어보는 연습을 하고있는데요위와 같이 코딩을 했는데 roc_auc_score는 잘 출력이 되지만 아래와 같은 워닝이 뜹니다. 이유를 알 수 있을까요? 0.7289745856473446 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-81-0b0c32327ea7> in <cell line: 38>() 36 print(roc_auc_score(y_val, pred)) 37 ---> 38 pred = model.predict_proba(test)[:,1] 39 submit = pd.DataFrame({ 40 'ID': test_id, 3 frames/usr/local/lib/python3.10/dist-packages/sklearn/base.py in _check_feature_names(self, X, reset) 479 ) 480 --> 481 raise ValueError(message) 482 483 def _validate_data( ValueError: The feature names should match those that were passed during fit. Feature names unseen at fit time: - Reached.on.Time_Y.N
-
미해결Java TPC 실전프로젝트 (Java API 활용)
아래 소스의 차이가 뭘까요?
StringBuffer stringBuffer = new StringBuffer(); String readLine; while ((readLine = bufferedReader.readLine()) != null) { stringBuffer.append(readLine); } bufferedReader.close(); StringBuffer stringBuffer = new StringBuffer(); String readLine; while (bufferedReader.readLine() != null) { readLine = bufferedReader.readLine(); stringBuffer.append(readLine); } bufferedReader.close(); 첫번째 소스와 두번째 소스의 차이점이 어떤걸까요?둘 다 bufferedReader.readLine() != null 일 경우에 readLine에 값을 대입하는 식인데첫번째로하면 오류가 안나는데 두 번째로 하면 오류가 나네요..위 두 소스의 차이점을 알고 싶습니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
빨간 줄이 적힙니다(makeText, 1번 클릭 완료, Toast.LENGTH_LONG...
프로그램이 화면이 출력되었다는 것을 알아야 한다고 했을 때Toast.makeText(context: this.text:"1번 클릭 완료", Toast.LENGTH_LONG).show()makeText, "1번 출력 클릭완료", Toast.LENGTH_LONG).show()까지 빨간줄이 그여져 있어요,,, 어떻게 바꾸어야 에러가 안 뜰까요?
-
미해결스파크 머신러닝 완벽 가이드 - Part 1
spark환경에서 데이터 수정에 관하여 질문이 있습니다.
안녕하십니까 수업 잘 수강하고 있습니다!수업을 수강하며 pyspark를 통해 예전에 했던 프로젝트의 데이터를 전처리부터 머신러닝까지 적용해보는 중인데, 전처리 과정에서 데이터를 수정해야 하는 경우에 대하여 질문이 있습니다.spark의 경우 pandas처럼 바꾸고 싶은 컬럼의 값만 바꿀 수 있지가 않고, withColumn을 통해 새로운 컬럼을 만들어내는 형식으로 대체가 가능한걸로 알고 있습니다.단순히 컬럼별로 기준을 정해서 바꾸는 거면 withColumn으로도 가능하지만, 만약 개별 줄마다 값을 변경해야 할 경우 for문을 써서 바꿔야 하는 경우가 있는데, 이렇게 할 경우 제 현재 작업 환경(로컬)이 노드가 하나여서 그런지 Java.lang.OutOfMemoryError이 뜨더군요. 그래서 기존에 하던 pandas에서 하던 것 처럼 하려면, toPandas로 바꿔서 해도 되긴 합니다만.. 그러면 pyspark를 이 단계에서는 굳이 사용해봐야 의미가 없고, 또한 나중에 in-memory에서는 처리를 하기 힘든 큰 데이터의 경우에서는 pandas를 사용하지 못하니 방법이 아예 사라지게 됩니다. 그래서 질문은, 만약 이 경우처럼 세세하게 한줄한줄마다 값을 수정할 필요가 있을 경우, 어떻게 하는 것이 좋을지 궁금합니다. 또, spark dataframe을 toPandas로 변환할 경우 그냥 Pandas dataframe으로 불러오는 것과 차이점이 있는지도 여쭤보고 싶습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3회 기출유형(작업형2) 수업 관련 질문
선생님 안녕하세요 ~ 항상 강의 잘 듣고있습니다!공부를 하다 궁금한 점이 생겨 작업형2 3회 기출문제 관련 질문드립니다.1. 다른 피처엔지니어링은 따로 for문을 사용하지 않아도 여러 컬럼에 대해 스케일링이 적용되던데 왜 Label Encoding만 for문을 사용하는지 궁금합니다.2. unamed:0은 삭제해도 되고, 삭제하지 않아도 되는걸까요?3. 복습을 하며 아래와 같이 풀었는데 이렇게 해도 되는걸까요?제출할 때 선생님께서 사용하신 'index':test.index 대신 기존에 있던 Unnamed: 0을 인덱스처럼 사용하였습니다.#데이터 전처리train = train.drop('Unnamed: 0',axis=1) index = test.pop('Unnamed: 0')#제출submit = pd.DataFrame({'index':index, 'pred':pred[:,1]}) submit.to_csv('2014.csv', index = False) 4. 그리고 pred의 범위 설정할 때, pred 변수를 만들 때 하는게 좋은지 제출할 때 하는게 좋은지 궁금합니다. (pred[:,1]이런식으로 범위 설정)#pred 변수 설정시pred = model.predict_proba(test)[:,1]#제출시submit = pd.DataFrame({'index':index, 'pred':pred[:,1]})5. 수치형 /범주형 데이터 분리 없이 원핫인코딩하는 코드를 알고싶습니다.cols = 범주형 데이터train[cols] = pd.get_dummies(train[cols])>> 이렇게 했을 때는 길이가 안 맞아서 오류가 났고train = pd.get_dummies(train[cols])>> 이렇게 했을 때는 train에 원핫인코딩된 범주형 데이터만 저장이 됐습니다. 감사합니다.
-
미해결[핵집] 2025 빅데이터 분석기사(실기)_작업형 1·2·3유형
get_feature_names 오류
get_feature_names 오류가 있어서 한참 찾아봤는데 get_feature_names_out 로 바꼈다고 하네요 이에 대한 공지가 있으면 좋겠습니다.
-
미해결스프링 핵심 원리 - 기본편
인텔리제이 하단 창이 제대로 안나옵니다.
갑자기 좌측하단창이 나오지 않습니다..어떻게 해야 나오게 할 수 있을까요?
-
미해결입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]
해시[문제1번] max사용의문
-영상 14분for i in range(1, 1001): if cnt[i] == 1: answer = max(answer, i) #i는 계속 커지므로 max를 안써도 되지 않을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 선생님 질문 있습니다!!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/50bc7487d15a4569a1ed8e12e3f46c6f메인에서 combi를 호출할 때에 combi(-1,b)로 보내는데 위의 링크 combi(0,b)로 보내고 combi 함수의 내부의 for문과 같이 바꿔도 괜찮을까요??개인적으로 함수를 호출할 때에 증가되는것이 보기에 더 잘 이해되서 한 번 여쭤봅니다!!
-
해결됨[코드캠프] 강력한 CSS
diary-date 부분 질문
여기서 display:flex; 입력시 왜 text -align은 적용안되는지 궁금합니다! .diary-date{ font-size:14px; color:gray; text-align:right; }
-
미해결타입스크립트의 모든 것
하나의 인터페이스와 여러 버전의 클래스에 관한 질문
안녕하세요 :)예제에서 하나의 인터페이스로 설계하고 해당 인터페이스의 구현체를 여러 버전으로 만드셨는데 궁금한 점이 있습니다.만일 신규 버전을 생성할 때 인터페이스도 변경되면 기존 버전의 구현체들은 인터페이스와 불일치하여 오류 표시가 나는데, 오류가 나는 구버전 구현체들은 어떻게 처리를 해야할지 잘 모르겠습니다 ㅠㅠ..!우선 아래 사진과 같이 임시로 인터페이스에 맞게 구현하여 오류를 없애봤지만, 버전이 변경될 때마다 불필요한 리소스를 잡아먹는 작업인 것 같아 옳지는 않은 방향인 것 같아 질문드려요!
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
수업 버전
제가 듣는 수업이 ver1 인지 ver2 인지 어떻게 확인할까요 ?
-
미해결[중급편] 친절한 JETPACK 개론 <상> (Android Kotlin)
fragment 이동시 data 초기화
fragment 1 에서 btn 을 눌러서 plus가 되면 value값이 증가를 하고, 이 증가한 상태에서 fragment 2로 갔다가,다시 fragment1 을 누르면 이전에 fragment가 나오는게 아니라 새로운 fragment가 생성이 되네요?transaction할 때 replace를 써서 그런것 같은데, fragment1 버튼을 누르면 새로운 fragment1이 아닌 기존 생성한 fragment1 화면으로 가는 것은 어떻게 해야 하나요?
-
미해결프로젝트로 배우는 React.js
error handling 2 => ShowPage.js, BlogForm.js에서 에러가 납니다.
BlogList.js까지는 강의와 동일하게 에러처리가 되었으나 ShowPage.js에서 에러 처리 후 확인을 하면글 수정후 => DB끄고 => edit버튼을 누른 상태입니다. 깃 허브에서 ShowPage.js파일 소스를 그대로 복사 붙이기 해도 그렇습니다. 제가 어느 부분을 놓쳐서 이런건지? 어디가 잘못된 것인지? ... 잘 모르겠습니다.^^ ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2 test 데이터 예측시 발생하는 오류
안녕하세요! 복습하는 도중에 이런 에러가 발생되어 질문드립니다 ㅠㅠimport pandas as pd X_train = pd.read_csv('X_train.csv',encoding="euc-kr") y_train = pd.read_csv('y_train.csv') X_test = pd.read_csv('X_test.csv',encoding="euc-kr") print(X_train.shape,y_train.shape) # X_train.head() # y_train.head() # X_train.info() #X_train 환불금액 결측치, 오브젝트 두개 # y_train.info() X_train = X_train.fillna(0) X_train.isnull().sum() X_train = X_train.drop(['cust_id'],axis=1) cust_id = X_test.pop('cust_id') #라벨인코딩 from sklearn.preprocessing import LabelEncoder cols = X_train.select_dtypes( include = 'object').columns cols for col in cols : le = LabelEncoder() X_train[col] = le.fit_transform(X_train[col]) X_test[col] = le.transform(X_test[col]) X_train.head() #검증데이터 분리 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(X_train, y_train['gender'], test_size = 0.2, random_state = 2022) X_tr.shape, X_val.shape, y_tr.shape, y_val.shape #모델링 - 랜덤포레스트 from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_auc_score model = RandomForestClassifier(random_state=2022) model.fit(X_tr,y_tr) pred = model.predict_proba(X_val) roc_auc_score(y_val,pred[:,1]) pred = model.predict_proba(X_test) <------------------이 과정에서 발생되는 오류입니다 pred ValueError: Input X contains NaN. RandomForestClassifier does not accept missing values encoded as NaN natively. 라는 에러가 발생합니다 ㅠㅠ코드를 검토해봐도 이상은 없는거같은데.. 뭐가문제일까요? ㅠㅠ
-
해결됨[코드팩토리] [초급] 8시간만에 끝내는 코드팩토리의 Typescript 완전정복 풀코스
클래스 제너릭 상속시 super constructor 설정 안하는 이유
Generic in inheritance 강의에서 궁금한점이 있어서 질문 드립니다!밑에 코드처럼 자식 클래스(Winter, Winter2)가 부모 클래스(Person)로 부터 상속을 받았는데Winer와 Winter2 둘다 super constructor로 부모 속성을 설정 하지 않았는데어떻게 정상적으로 인스턴스에서 부모속성을 가져오는지 궁금합니다~ class Person<T, Z>{ name: T; age: Z; constructor(name: T, age: Z) { this.name = name; this.age = age; } } // Winter 클래스 상속 class Winter extends Person<string, number>{ }; const winter = new Winter('김민정', 22); console.log(winter); // Winter2 클래스 상속 class Winter2<T, Z> extends Person<T, Z>{ } const winter2 = new Winter2('김민정', 22); console.log(winter2); 보통의 경우 이렇게 해줘야 하지 않나요? 이렇게 해도 작동은 잘 되더라고요ㅎㅎ;; constructor(name:string, age:number){ super(name, age) } 그런데 또 이런 경우는 super constructor 하지 않으면 에러가 발생합니다 ㅎ;class Winter3<T, Z, Part> extends Person<T, Z>{ part?: Part; constructor(part?: Part) { this.part = part } }
-
해결됨실전! Querydsl
순수 jpa 와 queryDsl 실전 관련 오류
아래와 같이 작성했는데 memberJpaRepository. searchWhere() 메서드 호출이 안되네요 ..ㅠㅠ 코드가 문제일까요? @Repository //@RequiredArgsConstructor public class MemberJpaRepository { private final EntityManager em; private final JPAQueryFactory jpaQueryFactory; // 순수 jpa 와 QueryDsl 적용 전 준비 public MemberJpaRepository(EntityManager em) { this.em = em; this.jpaQueryFactory = new JPAQueryFactory(em); } List<MemberTeamDto> searchByBuilder(MemberSearchCond condition){ // BooleanBuilder 동적쿼리 BooleanBuilder builder = new BooleanBuilder(); //StringUtils.hasTest() import stirng.framework -> null, "" 값에 대한 boolean 값 반환 if(hasText(condition.getUsername())){ builder.and(member.username.eq(condition.getUsername())); } if(hasText(condition.getTeamName())){ builder.and(team.name.eq(condition.getTeamName())); } //age 는 null 값 허용 if (condition.getAgeGoe() != null) { builder.and(member.age.goe(condition.getAgeGoe())); } if(condition.getAgeLoe() != null){ builder.and(member.age.loe(condition.getAgeLoe())); } return jpaQueryFactory .select (Projections.constructor( MemberTeamDto.class, member.id, member.username, member.age, team.id, team.name)) .from(member) .leftJoin(member.team,team) .where(builder) .fetch(); } List<MemberTeamDto> searchByWhere(MemberSearchCond condition){ return jpaQueryFactory .select(Projections.constructor(MemberTeamDto.class, member.id, member.username, member.age, team.id, team.name)) .from(member) .leftJoin(member.team, team) .where( usernameEq(condition.getUsername()), teamNameEq(condition.getTeamName()), ageGoe(condition.getAgeLoe()), ageLoe(condition.getAgeLoe()) ).fetch(); } private BooleanExpression usernameEq(String username){ return StringUtils.hasText(username) ? member.username.eq(username): null; } private BooleanExpression teamNameEq(String teamName){ return StringUtils.hasText(teamName) ? team.name.eq(teamName): null; } private BooleanExpression ageGoe(Integer ageGoe){ return ageGoe!= null ? member.age.goe(ageGoe): null; } private BooleanExpression ageLoe(Integer ageLoe){ return ageLoe != null ? member.age.loe(ageLoe): null; } }
-
미해결타입스크립트의 모든 것
!과 타입 단언 (보충) 질문
이런식으로 변수에 값을 할당하면서 동시에 사용할수 있다고 하셨는데examples2 type을 object 선언후 as 로 IExam 을 감싸는 이유가 따로 있을까요저렇게 했을경우 value 프로퍼티 접근을할경우 빨간줄이 뜨는데 이럴땐 해결하는 방법이 따로 있을까요??
-
해결됨홍정모의 따라하며 배우는 C언어
4-10 * modifier 질문!
마지막 예시로 * modifier가 scanf 함수에 어떻게 적용되는지 설명하셨는데, *이 scanf 에서 쓰이면 이것과 결합된 형식 지정자는 무시되는 건가요??