묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 실전 자바 - 중급 2편
노드와 연결1 - 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증이 생겨 질문을 남깁니다.노드와 연결1 노드를 배우면서 스트링 빌더의 append메서드가 생각이 났습니다.그래서 중급1편에 배운 append메서드에 대해서 찾아보고 작동 방법에 대해서 찾아보고 자기 자신을 참조해서 스트링 빌더가 돌아가는것을 확인을 할수가 있었습니다.이런 것 을 보고 노드가 '스트링 빌더 에서 파생된 작품?(응용) 아닌가' 라는 생각이 듭니다. 그래서 여기서 질문이첫 번째노드가, 스트링 빌더나, 메서드 체인닝 기법에서 파생된 작품인가요? 두 번째스트링 빌더의 apeend의 this와, node의 new의 차이점이라고 할까요? 이런 것이 어떻게 다른지 비교해서 가르켜 주시면 안될까요?뭔가 대조 되는 게 있는 것 같아서, 혹 이 두가지 가 대조가 가능하다면 대조 설명을 해주시면 감사하겠습니다. 추가1다음 강의 에서 toString할때 스트링 빌더 및 append메서드가 나와서.. 좀 당황스럽기는 한데. 이거 때문에. 생각 난 것은 아닙니다. 중급1편에서 스트링 빌더를 공부할 때sb.append(내용).append(내용).append(내용);first.next.next = new Node("C"); 이거랑 비슷해서 생각이 난거 입니다. 그래서 중급1편의 코딩 내용들을 뒤져본거고, pdf도 뒤져봤습니다.증거 사진 이요.. 답변 부탁 드립니다.
-
미해결김영한의 실전 자바 - 기본편
수업 자료에 정말 사소한 오타가 있는데, 제보해도 되나요?
1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용][1. 클래스와 데이터.pdf - 23P - 객체 vs 인스턴스 문단] 사진의 두번째줄 마지막 부분을 보시면, "클래스로부터 생성되다는 점을 명확히 하기 위해..." 라고 되어 있습니다. 저도 "~~님 도움"에 올라가고 싶어요. 이정도론 못올라갈까요
-
미해결남박사의 파이썬으로 봇 만들기 with ChatGPT
can't open/read file: check file path/integrity 오류 발생 시 해결 방법
cv2.imread() 함수를 통해 이미지를 읽어 들일 때, 한글을 읽어오지 못해 오류가 발생하는 경우가 있습니다. 아래의 코드로 해결하시면 됩니다.참고로, 아래 코드 사용 시 cvtColor() 함수를 사용해서 색상을 변경하지 않아도 됩니다.import numpy as np img_path = "이미지 파일 경로" img_file= np.fromfile(img_path, np.uint8) cv_decode = cv2.imdecode(img_file, cv2.IMREAD_COLOR) qr_reader = pyzbar.decode(cv_decode) print(qr_reader)
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
JAVA 강의를 어느정도까지 학습하고 Spring을 동시 학습하면 좋을까요?
안녕하세요! 김영한님의 JAVA와 Spring 강의를 수강하고 있습니다.국비지원학원에서 Spring으로 2개의 프로젝트를 했지만 기본기가 약해, 초반부터 다시 학습하고있습니다.제 목표는 Spring과 JAVA를 이해한 뒤, 토이 프로젝트를 진행해 보고자 하는것입니다.질문드리고 싶은 것은,1. JAVA 어느 정도까지 강의를 본 다음 Spring을 병행하여 공부하면 좋을지 궁금합니다.또는, JAVA의 어떤 개념까지 이해를 하고 Spring을 병행하여 공부하면 좋을지 궁금합니다.(토이프로젝트 진행을 위해 Spring을 미리 공부해보고 싶습니다.)
-
미해결김영한의 실전 자바 - 중급 1편
Class 작성시 자기 자신 class 를 생성할 수 있다는 것이 이해가 안되요.
package enumeration.ex2; public class ClassGrade { public static final ClassGrade BASIC = new ClassGrade(); public static final ClassGrade GOLD = new ClassGrade(); public static final ClassGrade DIAMOND = new ClassGrade(); } <-- Innerclass ?? 기초편부터 듣고 있는데.. 혹시 어느 부분에서 설명하신 내용인지 알 수 있을까요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
변수를 변경해도 컴파일 시 반영이 안되는 현상
1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]인텔리제이 24년 버전 이용중에어느순간 갑자기 변수를 수정해도 컴파일시 반영이 안되는 오류가 있습니다. 검색결과 리빌딩 등 방법을 이용하라 하여 시도해보았는데 리빌딩 하면 그때 한번 반영되고 다시 똑같은 현상이 반복됩니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
예제 코드에서의 volatile 사용에 관하여 질문드립니다.
안녕하세요, 영한님.이번 강의 9분 10초쯤에 flag 와 count 변수에 volatile 키워드를 추가하셨는데,저는 flag 변수에만 volatile 키워드를 사용해도 예제 코드가 정상적으로 동작할 것으로 예상했습니다.실제로 flag 변수에만 volatile 키워드를 붙이고 실행해보니 main 스레드에서 가져온 task.count 와 work 스레드에서 가져온 count 의 값이 동일했습니다.또한 volatile 키워드를 모두 사용하지 않았을 때를 기준으로 flag 변수에만 사용했을 때 약 2배, flag 와 count 변수 모두 사용했을 때 약 5배 정도 성능이 저하되는 것을 확인했습니다.그럼에도 불구하고 count 에도 volatile 키워드를 사용하신 이유가 있을까요? 제가 생각하지 못한 예외 상황이 있을까요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
LockSupport.unpark(thread) vs Interrupt
Waiting 상태의 쓰레드를 Runnable 상태로 만들기 위해선 두 가지 방법이 있다고 배웠습니다.LockSupport 기능인터럽트 발생2번 방법에 대해서 궁금한 것이 있습니다. 결과적으로 인터럽트를 발생시켜 쓰레드를 대기 상태에서 실행 가능한 상태로 전이시킨다는 것인데 인터럽트 상태가 정상(false)이 아닌 상태가 나오게 되는데 그럼 실무에서 1번 방법을 더 많이 사용하나요?
-
해결됨Readable Code: 읽기 좋은 코드를 작성하는 사고법
리팩토링과 기능 추가에 대한 질문
게임의 난이도를 추가하는 부분에서 행과 열의 사이즈가 상수로 고정되어 있기 때문에 확장에 닫혀있어 OCP가 충족되지 않는 상태라고 하셨는데기능 추가와 리팩토링에 대해 질문이 있습니다. 1) GameLevel인터페이스와 각각의 난이도별 클래스를 작성하는 과정은 OCP를 만족하는 코드로 바꾸는 과정이니까 '리팩토링으로 기능 추가를 용이하게 하는 과정'이라고 봐야하나요? 2) 사용자에게 난이도를 선택할수 있게 물어보는 부분을 작성한다면 그 과정을 기능 추가로 보고 그 이전 단계까지는 리팩토링인건가요? 3) 보통 리팩토링과 기능 추가가 자연스레 같이 이뤄지는 경우에는 커밋을 분리하는지 한 번에 하는지도 궁금합니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
QUIZ8 질문입니다.
package chap_08.camera; import chap_08.detector.AccidentDetector; import chap_08.detector.Detectable; import chap_08.reporter.Reportable; import chap_08.reporter.VideoReporter; public class SpeedCam extends Camera{ private Detectable detector; private Reportable reporter; public void setDetector(Detectable detector) { this.detector = detector; } public void setReporter(Reportable reporter) { this.reporter = reporter; } @Override public void showMainFearture() { System.out.println("속도 측정, 번호 인식"); } public void detect(){ this.detector.detect(); } public void report(){ this.reporter.report(); } public void setDetector(AccidentDetector accidentDetector) { } public void setReporter(VideoReporter videoReporter) { } }package chap_08; import chap_08.camera.SpeedCam; import chap_08.detector.AccidentDetector; import chap_08.reporter.VideoReporter; public class _Quiz_08 { public static void main(String[] args) { SpeedCam speedCam = new SpeedCam(); speedCam.setDetector(new AccidentDetector()); speedCam.setReporter(new VideoReporter()); speedCam.detect(); speedCam.report(); } } 전부 다 강의 보면서 쳤는데 저렇게 에러가 떠서요. 뭐가 문제일까요?
-
해결됨오브젝트 - 기초편
Movie 객체와 Screening 객체의 순환참조?
안녕하세요 😀, 강의가 너무 재밌어서 2회차 돌고 있는 학습자 인사 드립니다. 🙇복습하고 있는 중 궁금한 게 있어 글 올리게 되었습니다. 일단, 두 객체가 서로를 참조하는 상황이면 순환참조의 가능성이 있다고 알고 있습니다.Member, Team에서 두 객체가 서로 참조하고 있는 것을 예로써 이 상황을 설명하는 것을 많이 봐 왔습니다.class Team { private long id; private String name; private List<Member> members; } class Member { private long id; private String name; private Team myTeam; } 강좌의 Movie 객체와 Screening 객체도 위 처럼 필드로서 서로 참조하는 것은 아니지만, 아래와 같이 Movie는 Screening을 calculateFee 메소드의 인수로 전달받아 참조하고 있고, Screening은 필드로서 movie를 참조하고 있습니다.public class Movie { private Money fee; private DiscountPolicy discountPolicy; public Movie(Money fee, DiscountPolicy discountPolicy) { this.fee = fee; this.discountPolicy = discountPolicy; } // Movie가 Screening 참조 public Money calculateFee(Screening screening) { return fee.minus(discountPolicy.calculateDiscount(screening)); } public Money getFee() { return fee; } } public class Screening { // Screening이 Movie 참조 private Movie movie; private int sequence; private LocalDateTime whenScreened; public Screening(Movie movie, int sequence, LocalDateTime whenScreened) { this.movie = movie; this.sequence = sequence; this.whenScreened = whenScreened; } public Reservation reserve(Customer customer, int audienceCount) { Money fee = movie.calculateFee(this).times(audienceCount); return new Reservation(customer, this, audienceCount, fee); } public Money getFixedFee() { return movie.getFee(); } public boolean isSequence(int sequence) { return this.sequence == sequence; } public LocalDateTime getStartTime() { return whenScreened; } } 서로 참조하는 것은 당장은 아니더라도 추후에 순환참조를 만들 길을 열어 두게 되어 왠만하면 배제해야 하는 것으로 알고 있습니다. 여기서 질문이 있습니다! 예제에 사용된 Movie와 Screening도 두 객체가 서로를 참조하고 있는 것으로 볼 수 있나요?만약 그렇다면 이 경우에도 순환참조의 가능성이 있는 것인가요? 감사합니다. 😃
-
미해결김영한의 실전 자바 - 중급 1편
복습 질문하고 싶어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]현재 수강을 계속하면서 공부하고 있는데요예를 들어 날짜와 시간 챕터를 다 보고 이제 복습을 하려고 하는데 PDF보면서 코드를 따라치면서 복습을 하고있는중입니다. 이렇게 복습하는게 효율적인가 궁금하고요.한번보고 복습주기를 어느정도로 해야하는지도 알고 싶습니다.
-
해결됨(2024년) 파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
파이썬의 다양한 데이터 구조 이해하기:,,, 관련
3:37 근처에서Select Kernel을 클릭했는데myenv-finance-analysis가 드롭다운에 보이질 않습니다. 드롭다운에 Python Environments 만 떠서 그걸 선택했더니가상머신을 끄고 다시 들어와도 Detecting Kernels만 계속 실행되는 모습입니다. 혹시 왜 이런건지 알 수 있을까요?
-
미해결김영한의 실전 자바 - 기본편
참조형 변수 관련해서 질문이 있습니다.
기본형 변수와 참조형 변수에 대해서 공부하던 중 참조형 변수에 대해서 궁금한 점이 있습니다.객체를 만들고 변수에 할당을 하면 변수에는 해당 객체가 저장된 주소값을 저장한다는 내용은 이해를 했습니다. 하지만 곱씹어 보면서 궁금했던 점이 주소값도 결국 숫자일텐데 기본형 변수와 주소값을 어떻게 구별하는지 궁금합니다.조금 더 풀어서 설명하면 변수에 저장된 숫자값을 기본형 변수인지 참조형 변수의 참조값인지 Java가 구별하는 메커니즘이 궁금합니다. 구글링을 해봤는데 기본형 변수와 참조형 변수의 차이점과 같은 표면적인 내용에 대해서만 나와서 질문드립니다. 강의 잘 듣고 있습니다. 감사합니다.
-
미해결김영한의 실전 자바 - 중급 1편
Object 자동 import 및 메서드 오버라이딩 관련 질문 있습니다.
[질문 내용]안녕하세요, Object Class에 대해 궁금한 점이 있어 질문드립니다.모든 클래스는 최상위 부모인 Object Class가 제공하는 공통 기능(메서드)을 사용할 수 있는 것으로 알고 있습니다. 그러면 '객체.(Object Class의 메서드)' 형태[예시: child.toString()]로 충분히 상속받은 기능을 사용할 수 있는데 왜 Object Class가 java.lang 패키지에 포함되어 자동으로 import 되는지 궁금합니다.(자동으로 import되는 System, String가 바로 사용이 가능한 것과 다르게, Object는 객체 생성을 하고 상속을 이용해서만 기능 사용이 가능한 것 같은데 왜 굳이 자동으로 import되는 목록에 껴있는지 궁금합니다 ㅠ 혹시 Object형 변수 선언을 위해 그런걸까요?)마지막으로 Object 클래스의 메서드가 오버라이딩이 가능하던데 그대로 사용하지 않고 오버라이딩할 일이 따로 있나요? 지금까지 공부하며 느낀 자바는 굉장히 효율적이고 적절한 제약이 있는 언어라고 생각이 들어서 이유없이 오버라이딩 가능하게 남겨두지는 않았을 거라는 생각이 들어 여쭤봅니다.
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
강의에서 발생한 이슈에 관하여 (30:40)
안녕하세요. 30:40 강의 구간에서 발생한, 메서드 추출 이슈에 관하여, 원인이 무엇인지 궁금해서 질문 드립니다.발생한 문제는지뢰를 밟았을 때, 모든 지뢰 구간이 노출 된다거나,셀을 열었을 때 엉뚱한 곳도 같이 열리는 현상이 나타납니다.문제 발생 지점은 updateCellAt 메서드 사용 구간 입니다. private void initializeEmptyCells(CellPositions cellPositions) { List<CellPosition> positionList = cellPositions.getPositionList(); updateCellsAt(positionList, new EmptyCell()); } private void initializeLandMineCells(List<CellPosition> landMinePositionList) { updateCellsAt(landMinePositionList, new LandMineCell()); } ... private void updateCellsAt(List<CellPosition> positionList, Cell cell) { for (CellPosition position : positionList) { updateCellAt(position, cell); } } 상위 호출 부분으로 넘어가서,제 생각에 initializeEmptyCells 와 initializeLandMineCells 메서드 호출로 넘기는 인자가, 공유될 대상이었나 라고 생각해볼 수 있었습니다.cellPositions 나 landMinePositionList 모두 새로운 컬렉션으로 리턴되어서, 공유되지 않다고 생각되었습니다. public void initializeGame() { CellPositions cellPositions = CellPositions.from(board); initializeEmptyCells(cellPositions); List<CellPosition> landMinePositionList = cellPositions.extractRandomPositions(landMineCount); initializeLandMineCells(landMinePositionList); ... }그러면 어느 부분이 메서드 추출로 인해, 공유될 대상이 발생한 원인이었나가 궁금합니다.
-
해결됨(2024년) 파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
5분챌린지: Window 가상머신 만들기에서,,,
6:23~30 사이에 커서가 잠깐 사라지는데Remote Desktop Connection 창이 어디서 나타나는지 잘 안보이네요. Connect에서 연결, Bastion을 통한 연결 모두 선택해 보았는데동일한 창이 생성되지 않습니다. 확인 부탁드리겠습니다!
-
미해결자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
리턴타입 사용시 any를 사용해도 괜찮은가요?
코틀린으로 스프링을 개발해 보고 있습니다.리턴할떄 ResponseEntity<Any> 이런식으로 Any를 사용해도 괜찮을까요?
-
해결됨김영한의 실전 자바 - 중급 2편
직접 구현 하는 배열리스트2 - grow() 에서 질문이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 강의를 들으면서 궁금증이 생겨서 질문을 남깁니다.grow 라는 메서드를 통해서 동적 배열의 사용법을 잘보았습니다.전에 강의에서(어떤 강의인지는 기억 안남.) 영한님이 10억 이라는 숫자를 말씀 하신 걸로 기억을 합니다.이 10억 이라는 숫자 때문에 질문이 생깁니다.어떤 배열에 데이터를 넣다 보니 , 최대 데이터 용량이 18억건의 데이터를 넣을수 있게되었습니다. 그런데 어찌저찌 하다 보니 그 데이터 배열이 꽉 차서 50%를 배열의 길이 늘린다고 가정 했을 때, 대략 (18+9 = 27) 27억 이라는 배열의 길이가 나옵니다.근데 여기에서 int형 범위 가 생각납니다. 검색해보니 약 22억 '+,-' 이더 라고요.이런 경우에는 어떻게 처리를 하나요?, 아니면 이런 경우는 아에 없고, 데이터의 크기가 너무 크니, 어떠한 숫자의 상한선이 되면, 다른 객체 배열을 만드나요?(2번째 경우는 글 쓰면서 생각이 나네요)답변 부탁 드립니다.
-
미해결스프링 핵심 원리 - 기본편
@Configuration과 싱글톤 강의 문의드립니다.
세 참조값이 모두 다르게 나와 문의드립니다.어디에서 문제가 생겼는지 파악 부탁드립니다.