묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
7분쯤에 Bytecode 관련 질문드립니다.
안녕하세요! 제가 Bytecode에 대해서 혼자 찾아보다가 이해가 안되는 부분이 있어서 질문드립니다. Bytecode는 이진법으로 되어있는걸로 알고 있는데 왜 예시로 보여주신거는 16진법 형식으로 되어있나요?저는 Bytecode 명령어 에서 binary 부분으로 표기되어있는걸로 나열되어있을거라고 상상했는데 (0010 1010..) 위에 사진의 예시는 '이진법을 그대로 보여주면 너무 길기 때문에 나름 보기 쉽게 16진법으로 바꿔서 보여준것이다' 정도로 이해하면 되는걸까요?인텔레제이 -> view -> show bytecode 메뉴로 보여주는 결과값은 *.class 파일을 역어셈블해서 보여준걸로 이해하면 될까요?*.class 파일을 직접 뜯었을 때 실제로 바이너리형태의 결과값을 볼 수 있는 방법은 아예 없는걸까요? 구글링해보면 모두 다 "Bytecode는 바이너리이다~" 라고 말만하지 실제로 증거가될만한 이미지가 없어서.. 그냥 머리속으로 상상하고 넘어가야하는건가 궁금합니다.
-
미해결김영한의 실전 자바 - 기본편
클래스 강의 중, 주어진 코드를 배열로 구현해보는 예제에 대한 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 자바 기본편 수강을 막 시작한 수강생입니다. 섹션 1. 클래스 - 클래스가 필요한 이유' 강의 내 첫번째 예제가 주어진 코드를 배열을 통하여 구현하는 것이었는데요,선생님께서는 배열의 변수를 선언하실 때 배열의 값을 적으셨는데,저는 배열의 값을 Scanner를 통해 직접 입력하고 싶어서 아래의 코드를 만들어보았습니다. (코드 중 일부입니다.)배열의 변수는 앞에서 선언하였고, for문을 통해 배열의 값을 채우며 배열을 완성시켰습니다. 문제는 코드를 실행해보니 일어났는데요, 학생의 이름만 아예 출력되지 않습니다. null로 출력되는 것도 아니고, 입력값이 읽히지 않은 것처럼 아래와 같이 빈 상태로 실행 됩니다. 학생의 점수와 나이는 올바르게 출력됩니다. 다른 에러는 없습니다.출력 예시) 이름: 나이: 22 성적: 2 중간의 input.nextLine(); 을 혹시나 해서 지워보고 실행해봤지만 결과는 아래와 같이 출력되었고, 이름의 값 입력이 불가능해졌습니다.출력 예시) 학생 이름을 입력하세요: 학생 나이를 입력하세요: 해결 방법을 알고 싶습니다. 감사합니다. public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("학생 수를 입력하세요: "); int students = input.nextInt(); String[] studentsNames = new String[students]; int[] studentsAges = new int[students]; int[] studentsGrades = new int[students]; for (int i = 0; i < students; i++) { System.out.print("학생 이름을 입력하세요: "); studentsNames[i] = input.nextLine(); System.out.print("학생 나이를 입력하세요: "); studentsAges[i] = input.nextInt(); System.out.print("학생 점수를 입력하세요: "); studentsGrades[i] = input.nextInt();
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
배열 리펙토링
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]배열 리팩토링에서 9분34초에 자막 오타 있습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
섹션 8. 배열 - 문제와풀이3
안녕하세요 강사님 productAdminEx 문제에 관련해서 질문이 있습니다.productNames[productCount] = scanner.nextLine(); 이게원래 배우던 형식으로는 두번째 사진처럼 for문 안에서productNames[i] = scanner.nextLine(); 이런식이어서 예를들어 i = 0인경우 productNames 배열의 0번째 인덱스에 scanner.nextLine();으로 사용자가 입력한 값이 들어가는건 이해가 가는데 productNames[productCount] = scanner.nextLine(); 면 productNames배열 안에 있는 productCount에 scanner.nextLine();로 사용자가 입력한 값을 넣는건가요..? 그리고 그 사용자가 입력한 값이 들어가있는 productCount를 productNames배열이 위치를 참조하고 있는걸까요?? 이해가 잘 안가서 질문드립니다. (첫번째 사진) (두번째 사진) productNames[productCount] = scanner.nextLine(); 이게productNames의 배열 자리에 productCount의 값을 넣는다는 의미인가요? 이해가 안갑니다..ㅜ
-
미해결스프링 핵심 원리 - 기본편
타입이 아닌 "prototypeBean" 이름으로 빈 조회시 에러
@Test void prototypeFind() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(PrototypeBean.class); PrototypeBean prototypeBean1 = ac.getBean("prototypeBean", PrototypeBean.class); prototypeBean1.addCount(); Assertions.assertThat(prototypeBean1.getCount()).isEqualTo(1); PrototypeBean prototypeBean2 = ac.getBean("prototypeBean", PrototypeBean.class); prototypeBean2.addCount(); Assertions.assertThat(prototypeBean2.getCount()).isEqualTo(1); } @Scope("prototype") static class PrototypeBean { private int count = 0; ... }강의에서는 PrototypeBean.class만 사용하여 타입으로 조회를 했습니다. PrototypeBean 클래스가 컴포넌트스캔되므로, 해당 클래스의 이름은 PrototypeBean을 이름으로 넣어서 조회했으나 org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'prototypeBean' available빈을 찾을수 없다고 합니다. prototypeBean으로 첫 글자를 소문자로 변경하여도 동일합니다.해당 클래스의 객체가 빈으로 등록될 때 빈 이름을 지정하는 방식을 제가 잘못 이해하고 있는건지, 이름으로 조회를 하고싶은데 어떻게 히면 좋을지 궁금합니다.
-
미해결김영한의 실전 자바 - 기본편
실습2 질문
2번 잔액문제에서void deposit(int amount){}에서 int amount를 int balance아래에 선언하면 각 void()소괄호안에 amount를 선언안하고 대괄호에 쓸수있지않나요??질문2 int balance는 Account클래스안에 멤버변수인가요??amount는 파라미터인가요?? 명칭이 헷갈려서 질문합니다항상 좋은 강의 감사합니다.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결스프링 핵심 원리 - 기본편
System.out.println("new member = " + member.getName()); System.out.println("findMember = " + findMember.getName()); 콘솔에 출력안되고 Gradle로만 출력되는 현상
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) 안녕하세요!"회원도메인 실행과 테스트" 부분을 듣고 있습니다. 강사님의 코드를 똑같이 따라 작성하고 MemberApp의 테스트를 위해 Run 을 누르니 강사님께서는 System.out.println의 결과가 콘솔에 찍히는데저는 Gradle에서만 확인되더라구요..저는 콘솔창이 아예 없습니다. ㅠ 강사님의 결과 화면저의 결과 화면일단 다음강의로 넘어가지만 그래도 뭔가 찝찝해서검색도 해보고 Chatgpt한테도 물어봤는데 도저히이유를 모르겠어서 질문하게 되었습니다. 저는 spring 3.2.1 버전, java 17버전을 사용중이며 IntelliJ는 유료버전을 쓰고있습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
강의 설명 관련 자료 문의 입니다.
안녕하세요 강의 잘보고 있습니다. 설명하실때 보여주시는 노션자료는 어디서 봐야할께요 처음에 올려주신거 같았는데 찾아봐도 없어서요~ 자바 중급 고급 기다리고 있습니다.감사합니다.^^
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
설치가 안됩니다. ㅠ
Mac에서 JDK 설치하기 중# 신규 방법 (입력 및 실행하세요)brew tap homebrew/cask_versions입력하면 자꾸 github 얘기만 나옵니다 ㅠ어떻게하면 좋을지 문의드립니다.
-
해결됨스프링 핵심 원리 - 기본편
Component 타입 조회
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]17:10 쯤 생성자안에 Autowired로 통해 타입이 맞게 들어간다라고 강사님이 설명해주셨는데, 이해가 잘 가지 않아 문의합니다.현 시점에 MemberServiceImpl 메서드의 생성자 타입은 MemberRepository 의 타입으로 되어있고 DI 되는 객체( MemoryMemberRepository )도 상속으로 MemberRepository를 상속하고 있다고 하여 타입이 같다고 설명을 하는건가요?
-
미해결스프링 핵심 원리 - 기본편
코드가 완전히 같은데 한쪽은 오류가 발생하고 다른쪽은 오류가 발생하지 않습니다.(git push하고 git clone한 코드결과가 다릅니다)
왼쪽과 오른쪽은 완전히 동일한 코드입니다. 오른쪽 컴파일러 코드를 깃 push해서 올리고 다른폴더에 git clone해서 실행한게 왼쪽 컴파일러 입니다. (추가적으로 인텔리제이로도 프로젝트를 비교해 봤는데 소스코드에 관해선 동일합니다) 그런데 도대체 왜 오른쪽은 오류가 뜨고 왼쪽은 오류가 뜨지 않는지 궁금합니다. 오류 내용은 맨 아래에 있고 test core에 contextLoads에서 발생한 내용입니다. 오류 내용으로 보건데 memberImple에서 memberRepository의 의존성을 주입하는데 memberRepository랑 MemoryMemberRepository두개의 빈이 존재해서 둘 중 어떤걸 써야 할 지 모르겠다 라는 것 같습니다. 코드는 아래랑 같은데 이게 원래 저 오류가 뜨는게 맞는건지 아닌지도 잘 모르겠습니다. 혹시 이게 롬복관련 강의진행하고 컴퓨터를 다른 컴퓨터로 다시 옮겨서 진행해서 롬복때문인가 싶어서 셋팅도 하고 컴파일러도 껐다가 켜봤습니다. appconfig에서 MemberRepository가 등록이 되고 AutoAppConfig에서 MemoryMemberRepository가 등록이 되는것 같은데 이름이 다르니까 싱글톤이 적용이 안되는것 같고 이게 MemberServiceImpl 에서 @Autowired로 DI되면 둘 중 어떤걸 해야하는지 모르니까 오류를 내뱉는것 같은데 제가 생각한게 맞는지 궁금합니다.제가 생각한게 맞다면 왜 왼쪽은 성공했는지틀렸다면 어디가 어떻게 틀렸는지 중간에 싱글톤 개념같이 언급한 부분은 맞는 생각인지왜 왼쪽은 성공하고 오른쪽은 틀렸는지이렇게가 궁금합니다.추가로 오른쪽 컴파일러에서 원래 실습에서 진행한 테스트 코드에서는 오류가 안뜨고 core에서만 오류가 떴는데 오류가 왜 뜨는지 시험해 보다가 test()테스트케이스를 만들어서 한개의 스프링 컨테이너에 appconfig랑 autoappconfig랑 둘 다 불러오니 거기서 core랑 똑같은 오류가 나서 위에 말한대로 생각한것 입니다. package hello.core; import hello.core.member.Member; import hello.core.member.MemberRepository; import hello.core.member.MemoryMemberRepository; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; @Configuration @ComponentScan( // basePackages = "hello.core.member", default는 1번째 줄에 있는 패키지 경로 excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) public class AutoAppConfig { // @Bean(name ="memoryMemberRepository") // MemberRepository memberRepository(){ // return new MemoryMemberRepository(); // } }package hello.core; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.discount.RateDiscountPolicy; import hello.core.member.MemberRepository; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import hello.core.member.MemoryMemberRepository; import hello.core.order.OrderService; import hello.core.order.OrderServiceImpl; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class AppConfig { @Bean public MemberRepository memberRepository() { System.out.println("call AppConfig.memberRepository"); return new MemoryMemberRepository(); } @Bean public DiscountPolicy discountPolicy() { //return new FixDiscountPolicy(); return new RateDiscountPolicy(); } @Bean public MemberService memberService(){ System.out.println("call AppConfig.memberService"); return new MemberServiceImpl(memberRepository()); } @Bean public OrderService orderService(){ System.out.println("call AppConfig.orderService"); return new OrderServiceImpl(memberRepository(), discountPolicy()); } }package hello.core.member; import lombok.Getter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Getter @Component public class MemberServiceImpl implements MemberService{ //Test용도 private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Override public void join(Member member) { memberRepository.save(member); } @Override public Member findMember(Long memberId) { return memberRepository.findById(memberId); } }package hello.core.member; import java.util.HashMap; import java.util.Map; import org.springframework.stereotype.Component; @Component public class MemoryMemberRepository implements MemberRepository{ private static Map<Long, Member> store = new HashMap<>();//실무에선 컨커뤈트 해쉬맵? 사용함 동시성 이슈 @Override public void save(Member member) { store.put(member.getId(),member); } @Override public Member findById(Long memberId) { return store.get(memberId); } }
-
미해결김영한의 실전 자바 - 기본편
9.상속.pdf 26페이지에 주석 질문이요
저 주석은 잘못된거죠?
-
미해결스프링 핵심 원리 - 기본편
OrderServiceTest 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요. OrderServiceTest 클래스 질문이 있습니다.MemberServiceImpl 객체와 OrderServiceImpl 객체는 서로 의존성이 없어보이는데, 각각의 객체 내부에 존재하는 MemberRepository를 어떻게 공유하는지 궁금합니다. 정확히는 createOrder() 테스트 함수 내부에서 memberService.join(member)을 했을 때, 이후 orderService.createOrder() 메서드 내부에서 memberRepository.findByID()를 통해 멤버를 어떻게 찾아내는 것인가요?
-
미해결스프링 핵심 원리 - 기본편
build.gradle에 롬복 추가할 때 dependencies 관련 질문드립니다
롬복 기능 추가할 때 build.gradle의 dependencies에 implementation 'org.projectlombok:lombok' 이 한 줄만 넣어줘도 롬복이 기능하는데 문제가 없는데 강의에서는 아래와 같이 여러 줄의 코드를 추가해줬습니다. 단순히 implementation만 추가해주는것과 강의에서 제시한 아래의 코드가 서로 어떻게 다른 건지 알 수 있을까요?//lombok 라이브러리 추가 시작 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' //lombok 라이브러리 추가 끝참고로 스프링부트 버전은 3.2.1 입니다.
-
해결됨스프링 핵심 원리 - 기본편
섹션7. 조회한 빈이 모두 필요할 때, List, Map
AllBeanTest에서@Autowired 어노테이션을 붙일 경우에, 빨간 밑줄이 생기면서, Autowired members must be defined in valid Spring bean (@Component|@Service|...) 이런 경고 문구가 뜹니다.실제로 해당 어노테이션을 붙이던 안붙이던 동일한 결과가 출력이 되는데 이유를 알 수 있을까요? public class AllBeanTest { @Test void findAllBean() { ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); } static class DiscountService { private final Map<String, DiscountPolicy> policyMap; private final List<DiscountPolicy> policies; @Autowired public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) { this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies); } } }
-
해결됨스프링 핵심 원리 - 기본편
@Autowired 필드명으로 빈 조회하기
섹션 7에서 "@Autowired 필드명" 강의를 듣고 있습니다.AutoAppConfigTest에서 아래와 같은 에러가 발생합니다.org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderServiceImpl' defined in file [/Users/a/Desktop/study/spring-study/core/out/production/classes/hello/core/order/OrderServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 1: No qualifying bean of type 'hello.core.discount.DiscountPolicy' available: expected single matching bean but found 2: fixDiscountPolicy,rateDiscountPolicy 질문 게시판에 있는 글들도 읽어봤는데 따로 해결방법을 못찾겠습니다.아래는 관련 코드들 캡쳐해서 첨부합니다.
-
해결됨김영한의 실전 자바 - 기본편
진짜 사소한 교재 오류 관련 질문입니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]정말 사소하긴 합니다만, 교재에도 강의 화면에도 출력 예시에 큰따옴표가 포함되어있는데, 강의 화면과 제공된 소스 코드에는 큰따옴표와 이스케이프 시퀀스가 포함되어있지 않아 아래 강의 화면처럼 큰따옴표가 출력되지 않을 것 같습니다. 별로 중요한 건 아니니 교재 파일을 수정하는 것이 어떨까요...? 사소해서 죄송합니다...
-
해결됨스프링 핵심 원리 - 기본편
조회빈이 2개 이상있을때 @Autowired를 사용시에 생성자에서 발생하는 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]조회빈이 2개 이상일때 @Autowired 어노테이션이 붙은 생성자가 의존성을 주입할시에 처음에는 타입으로 주입시도하고 아닐경우에 필드명으로 주입을 시도한다고 하는데요. 필드명을 주입하려는 구현체랑 맞추더라도 같은 에러가 발생하는데요 혹시 해당 이슈에 대해서 업데이트 된 부분이 있을까요 ? 혹시나 필드명을 제가 잘못입력했을까봐 에러 로그에서 복사해서 실행해도 같은 증상이 나타압니다. 다음은 에러 코드입니다.org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderServiceImpl' defined in file [/Users/choehyeonseong/Desktop/project/spring/core/out/production/classes/hello/core/order/service/OrderServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 1: No qualifying bean of type 'hello.core.discount.DiscountPolicy' available: expected single matching bean but found 2: fixDiscountPolicy,rateDiscountPolicy 다음은 생성자 부분입니다. @Autowired public OrderServiceImpl(MemberRepositroy memberRepositroy, DiscountPolicy rateDiscountPolicy/*autowired등록시에 처음에 타입으로 조회 다음에 필드 변수명으로 매칭한다.*/) { System.out.println("1. OrderServiceImpl.OrderServiceImpl"); this.memberRepositroy = memberRepositroy; this.discountPolicy = rateDiscountPolicy; }
-
미해결스프링 핵심 원리 - 기본편
애플리케이션 실행 시점에 오류발생 부분 질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 마지막에 오류가 발생되는 이유를 myLogger 클래스의 @Scope("request")는 request가 존재해야 빈을 생성할 수 있는데 request가 존재하지 않기 때문에 빈을 생성할 수 없기 때문이다 라고 이해하는 것이 맞을까요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
변수 명명 규칙 강의 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]변수 명명 규칙강의 3:57에 첫 글자 소문자 시작인데 대문자 시작이라고 말씀 하셨네요!..