안녕하세요. Kakfa를 이용 하던 중 다음의 상황을 Kafka (sink) Connector를 사용하여 구현하려 합니다. Clinet에는 응용프로그램이 Data를 수집하여 JSON 포멧으로 Producer를 구현하여 Kafka topic으로 Data를 전송함 (key : null, value : JSON 포멧의 Data) Kafka의 topic에 쌓여 있는 정보를 다른 응용프로그램이 Consumer를 구현하여 Data를 사용 중 (이와는 병렬로 추가로 DB에 저장 하는것이 목적입니다.) 이 때 이 kafka topic에 저장 되는 data를 kafka sink connector를 사용하여 Database(RDBMS, MSSQL)에 저장을 하려 합니다. topic에 쌓이는 Data의 Schema가 변경이 될 수 있어, value로 들어 오는 값을 그대로 하나의 string 단일 컬럼으로 지정하여 schema registry에 등록 하여 sink connector로 받아 갈 수 있을 까요? 아니면 더 간단한 방법이 있을 까요? (Value 값을 string 하나의 컬럼으로 DB로 가져가서 DB에서 parsing 하여 사용할 계획 입니다.)
섹션0, ‘안드로이드 살펴보기’에서 마지막에 앱을 실행할때 계속 에러가 뜨네요. 뭐가 문제인 걸까요? 참고로 안드로이드스튜디오 버전은 giraffe라고 쓰여있습니다. 그리고 다른 문제는 다운받은 avd중 하나가 계속 정지 버튼 눌러도 정지가 안되고 삭제도 안되요. 근데 이상태에서 다른 avd사용은 되더라고요. 어떻게 해야하죠? delet누르면 이렇게 떠요. 근데 running device 창에는 이 avd가 없거든요..
2분 40초 쯤 나오는 >>, << 연산자에 대해서 "두 개의 피연산자가 모두 정수이변 결과값은 '몫' 입니다."라고 설명되었는데, 해당 연산이 비트연산 시프트 연산과 같다면 몫이 나올 수 없지 않나요? 예를 들어서 int a = 4; // 100 int b = 1; // 1 int c = a >> b cout << c << endl; 결과값은 2가 나오게 되니까 몫이라고 설명되는 부분이 이해가 안됩니다.
강사님 안녕하세요. bottom-up 방식으로 풀때처럼 처음 다이나믹배열을 초기화할때 0행과 0열을 누적합으로 초기화 한 후 다음과 같이 풀었는데, 잘못된 방법일까요?? 제생각엔 재귀호출이 더 적게 되어서 효율적이라고 생각해 이렇게 풀었습니다. import sys sys.stdin = open('in5.txt','r') def dfs(y,x): if dis_arr[y][x] > 0: return dis_arr[y][x] else: dis_arr[y][x] = min(dfs(y-1,x),dfs(y,x-1)) + arr[y][x] return dis_arr[y][x] if __name__=="__main__": n = int(input()) arr = [list(map(int,input().split())) for _ in range(n)] dis_arr = [[0]*n for _ in range(n)] # 거리저장배열 dis_arr[0][0] = arr[0][0] # 첫번째 거리 저장 # 0번째 행과 열 누적합 하기 for i in range(1,n): dis_arr[0][i] = dis_arr[0][i-1] + arr[0][i] dis_arr[i][0] = dis_arr[i-1][0] + arr[i][0] print(dfs(n-1,n-1))
function solution(arr) { let result = []; const convertArray = arr; for (let i = 0; i < arr[0].length - 1; i++) { const mento = arr[0][i]; for (let j = 0; j < arr.length; j++) { for (let k = 0; k < arr.length; k++) { const menti = arr[k][j]; if (j > i) { break; }; if (j !== k) { if (mento <= menti) { const index = convertArray[k].indexOf(menti); convertArray[k][index] = 'not'; } }; }; }; }; for (let i = 0; i < arr[0].length - 1; i++) { const mento = arr[i][i]; for (let k = 0; k < arr[0].length; k++) { const menti = convertArray[i][k]; if (typeof menti === 'number' && mento !== menti && typeof mento === 'number') { result.push([mento, menti]); }; }; } return result.length; }; 저는 위처럼 풀었습니다. 제가푼건 O(n^3) + O(n^2)인 것 같은데 제가 푼 방법에서 반례가 있을까요? 다른 케이스들로 시뮬레이션 돌렸는데 잘 생각이 나지 않아 질문드립니다.
안녕하세요. 강의를 듣고 있는 초보 개발자입니다. test 코드 만드는 부분에서 오류가 나서 진도를 못나가고 있는 상태입니다. export createApp을 했음에도 불구하고 index.test.ts 파일에서 import createApp을 한 후 let app: Express.Application 선언 후 app을 request 인자로 넣을 때 오류가 납니다. 또 한가지 질문은 os 환경이 windows인데 redis 설치를 했습니다만 이게 node api와 연동이 되고 있는건지 잘 모르겠습니다..ㅠㅠ redis cli에서 list에 push한 후 typescript로 만든 api를 구동해서 push를 했을 때 성공했다고 postman으로 확인을 했는데 get을 호출하면 [] 빈 리스트가 반환됩니다..ㅠㅠ 제가 node와 타입스크립트로 개발이 처음이라 너무 힘듭니다ㅠㅠ 진도를 나가고싶은데 이 코드를 통해서 빌드 배포를 하는 거 같아서 강의를 처음부터 계속 다시 돌려보면서 프로젝트만 지웠다 다시 만들었다만 반복 중입니다.. 도움 좀 부탁 드리겠습니다.
강의 듣기 전에 혼자 풀어보았는데 function solution(board, moves) { let answer = 0, stacks = Array.from({ length: board[0].length }, () => []), moveStack = []; for (let x of board.reverse()) { // [3,5,1,3,1] for (let i = 0; i < board[0].length; i++) { if (x[i] === 0) continue; stacks[i].push(x[i]); } } for (let m of moves) { m--; if (stacks[m].length === 0) continue; // 해당 번호에 인형 다 꺼냈을때 let top = stacks[m].pop(); if (moveStack.length === 0) { // moveStack 에 아무것도 없을때 moveStack.push(top); continue; } let movesTop = moveStack.pop(); if (movesTop === top) answer += 2; else { moveStack.push(movesTop, top); } } return answer; } 저는 처음에 board 배열 형태를 pop하기 쉽게 변형한 뒤에 moves 따라 계산했는데 이 코드로 짜면 이중 for 문 때문에 시간 효율이 안좋을까요??
안녕하세요. 9.11 강의 17:01에서 강사님께서 "현재 상태에서 main.c 함수는 my_print_functions.c 파일에 대해서 알지 못해요"라고 설명해주시는데요. 이때 알지 못한다는 것을 compile 단계에서 알지 못한다고 이해해도 괜찮은가요? 즉, compile단계에서는 main.c 함수가 my_print_functions.c 파일을 알지 못하지만, linking 단계에서는 linker가 두 파일을 연결해줘서 build가 정상적으로 이루어진다고 이해하면 될까요? 아래 사진처럼 my_print_functions.h 파일을 무시하고 main.c에서 my_print_functions.c 파일을 바로 include해보았는데 에러가 나옵니다. 어떤 부분에서 잘못된 것인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 항상 보면 인터페이스인 memberRepository를 호출하고 return은 인터페이스를 포함한 클래스인 MemorymemberRepository를 리턴하던데, 그냥 둘다 MemorymemberRepository로 하면 안되나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] void initMember(String nameParameter){ nameField = nameParameter; } 이렇게 된 메서드가 기능의 오류가 있거나, 상급자의 명령으로 고치라고 해서 변경을 하였습니다. 근데 void initMember(String nameField){ this.nameField = nameField; } 이런식으로 바꿔야 하는 상황이 생겼습니다. 그럴 경우 어떻게 처리해야하는지 궁금합니다. this 라는 코딩스타일이 있다고 하였고 ide가 발달해서 안쓴다고 하였는데 메서드의 내에서 오류가 발생하거나 고치는 경우 흔하지는 않겠지만 이런식으로 바뀔수가 있을수도 있을것 같아서 질문을 드립니다. 이런 경우로 바뀌는 경우가 있는지 만약에 이렇게 한다면 코드를 재수정해야는지 아니면 오래된 this.코딩 스타일이 나은지 궁금합니다.
User 클래스를 만들었고 ShoppingCart2에서 User클래스를 활용하기 위해서 user1이라는 인스턴스를 생성하였습니다. 그리고 User클래스에 있는 메서드를 활용하기 위해서 user1.을 하니 메서드가 나타나지 않았습니다. 그 이유가 무엇때문인지 알 수 있을까요? (메인 메서드에서는 정상적으로 나타났습니다)
분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요?ㅇㅇ 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?ㅇㅇ 3. 질문 잘하기 메뉴얼을 읽어보셨나요?ㅇㅇ [질문 내용] 여기서 실행을 시키시던데 저는 여기서 실행이 안되거든요. 따로 실행코드도 작성하시지 않았는데 어떻게 실행이 되는건가요? 인텔리제이 유료버전을 쓰셔서 되는건가요?