묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
프로세스의 메모리 구성과 자바 메모리 구조의 상관 관계
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 저는 영한님의 강의를 듣고 자바와 스프링을 공부하고 있는 수강생입니다. 양질의 강의를 제공해 주셔서 감사합니다.강의를 전부 듣고 복습을 하던 중에 궁금한 부분이 생겨서 질문 드립니다. 섹션 2 "프로세스와 스레드" 강의에서는 프로세스의 메모리 구성에 대한 내용과,섹션 3 "스레드 시작1" 강의에서는 자바 메모리 구조에 대한 내용의 상관 관계에 대해서 이해가 어려운 부분이 있어서 질문드립니다. 프로세스의 메모리는 4가지 영역(코드, 데이터, 힙, 스택)으로 나눠서 설명해 주셨고자바의 메모리 구조는 크게 3가지 영역(메서드, 힙, 스택)으로 나눠서 설명해 주셨는데요.여기서 프로세스의 힙, 스택 영역과 자바의 힙 스택 영역이 같은 것을 의미하나요?만약 같다면, 프로세스에서 코드, 데이터 영역은 자바의 메모리 구조로 봤을 때 메서드 영역에 포함되는 개념인가요?중복되는 질문일 수 있지만.. 검색해보니, 일반적으로 프로세스당 하나의 jvm 인스턴스를 가진다고 하는 것을 확인했는데요. 그럼 한 jvm 인스턴스에서 하나의 프로세스만을 관리하고 있을 때, (프로세스의 메모리 구조 == 자바의 메모리 구조)라고 생각해도 되는 걸까요?질문 확인해 주셔서 감사합니다. 좋은 하루 되세요!
-
미해결파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
read_html 오류 해결법
sp500 = pd.read_html(url)에서 오류가 나는 경우,pip install lxml해주면 됩니다
-
해결됨오브젝트 - 기초편
설계( DB or 도메인 ) 순서 질문
안녕하세요. 용호님 좋은 강의 만들어 주셔서 감사합니다. 강의를 통해 객체지향에 대해 많이 알게 되었습니다. 저의 질문은 용호님 께서는 신규프로젝트를 시작하실때 db설계를 먼저 완료하시는지, 도메인설계를 먼저 완료하시는지, 아니면 두 과정을 병렬로 진행하사는지 궁금합니다. 감사합니다.
-
미해결김영한의 실전 자바 - 기본편
수업 자료 문서
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]수업자료로 사용하시는 메모장은 어떤 프로그램을 사용하신건가요?
-
미해결[코드팩토리] [입문] Dart 언어 4시간만에 완전정복
강사님 덕에 요즘 열심히 수강하고 있습니다
2년 전에 c언어를 배웠었는데 다트 언어는 그에 비해 너무 친절해서 행간에 추론이 필요한 부분이 있네요..사진 상 print(newBlackPink.toList());나 print(newBlackPink2);가 value는 똑같은데 괄호만 종류가 다른데요, 이때 toList를 안 먹이면 Map으로 나오는 건지, 그렇다면 final과 newBlackPink사이에는 Map이 생략되어 있는건지 궁금합니다. 아니라면 어째서 괄호의 종류가 다르게 나오는 건지 알려주세요!요지는 newBlackPink2의 자료형이 궁금합니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
문제 1번 동시성 오류의 이유
간단한 질문 하나가 있습니다! 혹시 문제 1번에서는 "멀티 코어" 이기 때문에 발생한 상황으로 봐도 맞을까요? count = count + 1 이 세가지 작업을 수행하긴 하지만, 한 줄이기 때문에 CPU 가 한 줄씩 수행하는 입장에서 도중에 스레드를 변경하진 않는 것 아닌가 싶은 의문이 들어서 문의드리게 되었습니다!
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
[오타 제보] pdf 4.
오타 제보 드려요 4. 스레드 제어와 생명 주기2.pdf 6페이지 이때 work 스레드는 TIMED_WAITNG부분입니다.
-
미해결Java/Spring 주니어 개발자를 위한 오답노트
Rest API - 많이하는 실수 에서 복수형
회사 컨벤션마다 다르긴한데 생각보다 단수로도 많이 사용하지 않나요? 단일 데이터를 생성하는것과 여러 데이터를 생성하는 것을 구분하는 경우도 많은 것으로 알고있습니다. 실제로 naver, kakao의 많은 부서에서도 이런 컨벤션을 지키는것으로 아는데 반드시 복수형으로 쓰면 안되는것일까요? 참고 공식자료가 있을까요?
-
미해결파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
KeyError: 'Adj Close' 해결법
KeyError: 'Adj Close'오류가 나는 이유는, yahoo finance method가 변경되어 Adj Close를 안 가져오기 때문입니다.#기존 df = yf.download(tickers=["AAPL","MSFT","GOOG","AMZN"])["Adj Close"] #고침 df = yf.download(tickers=["AAPL","MSFT","GOOG","AMZN"])["Close"]으로 변경하면, 오류가 해결됩니다.
-
미해결파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
nbformat>=4.2.0 해결법
ValueError: Mime type rendering requires nbformat>=4.2.0 but it is not installed오류가 나오는 경우,pip install ipykernel pip install --upgrade nbformat코드를 돌리고Visual Studio Code 윗쪽에 Restart 버튼을 눌려 Kernel 재시작하면 작동합니다.
-
미해결김영한의 실전 자바 - 중급 2편
강의 중 이중연결리스트
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요. 이중연결리스트는 안다루나요?
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
Metaspace에 대한 질문
안녕하세요 널널한개발자님 수업들으면서 많은 것을 배우고 있습니다! 다름이 아니고 Method Area 수업에서는 Method Area가 Java 8부터는 PermGen에서 Metaspace에 속하게 되고, JVM Heap 영역이 아니라 Native Memory에서 관리한다고 배웠는데 JVM Heap 영역 수업에서 영구 세대(Metaspace)가 같은 것을 지칭하는 것일까요? 제가 보기에는 같은 것을 지칭하는 것 같다고 생각합니다. 그러면 Meataspace는 더 이상 Heap 영역에서 관리하지 않기 때문에 GC로 제거가 되지 않는 것이 맞을까요? 또한 저는 처음에 PermanentGen = Method Area라고 생각했는데 그게 아니라 Permanent 영역이 Method Area 영역을 포괄하는 큰 영역이기 때문에Java 8 이전: PermentGen에 포함된 MethodArea까지 GC가 관리(full시)Java 8 이후: MethodArea가 PermGen인 Heap 영역에서 분리되었으니 더이상 GC 관리 X 다만 다른 PermGen 영역만 full gc때 관리라고 생각하면 될까요?
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
채팅 프로그램 관련 질문 (join 관련)
안녕하세요 강사님 좋은 강의 매번 잘 듣고 있습니다.채팅 프로그램 직접 먼저 구현해보라고 하셔서 코드를 짜봤는데요, 이후 강사님이 짜신 채팅 프로그램 코드를 보며 많이 부족하다는 것을 다시 느꼈습니다. 두 코드를 비교하며 제가 짠 클라이언트 코드 중에 잘 이해가 되지 않는 부분이 있는데요,,우선 코드는 다음과 같습니다.package network.tcp.chat; //... import static util.MyLogger.log; public class ChatClient { private static final int PORT = 12345; public static void main(String[] args) throws IOException, InterruptedException { try (Socket socket = new Socket("localhost", PORT); DataInputStream input = new DataInputStream(socket.getInputStream()); DataOutputStream output = new DataOutputStream(socket.getOutputStream())) { log("채팅 소켓 연결: " + socket); // 채팅 메시지 송.수신 분리 ReadHandler readHandler = new ReadHandler(input); WriterHandler writerHandler = new WriterHandler(output); Thread clientReadThread = new Thread(readHandler, "clientReadHandler"); Thread clientWriteThread = new Thread(writerHandler, "clientWriteHandler"); clientWriteThread.start(); clientReadThread.start(); clientWriteThread.join(); clientReadThread.join(); } } }package network.tcp.chat; //.. import static util.MyLogger.log; public class ReadHandler implements Runnable { private final DataInputStream input; public ReadHandler(DataInputStream input) { this.input = input; } @Override public void run() { while(true) { // 서버로부터 문자 받기 String received = null; try { received = input.readUTF(); } catch (IOException e) { throw new RuntimeException(e); } log("server -> client: " + received); } } }package network.tcp.chat; //.. import static util.MyLogger.log; public class WriterHandler implements Runnable { private final DataOutputStream output; public WriterHandler(DataOutputStream output) { this.output = output; } @Override public void run() { Scanner scanner = new Scanner(System.in); while(true) { System.out.print("전송 문자: "); // 서버에 문자 보내기 String toSend = scanner.nextLine(); try { output.writeUTF(toSend); } catch (IOException e) { throw new RuntimeException(e); } log("client -> server: " + toSend); if (toSend.equals("exit")) { break; } } } }물론 제 코드를 작동시켜보면 1) EOFException도 발생하고 2) 자원 정리 코드도 따로 없습니다다만 궁금한 것은 main 에 다음의 두 코드를 넣어야 채팅 프로그램이 동작한다는 것입니다.clientWriteThread.join(); clientReadThread.join();앞서 보여주신 간단한 server-client 예제, 강사님이 짜신 채팅 프로그램 코드 모두 Thread.join() 메소드를 전혀 사용하지 않았는데 왜 제 코드에서는 두 코드를 넣어야 채팅 프로그램이 끊기지 않고 동작하는 것인지 자문을 구해도 될까요?ㅠ감사합니다..!
-
해결됨코틀린 함수형 프로그래밍 - 입문편
문제집 4 퀴즈 4번 질문입니다.
안녕하세요. 문제를 풀다가 애매하다고 생각되는 부분이 있어서 질문드립니다.퀴즈 4에서 b 를 보면, b. push 메서드는 Any 타입의 값도 받을 수 있다.라고 적혀있고, Stack 클래스는 런타임 시 T의 타입이 결정되기 때문에 Any가 들어올 수 없다고 설명주셨습니다.다만 궁금한 부분은 Stack<Any>와 같이 런타임 시 T가 Any 타입으로 설정된다면 push 메서드도 Any 타입 값을 받을 수 있다고 봐야 할 꺼 같은데, 문제 의도가 "push 메서드는 T 타입의 값을 받아야한다" 이기 때문에 b 가 틀린 설명인지 궁금합니다. 결국 런타임 시점에 Stack에 어떤 타입이 적용되냐에 따라 Any 타입의 값을 받을 수도 있고, 안될 수도 있는 것 아닌가 해서요.
-
미해결스프링 핵심 원리 - 기본편
CoreApplication 실행 안 됨
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.jdk도 다 맞게 설정한 거 같은데 왜 실행이 안 될까요?
-
미해결김영한의 실전 자바 - 중급 1편
Exception과 명시적인 체크예외의 차이
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강사님께서 설명해주신 것처럼 다른 예외가 발생시 disconnect();의 호출이 불가피하게 되었을때 finally라는 문구를 사용하여 해결방법이 있겠지만 catch의 예외타입을 Exception (= 실질적인 최상위 예외)로 지정하면 다른 에러가 발생하여도 해결할수 있을것 같은데 통합적으로 Exception으로 잡지 않는 이유가 궁금합니다!
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
[오타 제보] pdf 10, 11 챕터
안녕하세요. 오타 제보입니다.자바 고급1편 11.동시성 컬렉션 pdf 4페이지add(): 컬렉션에 데이터를 추가한다sleep(100): 잠시 기대한다. 자바 고급1편 10. CAS-동기화와 원자적 연산 pdf 7페이지 6번째 줄 이 문제는 연산 자체가 나누어져 있기 때문에 발생한다. volatile 은 연산 차제를 원자적으로 묶어주는 기능이 아니다. 강의 감사히 듣고 있습니다!! 감사합니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
콘솔창
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]콘솔창이 가로로 나와야 할 게 세로로 나와요..예를 들면 123 이렇게 나와야 되는데123이렇게 나와요.
-
미해결김영한의 실전 자바 - 중급 1편
기존 풀이와 다른 예외에 의한 탈출 기저 조건
안녕하세요 강사님! 문제와 풀이2 의 문제에 있어서 저는 이렇게 풀었습니다.영한선생님도 if else 보다 탈출 조건을 통해서 하신다고 하셔서 같은 접근을 했음에 기뻤는데 풀이 중 for (Book book : books) 의 foreach 문 사용에 있어서 count 를 따로 빼시고 일반 for 문을 사용하셨는데 2가지 질문이 있습니다. Book 객체 배열을 n의 크기로 생성자에서 입력받아 배열을 생성한다면 cnt++을 통해 배열의 인덱스를 초과할경우도 고려해야 되지 않나요?Book b : books 의 foreach 문은 당연히 n 개로 구성되어있기에 foreach문을 사용할 수 있을거라고 생각했습니다. 강사님은 사용할 시 주의하라하셨는데 ArraryList도 아닌 일반 배열을 생성했을 때 값이 추가해서 들어갈 수 없지 않나요?
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
생성자 탐색과 객체 생성 - ConstructV1 코드질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 또 이해가 안되서 질문 을 올립니다.영한님 ConstructV1코드를 보면 declaredMethods()를 쓰면 모든 메서드 들을 보여주신다고 하였는데.. 다시 확인해보니 디폴트 메서드 및 프로텍티트 메서드가 출력이 안된것을 확인을 할 수가 있었습니다. 그래서 전에 학습했던 코드 MethodV1 코드를 돌려본 결과 여기에서는 프로텍티드 및 디폴트 메서드도 보여주는것을 확인을 햇습니다. getConstructors()는 부모꺼 뺀 public 메서드만 호출 가능, getDeclaredConstructors()는 모든 메서드를 호출하다고 했는데 디폴트및 프로텍트 메서드가 안나오니 의문점이 생기네요.이것도 알려주시면 감사하겠습니다.답변 부탁 드립니다.