hashCode() 오타? 질문
미해결
김영한의 실전 자바 - 중급 2편
강의 자료 보면, 전부 다 해시코드 만들 때, Object.hashCode()를 사용한다고 되어있는데, 막상 equals()와 hashCode() 오버라이딩된 것을 보면, Objects인데, 둘은 서로 다른 것 아닌가요? 오타 아닌가요?
- java
- 객체지향
- 코딩-테스트
- 알고리즘
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
김영한의 실전 자바 - 중급 2편
강의 자료 보면, 전부 다 해시코드 만들 때, Object.hashCode()를 사용한다고 되어있는데, 막상 equals()와 hashCode() 오버라이딩된 것을 보면, Objects인데, 둘은 서로 다른 것 아닌가요? 오타 아닌가요?
미해결
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님 좋은 강의 항상 감사드립니다. 해당 문제에서 시간 복잡도 관련 질문이 있습니다! map의 equals() 는 내부적으로 O(n)의 복잡도를 가진 메소드로 알고 있습니다! 내부 구현 코드도 entrySet을 통해서 반복문으로 찾는 과정이 있는 것 같은데요! 그렇다면 for문 안에 equals()를 사용할 경우 O(n^2)이 되는 것이 아닌지 질문 드리고 싶습니다! equals가 평균적으로 n 까지 가지 않기 때문에 제외 되는 것일까요? 추가적으로 equals() 를 사용하지 않고 풀이를 해봤습니다! 채점을 했을 땐 통과를 하였는데.. 혹시 이 방법에 예외가 있을까요? import java.util.HashMap; import java.util.Scanner; public class Main { private static void solution(String s, String t) { int idx1 = 0; int answer = 0; int cnt = 0; HashMap<Character, Integer> targetMap = new HashMap<>(); for (char c : t.toCharArray()) { targetMap.put(c, targetMap.getOrDefault(c, 0) + 1); } for (int i = 0; i < s.length(); i++) { char key = s.charAt(i); if (targetMap.containsKey(key)) { int value = targetMap.get(key); if (value == 0) { cnt--; } targetMap.put(key, --value); if (value == 0) { cnt++; } } if (i >= t.length()) { char backKey = s.charAt(idx1++); if (targetMap.containsKey(backKey)) { int value = targetMap.get(backKey); if (value == 0) { cnt--; } targetMap.put(backKey, ++value); if (value == 0) { cnt++; } } } if (cnt == targetMap.size()) { answer++; } } System.out.println(answer); } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.next(); String t = sc.next(); solution(s, t); } }
미해결
김영한의 실전 자바 - 중급 1편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 예외가 터지면서 객체가 생성이 됐지만 참조값 대입을 안했는데 어떻게 catch (NetworkClientExceptionV2 e)에서 참조값을 가지고 있는 건가요?
미해결
김영한의 실전 자바 - 중급 2편
1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 자료구조, 알고리즘이 재밌어야 할까요? 개발자가 되려면요
해결됨
실전 jOOQ! Type Safe SQL with Java
MySQL의 기본 데이터 저장 경로는 /var/lib/mysql 이므로, 직접 만든 볼륨에 /data 경로가 아닌 /var/lib/mysql 을 지정해주셔야 합니다. 도커 컴포즈 파일 내 Volumes-top-level-elements 설정 시, sakila_volume: 이하에 external: true 를 지정하지 않으면, {project_name}_db-data 인 이름의 볼륨을 찾고 없으면 해당 볼륨을 생성합니다.(예: sakila-mysql_sakila_volume ) 따라서 external: true 를 지정하거나, name: sakila_volume 을 지정해야합니다. see → https://docs.docker.com/reference/compose-file/volumes/
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] (base) mirae@mirae-MacBookPro jpashop % ./gradlew clean build Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details > Task :test JpashopApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:180 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1773 Caused by: org.hibernate.service.spi.ServiceException at AbstractServiceRegistryImpl.java:276 Caused by: org.hibernate.HibernateException at DialectFactoryImpl.java:191 1 test completed, 1 failed > Task :test FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///Users/mirae/Desktop/study/SPRING_BOOT/jpashop/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. For more on this, please refer to https://docs.gradle.org/8.5/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 10s 8 actionable tasks: 8 executed (base) mirae@mirae-MacBookPro jpashop % 같은 질문에서 해결 방안을 다 따라해봤지만 계속 오류가 납니다. gradlew 버전 8.5 , JDK 버전 21.0.1 이고 intel macBook입니다
미해결
실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
올려주신 강의 자료에서 6번 코드부터 임포트 했는데 오류가 납니다.
해결됨
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 해당 강의와 관련된 내용을 학습하던 중에 prestartAllCoreThreads() 외에도 prestartCoreThreads() 라는 메서드가 존재하는 것을 확인했습니다. 제가 인지한 두 메서드의 차이점은 다음과 같습니다. |메서드 |prestartAllCoreThreads()|prestartCoreThreads()| |---------------|------------------------|---------------------| |생성되는 스레드 수 |전체 코어 스레드 수 |1개씩 | |생성된 스레드의 상태|active 아님 |active | 여기서 후자의 경우 1개씩 생성한다는 점은 이해가 가는데, 왜 두 메서드의 경우에서 생성한 스레드의 상태가 active냐/아니냐로 차이가 나는지는 모르겠습니다. 챗지피티와 이에 대해서 대화를 좀 나눴는데 그 내용도 이해가 되지 않습니다. 다수의 스레드가 동시에 getTask() 를 호출하면 모두 블로킹 상태가되어 락을 기다리지 않기 때문에 active 카운트가 증가하지 않는다.. 라고 하는데 이해가 가지 않습니다. 실행 결과 // case1. 생성된 스레드가 active 상태가 아님 poolExecutor.prestartAllCoreThreads(); printState(executorService); //15:31:40.628 [ main] [pool=1000, active=0, queuedTasks=0, completedTasks=0 // case2. 생성된 스레드가 active 상태임 poolExecutor.prestartCoreThread(); printState(executorService); //15:17:53.579 [ main] [pool=1, active=1, queuedTasks=0, completedTasks=0
미해결
대세는 쿠버네티스 (초급~중급편)
node1이 worker인가요?>
미해결
쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
vagrant up하면 에러를 FAQ에서 보고 해봐도 잘 안되네요. 검색해보고 찾아보고 coreinfo -v확인도 해보고 해봤는데.. 다시도 설치해보고 Hyper-V 비활성화도 되어있구요.관리자권한으로 실행도 해봤구요. 보안에서 해당 virtualbox폴더 차단 제외도 해봤구요. 에러내용은 아래와 같습니다. 해당 위치 로그 파일 내용은 다음과 같습니다. 44a8.453c: 00007ff7f25a25fd / 0x01125fd: 00 != 4e 44a8.453c: 00007ff7f25a25fe / 0x01125fe: 00 != 47 44a8.453c: 00007ff7f25a25ff / 0x01125ff: 00 != 58 44a8.453c: Restored 0xa08 bytes of original file content at 00007ff7f25a25f8 44a8.453c: Error (rc=-5607): 44a8.453c: ntdll.dll: SizeOfImage (0x263000) isn't close enough to the mapping size (0x266000) 44a8.453c: Error (rc=-5607): 44a8.453c: supHardenedWinVerifyProcess failed with -5607: ntdll.dll: SizeOfImage (0x263000) isn't close enough to the mapping size (0x266000) 44a8.453c: Error -5607 in supR3HardNtChildPurify! (enmWhat=5) 44a8.453c: supHardenedWinVerifyProcess failed with -5607: ntdll.dll: SizeOfImage (0x263000) isn't close enough to the mapping size (0x266000)
해결됨
자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
AtomicIntegerFieldUpdater 기본 구현 페이지의 코드에서 마지막 System.out.println() 부분을 보면은 new value라고 하고 instance.getMyFiled()를 하고 Updated value에도 instance.getMyFiled()를 합니다 그런데 옆에 주석에 new value는 42, updated value는 43으로 나오는데 실제로 실행해보니 저는 둘 다 43으로 나오더라구요 표기 오류가 맞는거겠죠?
미해결
대세는 쿠버네티스 (초급~중급편)
kubectl apply -f https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml namespace/storageos-operator unchanged clusterrole.rbac.authorization.k8s.io/storageos-operator configured serviceaccount/storageoscluster-operator-sa unchanged deployment.apps/storageos-cluster-operator unchanged resource mapping not found for name: " storageosclusters.storageos.com " namespace: "" from " https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml ": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1" ensure CRDs are installed first resource mapping not found for name: " storageosupgrades.storageos.com " namespace: "" from " https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml ": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1" ensure CRDs are installed first resource mapping not found for name: " jobs.storageos.com " namespace: "" from " https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml ": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1" ensure CRDs are installed first resource mapping not found for name: " nfsservers.storageos.com " namespace: "" from " https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml ": no matches for kind "CustomResourceDefinition" in version "apiextensions.k8s.io/v1beta1" ensure CRDs are installed first resource mapping not found for name: "storageoscluster-operator-rolebinding" namespace: "" from " https://github.com/storageos/cluster-operator/releases/download/1.5.0/storageos-operator.yaml ": no matches for kind "ClusterRoleBinding" in version "rbac.authorization.k8s.io/v1beta1" ensure CRDs are installed first 해당 오류가 StoragesOs Operator 설치할떄부터 발생하는거같은데 원인이 뭘까요 kubectl get all -n storageos 이 명령어로 설치확인이 안되서 의심가는 부분이 여기라 질문드립니다.
미해결
쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
실습에 문제 발생 시 최대한 캡쳐 화면을 꼭 올려 주세요. (원인 파악에 도움이 큽니다) 영상 내용 질문 시 해당 영상 제목과 내용이 있는 시간을 같이 올려주세요. (내용을 다시 들어보고 답변을 드리기 위해서 입니다) 긴 로그는 제 메일로 보내주세요. (k8s.1pro@gmail.com) 카페 [강의 자료실]에도 많은 질문과 답변들이 있어요! cafe: https://cafe.naver.com/kubeops -- 9분 58초쯤에 나오는 설명에 대한 질문입니다. kubelet에서 컨테이너 런타임으로 바로 받는다는 의미가 잘 이해가 안갑니다. 우선 제가 이해한것을 말씀드리겠습니다.! CRI를 이용해서 grpc로 통신하는 방법에서 CRI-plugin을 통해 직접 받는 방법으로 변경되었다. 각각의 컨테이너 밴더에서 플러그인을 구현하고 kubelet에서 해당 플러그인을 직접 호출한다. 여기서 궁금한 점입니다! CRI 구조에서, 도커의 새로운 기능이 생기면 쿠버네티스도 패치해야한다고 하셨는데 이는 CRI-plugin를 이용할때도 동일한게 아닌가요? 둘의 개발 라이프사이클을 다르게 가져갈 수 있는 이유가 궁금합니다. 새로운 기능이 생겨도 인터페이스만 맞으면 되는 것인데,인터페이스의 변화가 필요하다면 결국은 플러그인이나 CRI나 kubelet의 변화도 필요한게 아닌가요??
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
9:10 set 메서드 없이 or, and 연산자를 써도 중복이 제거되는건가요??
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] em.find()로 가져온 후 이름을 바꾸고 commit 이전에 em.find()로 똑같은 id의 이름을 조회해서 이름을 확인했을 때 영속성 컨텍스트에서 1차 캐쉬로 조회하기에 바뀐 이름으로 조회되는 것이 맞나요?
해결됨
김영한의 실전 자바 - 중급 1편
package exception.ex; public class NetworkService { public void sendMessage(String data) { String url = "http://example.com"; NetworkClient networkClient = new NetworkClient(url); networkClient.initError(data); String connectResult = networkClient.connect(); if (isError(connectResult)) { System.out.println("[log] 오류 코드: " + connectResult); } else { String sendResult = networkClient.send(data); if (isError(sendResult)) { System.out.println("[log] 오류 코드: " + sendResult); } } networkClient.disconnect(); } private static boolean isError(String resultCode) { return !resultCode.equals("success"); } } 오늘 강의 중 작성해주신 코드입니다. isError() 를 static method로 잡으신 이유가 궁금합니다. instance method로도 가능할텐데 어떤 의도로 static 여부를 결정해야하는지 팁이 있을까요?
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님 이번에 강의를 구매한 학생입니다. 해당 강의가 실제로 현업에서 사용될 수 있는 방법들인가요? 해당 강의를 수강하고, 이를 바탕으로 프로젝트에 녹여내볼려고 하는데 현업에서 사용하지 않는 방법들이라던가 교육용 강의라면 고민을 좀 해봐야 될 것 같아 문의글 남깁니다 감사합니다.
해결됨
실전! Querydsl
안녕하세요. 상수처리에 궁금한 점이 있습니다. 3장 기본문법pdf의 p.21 참고를 강의촬영후 달아주셨는데요. Q1. '위와 같이 최적화가 가능' 이란 설명을 하셨는데 위 쿼리가 어떤 점에서 최적화가 된 쿼리인지 알고싶습니다. Q2. 상수를 더하는 것 처럼 최적화가 어려우면 SQL에 constant 값을 넘긴다. 이 말씀도 잘 이해가 되지 않습니다. 상수를 더한다는 표현과 상수를 넘긴다라는 표현이 낮설기만 한데요. 혹시 예시를 들을 수 있을까요?
해결됨
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
[오타 내용] 대상 강의록 : 13. 스레드 풀과 Executor 프레임워크2.pdf 대상 위치 : p.2 close() 부분 오타 내용 변경 전: close() 는 자바 19부터 지원하는 서비즈 종료 메서드이다 변경 후: close() 는 자바 19부터 지원하는 서비스 종료 메서드이다
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
8강 Spring Boot 프로젝트 세팅 2 강의를 반복해서 보고 있습니다. 강의에서는 Multi Module 을 생성하기 위하여 Directory 를 생성하고, build.gradle 파일을 생성한 후 코드 입력 settings.gradle 에 Module 정의를 하시고 계십니다. 인텔리제이에서는 프로젝트에 Module 을 추가하기 메뉴가 있습니다. 인텔리제이 에서 프로젝트에 Module 을 추가하면, 강좌파일의 모듈처럼 생성이 되지 않습니다. project/module1, project/module2 이렇게 1단계 모듈만 작성이 가능합니다. 인터넷 검색자료에도 모듈작성이 1단계방식(에를들어 service-article, service-like)으로 되어 있습니다. 계층구조가 강의 내용이 보기 깔끔하여 따라 해보려 하는데 잘 되지 않습니다 디렉토리를 2단계로 작성( project/service/article)하고 build.gradle 파일을 직접 생성하면 "dependecies" 키워드도 자동안성이 되지 않습니다 인텔리제이 버전은 "IntelliJ IDEA 2024.3.3 (Ultimate Edition)", "Build #IU-243.24978.46, built on February 11, 2025" 입니다 인텔리제이가 버전업이 될때마다 메뉴라던가, 기능이 많이 바뀌기는 합니다만. 조금 답답합니다