안녕하세요. JPA를 이용해서 스터디를 하다가 막히는 부분이 있어서 질문 드립니다. 우선 요구사항은 아래 내용입니다. 신규 회원은 1명의 회원을 추천할 수 있습니다. 회원은 본인이 추천받은 총 횟수를 알 수 있습니다. 위 내용을 기반으로 엔티티를 Customer, Referee 2개를 생성 했습니다. 그리고 Referee 엔티티에서 추천한 회원 ID와 추천받은 회원 ID를 필드로 가지려고 합니다. 추천한 회원 ID 필드는 OneToOne 관계로, 추천받은 회원 ID는 ManyToOne 관계로 풀고 싶습니다. 이런 경우에는 어떤식으로 정의를 해야 할까요? @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @Entity public class Referee extends CreatedDateTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "referee_id") private Long id; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "customer_id") private Customer customer; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "customer_id") private Customer refereeCustomer; } 감사합니다.
MemberServiceTest에서 Long saveId = memberService.join(member)의 memberService부분에서 밑줄이 그어지며 Cannot resolve symbol 'memberSerivce' 오류가 납니다. 캐쉬도 지워봤습니다. 각각 MemberServiceTest와 MemberService 파일 화면입니다.
안녕하세요 교수님, 강의를 듣고 공부 겸 포트폴리오 하나 만드려고 열심히 코딩하고 있습니다만, NewObejct<>()의 첫번째 인자인 Outer의 개념이 무엇인지 궁금해서 질문합니다. 엔진 코드나 공식 문서를 찾아봐도 그냥 이 'Object this object resides in' 정도의 설명만 적어져 있고, 자세한 Outer의 역할이 작성되어 있지 않습니다. 엔진 코드를 자세히 분석해보기는 너무 어렵고,, 그래서 구글링을 해보았더니 Outer는 Outer Chain, 계층 구조를 표시하는데 유용하다고 합니다. ex) 월드 -> 레벨 -> 액터 -> 컴포넌트. 등 이런 계층 구조를 유지하고 필요할 때 사용하기 위하여 outer를 지정해야 한다는 것 까지는 이해가 갑니다만, 종종 'GC'에도 관여한다는 사람도 있고 아니라는 사람도 있어서 궁금해서 질문을 올립니다. GC는 1. UPROPERTY() 2. FGCObject 상속 후 구현 3. RootSet의 경우에만 GC와 참조 카운트에 영향을 미치는 것이 아닌가요? GC에 관여하지 않는 것이 맞다면, Outer의 목적은 대체 무엇인가요? 단순히 계층 구조의 표현과 필요할 시 사용을 위한 용도인 것인가요? 'Owner'같은 경우는 Part3. 강의에서 오너십과 커넥션 관련 판별에서 유용하게 사용되는 것을 알겠지만 Outer는 정확한 목적을 모르겠습니다.
왼쪽화면: 강의영상 / 오른쪽: 제 코드 강사님이 하셨을 땐 엔터로 여러 숫자들 입력하고 그 숫자들의 합과 평균을 입력할 수 있는데, 저는 똑같이 쳐도 숫자를 한개씩만 입력할 수 있어요.. 제 코드는 package scanner; import java.util.Scanner; public class ScannerWhile3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int sum = 0; int count = 0; int input = 0; System.out.println("숫자를 입력하세요. 입력을 중단하려면 -1을 입력하세요: "); while(true){ input = sc.nextInt(); if(input == -1){D break; } sum += input; count++; double average = (double) sum / count; System.out.println("입력한 숫자들의 합계: " + sum); System.out.println("입력한 숫자들의 평균: " + average); } } } 이와 같은데 무엇이 강사님과 다른지 모르겠습니다!
24년 8월 3일 sts 최신 버전을 받아서 프로젝트를 만들었는데 도중에 toolchain오류가 나면서 프로젝트가 다 안 만들어짐 build.gradle 파일을 열어보니 java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } 이렇게 바뀌어 있습니다 예전에는 java { sourceCompatibility = '17' } 이렇게 되어 있었는데 이런 오류는 어떻게 해야 하나요?
안녕하세요, 강의를 듣고 계신 여러분! 여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다. 1. chatGPT를 이용해보기 단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다! 2. 강의의 어떤 부분에 대한 질문이고, 어떤 부분이 궁금한지 명확히 알려주세요! 강의의 어느 파트에서 의문을 느끼고, 어떤 부분이 궁금한지 를 명확히 제시해 주시면 답변에 도움이 됩니다! 자신은 어떻게 이해했는지 또한 적어주면 좋습니다! ash: python: command not found [Finished in 16ms with exit code 127] [shell_cmd: python -u "/Users/sindonghui/Desktop/ test.py " < input.txt] [dir: /Users/sindonghui/Desktop] [path: /Library/Frameworks/Python.framework/Versions/3.12/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/ com.apple.security .cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/ com.apple.security .cryptexd/codex.system/bootstrap/usr/bin:/var/run/ com.apple.security .cryptexd/codex.system/bootstrap/usr/appleinternal/bin] 밑에 이렇게 떠요 ex) 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의 에서 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해 했습니다. 그러면 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요? 어느 파트 섹션5의 '그래프 순회 (DFS & BFS) [개념]' 강의 자신은 어떻게 이해했는지 DFS와 BFS 모두 그래프의 모든 노드를 탐색하는 알고리즘이라고 하셨고 시간 복잡도 또한 똑같다고 이해 어떤 부분이 궁금한지 DFS와 BFS 중에서 어떤 알고리즘이 더 효율적인지 구별하는 것은 의미가 없는 것일까요?
안녕하세요 강사님. 리액트를 배울때, 컴포넌트 내에서 object를 초기화하면 성능 문제가 생길 수 있다고 배웠습니다. 근데, [2-4] 네비게이션 타이핑 강의(1:29)를 보면, function AuthStackNavigator() { const Stack = createStackNavigator(); return (~~) } 와 같이, 컴포넌트 내부에 Stack이 선언되어 있습니다. 이러면 화면이 재랜더링 될 때 마다, Stack이 선언되어 성능문제가 생기는건 아닌가요?
입력 창에서 키보드를 입력할 때마다 아래와 같이 warning log가 주르륵 뜹니다. W/IInputConnectionWrapper(12010): getSelectedText on inactive InputConnection W/IInputConnectionWrapper(12010): getTextAfterCursor on inactive InputConnection W/IInputConnectionWrapper(12010): getTextBeforeCursor on inactive InputConnection W/IInputConnectionWrapper(12010): getSelectedText on inactive InputConnection W/IInputConnectionWrapper(12010): getTextAfterCursor on inactive InputConnection W/IInputConnectionWrapper(12010): beginBatchEdit on inactive InputConnection W/IInputConnectionWrapper(12010): getTextBeforeCursor on inactive InputConnection W/IInputConnectionWrapper(12010): endBatchEdit on inactive InputConnection W/IInputConnectionWrapper(12010): beginBatchEdit on inactive InputConnection W/IInputConnectionWrapper(12010): getTextBeforeCursor on inactive InputConnection W/IInputConnectionWrapper(12010): endBatchEdit on inactive InputConnection 번잡하기만 하고 별로 필요 없어서 해당 로그를 보고 싶지 않은데 로그 레벨 조정을 어떻게 하죠? 검색해도 제대로 된 정보는 안 나오네요
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 데이터를 삭제하는 기능에서 removeNode 를 null 값으로 처리하는 이유가 있을까요? removeNode 를 더 이상 사용되지 않는 것 같은데, 해당 노드의 item 과 next 를 null 값으로 처리해야만 GC 대상이 되는건가요? null 값으로 명시하지 않아도 될 것 같아 질문드립니다. // 추가 코드 public Object remove(int index) { Node removeNode = getNode(index); Object removedItem = removeNode.item; if (index == 0) { first = removeNode.next; } else { Node prev = getNode(index - 1); prev.next = removeNode.next; } removeNode.item = null; removeNode.next = null; size--; return removedItem; }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기 인터페이스에 구현된 save findById findByName findAll 이 4가지는 메서드로 정의된건가요 ...? 인터페이스는 앞에 접근제어가 없이도 메서드로 정의하는게 가능한건가요 ..?
안녕하세요~ 강의 열심히 따라가다가 그동안 배워온 것들 복습을 진행중입니다. 그러다가 함수 관련해서 질문이 있는데요! 강의 속에서 함수를 정의하면 해당 함수의 이름에는 배열처럼 메모리 주소가 할당된다고 하셨는데요! 좀 더 자세히 살펴볼려고 디버그 모드로 정의된 함수 이름에 어떤 메모리 주소가 들어가 있는지 살펴보고 있었습니다. Q1. 그런데 특이하게 디버그 모드를 최초로 실행할 때부터 함수 이름에 메모리 주소가 일종의 쓰레기값..(사진 속에서는 16진수로 ff 값이 적혀있네요)으로 정의되어 있고 이후 코드 실행 step 을 계속 실행시켜도 별다른 값으로 업데이트가 되지 않더라구요. 그렇다는 것은 런타임에 들어가기 전부터 빌드 타임에 함수 이름에는 메모리 주소가 최초로 1번만 할당되고 런타임 때는 할당되지 않는 것으로 이해하면 될까요?(마치 size of 연산자처럼 컴파일 연산자 처럼요..비교가 좀 다를 수 있긴 합니다만..) Q2. 함수의 메모리 주소도 포인터를 이용해서 막 여기 저기 활용하는 사례도 많나요??(마치 문자열이나 다른 배열을 포인터로 활용하는 것처럼..) Q3. 그리고 어쨌건 최초로 변수를 선언하고 정의할 때 메모리가 할당되는 시점은 무조건 빌드 타임에 할당되는 것이죠? 그러면 런타임에 메모리가 할당되는 시점도 있나요..? 자꾸 헷갈리네요! 혹시 질문이 이해가 안가신다면 답글 달아주세요! 감사합니다 :)
❗ 질문 작성시 꼭 참고해주세요 최대한 상세히 현재 문제(또는 에러)와 코드(또는 github) 를 첨부해주셔야 그만큼 자세히 답변드릴 수 있습니다. 맥/윈도우, 안드로이드/iOS, 버전 등의 개발환경 도 함께 적어주시면 도움이 됩니다. 에러메세지는 일부분이 아닌 전체 상황 을 올려주세요! 로그아웃 클릭 후 로그인 및 회원가입 버튼누르면 아래처럼 로그아웃안된것처럼 나오며 아래처럼 Warning로그가나오는데 혹시 이게문제인가요?? 구글찾아봐도 해결이안되서 게시판에 글 올립니다 ㅠㅠ
grid_dtree = GridSearchCV(dtree, param_grid=parameters, cv=3, refit=True, return_train_score=True) grid_ dtree.fit (X_train, y_train) 강의에서는 지금까지 정확도를 도출할때 이미 훈련 데이터로 학습된 모델을 통해 X_test 데이터의 예측값을 구하고 이를 실제 y_test 값과 비교하여 일치도를 구하는 방식으로 하였습니다. 하지만 위의 코드에서는 test 데이터 없이 train 데이터만 grid_dtree에 넣었는데 어떻게 파라미터별 정확도를 평가할 수 있는건지 이해가 안갑니다!! GridSearchCV를 통한 파라미터별 정확도는 어떻게 도출되는것인가요?
grid_dtree = GridSearchCV(dtree, param_grid=parameters, cv=3, refit=True, return_train_score=True) grid_ dtree.fit (X_train, y_train) 강의에서는 지금까지 정확도를 도출할때 이미 훈련 데이터로 학습된 모델을 통해 X_test 데이터의 예측값을 구하고 이를 실제 y_test 값과 비교하여 일치도를 구하는 방식으로 하였습니다. 하지만 위의 코드에서는 test 데이터 없이 train 데이터만 grid_dtree에 넣었는데 어떻게 파라미터별 정확도를 평가할 수 있는건지 이해가 안갑니다!! GridSearchCV를 통한 파라미터별 정확도는 어떻게 도출되는것인가요?