묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 데이터 JPA
영속성 전이와 연관관계
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 선생님 강의를 통해 배움을 얻고 프로젝트를 하며 성장 하고 있습니다.프로젝트를 하던중 영속성 전이와 관련하여 궁금한점이 생겨 질문 드립니다.( 영한님 JPA 강의에 질문 하는것이 맞으나 JPA는 책을 사서 여기에 질문 드립니다 ㅠㅠ ) 회원과 주소는 양방향 관계를 두고 있습니다.회원과 주소를 연관관계 매핑하여 회원을 저장하면 영속성 전이를 통해주소가 같이 저장 됩니다. 그런데 문제는 둘다 영속 상태일때 주소를 제거 하면 delete 쿼리가 나가지 않았습니다.이런 저런 실험을 해본 결과 영속성 전이 때문에 삭제 되지 않은것으로 보았습니다.영속 대상인 주소를 삭제 하려고 했으나 회원의 연관관계인 Address는 그대로 있기 때문에영속성 전이로 인해 삭제가 되지 않았다로 판단 하였습니다. 영속성 컨텍스트에 주소만 있을 경우 주석 으로된 부분을 실행하면영속성 전이를 수행할 회원이 없기 때문에 delete 쿼리가 나가게 됩니다.제가 생각한게 맞는지 궁금하여 질문 드립니다. 밑의 예시의 경우 회원이 영속 상태인 경우영속성 전이 때문에 연관관계를 끊지 않으면 영속 대상인 주소가 delete가 안되는게 맞을까요? @DisplayName("회원과 연관된 주소를 제거할때 자식인 주소를 제거 하면 delete 쿼리가 발생하지 않는다.") @Test void deleteAddress() { //given User user = new User("회원"); Address address = new Address("주소"); address.connectUser(user); //when em.persist(user); em.flush(); boolean isAddressManaged = em.contains(address); System.out.println("Address is managed? " + isAddressManaged); addressRepository.deleteById(address.getId()); em.flush(); em.clear(); //then //Address findAddress = addressRepository.findById(address.getId()).orElseThrow() //addressRepository.deleteById(findAddress.getId()); //em.flush(); } [ 회원 ]@Getter @Setter @Table(name = "users") @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @OneToOne(mappedBy = "user", cascade = CascadeType.PERSIST) private Address address; protected User() {} private String name; public void connectAddress(Address address){ this.address = address; } }@Getter @Entity public class Address { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id") private User user; private String addressName; protected Address() {} public Address(String addressName) { this.addressName = addressName; } public void connectUser(User user){ this.user = user; user.connectAddress(this); } }
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
9:45 부터 영상자막이랑 소리랑 싱크가 안 맞아요 ㅠㅠ
9:45 부터 영상자막이랑 소리랑 싱크가 안 맞아요 ㅠㅠ
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 코랩파일 다운로드 받는 위치(경로) 문의
강의에서 알려주시는 코랩파일은 어디에서 다운로드 받을 수 있나요?엑셀 파일이나 마인드맵 자료는 다운 받았습니다.
-
미해결[2025] 비전공자도 한 번에 합격하는 SQLD 올인원
DML 문제와 답이 다른 것 같습니다
안녕하세요강의 잘 듣고있습니다~CHAPTER 3 01 DML 핵집문제 (p. 306, 307)문제와 답이 서로 다른 내용인 것으로 보여서확인 부탁드리겠습니다 감사합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
얼떨결에 코드 짜서 답은 나왔는데요 0.5보다 큰걸 찾는 부분 코드가 저렇게 해도 왜 답이 제대로 나오는걸까요
from sklearn.preprocessing import MinMaxScaler Scaler = MinMaxScaler() df_Scaler = Scaler.fit_transform(df[['qsec']]) re=df_Scaler>0.5 re.sum()
-
미해결
강의 영상 추가 요청
남박사님, relank 기능 사용하는 방법도 알려주실 수 있을까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
25년 1회 문제풀이
혹시 25년 1회 문제풀이는 안해주시나요?
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
[03-04] 디바이스 API
안녕하세요해당 수업 내용을 안드로이드로 실행시켰을때 세 가지 내용중 두 가가지는 잘 나오는데 기종정보는 alert가 안뜨는데 왜 그런걸까요 ??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
사후검정 2가지를 다 숙지해야할까요?
사후검정방법이 꽤 여러가지있고 그 중에 두가지를 반복해서 알려주시는데, 둘중에 하나만 숙지해도 될까요?
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
프로젝트 공유해주실수 있나요
메일 확인했습니다 감사합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
일원 또는 이원분산분석 모두 독립변수가 범주형이면 다 c를 붙이는지요?
일원 또는 이원분산분석 모두 독립변수가 범주형이면 다 c를 붙이는지요?
-
미해결
일월분산분석
처음 문제는print(stats.shapiro(df['A'])print(stats.shapiro(df['B'])print(stats.shapiro(df['C'])print(stats.shapiro(df['D'])처럼 쉽게 표현 했는데 왜 두번째 문제는 CondA = df['groups']='group_A'Print(stats.shapiro(df[CondA]['scores']))CondB = df['groups']='group_B'Print(stats.shapiro(df[CondB]['scores']))CondC = df['groups']='group_C'Print(stats.shapiro(df[CondC]['scores']))CondD = df['groups']='group_D'Print(stats.shapiro(df[CondD['scores']))처럼 어렵게 표현해?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4회 작업형 2 f1_score 평가할때 rf_f1 = f1_score(y_val, rf_pred, average= 'macro') 써도 되나요?
강사님 안녕하세요! 두가지 질문이 두 가지 있습니다.1)from sklearn.model_selection import cross_val_score scores = cross_val_score(train, y scoring = 'f1_macro', cv=5) 이거 대신에train_test_split(train.drop('Segmentation',axis =1),train['Segmentation'], test_size = 0.2, random_state =0 ) 이렇게 데이터를 나눈 뒤, 평가를 해도 되는지 궁금합니다. 2)그리고 cross_val_score를 쓰지 않고, 아래처럼 기존에 쓰던 직접 f1-score를 구해 모델 평가하는 방식도 괜찮은가요?rf_f1 = f1_score(y_val, rf_pred, average='macro') 감사합니다cols = list(train.select_dtypes(include = 'O')) cols #['Gender','Ever_Married','Graduated','Profession','Spending_Score','Var_1'] # train[cols].nunique() #(2,2,2,9,3,7) # for col in cols: # print(train[col].value_counts()) train = train.drop('ID',axis =1) test_id = test.pop('ID') # from sklearn.preprocessing import LabelEncoder # for col in cols: # le = LabelEncoder() # train[col] = le.fit_transform(train[col]) # test[col] = le.transform(test[col]) # train.head() train = pd.get_dummies(train).astype(int) #(6665,30) test = pd.get_dummies(test).astype(int) #(2154,29) # print(train.shape,test.shape) # print(train.shape,test.shape) #(6665, 29) (2154, 28) train.head() from sklearn.model_selection import train_test_split X_train, X_val, y_train, y_val = train_test_split(train.drop('Segmentation',axis =1),train['Segmentation'], test_size = 0.2, random_state =0 ) print(X_train.shape,X_val.shape,y_train.shape, y_val.shape) #(5332, 28) (1333, 28) (5332,) (1333,) from sklearn.metrics import f1_score from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier(random_state = 0, max_depth = 9, n_estimators = 700) rf.fit(X_train,y_train) rf_pred = rf.predict(X_val) rf_f1 = f1_score(y_val, rf_pred, average= 'macro') print(rf_f1) # 0.5350437339763565 /9 700 0.543685768934749 # # from lightgbm import LGBMClassifier # # lgbm = LGBMClassifier() # # lgbm.fit(X_train, y_train) # # lgbm_pred = lgbm.predict(X_val) # # lgbm_f1 = f1_score(y_val, lgbm_pred, average= 'macro') # # print(lgbm_f1) #0.5277491575057244 pred = rf.predict(test) sumbit = pd.DataFrame({'ID':test_id, 'Segmentation': pred}) sumbit.to_csv('submission.csv', index = False) pd.read_csv('submission.csv') #0.31924
-
미해결실전에서 바로 써먹는 Elasticsearch 입문 (검색 최적화편)
Elasticsearch 설치하기 강의에서 질문 있습니다.
맥에서 터미널을 이용해서 진행하고 계신데요윈도우에서 이렇게 하려면 어떻게 하면 되는지 자세하게 설명해 주셨으면 좋겠습니다.
-
미해결
연습문제 교재 429p 의 일원분산분석에서
"math.csv"파일을 어디서 불러올 수 있나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 6회 작업형 2 질문입니다.
07:26에서"f1 스코어로 예측할때는 확률 값이 아니라 클래스로 나누기 때문에 predict로 예측해야한다"라고 말씀해주셨는데 이 부분에서 질문이 생겼습니다!1) 확률 값으로 예측하는건 평가지표 중 roc_auc_score 뿐인지2) 만약 평가 지표로 roc_auc로 한다고 문제에 출제되었으면 제출 예시로 확률 값이 아닌 클래스 값으로 나온 것 처럼 보여도 predict_proba ()로 예측해도 되는지 궁금합니다!-> 제가 알고있기론 roc_auc_score가 평가 지표여도 predict()를 사용해서 해도 되지만, 평가 성능이 차이가 나는 걸로 알고 있는데 제대로 알고 있는건지 여쭙습니다!!
-
해결됨커머스 서비스로 배우는 NestJS 실전 개발 (w. Prisma, Docker, Redis, Kafka)
dto 관련 질문있습니다.
order.service 계층에서import { CreateRequestOrderDto } from 'src/order/presentation/dto/create.order.dto';presentation 계층의 dto를 참조하는데 이유가 있을까요??궁금해서 질문드립니다.
-
해결됨웹 프론트엔드를 위한 자바스크립트 첫걸음
명언 설정하는데 위치설정 오류가 있어요!
⚠질문 작성법세션 7 - 4.API를 사용해 명언 강사님처럼 명언을 검색바 밑으로 보여지게 출력하고 싶은데요, 저는 오른쪽으로 명언이 출력되요! 명언바 위치 설정을 어떻게 해야 하는 지 궁금해요?!const API_URL = "https://random-quote.hyobb.com/"; const quoteElement = document.getElementById("quote"); const quoteItem = localStorage.getItem("quote"); const nowDate = new Date(); const month = nowDate.getMonth() + 1; const date = nowDate.getDate(); const setQuote = (result) => { let quote = { createDate: `${month}-${date}`, quoteDate: result }; localStorage.setItem("quote", JSON.stringify(quote)); quoteElement.textContent = result; }; const getQuote = async () => { try { const data = await fetch(API_URL).then((res) => res.json()); const result = data[1].respond; setQuote(result); } catch (err) { console.log(`err:${err}`); setQuote("작은 기회로 부터 종종 위대한 업적이 시작된다. - 데모스테네스"); } }; getQuote();
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
AXI의 ID의 역할은?
안녕하세요 맛비님 강의를 수강하는 학부생입니다.[1. 질문 챕터] : 21강 16분 쯤[2. 질문 내용] : ID에 대해 헷갈리는 점이 있어서 문의 남김니다.ID에 대해 찾아 보다가 다음과 같은 두 개념이 혼동되는 상황입니다.전자:"한 쌍의 인터'페이스' 상에서, 하나의 마스터가 여러개의 트랜젝션 요청을 보낼 때 ID를 구분하여, 여러 트랜젝션을 구분한다., 즉 하나의 마스터와 슬레이브 쌍이 여러 아이디를 주고 받으면서 트랜젝션을 구분하는 용도이다."후자:"interconnection에서 어떤 방식으로 transaction을 다룰지 알려주는 정보이며, transaction의 souce를 나타내는 용도로 사용된다. 즉 하나의 마스터가 하나의 ID를 가지면서 어느 마스터의 요청이였는지를 구분하는 역할이다."둘 중 어느 내용이 맞는건가요? 맛비님 강의를 보면 후자라고 이해가 됩니다.[3. 시도했던 내용, 그렇게 생각하는 이유] : SoC 현업자들 카톡방, GPT와 제미나이에게 물어본 결과 전자가 맞다고 하고일부 검색 결과와 맛비님 강의에 따르면 후자가 맞는거같아서 헷갈립니다.================== 고생많으십니다. 좋은 강의 만들어주셔서 감사합니다. AXI를 배울곳은 여기뿐이네요
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
테이블을 생성할 때 관계 명시를 안 하는 게 더 나은지 질문드립니다!
안녕하세요! 학부생일때 간단한 프로젝트를 진행할 때는, erd를 그릴 때 관계도 명시하고, 이를 지켜서 테이블을 생성하려고 했습니다.그런데 테이블 생성문을 보니 보통 관계를 명시 안 하고 하시더라구요! (user의 id와 user_id 같은 것)보통 실무에서는 이렇게 관계를 명시 안 하고 테이블을 생성하는 편인가요?그리고 이렇게 했을 때 장점이 있을까요?너무 초보적인 질문이었다면 죄송합니다...!!