묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
갑자기 생각한 질문입니다~
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 로컬에서 인텔리제이로 스프링부트를 작동하는 것도 JVM 위에서 작동하고 있다고 생각하면 될까요?
-
미해결김영한의 실전 자바 - 기본편
상품 주문 시스템 개발 문제 질문입니다
여기서 sum에 +=가 아니라 =만 했을 때 마지막 인덱스의 총 결제 금액인 3000을 반환하던데 왜 그런 건지 모르겠습니다. 루프를 돌다 맨 마지막 인덱스의 값이 대입되어 그런 건가요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
BlackBox 파일 내에서 메소드 정의
BlackBox 내에서 메소드 정의 할때public static 생략하고 void 나 int만 쓴 이유나 차이점이 있나요?
-
미해결스프링 핵심 원리 - 기본편
test code 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]관심사의 분리 강의에서 test 코드를 한번에 돌렸는데 WARNING: A Java agent has been loaded dynamically (/Users/songhyunsoo/.gradle/caches/modules-2/files-2.1/net.bytebuddy/byte-buddy-agent/1.15.11/a38b16385e867f59a641330f0362ebe742788ed8/byte-buddy-agent-1.15.11.jar)WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future releaseOpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended위와 같은 오류가 발생하였습니다. CoreApplicationTests 코드를 실행했을 때 생기는 오류인것같습니다. 분명 그 전까지는 문제없이 test 코드가 잘 돌아갔었는데 어떤 문제인지 구글링으로 잘 해결되지 않아 질문 올립니다.openjdk 21.0.5Gradle 8.12.1현재 위와 같은 버전 사용 중 입니다. mac os 사용중입니다.
-
미해결스프링 핵심 원리 - 기본편
OCP 원칙
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.좋은 객체 지향 설계의 5가지 원칙(SOLID)에서 7:39초 부분인데요, MemberService에 MemberRepository m;으로 변수를 선언해놓고 setMemberRepository(m) 메서드를 만들어서 main 메서드 등 외부에서 구현클래스를 할당해주면 MemberService 즉, 클라이언트 코드를 변경하지 않아도 되기 때문에 OCP 원칙을 지킬 수 있는 것 아닌가요? 지킬 수 없다는 것이 잘 이해가 안됩니다.질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
문제와 풀이2번 궁금증
영한님 안녕하세요. 문제와 풀이 2번을 풀고 고민하고 강의를 학습해도 약간의 의문점이 생겨서 질문드립니다. Thread t1 = new Thread(new MyTask(), "t1"); Thread t2 = new Thread(new MyTask(), "t2"); Thread t3 = new Thread(new MyTask(), "t3"); t1.start(); t2.start(); t3.start(); // 1초 t1.join(); t2.join(); t3.join(); // 대기현재 위와 같은 코드에서 main 쓰레드가 t1, t2, t3에게 작업을 시킵니다. 그리고 t1의 join을 만나니까 t1이 작업이 완전히 끝날때까지 대기상태에 빠집니다. 그리고 t1이 작업이 완료되면 t2.join()이 실행된다면 결과가 아래와 같이 나와야 하는데 왜 이렇게 안 되는지 의문입니다. ㅠㅠt1: 1t1: 2t1: 3t2: 1t2: 2t2: 3...
-
해결됨김영한의 실전 자바 - 중급 1편
불변 객체가 되기 위한 조건
불변 객체가 되기 위해서는 해당 객체의 상태가 변경될 수 없는 형태여야하는데, 상태(필드, 멤버 변수) 중 변경 가능한 상태와 변경 불가능한 상태가 모두 존재하는 경우는 불변 객체로 보나요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
오타 있습니다
강의 자료 : 8. 생산자 소비자 문제1.pdf43페이지큐가 가득 찾을 때 -> 큐가 가득 찼을 때
-
미해결TS/JS 디자인 패턴 with Canvas: 제로초에게 제대로 배우기
[공유] State 패턴 강의 최종본 커밋에서 누락된 부분이 존재
git commit 으로 공유된 State 패턴 완성본 커밋 에서 강의 마지막 부분 (23:50) 과 달라서 해당 부분을 사용하시는 분들은 정상으로 동작하지 않을 수 있습니다.그래서 해당 공유합니다.강의 시작 부분 23:50코드 export class ChromeGrimpanMenu extends GrimpanMenu { onClickPen() { const command = new PenSelectCommand(this.grimpan); this.executeCommand(command); // { name: 'pen' }; // this.grimpan.setMode('pen'); // 변경, 해당 부분은 강의에도 나와있지는 않지만 pen 모드일때 변경이안되어서 자체적으로 추가함 this.grimpan.history.stack.push(command); } onClickEraser() { // this.executeCommand(new EraserSelectCommand(this.grimpan)); // { name: 'eraser' }; // 기존 this.grimpan.setMode('eraser'); // 변경 } onClickCircle() { // this.executeCommand(new CircleSelectCommand(this.grimpan)); // { name: 'eraser' }; this.grimpan.setMode('circle'); // 변경 } onClickRectangle() { // this.executeCommand(new RectangleSelectCommand(this.grimpan)); // { name: 'eraser' }; this.grimpan.setMode('rectangle'); // 변경 } onClickPipette() { // this.executeCommand(new PipetteSelectCommand(this.grimpan)); // { name: 'eraser' }; this.grimpan.setMode('pipette'); // 변경 }
-
미해결스프링 핵심 원리 - 기본편
회원 도메인 실행과 테스트 강의를 듣고 질문드립니다~
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요."회원 도메인 실행과 테스트" 강의를 따라가면서 위와같이 테스트 코드를 짠 걸 보니, Assertions 클래스의 isEqualTo 메서드가 서로 다른 객체를 어떤 기준으로 같다고 판단하는지 소스 코드로 확인해보고 싶다는 생각에, command + B로 계속 따라가봤습니다.그래서 결국에는 대충 제가 파악하기로는, ComparisonStrategy 인터페이스에 정의된 areEqual 메서드에 따라서 진행되는 것 같은데, 그러면 테스트 코드에서 isEqualTo 메서드가 호출될 때, 위에 있는 5가지 중 하나의 구현체가 진행된다고 생각하면 되려나요? 위의 5개 중에서 어떤 게 구현되는건지는 알 수가 없는지도 궁금합니다~
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
네트워크 프로그램 배포가 궁금해서요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의를 보다가 문득 궁금해서 질문드려요.네트워크 강의 코드를 작성할 때,하나의 프로젝트 폴더에 Server, Client 코드를 작성해서각각 실행시키는데요. 만약, 이 프로그램을 배포한다고 가정하면Server.jar 파일과 Client.jar 파일를 각각 만들고고객한테는 Client.jar 파일만 배포하면 되는거겠죠? Client.jar 파일에는 Client 코드만 있으면 되고Server.jar 에는 Session, SessionManager, Server 코드를 포함하고 있으면 될 것 같은데..
-
미해결코틀린 고급편
abstract class Fish(name:String):Animal(name)
파라미터 name:String에서 val name 이 안되는데 이유가 뭔지 모르겠네요;;
-
해결됨C개발자를 위한 최소한의 C++
변수 바인딩에 대한 의문점
변수는 컴파일 단계에서 이름과 타입이 명확하게 정해지기에 정적 바인딩으로 이해하는데 값을 바인딩 하는 것은 코드 if을 통해서 달라질 수도 있는데 이 경우는 동적 바인딩인가요?
-
미해결스프링 핵심 원리 - 기본편
섹션 8 - 옵션처리 (TestBean)
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요, "섹션8 - 옵션처리 " 강의 관련하여 질문합니다.먼저 AutowiredTest 코드 공유합니다package hello.core.autowired; import hello.core.member.Member; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.lang.Nullable; import java.util.Optional; public class AutowiredTest { @Test void AutowiredOption() { ApplicationContext ac = new AnnotationConfigApplicationContext(TestBean.class); } static class TestBean { @Autowired(required = false) public void setNoBean(Member noBean1) { System.out.println("noBean1 = " + noBean1); } @Autowired public void setNoBean2(@Nullable Member noBean2) { System.out.println("noBean2 = " + noBean2); } @Autowired public void setNoBean3(Optional<Member> noBean3) { System.out.println("noBean3 + " + noBean3); } } }ApplicationContext ac = new AnnotationConfigApplicationContext(TestBean.class); 를 통해 TestBean을 등록하고위와같이 Autowired관련 테스트를 위한 코드를 강의 내용과 같이 작성하였습니다.하지만 @Autowired 어노테이션에 붉은줄이 생기며 "Autowired members must be defined in valid Spring bean"라는 에러가 발생합니다. 동일한 파일에서 아래와 같은 TestCofig 클래스 코드를 추가해주면 에러가 사라집니다. 제가 작성한 코드에 어떠한 문제가 있는지 아직 파악하지 못하여 의문을 풀지 못하였습니다.@Configuration static class TestConfig { @Bean public TestBean testBean() { return new TestBean(); } }
-
해결됨유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
인피티니스크롤 item의 rect Transform에 Nan값
몇몇개 게임 오브젝트가 안 보여서 확인해보니 rectTransfrom 값이 NaN이네요왜 이럴까요?
-
미해결김영한의 실전 자바 - 중급 1편
지역 클래스 캐스팅 질문
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예안녕하세요지역 클래스 부분을 수강하다 궁금한 점이 있어 여쭤봅니다.지역 클래스 파트의 코드를 확인하면 Printer process라는 메서드 안 return printer; 바로 위에 LocalPrinter printer = new LocalPrinter(); 이라는 코드가 강의에서 나옵니다.그런데 제공해주신 강의 자료에는 해당 부분이 Printer printer = new LocalPrinter();로 형이 다르던데 혹시 이것은 오타일까요 ?익명 클래스를 수강하다 다른 점이 있어 되돌아와서 찾아보는 중이었습니다 ! 좋은 강의 제공해주셔서 감사합니다 !!
-
해결됨유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
아이템 필터 기능
아이템 정렬에 추가적으로 필터기능을 넣고 싶습니다 현재 각 아이템의 id를 이용해 보여주고 싶은 아이템이 무엇인지 나타낼 수 있겠는데, 보여주지 않을 아이템을 어떻게 숨길지 모르겠습니다.
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
버퍼, 한번에 읽고 쓰기, 크기 질문이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 궁금증이 생겨서 질문을 드립니다."I/O 기본1 정리"를 보고 들으면서, 버퍼에 한번에 가득 채워서 쓰기(bos.write(buffer)) 및 한번 만에 읽기(bos.readAllbytes())에서 궁금증이 생겼습니다. (7:25 부분)어느 정도의 파일 용량이 까지, 한번 만에 쓰기 및 한번 만에 읽기를 하는지 알 수 가 없었습니다.어느 정도가 파일 용량이 작은 거라고 생각하는지 알고 싶습니다. 답변 부탁드립니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
ArrayEx6 문제 질문입니다
System.out.println(count+"개의 정수를 입력하세요. "); for (int i = 0; i < numbers.length; i++) { numbers[i] = input.nextInt(); if (numbers[i] > max) { max = numbers[i]; } if (min > numbers[i]) { min = numbers[i]; } } 이렇게 for문 안에서 max와 min 값을 계속 비교를 해도 상관없을까요?
-
해결됨오브젝트 - 기초편
도메인의 범위
안녕하세요! 영호님. 강의 정말 잘 보고 있습니다. 강의에서 도메인을 '소프트웨어로 구현할 요구사항의 범위' 라고 해주셨고, 예시로 들어주신 음식 배달 시스템에서 메뉴, 주문, 결제가 도메인이 되었습니다. 제가 궁금한 점은 다음과 같습니다.위와 같은 방식으로 도메인을 결정한다면, 인증을 위한 access token, refresh token 등은 도메인에 포함되지 않나요?이런 기술적 구현체들은 실제 세계에는 없는 개념인데, 관련 모델과 서비스들을 어디에 배치하는 게 좋을까요?반대로 서비스를 이용할 때 본인인증(kcb와 같은)이 필요한 상황이라면, 실제 세계에서의 신분증 검사 같은 방식의 신원 확인을 대체하는 Verification이라는 도메인이 생성되는 건가요?물론 정답은 없겠지만, 도메인 모델링에서 기술 구현과 비즈니스 요구사항의 경계를 설정하는 방법에 대한 인사이트를 얻고 싶습니다. 감사합니다!