묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 기본편
강의 화면이 안나와요
생성자부터 음성만나오고 영상화면이 안나옵니다!!!
-
미해결김영한의 실전 자바 - 중급 1편
중급 과정 학습 중 복습과 진도 진행의 우선순위에 대해 질문드립니다
안녕하세요.현재 자바 입문편, 기본편을 수강한 후 중급 1편의 예외 처리 단원까지 학습한 상태입니다. 중급 1편부터 난이도가 크게 높아졌다고 느끼고 있는데, 여기서 학습 방향에 대해 조언을 구하고 싶습니다.강의 내용과 예제는 이해하는 데 큰 어려움이 없습니다. 다만 코드를 보고 작성하며, 정리된 내용을 읽고 이해하는 것과 실제로 지식을 완전히 체화하는 것은 다르다고 생각하여 복습의 필요성을 느끼고 있습니다.한편으로는 앞으로 수강해야 할 강의가 많이 남아 있기 때문에, 지금 충분한 시간을 들여 복습하는 것이 좋은지 고민됩니다. 아니면 일단 다음 강의들까지 계속 학습한 뒤, 이후 심화 내용을 공부하면서 부족하거나 이해가 부족한 부분이 발견될 때 그때 다시 복습하는 방식이 더 효율적인지 궁금합니다.
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
빠져나오기 위해서 System.in을 닫는다는게 무슨 의민가요??
16:00분 쯤부터 사용자가 입력을 안하면scanner.nextLine()에서 스레드가 무한대기 하기때문에빠져나올 수 있는 방법이 없다고, 빠져 나오려면 System.in을 닫아버려야 한다고 하시는데 사용자가 입력을 안하면 그대로 대기하는게 맞지 않나요? 왜 빠져나와야 하는건가요?? 빠져 나오는게 종료를 의미하는거라면 /exit으로 빠지면 되는게 아닌가요? 해당 부분이 어떤 의미인지 잘 이해가 되지 않습니다.
-
미해결김영한의 실전 자바 - 기본편
문제2번
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]ShoppingCart클래스 아래와 같이 풀어봤는데이런식으로 풀어도되나요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
중복 코드와 유지보수성 사이에서 어떤 기준으로 리팩토링해야 할지 궁금합니다
안녕하세요.백엔드/서버 개발자로 이직을 준비하고 있는 1년차 SI 개발자입니다.강의를 들으면서 늘 느끼는 점이 있습니다. 강의에서 보여주시는 코드는 정말 간결하고 효율적이고, 특히 “한 사람이 조금 더 고민해서 코드를 작성하면 다음 사람이 유지보수하기 편하다”는 말씀에 많이 공감하고 있습니다.저도 실무에서 신규 기능을 추가하거나 기존 기능을 수정할 때 다른 사람이 작성한 코드를 보게 되는데, 그때마다 유지보수하기 쉬운 코드의 중요성을 많이 느끼고 있습니다.그런데 최근 작업을 하면서 한 가지 의문이 생겼습니다.어떤 코드에서 분기 조건만 다르고, 마지막에 호출하는 메서드 형식은 완전히 같은 상황이 있었습니다. 예를 들면 if문 안에서 조건에 따라 넘겨주는 값만 다르고, 최종적으로 호출하는 메서드는 동일한 구조였습니다.처음에는 각 분기 안에서 바로 메서드를 호출하면 코드 흐름이 단순해 보였습니다.if (조건1) { Method(a, b, c); } else if (조건2) { Method(d, e, f); }하지만 이렇게 작성하면 호출 형식이 계속 반복되고, 나중에 파라미터가 추가되거나 호출 방식이 바뀌면 여러 군데를 수정해야 해서 유지보수성이 떨어질 것 같았습니다.그래서 조건에 따라 필요한 값만 먼저 변수에 세팅하고, 마지막에 메서드는 한 번만 호출하는 방식이 더 낫다고 생각했습니다.if (조건1) { value1 = a; value2 = b; value3 = c; } else if (조건2) { value1 = d; value2 = e; value3 = f; } Method(value1, value2, value3);이 방식은 호출부 중복은 줄어들지만, 반대로 코드 길이는 늘어나고 중간 변수가 많아집니다.또 단순한 if문 하나로 처리할 수 있는 로직을 굳이 변수 세팅 방식으로 바꾸는 게 항상 좋은 선택인지 고민이 됩니다.결국 궁금한 점은 이것입니다.분기마다 값만 다르고 호출 형식이 같은 경우, 실무에서는 어떤 기준으로 코드를 작성하는 것이 더 좋은가요?단순히 코드 줄 수가 짧은 것이 좋은 코드인지, 아니면 조금 길어지더라도 중복 호출을 줄이고 변경 지점을 한 곳으로 모으는 것이 좋은지 아직 실무 경험이 부족해서 판단이 어렵습니다.이런 상황에서 실무적으로 어떤 기준으로 리팩토링 여부를 판단하면 좋을지 궁금합니다.
-
미해결김영한의 실전 자바 - 기본편
static 변수를 호출할때 인스턴스변수 호출하듯이 호출해도 되나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. Data3 data1 = new Data3("A"); System.out.println("A count:" + Data3.Count); System.out.println("A count:" + data1.Count); 이렇게 data1.Count로 호출해도 컴파일에러가 나지않는데 이렇게 사용해도 문제가 없는지 궁금합니다
-
미해결스프링 핵심 원리 - 기본편
회원 도메인 인터페이스 개발
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 내용]회원 저장소를 갈아 끼울 수 있도록 설계할 때의 질문입니다.예를들어 메모리 회원 저장소에서 회원 정보를 조회하기 위한 파라미터 값, db 회원 저장소에서 조회하기 위한 파라미터 값.. 등등 파라미터 값이 다른 경우에는 인터페이스 설계를 어떤 식으로 해야할까요?실무에서는 외부 인터페이스 연동을 할 때나, db를 조회할 때나 파라미터 값이 그때그때 다 달랐던 것 같아서요. 그렇다면 저장소를 갈아 끼우더라도 각각 개발자가 넘겨줘야할 파라미터 값은 결국 변동될 수 밖에 없는건가요?
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
코드 버그
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 근데 이거요. 깃발만 전부 꽂아놔도 isChecked true 라서 게임 이겨지는 코드 아닌가요
-
해결됨프론트엔드 마스터클래스
강의자료
1강에 강의자료 링크가있다는데 못찾았습니다.. 혹시 1.1강에 몇분쯤에 나오는지 알수있을까요
-
미해결Java 21 완전 정복 [초급] - 기초부터 객체지향까지
강의 영상 업로드 질문
메서드 오버라이딩 파트부터는 영상이 아직 안올라온건가요...?
-
미해결스프링 핵심 원리 - 기본편
빈 스코프 개념의 중요성
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]빈 스코프 섹션은 아무리 다시 듣고, 강의 자료를 보아도 개념 자체가 잘 이해가 안됩니다. 스프링을 활용한 프로젝트에서 반드시 알아야 할 주제인가요? 이해가 부족하면 프로젝트 진행에 문제가 많이 될까요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
인텔리제이 설정 최신화 관련 확인 부탁 드립니다!
안녕하세요.강의 촬영 시점과 수강 시점이 많이 차이가 나 그동안 여러 변경사항이 있는 것 같은데요! 인텔리제이 설치 후 새 프로젝트 셋팅하려고 보니 언어 선택하는 부분이 없음 (이 부분은 왼쪽 패널에 new project > java/kotlin... 등으로 선택하게 되어 있네요!)JDK 버전이 26까지 올라와 있음이런 상태인데, JDK는 항상 최신 버전을 다운로드 받아도 될까요? 아니면 21 버전으로 다운로드 해야 할지 확인 부탁 드립니다.
-
미해결김영한의 실전 자바 - 중급 1편
동일성 동등성
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]13:00즈음에 동일성 비교가 필요한 경우에만 equals()를 재정의하면 된다라고 되어있는데 동등성 아닌가요..?
-
미해결김영한의 실전 자바 - 기본편
47번 리턴 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]47 문제와 풀이 내용에서수업내용은 increment에 void로 반환을 안하던데 언제 리턴으로 반환해야 하는지 잘 모르겠습니다..
-
해결됨치킨값으로 배우는 JS 고급
useState 직접 구현 부분에서 질문이 있습니다.
setCount가 전역변수에 없으면 setCount is not defined; 오류가 발생합니다.Codex가 Counter()는 문자열을 반환하고 setCount는 Counter의 지역변수라서 브라우저가 setCount를 전역에서 찾기 때문에 나타나는 오류라고 합니다. <--이부분이 어렵습니다.아래처럼 변경하거나 addEventListener의 콜백으로 구현하라고 하네요.const states = []; let cursor = 0; let setCount; function useState(initialValue) { const index = cursor; cursor++; if (states[index] === undefined) { states[index] = initialValue; } const setState = (newValue) => { states[index] = newValue; cursor = 0; render(); }; return [states[index], setState]; } function Counter() { const [count, _setCount] = useState(0); setCount = _setCount; return `<button onClick="setCount(${count + 1})">${count}</button>`; } function render() { const root = document.querySelector("#root"); cursor = 0; root.innerHTML = Counter(); } render();
-
해결됨치킨값으로 배우는 JS 고급
학습을 하고 블로그에 정리를 해도 괜찮을까요?
블로그에 공부한것들을 간단하게 정리를 해도 괜찮을까요?
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
IO활용-회원관리예제1 샘플코드 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. IO 할용-회원관리예제1 에서 MemoryMemberRepository 클래스의 첫줄 private final List members = new ArrayList<>(); MemberConsoleMain 클래스의 첫줄 private static final MemberRepository repository = new MemoryMemberRepository(); 공통질문입니다. final 또는 static final로 선언한 이유가 무엇인가요?
-
미해결김영한의 실전 자바 - 중급 1편
중급 1편 학습 방향에 대해 조언 부탁드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.자바 입문부터 차근차근 수강하고 있습니다.기본편까지는 강의를 들으면서 문제도 직접 풀어보고, 내용을 이해하면서 재미있게 공부했습니다.그런데 중급 1편부터는 점점 이해가 어려워지는 느낌을 받고 있습니다. 현재는 중첩 클래스와 내부 클래스를 학습하고 있는데, 개념이 잘 이해되지 않습니다.또한 섹션 2의 Object 클래스 부분을 제외하면 대부분의 문제를 스스로 풀지 못하고 있습니다. 답안을 본 뒤 따라 쳐보면서 이해하려고 노력하고 있지만, 혼자서 해결하는 수준까지는 아직 도달하지 못한 것 같습니다.강의를 들을 때는 설명을 따라가려고 하는데 이해가 잘 되지 않다 보니, 점점 강의 내용을 놓치고 있다는 느낌도 듭니다.그래서 한 가지 조언을 구하고 싶습니다.현재처럼 이해가 완벽하지 않은 상태에서도 중급 1편을 계속 수강하는 것이 괜찮을까요? 아니면 기본편을 다시 복습한 뒤 중급 1편을 이어서 듣는 것이 더 좋을까요?비슷한 경험이 있으셨거나 조언을 주실 수 있다면 감사하겠습니다.
-
미해결스프링 핵심 원리 - 기본편
SingletonService가 JVM이 뜰 때 생성되는게 맞나요?
안녕하세요강의 내용에서 김영한님이"지연 로딩과 다르게 강의의 코드는 자바가 실행될 때 객체를 미리 만들어 생성해두는 가장 단순하고 안전한 방법이다. 인스턴스가 너무 메모리를 잡아먹는게 아니면 로딩할 때 만드는 이 방법이 제일 안전하고 간편하다. getInstance 할 때 없으면 만들고 있으면 그걸 쓰는 지연 로딩 방식은 다르다. "라고 하셨습니다. public class SingletonService { private static final SingletonService instance = new SingletonService(); public static SingletonService getInstance() { return instance; } private SingletonService() { System.out.println("SingletonService 생성자 호출됨"); } public void logic() { System.out.println("싱글톤 객체 로직 호출"); } }그래서 생성자 함수에도 출력이 되게 하고 자바 main함수에서 그냥 자바 실행시켜 봤는데, 생성자 호출이 안 되더라고요. getInstance를 부르면 생성자 호출이 출력되고요. 자바가 뜰 때(JVM이 실행될 때) SingletonService 클래스와 static변수인 instance는 메모리의 static영역에,instance에 할당되는 실제 SingletonService인스턴스는 힙 영역에 바로 다 생기는 게 맞나요? 강의에서 말씀하신 지연 로딩이랑 다르면 이렇게 되어야한다고 이해했습니다.그렇다면 왜 제가 만든 private 생성자 함수 속 출력문은 getInstance 코드 없이 자바가 실행될 때 나오지 않았나요?
-
미해결초심자를 위한 친절한 Java 한바퀴
PPT 자료 공유 받을 수 있을까요?
안녕하세요.수업 잘 듣고 있습니다. 좋은 강의 감사합니다.혹시 강의 때 사용하신 PPT 자료를 공유받을 수 있을까요? 복습하는 데 많은 도움이 될 것 같습니다.감사합니다.