묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 기본편
배열 객체 생성
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요.섹션2 배열도입 11:42부분 그림을 보고 궁금증이 생겼습니다. 왜 student1,student2 객체를 따로 만들어서 students배열에 대입하는 건가요? for(int i=0;i<students.length;i++) students[i]=new students(); 이렇게 객체를 생성하는것이 메모리 낭비가 없기 때문에 더 효율적인 것 아닌가요?
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
Main에서의 예외 처리
[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?예3. 질문 잘하기 메뉴얼을 읽어보셨나요?예[질문 내용]회원가입 프로그램 작성의 File에 저장하는 단계에서 저는 예외 처리하라고 뜹니다.어떻게 보면 당연한건데 영한님의 IDE에서는 Main에서 예외 처리 오류가 뜨지 않는데 이 부분이 궁금합니다!+코드를 똑같이 옮겨도 제 프로젝트에선 예외 처리 오류가 뜨네요.
-
미해결스프링 핵심 원리 - 기본편
예제 코드 파일
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.스프링 핵심 원리 - 기본편 에서 김영한님이 작성하신 코드 파일을 다운로드 받을 수 있나요?
-
미해결자바스크립트 비기너: 튼튼한 기본 만들기
프론트엔드 부트캠프 가기 전, 짧은 감사 인사드립니다!
안녕하세요이전에 커리어에 관한 질문 드렸었습니다(아래링크)https://inf.run/N5Wz7.다름이 아니라 강사님의 강의가 저의 프론트엔드에 대한 시각을 완전히 바꿔 놓았음을 전하고자 이 글을 씁니다. 단순히 라이브러리 숙련도를 넘어, 자바스크립트를 통해 클라이언트 공통 스펙을 깊이 있게 다루는 강사님의 강의는 저에게 큰 울림을 주었습니다. 이는 언어의 경계를 넘어선, 클라이언트 개발의 본질을 꿰뚫는 강의라고 생각합니다. 현재 텐서플로우 강의를 제외한 대부분의 강의를 90% 이상 수강했으며, 앞으로 여러 번 반복해서 들으며 더 깊은 깨달음을 얻을 수 있으리라 확신합니다. 국내외를 통틀어 이처럼 프론트엔드 펀더멘털을 유일무이하게 다루는 강의는 없다고 생각하며, 앞으로도 많은 분께 클라이언트 개발자의 공통 교과목으로 강력히 추천할 것입니다.강사님의 강의를 들으며 현업에서의 경험과 맞물려 많은 것을 느꼈습니다. 특히 현업 프론트, 백엔드 개발자들이 자신의 포지션에만 집중하여 발생하는 소통의 단절과 비효율성에 대해 깊이 공감하게 되었습니다. 한 프로젝트를 함께 완성해나가는 과정에서 각자의 파트에만 몰두하여 전체적인 흐름을 놓치고 소통이 원활하지 않은 모습들을 보며, 강사님의 강의가 제시하는 깊이 있는 이해의 중요성을 더욱 절감했습니다.곧 프론트엔드 부트캠프에 참여하게 되는데, 강사님의 강의를 통해 얻은 통찰력이 큰 자산이 될 것이라 믿습니다. 앞으로도 변함없이 좋은 강의를 제공해주시기를 바라며, 늘 응원하겠습니다.감사합니다.
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
강의에 자막이 나왔다가 안나왔다가 해요..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에 어떤 회차에는 자막이 나오고, 다른 회차에는 안나오고 합니다..인프런 AI 챗봇에 문의해 봤는데요<<강의에 따라 지식공유자(강사)가 인프런의 AI 기능 적용에 비동의한 경우, 자막이 제공되지 않을 수 있습니다. 김영한의 자바 입문 강의에서 자막이 나왔다가 안 나왔다가 하는 경우, 해당 강의의 자막 제공 여부가 강사의 설정에 따라 달라질 수 있습니다. >> 이렇게 답변하네요.. 청각능력이 좋지 않아서 이어폰을 장시간 착용하기 어려운데, 자막이 없는 회차가 있어 어려움을 겪고있습니다ㅠㅠ
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
자바 새로운 클래스를 만들 수 없어요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. new class 가 뜨지 않아요.
-
미해결김영한의 실전 자바 - 중급 1편
[정적 중첩 클래스 AI 문제] 복수정답 가능성 문의
정적 중첩 클래스의 경우, 외부 클래스의 정적 변수에는 접근이 가능하지만 인스턴스 변수에는 접근할 수 없다는 것은 알고 있습니다.정적 중첩 클래스와 인스턴스 변수가 생성됐을 때, 생성영역이 다르기 때문이라고 한다면 정적 중첩 클래스가 외부 클래스의 public 인스턴스 메서드에도 접근할 수 없는 것이 맞는 건가요?아래와 같이 코드를 작성해보니 static context에서 non-static method를 참조할 수 없다는 오류가 뜹니다.public class NestedOuter { private static int outClassValue = 3; private int outInstanceValue = 2; // 인스턴스 영역에 생성되는 변수 (heap 영역) public void outerPrint() { System.out.println("Can Nested class access this method?"); } // 정적 중첩 클래스 // static은 클래스 수준(static)으로 존재 static class Nested { private int nestedInstanceValue = 1; public void print() { // 자신의 멤버 접근 System.out.println(nestedInstanceValue); // 바깥 클래스 인스턴스 멤버에는 접근할 수 없다. // nested static class는 outer class의 인스턴스와 독립적으로 존재하기 때문에, 인스턴스 변수에는 접근할 수 없다 // System.out.println(outInstanceValue); // 바깥 클래스의 클래스 멤버에는 접근 가능. private이어도 Nested 클래스가 NestedOuter 클래스 내부에 존재하기 때문에 접근 가능. // System.out.println(NestedOuter.outClassValue); // 가능 System.out.println(outClassValue); System.out.println(outerPrint()); } } }정답은 C, D 두 가지인 것으로 생각하면 될까요?
-
미해결김영한의 실전 자바 - 기본편
객체 지향 프로그램 문제와 풀이 중 this키워드의 의미
[질문 내용]문제와 풀이 해답 코드에 나온 this라는 키워드는 어떤 의미인가요?
-
해결됨유니티 시스템 프로그래밍 Pt.2 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
이미 리소스 다운받은 후 다시 실행시 리소스 인식 문제
선생님 안녕하세요. 강의 정말 잘 보고 있습니다.원격 리소스 다운로드 시스템 Pt.2 수강 후 테스트를 진행해 보았습니다. 서버로부터 다운로드 번들을 인식하고, 다운로드하며, 진행 상황을 슬라이더 바에 연동하여 업데이트하는 것까지는 정상적으로 동작했습니다.그런데 이후 두 번째 테스트를 진행했을 때, 선생님과 달리 제 환경에서는 리소스 다운로드 확인 UI가 한 번 더 표시되었습니다. 즉, 프로그램이 이미 다운로드한 리소스를 인식하지 못하는 것처럼 보였습니다.혹시나 싶어 플랫폼을 윈도우로 변경해 테스트해 본 결과, 윈도우에서는 첫 다운로드 이후 두 번째 실행부터는 UI가 나타나지 않았습니다.코드 상에서는 플랫폼에 따른 차이를 두지 않았는데도 결과가 다르게 나와 난감한 상황입니다.추가로, 문제가 발생한 안드로이드 플랫폼의 두 번째 실행에서는 슬라이더 바의 움직임도 확인해 보았는데, 0%에서 곧바로 100%로 넘어갔습니다. 리소스 용량을 50MB쯤 업로드 해두어서 첫번째 테스트때는 서서히 움직였는데 말이죠. 즉, 로그에는 다운로드해야 할 용량이 찍히지만, 실제로는 디스크에 리소스가 이미 존재하는 그런 양상 이었습니다.어디에서 이런 문제가 발생했을까요?
-
해결됨김영한의 실전 자바 - 기본편
private 멤버 변수 할당
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]main에서 K3Car 인스턴스를 생성하고 그걸 driver의 멤버변수에 할당하는 식으로 하면 Driver에서 K3car를 private으로 선언한 의미가 없어지는 거 아닌가요? main에서도 k3Car에 바로 접근이 가능하니까요
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
인자로 전달한 변수 변경되도록 하는 방법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]인자로 전달한 참조형이 아닌 기본형 변수의 값이 변경되도록 하는 방법은 값을 반환받는 방법밖에 없나요?예를들어 int형 1개짜리 변수를 참조형으로 인수로 넘겨서 메서드 내에서 값을 바뀌게 할 순 없나요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
메서드 호출 질문입니다,
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]'자바는 변수의 값을 복사해서 대입한다' 라는 대원칙은 이해했고 강의에 나오는 코드나 설명은 이해가 되었습니다.근데 만약에 배열변수를 인자로 넘기게 되면 그 변수 안에는 자신이 카리키는 배열이 저장된 메모리의 주소가 전달될텐데.. 그럼 매개변수인 배열변수가 그걸 받아서 만약에 메서드 내에서 그 배열 요소의 값을 바꾸면 메모리 안의 값 자체가 바뀌니까 메서드가 종료되면 인자로 넘겨준 배열변수가 가리키는 배열은 뭔가 수정이 된 상태가 되는건가요?아니면 함수 내에서의 작업은 나오면 의미가 없어지는 건가요?
-
해결됨고도 엔진(Godot Engine)을 통한 게임 개발 박치기!! - 기본 개념부터 실전 게임 제작까지 한방에!
3. 미니 슈터게임 > 레이저씬 에서 global_position 과 position 차이??
미니 슈터게임 > 레이저씬 에서 global_position 대신 position으로 변경해서 작성해도. 결과는 똑같습니다. 굳이 global_position를 사용한 이유를 알고 싶네요..^^
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
원자적 연산의 의미
원자적 연산의 의미가, i = 1;과 같이 한번의 수행으로 끝나는 동작이지만 넓은 의미에서는 일종의 트랜잭션처럼,여러 코드뭉치지만 하나의 연산으로 취급할 때에도 사용되나요? (강의 2:14참고)
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
join() 위치
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 아직 끝까지 듣지 않았는데 궁금해서 질문 드립니다. volatile을 사용한 뒤에 메인에서 t1.start() 바로 뒤에 t1.join()이 오게 위치를 변경해주면 t1.start() 가 끝난뒤에 t2.start()가 시작이 되서 balance 값이 변경된 상태로 t2 스레드가 검증에서 false값이 걸리는줄 알았는데.. 이렇게 해도 문제가 발생하는데 그 이유가 궁금합니다.
-
해결됨스프링 핵심 원리 - 기본편
컨테이너 호출 방법 질문
지금까지ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);테스트 코드 만들때 수동으로 빈을 등록하도록 만든 설정(AppConfig)을, 컨테이너를 만들어 빈 들을 등록하고, 의존관계를 주입한 환경에서 테스트 진행.ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class);컴포턴트 스캔 애노테이션을 포함하고 필터로 범위를 제한한 설정으로 컨테이너를 만들어서 빈들을 등록하고 의존관계를 주입한 환경에서 테스트 진행 그래서 테스트에서 만든 컨테이너는AppConfig ,AutoAppConfig 로 만들어진 빈들로만 구성된 컨테이너가 만들어지는 거죠. 이렇게 설정 클래스를 통한 빈들로만 구성된 컨테이너를 테스트에서 사용 하는 이유는 ,내가 설정한 (복잡한 로직의 수동 빈 등록이 필요한) 설정클래스들만 테스트에서 확인하기 위함이죠? 그렇다면 실무에서는@SpringBootApplication 애노테이션이 있는 메인클래스가 있어서 @Comopenet로 자동 등록된 빈들과 AppConfig 처럼 설정 클래스로 수동 등록된 빈들은 모두 같은 컨테이너에 보관될거잖아요. 테스트에서는 이렇게 compnent로 자동 구성된 빈들로만 이루어진 컨테이너를 호출하거나, 지금까지 진행한 설정클래스들을 통한 빈들로만 이루어진 컨테이너를 호출하거나, 전체적인 빈들이 있는 컨테이너를 호출하는 등 다양하게 테스트를 진행하겠죠? 각각의 테스트에서 컨테이너를 호출하는 방법이 무엇인가요? 뒤에 강의들에서 이러한 질문들을 해결하는 개념들이 나오나요?
-
해결됨스프링 핵심 원리 - 기본편
@Configuration 를 왜 사용할까요?
@SpringBootApplication 이 루트 위치에 있고 이 애노테이션 설정안에@ComponentScan이 있고 따라서@Component 애노테이션이 붙은 클래스들을스프링 컨테이너에 싱글톤 으로 빈 등록을 하고 @AutoWired로 의존관계를 주입해준다 라고 이해했습니다 @ComponentScan을 배우기 전에는AppConfig에서 @Configuration 과 @Bean으로 클래스들을 수동으로 빈 등록을 하고 의존관계도 주입해줬죠. 그리고 이 과정에서 여러 객체가 발생하는 하여 싱글톤이 깨지는 것을@Configuration 을 통해 CGLIB 라이브러리로 싱글톤을 보장해준다 라고 이해했습니다. @SpringBootApplication -> @ComponentScan 으로 @Component 클래스들을스프링이 싱글톤을 보장하면서 컨테이너에 빈으로 등록하는것의 대한 과정에 대한 구체적인 과정이 있나요?(@Configuration 에선 CGLIB 라이브러리로 new가 여러개 있어도 싱글톤을 보장하는데.. 이런 구체적인 과정이 있는지?)아니면 그냥 간단하게 저렇게 하면 싱글톤을 보장한다. 라고 이해하면 될까요? 그리고 @ComponentScan과 @Component로 클래스들을 사용함으로 AutoAppConfig는 아무런 코드 가 없었죠,Configuration 과 Bean으로 수동 등록하고, 싱글톤이 깨져서, CGLIB 라이브러리를 사용했던것이 대체되었다는건데, @Configuration 과 CGLIB 라이브러리를 왜 사용했던건지요? 그냥 @ComponentScan과 @Component로 클래스들을 사용하면 되잖아요.
-
미해결파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
손절에 대한 전략?
안녕하세요 손절 전략에 대해서는 어떻게 생각하고 계시는지 궁금하여 여쭤봅니다. signal_calculation()함수를 보면 zscore가 zscore_threshold(=2) 초과, 5 미만일 때는 signal을 -1로 채워서 stock1/stock2를 각각 매도/매수 하는 전략으로 진행되는데요,그 밑에 ffill() 코드로 인해 한번 signal이 -1로 채워지면 zscore가 1미만으로 내려가지 않는 한, signal이 계속 -1로 유지되게 됩니다. 이 경우에 만약 zscore가 한 번 2~5 영역에 들어간 이후에 갑자기 zscore가 6, 10, 20, 100까지 혹은 그 이상 벌어지는 현상도 현실세계에서 가끔 발생할 수 있다고 생각합니다.(해당 기업에 예상치 못한 이슈가 발생 한다던가, 재해가 발생할 수 도 있겠죠) 물론 이런 경우가 자주 발생하지는 않겠지만, 한 번 발생했을 때 큰 손실이 발생할 것으로 예상되어, 그 이전 수익을 모두 잃을 수 있다고 생각합니다. 때문에 zscore가 일정 값 이상으로 벌어진다면 (예를 들면 20 이상?) 손절하는 전략을 취하는 코드도 추가하면 어떨까요? 이 부분에 대한 생각을 여쭤보고 싶네요.
-
미해결파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
signal_calculation후에 zscore가 2가 넘지 않았음에도 signal이 1인 이유?
안녕하세요, 14분 47경에 df_pair에 대해서 signal_calculation()을 진행하고 난 후의 df_pair를 보면 마지막 5행의 데이터가 zscore가 2를 넘지 않음에도 불구하고 signal이 계속 -1이네요. 강의에서는 그 사이에 signal을 변경하는 신호를 못 받아서 그렇다고 넘어가셨는데, 저는 이해가 잘 안돼서요. mother class의 signal_calculation()메서드를 확인해도 ffill()함수가 1번만 적용되고, 그 다음줄에 fillna(0)함수로 signal을 0으로 채우기 때문에 signal이 계속 -1로 유지되는 현상이 왜 발생하는지 이해가 안됩니다.(시그널이 2이하로 떨어진다면, 1번만 -1로 유지되고 그 이후에는 0으로 채워져야 하는 것 아닌가요? 더 자세히 설명해주실 수 있나요?(AI봇의 설명은 부정확한 부분이 많네요...ㅠ)
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
volatile
안녕하세요 영한쌤!질문드립니다! 쓰레드별로 공유 자원에 대해 효율적인 연산 처리를 위해 캐시 메모리를 사용한다고 하셨습니다! 이러한 문제가 메모리 가시성 문제를 일으킬 수 있어 volatile 키워드로 캐시가 아닌 메인 메모리에 직접 접근할 수 있었습니다. 이번 예제의 경우,volatile이 없었던 가장 기본 BasicInteger는 volatile을 사용하지 않았어도 어느정도 값 수정이 되었는데 이는 캐시 메모리를 사용하지만 컨텍스트 스위칭이 발생하면서 캐시메모리가 메인메모리로 반영하고 다시 이를 읽어오니 반영이 된건가요?(이전에 interrupt를 boolean flag + volatile로 해결하던 예제에서는 컨텍스트 스위칭이 발생할 시기가 확정적이지 않다고 하셨는데 그거에 비해 꽤 많이 연산이 이뤄진것같습니다...)