묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
이중 반복문
혹시 한줄로만 출력 되는데 처음 부분부터 문제가 뭘까요??
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
코딩테스트 질문
안녕하세요 강사님 지금 파이썬으로 코딩테스트를 준비하다가 아무래도 실무에선 자바를 많이사용하니 자바를 처음부터 하는 것이 어떤가 생각이 들어서 입문강의부터 들으려고하는ㄷ요코딩테스트를 준비하는데에 이 강의부터 시작해서 진행해도 되는지 질문드립니다. 그리고 추후 어떤강의를 쭈욱 봐야 합격할 수 있는지에 대해서도 말씀 부탁드려요감사합니다!
-
해결됨김영한의 실전 자바 - 기본편
객체(데이터성, 기능성) 관련해서 질문이 있습니다.
안녕하세요. 강사님!OOP 관련 강의나 책들을 보다가 설명하는 방식이 다 달라서 오히려 머릿속이 더 복잡해진거 같아서 질문드리게 되었습니다.여러 강의 또는 책에서 예를 들어 책임 주도 설계와 같은 곳에서는 객체는 외부에 제공하는 기능으로서 평가되어진다.그래서 객체는 외부에 제공하는 기능이 있고 그 기능 구현에 필요한 데이터를 가진다. 따라서 기능 기반으로 해서 각 객체를 디자인해야 된다! 이런식으로 이해를 하고 있었습니다.그런데 직접 설계를 진행하면 할 수록 결국 데이터 성격이 강한 구조체성 객체를 디자인해야 되더라구요! 기능 보다 데이터를 우선적으로 추출하는 방식으로요!또 추가적으로 영한님의 스프링 강의를 보면 오히려 데이터베이스 테이블 설계(Entity) 이후에 각 기능들을 적절히 도메인 모델(Entity)에 분배하는 형식으로 디자인을 하시더라구요. 저같은 경우 웹 개발을 진행할 때는 뭔가 정보를 표현해야 될 것들이 있다보니 테이블 설계를 우선시하고 기능 구현에 필요한 정보를 많이 알고있는 곳에 분배하는 식으로 하려고 노력하고 있긴한대 잘안되지만요...데이터를 우선 추출하고 거기에 별도의 기능을 추가하는 방식도 적절한 객체 설계 방식이라고 볼 수 있을까요?기능을 수행할 객체를 정하고 기능 구현에 필요한 데이터를 객체에 추가하는 방식과 데이터베이스 테이블 설계 이후에 정보 전문가 패턴을 따라서 각 기능을 분배하는 방식중에 어떤게 맞는건지 해당 2개의 개념은 다른 것을 설명하는 것인지 조언을 좀 부탁드리겠습니다!감사합니다.
-
미해결스프링 핵심 원리 - 기본편
Process finished with exit code 0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. Process finished with exit code 0 이 문장 안 나와도 상관 없나요? 감사합니다.
-
미해결Java TPC 실전프로젝트 (Java API 활용)
강의 들으면서 잘 안되는 부분이 있어서요~
moquitto 관련 부분 작동이 되는지 확인해봐주실수 있나요?WARNING: An illegal reflective access operation has occurredWARNING: Illegal reflective access by org.eclipse.paho.client.mqttv3.internal.FileLock (file:/C:/eGovFrame-4.0.0/maven/repository/org/eclipse/paho/org.eclipse.paho.client.mqttv3/1.2.5/org.eclipse.paho.client.mqttv3-1.2.5.jar) to method sun.nio.ch.FileLockImpl.release()WARNING: Please consider reporting this to the maintainers of org.eclipse.paho.client.mqttv3.internal.FileLockWARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operationsWARNING: All illegal access operations will be denied in a future releaseERR0[Ljava.lang.StackTraceElement;@6021afeb이런 에러가 뜨는데 왜그런지 모르겠네요... maven이 아니라 일반 자바프로젝트에서 jar파일로 해봐도 ERR0[Ljava.lang.StackTraceElement;@6021afeb 이 메세지가 계속 뜨네요
-
미해결스프링 핵심 원리 - 기본편
수정할 수 없는 외부 라이브러리의 초기화, 소멸 메서드 지정방식 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]아래에 같은 질문을 하신 분이 있는데 이해가 안돼서 추가 질문 드립니다. @Bean(initMethod = "init", destroyMethod = "close") public NetworkClient networkClient() { NetworkClient networkClient = new NetworkClient(); networkClient.setUrl("http://hello-spring.dev"); return networkClient; }강의에서 위처럼 빈 등록 초기화, 소멸 메서드를 지정했는데요.NetworkClient 를 외부 라이브러리라고 가정한다면, 우리는 외부 라이브러리를 수정해서 init 메서드와 close 메서드를 작성한 것이 아닌가요? 그래서 어떻게 고칠 수 없는 외부 라이브러리에 적용할 수 있는지 궁금합니다. 이것이 근본적인 궁금증이고 다음은 아래 질문 글을 참고했을 때 궁금한 점 입니다.별도의 클래스를 만들어서 그곳에서 init 메서드와 close 메서드를 작성한다음 빈으로 등록합니다. (별도의 클래스를 LifeConfig라고 하겠습니다)그 다음 외부 라이브러리를 빈으로 등록할 때@Bean(initMethod = "LifeConfig.init", destroyMethod = "LifeConfig.close") 가 아니라 @Bean(initMethod = "init", destroyMethod = "close")이렇게 사용해야 한다는 걸로 이해했습니다. 이게 어떻게 가능한지 궁금합니다. 빈으로 등록했다해도, 어느 빈에 init 메서드와 close 메서드가 있는지 어떻게 알 수 있나요?
-
해결됨객체 지향 프로그래밍 입문
의존 대상 객체를 직접 생성했을 때 문제에 대해 질문드립니다.
안녕하세요. 강사님.영상 4:40초쯤 생성 클래스가 바뀌면 의존하는 코드도 바뀐다고 하셨는데 이게 어떤 경우인지 예시가 잘 안 그려집니다.추상화 파트를 다시 봐도 이해가 잘 안 가서 그러는데 예시나 추상화 강의에서 나왔던 부분 좀 언급하셨던 곳 좀 알려주실 수 있을까요?
-
해결됨스프링 핵심 원리 - 기본편
TestConfig에 @Configuration을 안 붙여도 되는 이유가 이거 맞나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]package hello.core.singleton; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import static org.junit.jupiter.api.Assertions.*; class StatefulServiceTest { @Test void statefulServiceSingleton() { ApplicationContext ac = new AnnotationConfigApplicationContext(TestConfig.class); StatefulService statefulService1 = ac.getBean(StatefulService.class); StatefulService statefulService2 = ac.getBean(StatefulService.class); // ThreadA: 사용자A 10000원 주문 int userAPrice = statefulService1.order("userA", 10000); // ThreadB: 사용자B 20000원 주문 int userBPrice = statefulService2.order("userB", 20000); // ThreadA: 사용자A 주문 금액 조회 // int price = statefulService1.getPrice(); System.out.println("price = " + userAPrice); System.out.println(statefulService1); System.out.println(statefulService2); // Assertions.assertThat(statefulService1.getPrice()).isEqualTo(20000); } static class TestConfig { @Bean public StatefulService statefulService() { return new StatefulService(); } } } 원래 코드에서 System.out.println(statefulService1); System.out.println(statefulService2); 이 부분만 제가 추가했습니다. TestConfig에 @Configuration이 없으면, 컨테이너 내부에 등록되는 빈들이 싱글톤을 보장하지 않는다고 알고 있습니다. 그런데 이 코드를 실행한 결과, statefulService1과 statefulService2가 같은 객체라고 나왔습니다. 저는 당연히 다른 객체일 줄 알았거든요. TestConfig에 @Configuration이 없으면 싱글톤을 보장하지 않는다고 알고 있기 때문에.. 이게 왜 그런지 헷갈렸는데 제가 고민해 본 후의 결론은 다음과 같은데, 오류가 있는지 확인해 주시면 감사드립니다. ApplicationContext ac = new AnnotationConfigApplicationContext(TestConfig.class); 이 코드를 실행하면 TestConfig가 빈으로 등록되지만, TestConfig 내부에 @Bean으로 된 statefulService() 메서드로 반환되는 객체는 싱글톤을 보장하지 않는다.하지만 이 코드에선 statefulService()가 한 번밖에 호출되지 않았기 때문에 컨테이너 내부에 생성된 StatefulService 빈이 하나뿐이다.ac.getBean(StatefulService.class); 이 코드를 여러 번 실행하여 statefulService1, statefulService2, statefulService3 여러 개를 만든다고 해도, 컨테이너 내부의 하나의 객체를 조회한다.이렇게 생각했는데 혹시 잘못된 부분이 있는지 궁금합니다. 즉, 이 코드는 싱글톤을 보장하지 않는 게 맞지만, 내부에 생성된 객체 자체가 1개뿐이고 더 생성된 것이 없기 때문에, 같은 것을 계속 조회했을 뿐이므로 아래 코드를 실행하면 같은 객체를 출력하게 된다. System.out.println(statefulService1); System.out.println(statefulService2); 틀린 부분이 있다면 지적해 주시면 감사드립니다.
-
미해결제대로 파는 자바 (Java) - by 얄코(Yalco)
for 강의와 switch 강의 순서가 바뀌어 있습니다.
🛑 이곳에 질문하지 마세요!!!질문은 아래의 링크의 안내에 따라 강의 노션 페이지에 올려주세요!🔗 질문하는 방법 보러가기
-
해결됨스프링 핵심 원리 - 기본편
isEqulaTo / isSameAs
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]isEqulaTo는 값을 비교 / isSameAs는 참조(주소)값을 비교하는 걸로 알고 있습니다. 허나, 아래 질문게시글의 답변과 같이 객체의 경우, isEqulaTo는 isSameAs와 같이 참조를 비교하는 것을 알 수가 있습니다.그렇다면 아래 예시와 같이 String도 객체인데 왜 이 경우는 참조가 아닌 값을 비교하나요? (이 경우 테스트가 통과됩니다!)String a = new String("aa"); String b = new String("aa"); assertThat(a).isEqualTo(b);
-
해결됨스프링 핵심 원리 - 기본편
static관련 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]"static method에 @Bean을 사용하게 되면 싱글톤 보장을 위한 지원을 받지 못한다" 그 이유에 대해서 자세히 알 수 있을까요? 비슷한 질문글들을 봐도 이유에 대한 정확한 설명은 없는 것 같아서요. 제가 찾아본 바로는 bean의 라이프사이클관리, 의존성 주입, 프록시 등등 있는데 무엇이 정확한 이유인지 잘 모르겠어서 질문남깁니다!!
-
미해결아무것도 모르고 시작하는 C#
'봐꿀'문자가 아니라 '바꿀' 문자...
강좌에 오타가 있네요...
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
getter 질문 있어요!
BlackBOX 클래스 내에해상도 getter 설정시String getResolution(){ if (resolution == null || resolution.isEmpty())// isEmpty-> 값이 비어있는것 { return "판매자에게 문의하세요"; } return resolution; resolution == null 이부분이 인스턴스가 null일때 "판매자에게 문의하세요" 라는 반환값이 출력되는 거 아닌가요? 출력시에 해상도null 이렇게 떠서 질문드립니다.
-
미해결스프링 핵심 원리 - 기본편
Map형식으로 빈 주입 시
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]@Autowiredpublic DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) {this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies);}여기 생성자 주입을 통해서 각 빈들이 Map타입과 List타입에 담기는건 알겠는데 실제로 스프링이 빈들을 모아서 어떤 구현체에 담아주는 것인가요 ?
-
해결됨제대로 파는 자바 (Java) - by 얄코(Yalco)
혹시 강의 내용을 블로그에 기재해도 될까요?
강사님 제가 강의를 듣고 강의 내용을 정리해서 블로그에 기재한후 필요할때마다 찾아보고 싶은데혹시 기재가 가능할까요? 불가능하시면 비공개로 올려도 될까요!
-
해결됨스프링 핵심 원리 - 기본편
싱글톤과 쓰레드
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]새로고침을 통해 Request를 반복적으로 수행함에있어서 각 요청의 원자성이 유지되는 이유가 궁금합니다.LogDemoService와 LogDemoController는 싱글톤으로 관리되고 스프링 컨테이너에 유일무이하게 존재한다고 이해하였습니다.sleep을 걸어준 후 로그를 확인해보면, 각 요청에 따른 request의 정보가 일관됨을 확인할 수 있는데,스프링 자체적으로 멀티쓰레드를 실행하여 각 request에 대응하는 Controller와 Service인스턴스를 따로 만드는 것인가요? 그럼에도 불구하고 싱글톤이라고 칭할 수 있는 것인가요?MyLogger를 Controller에서도 provider.getObject();하고 Service에서도 provider.getObject();를 하는데, 많은 Request가 있을때 MyLogger빈도 많이 생성이 될텐데 Contoller와 Service에서 같은 MyLogger빈을 사용하는 이유는 하나의 쓰레드에서 처리하기 때문으로 이해하였습니다. 제가 이해한게 맞나요? Controller와 Service간 파라미터 등으로 MyLogger와 관련된 정보를 교환하지 않았는데, 어떻게 수많은 MyLogger사이에서 일치하는 MyLogger를 DL해오는 것인지 이해가 잘 안됩니다. 만약 각 요청이 쓰레드별로 관리되고 각 쓰레드마다 단 하나의 MyLogger만 존재하는 것인지요...?
-
미해결스프링 핵심 원리 - 기본편
DI 컨테이너를 의미하는 오브젝트 팩토리와 ObjectFactory는 다른 건가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]pdf로 복습하던 중 질문 있습니다.3. 스프링 핵심 원리 이해2 - 객체 지향 원리 적용.pdf의 24페이지에 다음과 같은 내용이 있습니다. "IoC 컨테이너, DI 컨테이너는 어샘블러, 오브젝트 팩토리 등으로 불리기도 한다." 그리고9. 빈 스코프.pdf의 16페이지에 다음과 같은 내용이 있습니다. "지정한 빈을 컨테이너에서 대신 찾아주는 DL 서비스를 제공하는 것이 바로 ObjectProvider이다. 참고로 과거에는 ObjectFactory가 있었는데, 여기에 편의 기능을 추가해서 ObjectProvider가 만들어졌다." 첫 번째의 경우엔 오브젝트 팩토리가 DI 컨테이너를 의미하고,두 번째의 경우엔 ObjectFactory는 DI 컨테이너가 아니라, DL 서비스를 제공하는 것을 의미하는 거로 이해했습니다. 그럼 여기서의 '오브젝트 팩토리'와 'ObjectFactory'는 다른 것을 의미하고 있는 거로 느껴지는데 맞나요? 둘 다 오브젝트 팩토리라서.. 이름만 같을 뿐 전혀 다른 개념이 맞는지 궁금합니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
12장 동기화 강의
코드는 스레드 객체 에서 java.lang만 빼고 똑같은데 결과가 왜 10이 넘는 숫자가 나오나요? java.lang에 영향인가요
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
12장 Runnable 강의
스레드 객체 만들때 강의에서와 달리java.lang이 있어야 오류가 안 나던데 왜 이런 건가요
-
미해결스프링 핵심 원리 - 기본편
의존 관계 화살표와 연관 관계 화살표
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 자료로 복습 중에 질문이 있습니다.소프트웨어 공학 책에 있는 화살표를 아래 그림에 적용해 보면MemberServiceImpl에서 MemberService로 향하는 화살표와 MemoryMemberRepository에서 MemberRepository로 향하는 화살표는 '구현 관계'를 나타낸 듯하고, AppConfig에서 MemberServiceImpl과 MemoryMemberRepository를 향하는 화살표는 '의존 관계'를 나타낸 듯하고, MemberServiceImpl에서 MemberRepository를 향하는 화살표는 '연관 관계'를 나타낸 것처럼 보이는데요 연관 관계 화살표로 표현된 MemberServiceImpl에서 MemberRepository로 향하는 관계는 의존 관계라고 봐도 되나요? MemberServiceImpl이 MemberRepository를 의존하고 있으니깐.. 연관 관계 화살표로 표현된 이유가 궁금합니다. 제가 UML 다이어그램을 제대로 공부하진 않았는데 의존 관계 주입에서의 의존 관계와, UML 다이어그램에서의 의존 관계는 조금 다른 건가요?