묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
run() 메서드가 종료되면 Thread-0을 회수하나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]아래 사진과 같은 상황에서 Thread-0이 run() 메서드 수행을 완료하면, Thread-0은 할 일이 아무 것도 없는 상태입니다.그렇게 되면 Thread-0에게 할당해 준 스택 영역 전체를 JVM이(?) 회수하나요?아니면, 개발자가 따로 명시적으로 Thread-0의 회수?종료?를 명령할 때까지 이를 유지하나요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
[ScannerWhileEx4] input.nextLine(); 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.input.nextInt();을 사용하면 버퍼에 /n이 남으므로, input.nextLine();을 사용해 개행문자를 제거한다고 배웠습니다. int option = input.nextInt(); 을 사용한 뒤에는 if(option==1) 다음에 input.nextLine();이 있습니다. 그런데 System.out.print("상품의 가격을 입력하세요: "); int price = input.nextInt();를 사용한 뒤에는 input.nextLine();이 없습니다. 상품 가격을 입력하면 input.nextInt(); 때문에 /n이 버퍼에 남아있을텐데.... System.out.print("상품의 가격을 입력하세요: "); int price = input.nextInt(); 뒤에 input.nextLine();을 안 써도 문제가 없나요?
-
미해결김영한의 실전 자바 - 중급 2편
현재 자바가 정렬 알고리즘을 사용하는 기준 질문입니다
현재 자바는 데이터가 작을 때(32개 이하) 듀얼 피벗 퀵소트를 사용하고, 32개를 초과할 때 팀 소트를 사용한다고 말씀하셨는데,데이터 개수로 정렬 알고리즘이 정해지는게 아니라 데이터 타입으로 정해지는거 아닌가요?
-
해결됨김영한의 실전 자바 - 중급 2편
[리뷰] 잘 들었습니다!
40% 정도 들었을 때 리뷰를 이미 남겨버려서 이후에 추가로 남길 수는 없는 것 같아서 아쉬운대로 여기에라도 남깁니다.개발자의 길을 걷기로 정한 지 얼마 지나지 않았을 때, 파이썬이나 C 등을 배우고 나서 항상 아쉬웠던 부분이 "이 다음 스텝을 밟으려면 뭘 해야 되는 거지?"라는 막막함에 쉽사리 다음 스텝으로 가지 못하고, 그대로 다른 개념들을 배우러 가게 되어서 어느정도 배웠던 개념들이 꽤나 많이 사라져 버리는 경험을 했을 때입니다(ex. 파이썬 기초 책을 완독하고, 다음에 중급 단계를 배우고 싶은데, 뭘 선택해야 하지?).그런데 영한님은 정말 탄탄하게 로드맵을 정해 주셔서 "내가 한번 배운 기초 지식이 무의미하게 희석되지 않겠구나, 결국 다음 강의에 도움이 되는구나"하는 믿음을 가진 채로 듣다 보니 열정도 더 생깁니다.마지막 카드 게임 문제를 풀고난 뒤에 영한님의 풀이와 비교했을 때도 너무 재미있었습니다. "이렇게 해야 더 객체지향적이구나", "ENUM을 여기서 사용할 수가 있구나" 등등 내 코드보다 더 개선된 코드를 보면 그 수준까지 도달하고 싶은 열망에 더욱 공부 의욕도 샘솟네요.이제 저는 미리 결제해 둔 고급1편과 스프링 입문을 병행하며 듣고, 그 뒤로는 아마 고급 2편과 스프링 로드맵을 따라가지 않을까 싶습니다. 또한 나온 지 1년도 채 되지 않은 강의들이라 그런지 고급 자바편의 리뷰 수가 상대적으로 적은 것을 보면 뭔가 제 마음도 아프고, "영한님이 적은 리뷰 수에 의욕이 저하되면 안 될텐데"하는 생각이 들기도 합니다.그 덕분(?)인지 "아 나는 꼭 고급편 듣고 리뷰를 야무지게 남겨야지"라는 저만의 목표가 생기기도 하네요.저는 비록 학생에 불과하지만, 본인이 충분히 알고 있는 개념이라고 하더라도 그것들을 체계적이고, 오류없이 누군가에게 전달하려고 한다면 강의시간의 수 배만큼의 시간과 노력이 필요함을 잘 알고 있습니다.저도 가끔 무언가를 남에게 가르쳐주려고 할 때 초반에는 정말 탄탄한 순서와 검증된 자료들만으로 준비하면서 계획을 세우다가, 어느 순간 그 과정이 너무 힘들어서 헤이해지는 경우가 참 많았거든요.결국 하고 싶은 말은 스프링에 이어 그 기초가 되는 자바까지 이렇게 탄탄하게 준비해 주시니 그걸 듣는 저로써는 너무나 감사할 따름입니다. 영한님의 덕을 너무나도 잘 보고 있는 인간 1명이 있다는 사실에 조금이나마 강의 준비하시는 데에 도움이 되셨으면 합니다. 파이팅!
-
미해결스프링 핵심 원리 - 기본편
xmlAppContext 테스트 수행시 콘솔 로그
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]xmlAppContext() 테스트를 돌렸을때 강의와 다르게 콘솔창에 아무것도 표시되지 않습니다. 버전문제일까요?
-
해결됨오브젝트 - 기초편
단일책임원칙과 응집도
안녕하세요. 강의 잘 듣고 있습니다. 간단한 질문이지만 SOLID에서 말하는 단일책임원칙과 응집도는 같은 의미로 사용된다고 이해해도 될까요?
-
미해결김영한의 실전 자바 - 기본편
객체지향 프로그래밍의 원리 적용 범위
안녕하세요 강사님!강사님 덕분에 프로그래밍의 세계에서 재미 있는 시간을 보내고 있습니다! 객체 지향 프로그래밍과 궁금한 점이 있습니다. 자바는 객체지향프로그래밍에 특화 된 언어라고 이해하고 있는데요, 생성자, 메서드, 객체와 같은 개념들이 다른 언어(python, javascript 등)에도 적용할 수 있는건가요? 감사합니다!
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
현업에서 ISP를 도입하려는데 인터페이스 설계에 있어서 의문이 있습니다.
금융업 it업계에 종사하는 개발자입니다.isp에 대해 어렴풋이 알고 있다가 강사님의 강의를 보면서지난 리팩토링 과정에서 제가 겪었던 문제에 답이 될 수 있을 것 같아서 질문드립니다.인증서라고 하는 비즈니스가 하나의 소스 코드에 if else로 분기처리되어있는 것을 각 인증서라는 인터페이스를 두고, 요청으로 온 구분코드에 따라 서로 다른 구현체를 생성하도록 했습니다.이때 한가지 문제가 인증서 별로 기능이 상이하다는 것이었는데요. 발급, 폐기, 환불 등의 기본적인 기능들은 모두 제공하지만 갱신, 강제폐기/환불 등 특정 인증서에서만 구현되는 기능들이 있을 때 강의에서 말씀하신 isp를 위반하는 상황이 발생할 거라고 생각했습니다. 그렇다면 공통기능에 대한 인터페이스, 특정기능에 대한 인터페이스를 분리하자라는 생각까지 해보았는데,, 이렇게 됐을 때 공통기능을 구현하지않는 또 다른 인증서 상품이 신규 됐을 때 문제가 될거라는 생각이 들었습니다. 다른 방식으로 발급, 폐기, 환불 등 각각의 기능들을 인터페이스화 하자면 각 구현체별로 구현하는 인터페이스가 너무 많아지는게 아닐까 하는 생각도 들었습니다.이럴 경우에는 어떻게 설계에 접근해야할지 고견을 여쭙니다. 혹 이럴 때 용이한 디자인패턴 같은게 있는지요.긴 글 읽어주셔서 감사합니다.
-
미해결스프링 핵심 원리 - 기본편
스프링 기본편을 수강한 학생입니다
스프링 기본편을 완강을 한 시점에서 강사님께서 말한 야생형으로 로드맵을 진행할까 하는데그래도 MVC1,2편은 수강하고 JPA 야생 로드맵을 진행한다JPA커리를 다 타고 MVC와 DB, 고급편을 탄다어떠한 방식이 좋을까요?
-
미해결PHP 7+ 프로그래밍: 객체지향
패케지스트를 하지 않고 섹션7을 수행할수 있나요
안녕하세요강의내용에서는 섹션6에서 패키지스트를 만들어 다운받아 활용하는걸로 강의가 되고 있습니다이렇케 하지 않코 섹션7 프로젝트 준비하기에서 만든 폴더기준으로 섹션6내용을 어디에다 옮겨두고 하면 되는지 궁금합니다만약 가능하다면 하나의 예를 들어 Application.php 파일에서 namespace Eclair; use Eclair\Support\ServiceProvider;namespace를 어떻케 변경하면 되나요
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
Join 실습 질문
public class JoinMainV3 { public static void main(String[] args) throws InterruptedException { log("Start"); SumTask task1 = new SumTask(1, 50); SumTask task2 = new SumTask(51, 100); Thread thread1 = new Thread(task1, "thread-1"); Thread thread2 = new Thread(task2, "thread-2"); thread1.start(); thread2.start(); // 스레드가 종료될 때 까지 대기 log("join() - main 스레드 대기 시작"); thread1.join(); thread2.join(); log("main 스레드 대기 완료"); log("task1.result = " + task1.result); log("task2.result = " + task2.result); int sumAll = task1.result + task2.result; log("task1 + task2 = "+ sumAll); log("End"); } static class SumTask implements Runnable { int startValue; int endValue; int result = 0; public SumTask(int startValue, int endValue) { this.startValue = startValue; this.endValue = endValue; } @Override public void run() { log("작업 시작"); sleep(2000); int sum = 0; for (int i = startValue; i <= endValue; i++) { sum += i; } result = sum; log("작업 완료 result = " + result); } } }안녕하세요.위 코드는 강의실습에 사용된 코드입니다.개인적으로 thread1.join(), thread2.join() 에 대해 main쓰레드가 WAITING 상태인지를 확인하고 싶어아래와 같이 코드 중간 중간에 상태를 체크해봤습니다. log("main 쓰레드 상태: " + Thread.currentThread().getState()); thread1.join(); log("main 쓰레드 상태: " + Thread.currentThread().getState()); thread2.join(); log("main 쓰레드 상태: " + Thread.currentThread().getState()); 결과는 모두 RUNNABLE로 나타나는데요.sleep시간을 늘려봐도 여전히 RUNNABLE상태가 나옵니다.코드의 어떤 부분을 수정해야지 WAITING상태를 확인할 수 있는지 궁금합니다~!
-
해결됨유니티 시스템 프로그래밍 Pt.2 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
강의 : Addressables를 활용한 어셋 관리 및 로딩 처리 문의
현재 사용중인 기기 : 맥북SettingsUI 어드레서블 에셋 등록 시 폰트 리소스 렌더링 이슈강의와 차이점 : OpenGLES3 없음 -> OpenGLCore(Deprecated) 로 대체폰트 렌더링이 되지 않고 있습니다.해결 방법 아시는분 계시면 공유 부탁드립니다. 추가Mac Silicon Chips 은 Metal 사용Canvas Renderer 충돌로 보임플레이 시Material -> shader 옵션 변경 시 텍스트 전체 보임폰트 설정 시 해당 텍스트 보임대체 안폰트도 어드레서블 등록해서 리소스 관리할지
-
해결됨유니티 시스템 프로그래밍 Pt.2 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
세계 시간 API 서버 이슈로 대체할만한 API 아시는분 계신가요?
세계시간 API 서버 SSL Connection 에러로 호출이 되지않아 대체 API 를 찾고있습니다.대체 API 아시는 분은 공유 부탁드립니다.강의 예제 세계 시간 API : https://worldtimeapi.org/api/ip상태 체크 : https://status.worldtimeapi.org/
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
정리 질문있습니다
안녕하세요 I/O 흐름을 제가 제대로 이해했는지 궁금합니다... I/O class : byte class / String class 로 나뉨 byte classoutput 위주로 정리기본스트림(FileOutputStream)을 사용하여 1byte씩 loop를 사용해서 쓰기byte array 사용하여 배열 사이즈 만큼 쓰기보조스트림(BufferedOutputStream)을 사용하여 쓰기 String class기본스트림(FileOutputStream) 과 String.getBytes(charset)을 사용하여 직접 인코딩하여 쓰기보조스트림(OutputStreamWriter : 인코딩 대신 처리)사용하여 쓰기FileWriter(FileOutputStream을 내부에서 생성 / OutputStreamWriter 상속) 사용하여 쓰기 질문1) 위의 흐름이 맞을까요?질문2) String class 는 인코딩을 해야하지만 byte class 인코딩을 하지 않는다. 두가지 질문이 맞을까요?
-
미해결김영한의 실전 자바 - 중급 1편
모든 class들은 컴파일시 자동으로 Class라는 static변수가 생성되나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]Class clazz = String.class; // 1.클래스에서 조회Class helloClass = Hello.class;위 방식으로 클래스를 조회하는것을 보면 각각의 클래스에 Class라는 static변수에 접근하는 것으로 보이는데 이는 컴파일 시 모든 클래스들에 직접 입력하지 않아도 Class라는 static변수(private static Class class)가 자동으로 생성되기 때문인가요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
짝수 출력
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.아래와 같이 작성해도 결과가 동일한데 이렇게 작성해도 되나요?package Loop.ex; public class CountEx { public static void main(String[] args) { for(int num=2;num<=20;num=num+2){ System.out.println(num); } } }
-
해결됨김영한의 실전 자바 - 중급 2편
[강의록 오타] 9. 컬렉션 프레임워크 - Map, Stack, Queue
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[강의록 오타]대상 강의록: 9. 컬렉션 프레임워크 - Map, Stack, Queue.pdf페이지: p.6 상단내용:(기존) Map의 값 목록을 중복을 허용한다.(수정) Map의 값 목록은 중복을 허용한다.영상 잘 보고 있습니다. 너무 재밌어요 영한님!
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
우아한 종료 - 코드 질문이요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증 및 저의 생각이 맞는지 확인하려고 질문을 드립니다.우아한 종료 즉 영한님이 만든 ExecutorShutdownMain 클래스에서 shutdownNow를 하고 나면 코드 메시지에, 영한님 이 만들어 났던 sleep() 에서 런타임 메시지 및 인터럽트 발생을 확인할 수 있었습니다.근데 저가 sumbit()으로 하면 어떻게 될까 궁금해서 해보았는데.. 아래와 같이sleep() 메서드 안에 적은 '인터럽트 발생, sleep interrupted' 만 뜨지 런타입 예외가 발동하지 않을 것을, 확인을 할 수 있었습니다.그래서 생각해보니 submit() 메서드는 값을 future로 받아서 런타입 예외 발동하지 않는다? 런타입 예외는 실행 중에 받는 예외인데, 이미 future로 값을 받았기 때문이라는 생각이 듭니다.이것을 보고 이렇게 생각하였습니다.아니면 다른 이유가 있는 것인가요?저의 생각이 틀렷다면sumbit()으로 런러블이나 콜라볼로 값을 받았을 때 runtime 예외가 발생하지 않은 이유가 궁금합니다.답변 부탁드립니다.
-
해결됨김영한의 실전 자바 - 기본편
클래스명, 인스턴스 질문 있습니다.
안녕하세요.자바 기본 (static 변수 3, 9분 30초~) 수업 내용과 관련하여 관련 질문이 있습니다.Data3 data4 = new Data3("D"); System.out.println("D count = " + data4.count); System.out.println(Data3.count); 정적 변수에 접근하는 두 가지 방법을 알려주셨는데,용어 정리가 잘 안되어서요. 인스턴스를 통한 접근 data4.count 에서data4를 "인스턴스명"이라고 불러도 되는 것인가요?
-
해결됨C개발자를 위한 최소한의 C++
C++ 파일 구조 질문
헤더1개 Cpp파일 1개 코드를 여러 개의 파일로 모듈화하는 방법에 대해 질문드립니다.함수 모듈화, 헤더파일 디자인, 파일 구조 설계, 순환참조 방지 등에 대한 지식이 없어서 어떻게 파일을 속성에 따라 나누고, include해야 원래 코드와 동일하게 동작하게 만들 수 있는지 모르겠습니다. gpt 한테물어보니 디자인패턴을 공부하라고 하는데, 디자인 패턴은 이미 파일 구조가 짜여진 내에서 클래스를 세분화하거나 코드 재사용성을 위한 상속에 관한 내용 같았습니다. 위 경우 어떤 내용을 공부하거나 참고하면 좋을까요? 정말 고민되어서 여쭤봅니다. ㅎㅎ