묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
제네릭스 클래스 질문
제네릭스 클래스 (연장 전반전)강의 5:51 부분과 관련해서 궁금한 점이 있어 문의를 드립니다.CoffeeByUser<User> c7 = new CoffeeByUser<>(new User("강호동"));1번 질문.위의 줄에서 CoffeeByUser<>에 다이아몬드 안에 User를 넣은 이유가CoffeeByUser 클래스 User를 상속받고 있기 때문인 걸까요? 아니면 User class 형태로 값을 받기 때문인 걸까요? 왜 <> 안에 User가 들어가는지 잘 모르겠습니다.2번 질문.CoffeeByUser<User> c7 = new CoffeeByUser<>(new User("강호동"));에서 new CoffeeByUser<> 뒤에 (new User("강호동");이라고 작성되어 있습니다. CoffeeByUser<User> c7 = new Coffee<>("강호동");이 아니라 <> 뒤에 (new User("강호동");을 붙여준 이유가 CoffeeByUser가 User를 상속받고 있기 때문에 붙이는 걸까요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
morningCoffe == true
morningCoffee.equal(true)는 안되는건가요??애초에 true는 값이 아닌건가요?equal이라는것이 값을 비교해준다고 하셨었는데 true는 값이 아니니까 오류가 발생 하는건가? 평소였으면 당연시하고 넘어가는건데 갑자기 의문이 드네요..
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
인텔리제이 단축키 모음 파일같은건 없나요?
있으심 제공좀 부탁드려요
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
안녕하세요 퀴즈6질문 입니다..!
학원 , 인강, 여러군데 2주정도 떠돌다가 무료강의 다보고 이해가 다른곳 보다 더 잘되는거 같아 결제했습니다. 먼저 좋은강의 감사해요..질문은 일단 힌트가 있는지 모르고 멋대로 풀다보니 엉망인거 같지만 답이 나오긴했습니다...풀이를 보고 나서야 완전히 다르다는걸 알았지만요...for문 이해도가 낮아서 for문을 생각을 못한거 같네요이렇게 하면 안되는 거겠죠...?뭔가 제가 하드코딩을 하고 있는 걸까요..
-
미해결스프링 핵심 원리 - 기본편
Run 시 Test Results 하위 내용 미표시
관심사의 분리 25:39 강의에서 전체 테스트 Run 시 좌측에 Test Results에 관한 하위 항목들이 표시되는데요, 함께 실습하며 실행 시 저는 Test Results 하위에 항목들이 하나도 나오지 않습니다. 동일한 코드로 함께 실습 중인데 어떤 부분 때문에 안보이는 걸까요?
-
미해결스프링 핵심 원리 - 기본편
appConfig.xml 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]여기에 질문 내용을 남겨주세요.==================================*오류 메시지org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [appConfig.xml]; nested exception is java.io.FileNotFoundException: class path resource [appConfig.xml] cannot be opened because it does not existCaused by: java.io.FileNotFoundException: class path resource [appConfig.xml] cannot be opened because it does not exist====================================================================*XmlAppContextpackage windwish.com.example.core.xml; import org.junit.jupiter.api.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.GenericXmlApplicationContext; import windwish.com.example.core.member._5MemberService; import static org.assertj.core.api.Assertions.assertThat; public class XmlAppContext { @Test void xmlAppContext() { ApplicationContext ac = new GenericXmlApplicationContext("appConfig.xml"); _5MemberService memberService = ac.getBean("memberService", _5MemberService.class); assertThat(memberService).isInstanceOf(_5MemberService.class); } }==================================*appConfig.xml<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="memberService" class="windwish.com.example.core.member._6MemberServiceImpl"> <constructor-arg name="memberRepository" ref="memberRepository" /> </bean> <bean id="memberRepository" class="windwish.com.example.core.member._4MemoryMemberRepository" /> <bean id="orderService" class="windwish.com.example.core.order._3OrderServiceimpl"> <constructor-arg name="memberRepository" ref="memberRepository" /> <constructor-arg name="discountPolicy" ref="discountPolicy" /> </bean> <bean id="discountPolicy" class="windwish.com.example.core.discount._3RateDiscountPolicy" /> </beans>==================================왜 존재하지 않는다는 건지 모르겠습니다;;
-
미해결스프링 핵심 원리 - 기본편
@PreDestroy에 대해
@PostConstruct를 쓰면 밑에 있는 init 메소드가 자동으로 실행돼서 테스트에서 init을 따로 호출하지 않아도 connect()와 call 메소드가 불러와 실행됩니다. 반면에 close메소는 아래 두번째 사진과 같이 따로 호출하지 않으면 실행되지 않는데 원래 그런것인가요??원래 그렇다면 @PreDestory는 왜 붙인건가요??
-
미해결Java TPC 실전프로젝트 (Java API 활용)
선생님 javaTPC API편 PDF파일이 안보여서요~
Issues여기 탭에 있는 것 아닌가요??++++++++++maven repository에 paho api 다운로드가 다 notFound 되어 있는데다른 방법 없을까요?++++++++++https://www.inflearn.com/questions/873916/%EC%84%A0%EC%83%9D%EB%8B%98-api%EC%99%80-%EC%9D%B8%ED%84%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EA%B0%80-%EC%9E%98-%EC%9D%B4%ED%95%B4%EA%B0%80-%EA%B0%80%EC%A7%80-%EC%95%8A%EB%8A%94%EB%8D%B0%EC%9A%94위 링크 질문 답글에 답글 혹시 부탁드려도 될까요??ㅜㅜㅜ
-
해결됨스프링 핵심 원리 - 기본편
@RequiredArgsConstructor이 작동하지 않음
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]위와 같이 @RequiredArgsConstructor 설정해주었지만 해당 생성자가 없다고 에러가 납니다.lombok설치 자체는 HelloLobok은 에러없이 돌아가는 것으로 보아 정상 설치 된 거 같습니다.위와 같이 getter, setter 없이 잘 동작합니다.
-
미해결스프링 핵심 원리 - 기본편
의존 관계 자동 주입 시 아직 등록되지 않은 빈이 어떻게 들어가는지 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 강의를 듣고 이해하던 중에 궁금한 점이 생겼습니다. 먼저 결과 이미지입니다.위 결과를 보면 memberServiceImpl의 인스턴스가 먼저 생성이되고 등록되는 거 같아보입니다.그런데 여기서 제가 궁금한 것은 바로 밑에 memoryMemberRepository가 등록되는데 제가 생각하기로는 두 객체의 인스턴스가 반대 순서로 등록이 되어야 아닌가 하는 생각이 들었습니다.그 이유는 다음 코드를 봐주시면 감사하겠습니다.위 코드처럼 MemberServiceImpl은 생성될 때, MemberRepository를 넣어서 생성합니다. 그렇다면 MemoryMemberRepository 빈이 등록되지 않은 상태에서 MemberServiceImpl의 빈이 만들어진다면 객체가 만들어진 후에 넣을 수 있어야 말이 된다고 생각했습니다. 하지만 현재 제 코드에서는 private final MemberRepository이기 때문에 후에 setter나 다른 메서드로는 넣을 수 없는 걸로 알고 있습니다. 또한 MemberRepository를 넣을 수 있는 setter나 다른 메서드들 또한 없습니다.그렇다고 했을 때, 어째서 MemberServiceImpl 빈이 먼저 만들어지는데도 불구하고 에러가 나지 않는지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
실무에서 RequiredArgsConstructor를 사용할 때의 Annotation 사용 유무
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. Lombok의 RequiredArgsConstructor를 https://www.inflearn.com/questions/71872/requiredargsconstructor%EA%B3%BC-qualifier%EC%A7%88%EB%AC%B8저와 비슷한 질문이 있을까봐 질문 게시판을 찾다가 위의 글을 익어보았습니다. 실무에서도 저렇게 Lombok 설정을 바꾼 다음에 Primary, Qualifier, 혹은 사용자 정의 Annotation을 필드 앞에 적는 방식을 주로 사용하나요? 저러면 개발 팀 전체의 Lombok 설정이 바뀌는 것인데, 보통 저걸 합의하고 저렇게 바꾸는지 여쭤보고 싶습니다.아니면 실무에서는 Primary, Qualifier, 혹은 사용자 정의 Annotation을 사용하지 않고Discountpolicy rateDiscountPolicy;위와 같이 필드명(패러미터명)을 바꿔서 사용하는 방식이 일반적인지 여쭤보고 싶습니다. 강의에서는 위와 같은 방식을 별로 강조하지 않으셔서, 의문점이 남습니다. 또한 제가 생각하기에도 바람직한 방법은 아닌 것 같은게, package hello.core.order; import hello.core.discount.DiscountPolicy; import hello.core.member.Member; import hello.core.member.MemberRepository; import hello.core.member.MemoryMemberRepository; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component @RequiredArgsConstructor public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy rateDiscountPolicy; @Override public Order createOrder(Long memberId, String itemName, int itemPrice) { Member member = memberRepository.findById(memberId); int discountPrice = rateDiscountPolicy.discount(member, itemPrice); return new Order(memberId, itemName, itemPrice, discountPrice); } }위와 같이 rateDiscountPolicy를 필드명으로 선언하면 createOrder에서도 rateDiscountPolicy로 사용해야 하는 불상사가 일어나지 않나요? 긴 글 읽어봐주셔서 감사합니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
_11_Continue 에서 증감연산자 질문있습니다!
package chap_04; public class _11_Continue { public static void main(String[] args) { int max = 20; // 최대 음료 판매 수량 int sold = 0; // 현재 음료 판매 수량 int noShow = 17; // 대기번호 17번 손님이 노쇼 for(int i = 0; i <= 50; i++) { System.out.println(i + "번 손님, 주문하신 음료 나왔습니다."); sold++; System.out.println(sold); // ++sold, sold++ 값이 같게 출력됨??? if(sold == max) { System.out.println("금일 재료가 모두 소진되었습니다."); break; } } System.out.println("금일 영업을 종료합니다."); } }안녕하세요!증감 연산자 관련하여 질문 드립니다.강의에서 sold++ 후위 연산자를 사용하셨는데요."System.out.println(i + "번 손님, 주문하신 음료 나왔습니다.");" 다음에현재 음료 판매 수량을 증가시키기 위해 전위 연산자 ++sold 를 사용해야 된다고 생각했었는데요.강사님께서는 왜 전위 연산자인를 사용하지 않고 후위 연산자를 사용하셨는지 이유가 궁금합니다."System.out.println(i + "번 손님, 주문하신 음료 나왔습니다.");" 다음에++sold 를 입력해도 결과 값이 같게 나오던데, 왜 전위 연산자와 후위 연산자 결과 값이 동일하게 출력되는지 이유를 모르겠습니다. 😢
-
해결됨스프링 핵심 원리 - 기본편
OCP의 대해서 질문이 있습니다.
OCP에 대해서 궁금한 점이 있습니다. 제가 이해하기로는 OCP란 기능을 확장을 했을 때, 구성 영역인 AppConfig와 확장된 기능에 대한 코드 말고 클라이언트 코드(사용 영역)의 변경이 없어야 된다고 이해했습니다. 그런데 만약에 여기서 기능의 확장을 하면서 메서드 명이 바뀐다거나 메서드의 인자가 추가된다고 했을 때는 결국 OCP를 지킬 수 없다고 생각을 합니다. 다음은 제가 생각한 예시입니다.예시 1 인자추가 또는 변경 => 강의에서 사용하신 discount에서 상품에 분류에 따라 할인률이 바뀐다고 한다면 결국 public int discount(Member member, int price) 해당 메서드에서 상품에 가격뿐만 아니라 상품의 종류를 나타낼 인자 혹은 상품이라는 객체를 만들면서 인자를 변경해야 합니다.예시 2 메서드명의 변경=> MemberRepository의 save라는 메서드명을 regist로 바꾼다고 하면 결국 MemberServiceImpl의 코드도 save에서 regist로 변경해야 합니다.결국 두 예시 모두 변경에 닫혀있지 않게 되는데 그렇다고 해서 OCP가 위반되었다고 볼 수 있는 건가요? 이런 모든 경우를 따진다면 사실 OCP는 지킬 수 없는 원칙이라 생각되는데 막상 친구가 저런 반박을 했을 때 딱히 할 말이 없었습니다. 이런 경우에 위반인지 아닌지와 이유에 대해서도 설명해주시면 감사하겠습니다.
-
미해결스프링 핵심 원리 - 기본편
CoreApplication.java 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요. 마지막에 앱실행 하는 부분에서 이 에러가 발생합니다.포트번호를 이미쓰고 있다고 말하는거 같은데 핸들링을 못하겠습니다. 혹시 방안 제시 해주실수 있을까요 ㅠㅠ
-
미해결스프링 핵심 원리 - 기본편
IntelliJ 질문드립니다.
안녕하세요 인텔리제이에 대해 잘 알지못해 질문드립니다.강의가 intellij 무료버전으로 진행이 되는데 유료버전을 사용해도 환경설정 등 동일하게 강의 수강하며 코딩하는데 지장이 없는지 궁금합니다.
-
미해결모든 개발자의 실무를 위한 올인원 기본기 클래스
강의 자료 링크
강의 자료 링크가 동작이 안되는데 확인 부탁 드립니다!
-
미해결그림으로 배우는 자바, 파트2: 객체지향!
출력값이 다르다고 나오네요!
클라우드 스터딩에서 실행은 되는데 오류 없이 출력값이 다르다고 나오네요강의에서 알려주신 코드가 아니라 제 마음대로 코드를 짜서 그런가요? 코드 최대한 안따라하고 혼자 해보려고 했는데 잘못된 부분많을까요?ㅠ public class Starcraft {public static void main(String[] args) {// 객체 생성Marine ma = new Marine("레이너", 80);Medic me = new Medic("모랄레스", 60, 60);// 마린의 스팀팩!ma.steam();// 메딕의 힐!me.heal(ma);}}// 정보 클래스class Marine {String name;int hp;Marine(String name, int hp) {this.name = name;this.hp = hp;}void steam() {System.out.printf("[%s]의 스팀팩! Hp: %d -> %d\n", name, hp, hp-10);hp = hp-10;}}class Medic {String name;int hp;int mp;Medic(String name, int hp, int mp) {this.name = name;this.hp = hp;this.mp = mp;}void heal(Marine ma) {System.out.printf("[%s]의 치유! => [%s] Hp(%d -> %d)", name, ma.name, ma.hp, ma.hp+10);ma.hp = ma.hp + 10;}}
-
해결됨그림으로 배우는 자바, 파트2: 객체지향!
연습문제 이클립스에서는 되는데요
public class SongTest { public static void main(String[] args) { Artist h1 = new Artist("유재하", "별헤는밤"); Artist h2 = new Artist("임재범", "비상"); Artist h3 = new Artist("박완규", "비밀"); Artist them[] = {h1, h2, h3}; for(int i=0; i<them.length; i++) { them[i].printStr(); } }}class Song { String singer; String song; Artist(String singer, String song) { this.singer = singer; this.song = song; } void printStr() { System.out.println("Song { name: " + singer + ", " + "song: " + song + " }"); }} 이거 이클립스에서는 컴파일오류 없이 돌아가는데클라우드 스터딩 사이트에서는 오류가 나네요뭐가 문제일까요? /root/var/tmp/2023_05_13_08_49_23_350d34e1/SongTest.java:21: error: invalid method declaration; return type requiredArtist(String singer, String song) {^1 error
-
해결됨스프링 핵심 원리 - 기본편
프로세스흐름도를 그릴때 보통 어떤프로그램을 많이 사용하나요? 대ㅐ중화된 프로그램이 있을까요? 아니면 그냥 PPT 를 활용해서 캡쳐해서 사용하는식인가요? 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) Y2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 모름3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) Y[질문 내용]안녕하세요. 강의를 듣고 있는 학 직장인입니다. 20초에 나오는 설계 그림중 프로세스 흐름도를 그리신 자료가 있는데요. 개발자들이 보통 구조도나 프로세스흐름도를 그릴때 사용하는 프로그램이 어떤 프로그램을 많이 사용하는지 궁금합니다. (대중적인게있는지요.)질문자체가 좀 뜬구름 잡는 질문일 수 있지만 순수하게 궁금하여 물어보는 점 양해부탁드립니다.
-
미해결스프링 핵심 원리 - 기본편
단일책임 원칙에 대해 질문이 있습니다.
요청과 응답에 대한 DTO클래스를 생성할때 이너클래스를 사용해도 될까요?@Getter @Setter @NoArgsConstructor public class Member { @Getter public static class Request { private String name; } @Getter public static class Response { private Long id; private String name; } }이런식으로 하나의 클래스안에 두개의 책임을 가지게 되면 SRP에 위배되는 거니까 요청과 응답에 대한 DTO를 모두 만들어 두는게 더 좋은걸까요? 그렇게 하면 DTO클래스들이 너무 늘어날까봐 좋지 않을것 같고..질문을 요약하자면 DTO를 많이 생성하더라고 SRP를 지키는게 좋은 선택일까요?