학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 위와 같이 Cat 클래스에 toString 메서드를 오버라이드 했을때 findAnimal2 의 결과가 Cat()이 나오는게 왜 그런지 모르겠습니다.. 타입 인자가 Animal이고, Cat은 Animal을 상속받은 자식 클래스기 때문에 Cat의 toString 이 나와야 하는거 아닌가요..? 어디서 놓친건지 잘 모르겠습니다.
강의 매우 유익하게 듣고 있습니다. 다른 질문들도 많이 찾아보았는데요 3버전은 실무에서 적극적으로 활용하고있는 사례가 없다라고 말씀하셨는데 카프카 버전이 현재기준으로는 2버전은 2.8.2버전까지 나온걸로 아는데 강의 들을 때 사용하는 2.5.0버전이 아직 현역인지 궁금합니다 ㅎㅎ (제가 근무하는 회사는 카프카 적용사례도 없고, 현황을 알기 어려워서요 ㅠㅠ) 우선 강의 기준 2.5.0으로 열심히 강의 듣고 2.8.x버전과 차이를 스스로 공부해보려고 하는데 개발하는데 차이가 없다면 2.8.2바전 기준으로 주키퍼버전도 올리고 듣는게 좋을까요? ㅎㅎ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. getter,setter이 적용이안됩니다. 1.enable 세팅해서 체크함 2.스프링 프로젝트만들대 디펜전씨에 롬복추가함 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> 3.플러그인 깔려있음 3가지 다 적용되어있는데 뭔 symbol?이런 에러뜨면서 롬복적용이안된데요
현재 "신규 Blog 글 생성하기 - 01" 강의를 수강 중입니다. 강의 중에, 쿼리의 commit() 실패시 rollback()이 자동으로 수행된다고 말씀 하셨는데, 코드상에 with를 사용한 것도 아니고, context_get_conn()의 에러 발생시 rollback() 호출도 하지 않는데 rollback()이 자동으로 수행되는게 맞는가요? close를 하면 자동으로 rollback() 된다고 하시는데 close는 성공시에도 호출하는 것으로 코드를 이해하고 있습니다. insert, update의 성공시에도 rollback()이 되는게 맞는지도 알고 싶습니다.
안녕하세요, Clock 사용한 테스트를 보면서 의문점이 생겼습니다. 실제로 실무에서도 시간 관련된 로직이 있는 클래스에는 Clock을 Bean으로 만들어서 주입해 사용하는 것이 일반적인가요? 그냥 LocalDateTime을 쓰는 경우를 많이 본 것 같아서 의문이 들었습니다. 만약 아니라면, 어떠한 다른 방법이 주로 사용되는지, 토비님은 어떤 방식을 선호하시는지 궁금합니다! 감사합니다~
안녕하세요! 강사님 몇달 전에 듣고 복습중인데요 몇달 전에 들었을때, 이렇게 잘 db를 생성했었습니다. 그리고 vi docker-compose.yaml 아래와 같이 수정하였지만 적용이 안되네요...ㅠㅠ 그리고 이전에 생성했던 게 그대로 실행되고 있습니다...! 당연히 dags_python_with_postgres.py 실행하면 아래와 같이 connection 오류가 발생하구요... 혹시 해당 문제 어떻게 해결해야할 지 알 수 있을까요?!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 생산자 소비자 문제 2에서 BoundedQueueV5 부분 Condition 분리에서 consumerCond, producerCond가 바뀐거 같아서 제보드립니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 현재 자바 버전은 다음과 같고 나오는 오류 입니다. 환경변수는 다음과 같습니다. 어떻게 해결을 하면 될까요?
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 1-9 알고리즘 더 풀어보기 (1) 2. 어려움을 겪는 부분 문제의 조건이 모든 연산은 왼쪽에서 순서대로 이루어진다. 라고 되어있어, 연산을 해야하는 순간에 가장 최대가 될 수 있는 연산만 골라서 계산한다 라고 떠올려보았습니다. 그렇다면 해당 문제를 greedy로 생각해봐도 괜찮을까요? 아직 진도 초반이지만, 평소 코테 문제를 볼 때 어느 부분에 힌트를 잡고 어떤 알고리즘으로 풀어야하는지에 대해 감이 없는 상태라서 이런 문제들(연산이 순서대로 된다던지, 거스름돈 문제처럼 단위가 결정된다던지)은 greedy로 보면 되는지 여쭙고싶습니다. 아래는 풀이한 코드입니다. def find_max_plus_or_multiply(array): answer = array[0] for n in range(1,len(array)): if answer + array[n] > answer * array[n]: answer += array[n] else: answer *= array[n] return answer result = find_max_plus_or_multiply print("정답 = 728 현재 풀이 값 =", result([0,3,5,6,1,2,4])) print("정답 = 8820 현재 풀이 값 =", result([3,2,1,5,9,7,4])) print("정답 = 270 현재 풀이 값 =", result([1,1,1,3,3,2,5]))
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 1챕터 7강 (공간 복잡도 판단하기) 2. 어려움을 겪는 부분 1-7 강에서 시간 복잡도 설명을 해주시면서 아래 코드들을 직접 array 길이의 값인 26을 대입하여 비교해주셨는데요, 사실상 첫 번째 코드는 이중 for문이므로 O(N^2)이고, 두 번째 코드는 for문을 각각 1개씩 썼기때문에 O(N)라 시간복잡도면에서 큰 차이가 나지않나해서요 강의에서는 직접 숫자를 대입한 후에 첫 번째 코드와 두 번째코드는 N^2에 비해 효율에 있어 차이가 없다고 말씀하셔서 어디 부분에 제가 혼동이 오는지 궁금하여 질문드립니다! for alphabet in alphabet_array: # alphabet_array 의 길이(26)만큼 아래 연산이 실행 occurrence = 0 # 대입 연산 1번 실행 for char in string: # string 의 길이만큼 아래 연산이 실행 if char == alphabet: # 비교 연산 1번 실행 occurrence += 1 # 대입 연산 1번 실행 if occurrence > max_occurrence: # 비교 연산 1번 실행 max_alphabet = alphabet # 대입 연산 1번 실행 max_occurrence = number # 대입 연산 1번 실행 for char in string: # string 의 길이만큼 아래 연산이 실행 if not char.isalpha(): # 비교 연산 1번 실행 continue arr_index = ord(char) - ord('a') # 대입 연산 1번 실행 alphabet_occurrence_list[arr_index] += 1 # 대입 연산 1번 실행 max_occurrence = 0 # 대입 연산 1번 실행 max_alphabet_index = 0 # 대입 연산 1번 실행 for index in range(len(alphabet_occurrence_list)): # alphabet_array 의 길이(26)만큼 아래 연산이 실행 alphabet_occurrence = alphabet_occurrence_list[index] # 대입 연산 1번 실행 if alphabet_occurrence > max_occurrence: # 비교 연산 1번 실행 max_occurrence = alphabet_occurrence # 대입 연산 1번 실행 max_alphabet_index = index # 대입 연산 1번 실행
안녕하세요. 과제전형을 준비중인데 강의듣고 많은걸 깨우쳤습니다. 잘 배우고 있는 중입니다. 그런데 올려주신 코드(TestController.java)를 실행했을 때 로컬 주소로 NotFound가 나더라구요. 코틀린코드로 변경하면서 공부중인데 제 코드가 문제라 생각하다가 원본 코드를 한번 돌려봤는데 같은 현상이 일어나서 혹시 더 설정해 줘야 할게 있을지 여쭤봅니다. restClient를 의심했다가 public api 가 동작하는 것을 보고 역시 라이브러리 문제는 아닌거 같더라구여.
안녕하세요! 강의 잘 듣고 있습니다 공부를 하다가 오래 고민해도 이해가 안되는 부분이 생겨서 질문 처음 남겨봅니다~ 침몰하는 타이타닉 (그리디) 문제에서 예를 들어 무게가 100 90 80 80 80 80 40 30 20 10 인 10명의 사람들을 무게 한도가 140인 구명보트에 태울때 강사님 풀이 대로면 100인 사람과 10 인 사람을 태우고 90 인 사람과 20인 사람을 태우는 방식으로 시작해서 (100,10) (90,20) (80,30) (80, 40) (80) (80) 이렇게 6개의 구명보트에 사람을 태우는데 저는 100인 사람과 40인 사람을 먼저 태워야한다고 생각을 했습니다. 뭔가 강사님 풀이대로 100인 사람과 10 인 사람을 먼저 태우면 80 인 사람이 혼자 타게 되는데 100이 40과 함께 타면 80 인 사람이 10 인 사람과 같이 탈 수 있으니 80은 혼자 타지 않아도 되서 cnt 가 최소가 되는게 아닌가 생각했습니다. ( 즉 100 일떄 140 - 100 은 40 이니 40보다 작은 수 중에서 가장 큰 값을 구하는 방식으로 풀었습니다 이중 반복문을 사용합니다 (100, 40) (90, 20) (80, 20) (80, 10) (80) (80) ) 제가 제 방식, 강사님 방식으로 5시간정도 시뮬레이션 해 본 바로는 결국 결국 cnt는 같았습니다 그런데 왜 같은지 논리적으로는 이해할 수가 없어요.. ㅠㅠ 논리적으로 왜 같은지 혹시 설명해주실 수 있으실까요..
해당 케이스에서 DVD 최소 크기가 2이면, DVD의 개수는 [1, 1], [1, 1], [1] 총 3개가 되서 결과가 틀어야 하는게 아닌가 싶습니다! 제가 짠 코드로는 id 1 채점이 통과되지 않아 질문드립니다. import java.util.Scanner; public class Main { public static int solution(int n, int m, int[] arr) { int answer = 10_001; int lt = 0; int rt = 0; for (int x : arr) { rt += x; } while (lt <= rt) { int mid = (lt + rt) / 2; int midValue = mid + 1; int sum = 0; int cnt = 1; for (int i = 0; i < n; i++) { if (sum + arr[i] > midValue) { cnt++; sum = arr[i]; } else { sum += arr[i]; } } if (cnt > m) { lt = mid + 1; } else { rt = mid - 1; } if (cnt == m && answer > midValue) { answer = midValue; } } return answer; } public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int m = kb.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = kb.nextInt(); } System.out.print(solution(n, m, arr)); } }
1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 채팅 프로그램 - 클라이언트 채팅 프로그램 - 클라이언트 강의 내용 중 inputusername 메소드를 추출할 때 static 메소드를 추출할 때 static으로 자동 적용 되었는데, 굳이 static 메소드로 사용하지 않아도 될 것 같습니다..! 또 단축키가 어쩔 땐 static으로 추출되고, 어쩔 땐 아니어서 검색해보니 토비님의 답변도 찾을 수 있었습니다! https://www.inflearn.com/community/questions/1359516/%EB%B3%80%ED%95%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EC%BD%94%EB%93%9C-%EB%B6%84%EB%A6%AC%ED%95%98%EA%B8%B0-%EB%A9%94%EC%86%8C%EB%93%9C-%EC%B6%94%EC%B6%9C?srsltid=AfmBOorUZ02Kv2_l0vDv5EM2D3c5qO6mGJBncxlRZTzVmR5Ueni2JQrg
강의를 들으면 카프카 커넥트와 카프카 컨슈머는 사실상 같은 동작을 하는데 왜 두 가지가 있나? 에 대해 고민하면서 의문이 든 점들을 여쭤볼려고 합니다. 카프카 커넥트를 사용하는 경우에는 "반복적인 파이프라인을 만들어야할 경우 분산모드 커넥트를 설치하고 운영"을 강조하셨습니다. 여기서 말하는 의미가 데이터 전처리 없이 바로 DB와 같은 외부에 데이터를 넘기는 경우를 말씀하시는 걸까요?? 그럼 카프카 컨슈머는 데이터 전처리가 필요할 때 사용하는 것일까요?? 전처리가 필요하고 단발적인 처리가 아닐 경우에는 consumer application을 파티션 갯수만큼 띄워서 데이터 처리량을 높이는게 맞는 걸까요?? --------------------------------------- 그리고 마지막으로 " 카프카 기술별 아키텍처 적용 방법 정리" 를 생각하지 말고 동일한 구현을 커넥트와 컨슈머 각각 구현한다면 커넥트가 조금 더 빠른 성능을 보이는걸까요?? 제가 아직 많이 부족해서 이해가 잘안되는 부분 질문드립니다!! 답변해주시면 정말 감사드리겠습니다!!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 정답이랑 똑같이 작성했는데, Item 부분에서 자꾸 오류가 뜨네요.. 어디가 잘못됐는지 모르겠습니다 ㅜ
이렇게 풀었는데요 if부분이 저도 잘모르겠는데 작동은 하긴합니다..근데 일단 영한님처럼 두개로 나눠쓴다(꼭 나눌필요는없다하셨지만..)같은 차근차근 생각이 전혀 안납니다..ㅠㅠ 어떻게저떻게 머리 굴려서 해보긴했는데 뭔가 이상한 부분은 없는지 봐주셨으면 좋겠습니다. 그리고 이런..어떻게 코드를 작성해야할지 생각이 안나는 것은 어떻게 해결을 할 수 있을까요..? package lang.Math.test; import java.util.Arrays; import java.util.Random; public class Lotto { public static void main(String[] args) { Random random = new Random(); int[] arrays = new int[6]; for(int count = 0; count < 6; count++){ int num = random.nextInt(45) + 1; if(num!=arrays[count]){ arrays[count] = num; } } System.out.println("arrays = " + Arrays.toString(arrays)); }