묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 기본편
this()가 첫 줄에 못 오는 이유가 있을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제목 그대로입니다. 제가 강의에서 설명을 놓친건지 강의에서 다루지 않으신건지 모르겠지만, this()가 첫 줄에 못 오는 이유가 무엇인지 궁금합니다..ㅎㅎ;
-
미해결TS/JS 디자인 패턴 with Canvas: 제로초에게 제대로 배우기
커맨드 패턴 적용
디자인 패턴을 공부하면서 실제 구현중인 서비스에 적용해보려고 노력중인데(위 이미지는 예시 코드)예시 처럼 작성했을 때의 실효성이 invoker에서 audit log 같은 공통 코드 추출하는것 이외에 잘 느껴지지 않는데, 적절하지 않은 부분에 적용하려해서 그런것일까요?-> 단축키 예시처럼 해당 커맨드를 다른곳에서'도' 사용한다면 유용할것도 같네요!!추가로 ValidateLeadFieldCommand, CreateLeadCommand 이런식으로 여러 커맨드가 순차로 실행해야하는 경우에 invoker도 커맨드마다 만들어야할까?하는 고민도 듭니다!
-
미해결김영한의 실전 자바 - 기본편
Student student1
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Student student1 은 쓰는데 Student student2는 안해도 되는 이유가 뭔가요여기에 질문 내용을 남겨주세요.
-
미해결김영한의 실전 자바 - 기본편
자바 베이직 파일
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 만들고 실행하려는데 src랑 main이 없는데 뭐가 문제인가요
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
하위 클래스와 상위 클래스의 생성자 순서
섹션 4. 상속과 관계 - 22. 상속과 생성자 10:45 설명이 막연하여 남깁니다.MyTestEx 클래스의 생성자에는 상위 클래스의 생성자를 호출하는 super()가 생략되어 있습니다.
-
해결됨Readable Code: 읽기 좋은 코드를 작성하는 사고법
사용할 변수 가깝게 선언하기 질문
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요. 강사님.강의 내용 중 사용할 변수는 가깝게 선언하기(4:40~6:25)에 대한 내용을 설명해주셨는데요. 해당 내용이 메서드에도 적용되는 또는 적용될 수 있는 내용인지 궁금합니다. 만약 코드가 엄청 길다고 가정하면 현실적으로 단축키를 활용하여 '선언 위치'로 갔다 되돌아와서 흐름을 이어 갈 것 같습니다. 그렇게 되면 가깝게 위치 하는 것이 큰 의미가 없을 것 같습니다.반면에 아래 예시처럼 짧다고 하면 사용하는 위치가 가깝다면 한 눈에 들어올 것 같은데요.메서드에는 크게 의미가 없는 부분인지? 아니면 적용하면 좋은건지 궁금합니다. public static void main(String[] args) { showGameStartComments(); initializeGame(); } private static void showGameStartComments(){} private static void initializeGame(){} public static void main(String[] args) { showGameStartComments(); initializeGame(); } private static void showGameStartComments(){} // 코드 20줄 (다른 메서드) private static void initializeGame(){}
-
해결됨오브젝트 - 설계 원칙편
동일성과 동등성 설명이 바뀐 것 같습니다.
안녕하세요, 강의 잘 듣고 있습니다.객체 비교에 대한 설명 중, ‘동일성(identity)’과 ‘동등성(equality)’의 개념이 일반적인 프로그래밍 용어와 다르게 설명된 부분이 있는 것 같아 확인 요청드립니다. 강의에서 설명된 내용은 다음과 같습니다: (4-1, 4-2에서)속성 기반 ‘동일성(equality)’모든 변수가 동일한 객체 참조 -> ‘동등성(identical)’ 하지만 일반적으로 다음과 같이 구분됩니다:동일성: 참조가 같다, identical, 메모리 상에서 같은 객체를 가리킴동등성: 값이 같다, equality, 서로 다른 객체여도 내용이 같다. 한 번 확인해주시면 감사드리겠습니다.감사합니다!
-
미해결코틀린 문법부터 실무까지 (실전 자바->코틀린 변환)
@MockK에서 null을 할당하는 이유?
37강 5분 11초에서 "처음에는 null로 되어있지만 값을 한 번 세팅할 수 있게 해주고 싶다."라고 하셨는데처음부터 null을 할당하지 않으면 lateinit을 사용 안 할 수도 있는 거 아닌가요?테스트코드에 대한 이해가 하나도 없어서 고른 강의인지라 질문의 깊이가 너무 없지만 답변주시면 감사합니다!!
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
설정관련해 한번더 질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.이렇게 코드 작성하는 부분에서도 설정차이가 있습니다 선생님과 같은 설정이였다가 갑자기 제가 잘못 눌러 밑과같이 변경되었습니다. 혹시 원래대로 설정할수 있을까요?
-
해결됨남박사의 파이썬으로 봇 만들기 with ChatGPT
44, 45강 실행시 오류
그대로 따라하고 실행했는데 이런 문제점이 있습니다. 왜인지 잘 모르겠어요. 44강에서 테스트 메세지의 링크가 모바일에서도 안나옵니다. 44강에서 위치보기 도 누르면 아무 링크가 안열립니다. 45강에서 PC카톡에 "안녕하세요. 봇입니다." 라는 메세지를 보내면, 계속 이렇게 나오네요.
-
해결됨김영한의 실전 자바 - 중급 2편
해시 인덱스를 사용하는 경우 데이터 저장 평균 시간 복잡도에 대해 질문
관련 내용:강의: 55. 해시 알고리즘6 - 해시 충돌 구현 21:56pdf: 6. 컬렉션 프레임워크 - 해시(Hash) 24P 정리 부분해시 인덱스를 사용하는 경우 데이터 저장을 할 때 평균 시간복잡도가 O(1)이라고 설명. 의문점private static void add(LinkedList<Integer>[] buckets, int value) { int hashIndex = hashIndex(value); LinkedList<Integer> bucket = buckets[hashIndex]; //O(1) if (!bucket.contains(value)) { //O(n) bucket.add(value); } }위와 같이 항상 bucket이 contains(..) 메서드를 호출하여 중복된 값이 있는지 확인하므로 O(n)의 시간 복잡도가 소요됩니다. 그래서 저는 항상 데이터 저장을 할 때는 O(n)으로 계산해야 한다고 생각했습니다. 강의에서 말씀하신 내용은 이상적으로 해시 충돌이 별로 발생하지 않는 상황(그리고 구체적인 구현은 신경쓰지 않는 상황)이라 가정하고 O(1)이라고 한 것일까요?
-
해결됨오브젝트 - 설계 원칙편
인터페이스명이 변경된 걸까요??
Schedule 클래스는 RecurringPlan을 반환하는데, 갑자기 인터페이스명이 TemporalExpression으로 되어서 헷갈립니다!
-
해결됨유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
Resources폴더의 로드에 대하여 궁금한 것이 있습니다.
아직 초반 강의 부분을 보고 있지만 일부 리소들에 대해서 리소스 폴더에서 로드하는 내용들이 제법 있는 것 같은데 제가 알기로는 리소스 폴더에서 로드하는 방식의 경우 빌드 시 전부 포함이 되기 때문에 무거워져 비선호한다로 알고 있습니다.현업에서 정말로 이렇게 쓰이는지가 궁금합니다. 추가적인 질문으로는 요즘 결합도 관련해서 경험이 많이 부족했어서 이것저것 고민을 하고 있는 상황입니다. 챗지피티를 통해 인스턴스를 통한 다른 클래스에서의 사용이 결합도를 높이는 좋지 않은 것으로 챗지피티에서 알려주고 있는데 싱글톤을 통한 인스턴스들을 또 사용이 제법 나오는데 이또한 현업에서도 허용범위인가요??
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
method 스트링값 쓰려면
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.void로 써야하나요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ex1번
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. void로 풀었는데 큰 상관없는건가요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
매개변수가 int double 섞일경우는
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. void로 밖에 쓸 수 없나요?
-
해결됨오브젝트 - 기초편
3-1 강의 질문입니다.
안녕하세요. 강의 너무 잘 듣고 있습니다.궁금한 점이 생겨 질문을 드리게 되었는데요.3-1강의 1:00에서 데이터가 하나의 모듈 안에 모여있으면 코드를 수정하기가 어렵다고 하셨는데, 이 부분이 잘 이해가 되지 않습니다.지금까지 데이터와 프로세스를 서로 다른 모듈로 분리시킨 절차적인 방식에서 프로세스 로직을 데이터를 구현한 모듈로 이동시켜 하나의 모듈 안에 넣는 작업을 했는데, 이와 모순되는 것 같아서 혼동이 왔습니다.말씀하신 내용이 모든 로직과 데이터를 설계없이 하나의 모듈에 모두 넣은 경우를 말씀하시는 걸까요?감사합니다 :)
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
컴퓨터공학과를 다니면서
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 배우는 언어들 자바,c언어,파이썬 기본 문법을 먼저 다 수강하는게 좋을까요 아니면 자바를 주력 언어로 공부하면서 틈날때 다른 언어들을 공부해야할까요? 학점 챙기려면 기본언어들만 수강하는게 좋아보이는데 문법 공부만 하루종일 하면 좀 헷갈리기도하고 지루할거같아서 질문드립니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
영한님 ReentrantLock 대기상태 다시 질문드려요!
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]제가 멀티스레드와 동시성 관련해서 제대로 깊게 알아야할거같아서 다시복습으로 듣고있는데 예전에 질문했던 내용과 동일한거같아서 다시 질문드려요 ㅠ 그전에 처음 들어서 헷갈린부분이있었는데 다시들으면서도 설명한 부분이 맞나 싶어서요. 그전에 질문할때도 강의내용이 맞는지에 대한 질문이라 조심스러운부분이고 제가 잘못안다고 생각했는데 짚고넘어가면 좋을거같아서 다시 질문드립니다!이전 질문 링크: https://inf.run/t3Bbm71. 스레드의 대기 강의핵심 질문: 부분(13:30)강의에서 ReentrantLock 락 획득 실패시 대기큐에 WAITING상태라고 설명했는데 BLOCKED 상태가 가맞는지 검토필요.이부분에 대한 검토가 필요할거같고 제가 잘못알고있다면 참고해야할 링크를 주시면 감사하겠습니다. 아니라면 저처럼 이해하는데 오해의 소지가있는부분이 발생할것같습니다. 질문내용:부분(13:30)에서 대기1 락을 획득하기위한 대기큐에 대해서 설명해주셨고 lock()호출시에 이미 다른 스레드가 락을 획득시에는 WAITING상태로 대기하고 synchronized인 경우에만BLOCKED인거고 ReentrantLock은 WAITING 상태로 락획득을 대기큐에서 대기한다 라고 설명해주셧는데 이부분이 락이아닌 큐가 꽉차거나 완전히 비어있을때(특정 조건)는 RUNNABLE에서 await()사용해서 WAITING상태로 만들고 이걸 스레드대기공간(집합)에 넣고 추후 명시적으로 깨울수있게하는데, 락획득 실패시에는 BLOCKED상태로 락대기집합에 있는거고, 얻고나서 RUNNABLE상태에서 특정조건에 부합되지않을때(큐가 꽉차거나, 없을때) await를 써서 다시 WAITING상태로 스레드 대기집합에 넣는게 맞는거같아서 검토부탁드립니다.!그래서 이전강의 notify설명(synchronized 부분이긴하지만)에서도 WAIT -> BLOCKED 설명해주실때 WAIT이던애를 깨우면 바로 RUNNABLE이 되는게아니라 BLOCKED되는 설명부분이랑 ReentrantLock 역시 같은 원리가 맞는거같은데 이부분 다시 검토해주실수있나해서요ㅜ ReentrantLock 이라고해서 lock얻는걸 실패해도 WAITING이라는건 아닌거같아 검토해주시면 감사하겠습니다..!그리고 (17:40) synchronized의 경우 blocked일때는 interrupt로 깨우지못한다고했고(이부분설명은 맞는데)reentrantlock은 lockInterruptibly() 를 사용하면 가능하다고 했는데 이게 WAITING상태여서 가능하다기보단 lockInterruptibly이 BLOCKED상태인 스레드를 InterruptedException가 발생해서 blocked상태에서 빠져나오는게하는 기능인거 같은데 이부분도..reentrantlock역시 lock()만 사용으로는 못깨우고 이게 WAITING인거랑 좀 별게인거같아서 검토해주실수있을까해서요! 아래 참고 링크를 걸긴했는데 강의들 들으면서 사이클을 생각하다가 락을 획득할려다가 실패시 WAITING으로 대기한다라는게 원리상 아닐거같아서 찾아본게 oracle에서는 명시적으로 나타내진않았고 chat gpt에게 물어보면 제가 계속 waiting이 맞지않냐 blocked은 아니지않냐 공식문서 있냐 물어보면 명시적이진 않지만 유추할수있다 라고도 하고 그래서 결국 찾은 링크가 아래인데 공식은 아니고 블로그 내용이긴해서,, 한번더 영한님이 체크해주실수있을까해서요아래 chat gpt 답변과 블로그 링크에서 해당 내용부분 스샷도 일부 남길게요! https://blog.ycrash.io/java-suspended-thread-states-blocked-waiting-timed_waiting/?utm_source=chatgpt.com------질문을 남기니 그때처럼 인프런ai가 답변했는데 저 내용이 맞는거같아서요!
-
미해결김영한의 실전 자바 - 중급 1편
System.nanoTime() 메소드에 대하여 문의 드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요, 영한님, 수업 너무 잘 듣고 있습니다. 수업을 듣던 도중에 아래 내용이 잘 못된 것을 알게 되었는데요. System.currentTimeMillis() 은 1970년대 이후로 경과된 시간을 나타내지만, System.nanoTime() 은 JVM이 시작된 시간으로부터 경과된 시간을 나타냅니다. 즉, System.nanoTime() 은 현재 시간을 나노초로 변하지 않습니다. 이 부분 확인 부탁드려도 될까요?감사드립니다.