묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
35강에서 returnBook 에서 userLoanHistory 값 중복에 관하여
@Transactional public void returnBook(BookReturnRequest request) { User user = userRepository.findByName(request.getUserName()) .orElseThrow(IllegalArgumentException::new); user.returnBook(request.getBookName()); }위 코드의 BookService 에서 책을 반납할때 userLoanHistory 중 user명과 책 이름이 같은것을 가져와서 userLoanHistory 에서 리턴하는데 문제는 한 사람이 이미 같은 책을 빌렸고 반납한 기록이 있다면 중복으로 잡힙니다.public void returnBook(String bookName) { UserLoanHistory targetHistory = this.userLoanHistories.stream() .filter(history -> history.getBookName().equals(bookName)) .findFirst() .orElseThrow(IllegalArgumentException::new); targetHistory.doReturn(); }위의 User 엔티티에서 혹시 userLoanHistory 값이 여러개 나올때 혹시 .findFirst() 를 통해 그 중 가장 위즉, 여기선 가장 최근에 대출한 책의 기록인 userLoanHistory 를 가져와서 doReturn()을 진행하는 형태가 맞습니까?
-
해결됨기초 탄탄! 독하게 시작하는 Java Part 3(하) : 소켓과 파일 I/O
윈도우 IOCP 가 DMA 랑 다른 개념인가요?
영상만 보면 네트워크 하드웨어에서 VMS 메모리 공간으로 바로 보내주는거로 보이는데 이게 DMA 랑 다른 개념인가 싶어서 질문 남깁니다.
-
해결됨기초 탄탄! 독하게 시작하는 Java Part 3(하) : 소켓과 파일 I/O
소켓의 본질은 파일이다.
안녕하세요! 강의 잘 보고 있습니다.강의 내용중 - "File + a"가 있고 - "a"에 해당되는 내용이 네트워크(port번호, IP주소)가 되면 - "file + a" == 소켓이다.이렇게 말씀하셨는데 그러면 앞에서 쭉 강의 하셨던 내용을 토대로 생각해보면 제가 작성한 A,B가 맞는 내용인가요? 아니면 C가 맞는 내용인가요? 아래 그림도 첨부했습니다!A. "a"에 해당하는 네트워크 정보가 있기 때문에 서버와 클라이언트는 각 소켓을 통해 데이터를 주고 받고가 가능.B. 이때 클라이언트에서 hello!라는 mgs를 소켓을 통해 전송하면 : 로컬(서버)에 "file"이라는 1차원 선형 공간에는 data(그림의 경우 클라이언트가 전송한 String타입의 data)이 저장되고 해당 file을 콘솔에 출력하거나, txt로 저장하거나 할 수 있다.C. A,B 둘 다 아니고 소켓은 (장치파일 + a(네트워크 정보))이고 소켓에 send,recv 행위를 하는 것은 장치파일에 write,read 하는 것과 같은 행위이다. 그림에서 클라이언트의 msg를 서버에서 recv 하면 장치파일에 [hello]가 저장되고 그것을 콘솔에 출력하거나 별도의 파일로 저장할 수 있는 것 이라는 의미인가요...??
-
미해결JAVA 성능 튜닝과 트러블 슈팅
질문1. [2-7 최대 힙 메모리를 늘리면 좋은 점 ] GC가 적게 일어나면 무조건 좋다?
안녕하세요 강사님좋은 강의 잘 듣고 있습니다. [2-7 최대 힙 메모리를 늘리면 좋은 점 ] 최대 힙 메모리로 늘리면 좋은 점 - GC가 적게 일어나면 좋다?에 대해서 궁금증이 있어 질문을 드립니다. GC가 일어나게 되면 STOP-THE-WORLD로 객체 제거 할떄 어플리케이션이 멈춘다고 알고 있습니다. 그래서 GC가 자주 일어나지 않으면 stop-the-world 가 덜 일어나니 좋겠네? 라는 생각을 처음에 했습니다. 하지만 생각을 해보니 힙사이즈를 늘리면 gc가 일어나는 빈도가 적어지지만 한 번 gc가 일어날떄 객체 제거에 처리해야할 양이 늘어나 stop-the-world시 멈추는 시간이 늘어난다고 알고 있습니다... 그래서 과연 무조건적으로 힙사이즈를 늘리는게 옳은게 맞을까 라는 궁금증이 생겨 질문 드립니다. 감사합니다.
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
Socket 자원을 정리할때 stream 을 정리하지 않는 이유가 궁금합니다.
안녕하세요. Java 의 Socket::close() 내부에서 InputStream, OutputStream 을 정리해주지 않는 이유가 있나요?Java 에서 제공하는 Socket::close() 내부에서 Stream 들을 정리해주면 강의 코드가 훨씬 간단해질것 같아 문의 드립니다.아니면, 원래 정리를 해주는데 강의에서 복잡한 상황을 보여주기 위해 의도적으로 Socket 과 InputStream, OutputStream 을 함께 명시적으로 정리해주는 것인가요? ServerSocket 의 경우에도 자체적으로 SessionManager 와 같은 기능을 제공하는 더 나은 ServerSocket 클래스가 있는지 궁금합니다.감사합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
질문있습니다!
강사님께서 API 가 프로그램 간 정해진 약속을 해서 정해진 기능을 수행하는 것이라고 말씀해주셨는데 그럼 프로토콜과 API 가 같은 건가요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
mappedBy를 뭐라고 이해하면 좋을까요?
mappedBy를 정확히 뭐라고 이해해야할지 잘모르겠습니다.양방향 연관관계 설정을 위해서 필요한 것은 알겠으나 그 용어의 개념?이라고 할까요 뭐라고 이해해야할까요?이전 양방향 연관관계와 연관관계의 주인 1- 기본에서는 반대 편에 어떤 것이 걸려있는지 이런식으로 용어를 설명하셨는데 이번 강의 11분 44초와 13분 31초 부터 설명하시는 것을 보면 mappedBy를 통해 연관관계 주인이 누구로 설정되어있는지 알려주는 듯한 설명을 하시는데요그냥 단순 mappedBy라는 용어 개념을 이해하려면 전 강의에서 설명하셧듯이 단순히 어떤 것이랑 연결되어있는지로 이해하면 될지 아니면 이번 강의에서처럼 연관관계 주인이 어떤 것으로 설정되어있는지 알려주는 것으로 이해하면 될지 궁금합니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
소스는 어디잇나요?
너무 빨리 넘기시니 보면서 직접 타이핑도 못하고,갖다 붙일 소스코드 어디있나요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
Executor 스레드 풀 관리 질문
[질문 내용]여기에 질문 내용을 남겨주세요.궁금한 것이 생겨서 질문 남깁니다.Executor 스레드 풀 관리에서 예제와 같은 상황일 때, 만약 요청이 계속 들어온다면 초과 스레드를 유지하는 것이 좋다고 말씀하셨습니다. 거기서 의문이 생긴 게, 요청이 계속 들어오면 동적으로 maximumPoolSize를 조절할 수 있는 방법이 있나요?아니면 초과 스레드를 살려두는 TimeUnit 값을 늘릴 수 있는 방법이 있나요?유연하게 관리할 수 있지 않나 싶어서 찾아보니, setMaximumPoolSize(int maximumPoolSize)setKeepAliveTime(long time, TimeUnit unit)으로 설정할 수 있더군요. 이를 활용해 동적으로 관리하는 것인지 궁금합니다!실무에서는 어떤 방식을 사용하는지 궁금해 질문 남깁니다.감사합니다!
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
문제와 풀이 질문!
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]package thread.executor.test; import java.util.List; import java.util.concurrent.*; import static util.MyLogger.log; import static util.ThreadUtils.sleep; public class NewOrderService { private final ExecutorService es = Executors.newFixedThreadPool(10); public void order(String orderNo) throws InterruptedException, ExecutionException { InventoryWork inventoryWork = new InventoryWork(orderNo); ShippingWork shippingWork = new ShippingWork(orderNo); AccountingWork accountingWork = new AccountingWork(orderNo); try { List<Callable<Boolean>> tasks = List.of(inventoryWork, shippingWork, accountingWork); List<Future<Boolean>> futures = es.invokeAll(tasks); for (Future<Boolean> future : futures){ Boolean value = future.get(); if (!value){ log("일부 작업이 실패했습니다."); } } log("모든 주문 처리가 성공적으로 완료되었습니다."); } finally { es.close(); } } } 코드의 내용을 이렇게 짰는데요.디자인 패턴 중 전략 패턴을 적용하고 싶은데 영 떠오르지 않네요.InventoryWork, ShippingWork, AccountingWork 처럼 계속 인스턴스가 늘어나면, 코드가 번잡해질 듯한데 전략 패턴을 어떻게 녹일 수 있을까요?떠오르지 않아서 질문드립니다.감사합니다.
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
네임드락이 분산 환경에서 유리한 이유가 궁금합니다.
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요?4-10 입니다 여기까지 이해하신 내용은 무엇인가요?네임드 락은 분산환경에서 유리하다. 2. 어려움을 겪는 부분어떤 개념이 헷갈리시나요?네임드 락이 분산 환경에서 유리하다 하신 내용에서, 데이터베이스 레벨의 락 제공이기에 유리하다고 이해하였습니다.하지만 비관적락, 낙관적 락 둘 다, db 단 에서 락을 획득하거나 버전 관리를 통해 이루어 진다고 이해하고 있어서 그렇다면 분산 환경에서 유리하다는 것이 네임드 락만의 장점이 아닌것 같다고 생각이 들었습니다.스프링에서 비관적락, 낙관적 락을 jpa 를 활용하여 걸게 된다면, dbever 에서 테스트 해본 것 처럼 db 단에서 처리되어 락을 수행하게 되는 내용이 정확히 맞는지 궁금합니다.만약 맞다면 네임드 락이 분산 환경에서 유리하다는 것이 db 단에서 처리되고, 그 방식 자체가 분산환경에 유리한 내용을 가지고 있는건지 궁금합니다.
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
Index type 질문 있습니다.
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 여기까지 이해하신 내용은 무엇인가요? 2. 어려움을 겪는 부분어느 부분에서 막히셨나요?코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 안녕하세요 강의 잘 보고 있습니다.인덱스 타입은 인덱스만 조회하는 경우에는 단순히 논 클러스터 인덱스 안에 있는 칼럼 값들만 조회하기만 하면된다. 라고 말씀을 하셨습니다.근데 제가 클러스터 인덱스/논클러스터 인덱스/ 커버링 인덱스에 대한 개념을 아래와 같이 이해를 했습니다.클러스터 인덱스 - PK를 키로 리프 노드에 모든 데이터가 저장돼 있는 구조 논클러스터 인덱스 - 세컨더리 인덱스를 키로 가지고, 리프 노드에는 “해당 세컨더리 인덱스의 PK를 데이터로 가지고 있음”.커버링 인덱스 - 세컨더리 인덱스를 키로 가지고 있으며, 리프 노드에 “ 해당 세컨더리 인덱스의 PK와 실제 데이터를 가지고 있음” 그래서 위 사진과 같이 설명을 하셨을 때, 잘 이해가 되지 않은 부분이 price만 보는 경우에는 단순히 논 클러스터 인덱스 안에 있는 칼럼 값들만 조회하기만 하면 된다.라는 말씀이 잘 이해가 되지 않습니다.논 클러스터 인덱스의 경우에는 저는 아래와 같이 이해를 했습니다. 1.세컨더리 인덱스가 key이고, 리프 노드에 데이터로 PK를 가지고 있음2.그래서 세컨더리 인덱데스로 원하는 데이터를 직접 찾기 위해서는 리프 노드에 있는 PK를 이용해서 직접 클러스터 인덱스로 접근해서 데이틀 조회해야됨” 그래서 제가 이해한 부분 중에 틀린 부분이 있는걸까요?아니면 제가 이해한게 맞다면 “ price만 보는 경우에는 단순히 논 클러스터 인덱스 안에 있는 칼럼 값들만 조회하기만 하면 된다”라는 말씀이 잘 이해가 되질 않습니다.감사합니다.
-
미해결김영한의 실전 자바 - 기본편
9장 상속 문제와 풀이 부분 궁금한게 있어서 질문드립니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) -> 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) -> 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) -> 네 [질문 내용]여기에 질문 내용을 남겨주세요.9장 실습 문제에 대한 질문입니다. 이건 제가 직접 작성하면서 썼던 Item.java 에 있는 코드입니다. public void print() { System.out.print("이름:" + name + "가격:" + price); } 그리고 이건, Movie.java에 있는 제 코드입니다. System.out.println("이름:" + Movie.getName() + ", 가격:" + Movie.getPrice()); super를 사용 안하고 Override를 이용해서 print() 부분을 Movie.getName을 사용해서 재 정의 했다고 생각했는데 출력 결과는 이렇게 나왔습니다. 어떤 부분 때문에 이런 결과가 나왔는지 궁금합니다. 코드의 다른 부분은 상속.pdf와 동일합니다. 이름:영화1, 가격:18000- 저자 :han, isbn :12345이름:영화1, 가격:18000- 감독 :seo이름:영화1, 가격:18000- 감독 :감독1, 배우 :배우1상품 가격의 합: 54000 그리고, 헷갈린 부분에서 어떤 이론을 다시 복습해야할지도 궁금합니다 감사합니다!
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
주문 목록 조회 fetch join 질문드립니다
주문 목록을 화면에 뿌려줄 때 N+1 문제가 발생하는 것을 확인하고페치 조인으로 이를 해결해보았습니다. OrderRepository.javapublic List<Order> findAllByString(OrderSearch orderSearch) { String jpql = "select o from Order o join fetch o.member m join fetch o.orderItems oi join fetch oi.item"; ... }다른 부분은 건들지 않고 문자열 jpql 만 위와 같이 변경했습니다.이처럼 변경 후 확인을 해보니 N+1 문제 없이 한방 쿼리로 주문 목록을 가져오는 것을 확인했습니다. 하지만, 기본편에서 페치 조인 대상에는 별칭을 줄 수 없다고 하셨습니다.물론 하이버네이트는 되지만 아래의 이유 때문에 가급적 사용을 금한다고 말씀하셨습니다.위의 o.member m 를 예로 들면 where 절에서 m.name like 와 같이 몇개만 따로 가져오는 것은JPA가 설계한 관련된 것들을 싹 가져온다 의 방향과는 맞지 않기 때문입니다. 여기서 질문이 있습니다질문 1) where 절에 member에 대한 조건이 없으면 별칭을 쓰지 않아도 될거같은데 이처럼 있는 경우는 어떻게 하면 될까요?(이 부분에 대해서 활용 2편에서 다뤄주시면 그렇다라고만 답해주셔도 됩니다)질문 2)기본편에서 페치 조인을 여러 단계 하는 경우는 간혹 별칭을 쓸 수 있다고 하셨는데 그게 위의 o.orderItems oi 에 해당될까요?(여기에 별칭을 안주고는 도저히 item을 가져올 방법이 떠오르지 않습니다..)
-
해결됨토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
Exception 정의 기준
application 쪽에서는 커스텀 예외를 정의해서 사용했는데 Profile과 Email 레코드에서 값 형식 검증 부분에서는 표준 예외를 사용하셨더라구요 예외를 분리해서 사용하는 기준이 무엇일까요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
영한님께 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 영한님, 항상 좋은 강의 덕분에 편하게 공부하고 있습니다.다름이 아니라 제가 공부 내용을 노션에 정리하는데 혹시 영한님께서 만드신 다양한 그림을 사용해도 되는지 여쭈려고 글 남깁니다.후에 이 내용을 부트캠프(우테코) 지원 시 공부 자료로 활용할 계획이라서 외부로 노출이 되는데, 그 때 영한님이 만드신 그림이 노출이 돼도 될까요..?된다면 출처는 당연히 남기겠지만, 안된다면 사용하지 않겠습니다!항상 감사드립니다:)
-
미해결자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
자바와 코틀린의 함수형 프로그래밍,
안녕하세요 강사님! 자바는 메소드 자체를 직접 넘겨주는 것 처럼 쓸 수 있다, 자바에서 함수는 변수에 할당되거나 파라미터로 전달할 수 없다. 이부분에서 명확하게 이해가 잘 안되어서 질문을 남깁니다 ㅠ 자바에서 JDK 8이후로 람다와 스트림, 함수형 인터페이스 덕분에 자바도 함수가 일급 시민으로 취급되어 함수형 프로그래밍 패러다임을 적용해서 상호 보완해나가며 개발할 수 있다고 배웠습니다. 그러나 강사님께서 말씀하시는 내용으로는 자바는 그런 것 함수가 일급 시민 자체가 된 것이 아니라, '일급 시민이 된 것 처럼' 동작하도록 함수형 인터페이스를 통해 함수형 프로그래밍을 할 수 있게 된 것이지 근본 자체가 일급 시민이 아니라는 말씀이신건지가 궁금합니다.. 중요한 내용은 아닌것 같지만 모호하게 알고 넘어가기가 찜찜해서 질문을 남겨드립니다.
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
오타 제보합니다:)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]CAS - 동기화와 원자적 연산 챕터교재 32페이지여기서 lock.compareAndSet() 앞에 !가 붙어야하는게 맞나요?제가 잘 이해한거라면 그게 맞는 것 같아서 글 남깁니다:)항상 좋은 강의 감사드립니다!
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
개인적질문
안녕하세요 토비님 가의 잘 보고 있습니다. DDD는 처음이고 헥사고날방식도 처음이라 질문 수준이 낮은 점 양해 부탁드립니다!이 강의까지 보고나서 전체코드를 봤을떄 궁금한 점들이 있어서 질문 드립니다!1번 질문:@Entitypublic class Member { @Embedded private Address homeAddress;} @Embeddable public class Address { private String city; private String street; private String zipcode;}@Embeded사용할때 데이터 필드를 의미 있는 하나의 묶음 이라는 의미로 사용하는데 profile 이나 email같은 경우에는 컬럼이 하나여도 @Embeded 로 묶으셨는데 그 기준(언제 사용해야하느지)가 궁금합니다. 저라면 그냥 생각 없이 String 으로 받았을거같은데 ….!2번 질문 : Aggregate root 로 접근해하면 메서드 체이닝 비슷하게 일어나는거 같은데 그런 점은 괜찮나요!?3번 질문 :. Aggreagate root로 접근하는 방식은 DDD에서만 사용하는지 ?? 기존 JPA + 레이어 아키텍쳐에서도 사용이 가능한건지....?4번 질문 : 강의에서는 1:1 이였지만 , ManyToOne 단방향 , ManyToOne OneToMany 양방향 관계에서도똑같이 Aggregate root로 접근해서 데이터를 처리해야하는지..?미리 감사드립니다!!
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
뷰템플릿 사용 시
[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 강의 수강 중 질문이 생겨 여쭤봅니다.api를 개발하는 과정에서 DTO를 사용하고, 혹여나 그렇지 않을 경우 @JsonIgnore을 사용하는 것을 이해했습니다.만약 스프링부트 1 강의처럼 뷰템플릿으로 개발할 때에는 컨트롤러 리턴 타입이 객체가 아니라 String이기 때문에 DTO가 필요없을까요 ? (굳이 필요하다면 form 객체..?) 마찬가지로 뷰 템플릿에서는 무한 참조 상황에서 @JsonIgnore을 사용하는 것이 아니라 양방향 편의 메서드로 무한 참조를 방지하면 해결이 되는지 궁금합니다!