안녕하세요! 복습하다가 조금 의아한 부분이 있어서 질문드립니다. 19:20 초 메서드 이름으로 쿼리 생성에 페치 조인을 시켜주기 위해 @EntityGraph를 붙여주신 부분에서 질문입니다. 여기서 파라미터에 @Param을 붙여주는 이유가 뭔가요? @Param은 @Query방식에서 파라미터 바인딩하려고 사용했는데 메서드 이름으로 쿼리 생성해주는 경우에는 사용할 필요가 없는게 아닌가 해서 질문드립니다. 만약 여기서 @Param을 붙여줘야 하는게 맞다면 메서드 이름으로 쿼리 생성에서 설명해주셨던 List<Member> findByUsernameAndAgeGreaterThan(String username, int age); 에서는 @Param을 붙이지 않으셨는데 어떤게 맞는 걸까요?
안녕하세요, 수업 잘 듣고 있는 수강생 중 하나 입니다. closure_ex2()에서 발생한 nonlocal 없음으로 인한 에러를 보고 몇가지 테스트를 해보고 제가 이해한 바가 맞는 건지 문의드립니다. 상위함수의 free variable region에서 cnt의 id 값을 print해보고, 내부함수 내용을 모두 지우고 cnt의 id를 print 해보니 free variable region의 cnt와 동일한 id 값을 확인할 수 있었습니다. 마치, 자바스크립트의 런타임 전에 변수가 먼저 선언된 후 런타임에서 변수에 값이 할당되는 것과 메커니즘이 같다는 생각이 들었습니다. 그래서 내부 함수에서 cnt = 3으로 할당한 후 id 값을 print 해보니 그때에는 free variable region과는 다른 id값이었습니다. 다른 질문의 답변에서 mutable과 immutable의 차이 때문이라고 하신 것보다 좀 더 깊게 이해하자면 스코프와 변수의 선언과 할당의 다른 시점에 의해 발생한 에러라고 생각이 됩니다. 내부함수에서 (cnt = cnt + 1 또는 cnt += 1 )라고 쓴 부분에서 cnt라는 변수가 런타임 이전에 선언되고 런타임에서 cnt + 1 을 수행하는데 선언만 되고 할당이 안되어 있기 때문에 reference error가 발생했다고 생각이 되는데요. 제가 이해한 바가 맞는지요?
< html > < head > < meta charset = "UTF-8" > < title > 출력결과 </ title > </ head > < body > < script > function solution ( m , arr ) { let answer = 0 ; let sum = 0 ; let li = 0 ; let ri = 0 ; while ( true ) { if ( sum < m ) { sum += arr [ ri ]; ri ++; } else { sum -= arr [ li ]; li ++; } if ( sum === m ) { answer ++; } // ri가 arr.length 이상이고, sum이 m보다 작아지면 반복문 종료 if ( ri >= arr . length && sum < m ) break ; } /**/ return answer ; } console . log ( solution ( 6 , [ 1 , 2 , 1 , 3 , 1 , 1 , 1 , 2 ])); console . log ( solution ( 6 , [ 1 , 1 , 1 , 2 , 4 ])); console . log ( solution ( 2 , [ 1 , 1 , 1 ])); </ script > </ body > </ html > 안녕하세요, 선생님! 강의 잘 듣고 있습니다. while문 하나만 이용하여 O(n)으로 구현해보았는데 오류가 있는지 확인해주시면 감사드리겠습니다!
선생님, 안녕하세요 선생님께서는 dp배열갱신하실 때 주어진 높이와 너비에서부터 시작을 하셨는데 저와 같은 경우는 i=1 j=1 즉 1,1시작점에서부터 시작을 하되 i+h가 H를 넘어서지 않고 j+w가 W를 넘어서지 않는 조건, 그리고 i-1>=1 j-1>W인 조건 이 두 조건을 충족하는 범위 내에서만 dp를 갱신하도록 해줬는데요 이게 선생님 방식보다 어떤 면에서 비효율인지 궁금합니다. 심지어 case 2는 틀렸다고 나오네요ㅜㅜㅜㅜ문제가 뭘까요? #include<iostream> #include<stdio.h> #include<queue> #include<vector> using namespace std; int H, W; int map[701][701]; int dp[701][701]; int dp2[701][701]; bool visited[701][701]; int h, w; int main() { cin >> H >> W; for (int i = 1; i <= H; i++) { for (int j = 1; j <= W; j++) { cin >> map[i][j]; } } cin >> h >> w; dp[1][1] = map[1][1]; for (int i = 2; i <= H; i++) { dp[i][1] = dp[i - 1][1] + map[i][1]; } for (int i = 2; i <= W; i++) { dp[1][i] = dp[1][i - 1] + map[1][i]; } /*printf("\n"); for (int i = 1; i <= H; i++) { for (int j = 1; j <= W; j++) { printf("%d ", dp[i][j]); } printf("\n"); }*/ for (int i = 2; i <= H; i++) { for (int j = 2; j <= W; j++) { dp[i][j] = map[i][j] + (dp[i][j - 1] + dp[i - 1][j]) - dp[i - 1][j - 1]; } } //printf("\n"); //for (int i = 1; i <= H; i++) { // for (int j = 1; j <= W; j++) { // printf("%d ", dp[i][j]); // } // printf("\n"); //} //printf("\n"); ////이 부분이 질문입니다!!!!!/////// int ans = -1; for (int i = 1; i <= H; i++) { for (int j = 1; j <= W; j++) { if (i + h <= H && i + w <= W && i - 1 >= 1 && j - 1 >= 1) { dp2[i][j] = dp[i + h - 1][j + w - 1] + dp[i - 1][j - 1] - dp[i - 1][j + w - 1] - dp[i + h - 1][j - 1]; if (ans < dp2[i][j]) { ans = dp2[i][j]; } } else { continue; } } } printf("%d", ans); }
안녕하세요. 강의 잘 듣고 있습니다. 제가 Singleton 패턴을 잘 이해한 것인지 헷갈려서.. 아래와 같이 메모해 두었는데 제대로 이해한 것일까요? //그러니까 // Manager s_instance = new Manager(); 이게 안되니까 // go라는 GameObject를 만들어 @Managers 라는 GameObject를 생성해 집어넣던지 있으면 찾아넣던지 하고 // @Managers에 Managers클래스(스크립트)를 컴포넌트로 같다붙인 뒤 // Managers 클래스의 static instance인 s_instance에다가 // @Manager라는 GameObject에 붙어있는 컴포넌트 -> Managers 클래스를 집어넣음으로써 // 결과적으로 Managers의 static instance인 s_instance에다가 // Managers 를 갖다넣음 즉 Manager s_instance = new Manager(); 이거를 // @Managers 라는 GameObject라는 애를 통해서 우회적으로 한 것임. 감사합니다.
안녕하세요! 저는 Ai 비전을 비즈니스에 활용하기 위해서 강의를 듣고 있습니다. Ai 학습을 위해서 비즈니스 정보가 담긴 데이터들을 넣고 학습을 하게 될텐데요... 혹시...ai 비전 관련 오픈소스를 사용할때 제가 사용하는 학습 데이터들에 대한 정보가 외부로 유출될 가능성은 없는지...그 점이 궁금합니다...
제로초님 안녕하세요? 강의 들은 내용을 응용해 다른 라이브러리의 타입을 수정하려고 하는데 타입 충돌이 발생해서 조언을 구합니다. native-base라는 라이브러리의 Accordion 컴포넌트의 속성 중 expanded의 타입을 number에서 number[ ]로 바꾸고 싶어서 수정하고 싶은 부분을 src/@types/index.d.ts에 다음과 같이 만들고 export {}; declare module 'native-base' { export interface Accordion extends Testable { dataArray: Array<any>; headerStyle?: RnViewStyleProp; contentStyle?: RnViewStyleProp; renderHeader?: (item: any, expanded: boolean, index: number) => React.ReactElement<any>; renderContent?: (item: any, index: number) => React.ReactElement<any>; expanded?: number[]; //기존 number를 number[]로 수정함 icon?: string; expandedIcon?: string; iconStyle?: RnTextStyleProp; expandedIconStyle?: RnTextStyleProp; style?: RnViewStyleProp; } } tsconfig.json의 "typeRoots" :[ "./src/@types/index.d.ts" ] 을 설정하여 새로 만든 타입을 인식하는 데까지는 성공했습니다. 그런데 기존 node_modules/native-base에 있는 index.d.ts를 먼저 인식해 수정한 타입이 적용되지 않습니다. node_modules에 있는 native-base의 index.d.ts를 지우지 않으면 안되는 걸까요? 기존 라이브러리의 타입을 수정하고 싶을 때 이런 경우는 어떻게 해야할지 감이 안와서요ㅜㅜ 조언 부탁드립니다~
안녕하세요. 아래 쿼리와 같이 SUM(CASE WHEN Status != 'completed'가 아닌 SUM(CASE WHEN Status = 'cancelled_by_driver ' 를 하면 틀린 답이라고 나옵니다. 같은 내용인거 같은데 왜 틀린지를 모르겠네요 ㅠ 확인해 주시면 감사하겠습니다. SELECT Day, ROUND(rate/total,2) AS `Cancellation Rate` FROM ( SELECT a.Request_at AS Day , SUM(CASE WHEN Status = 'cancelled_by_driver ' THEN 1 ELSE 0 END) AS rate , COUNT(*) as total FROM Trips a INNER JOIN Users uc ON a.Client_Id = uc.Users_Id INNER JOIN Users ud ON a.Driver_Id = ud.Users_Id WHERE a.Request_at BETWEEN '2013-10-01' AND '2013-10-03' AND uc.Banned = 'No' AND ud.Banned = 'No' GROUP BY 1 ) t