묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberRepository 구현 시, findAll() 메서드 질문 드립니다.
public List<Member> findAll(){return new ArrayList<>(store.values());} 반환되는 List도 결국 인덱스에 store에 저장된 객체의 주소 값을 저장하기 때문에 해당 list를 통해서 내부 객체를 수정하게 되더라도 store내부에 있는 객체도 수정이 이루어지니깐 다를게 없다 느껴졌는데 store를 직접반환하는 것과 어떻게 다른가요?..
-
미해결[리액트 1부] 만들고 비교하며 학습하는 리액트 (React)
[순수JS2]탭 3(풀이) 질문있습니다.
안녕하세요 선생님 강의 잘 듣고 있습니다.delegate에 관해서 제가 아래처럼[(1),(2)] 이해하고 있는데 이것이 맞게 이해한것인지 궁금합니다. 1) delegate에서emitEvent에 담기는것은 아직 호출되지 않은 함수인데이게 tabView생성자가 호출되는 시점에 렌더링이 되지않은(?) id =tab-view에 delegate 안의 on 메소드에 의해 바인딩이 됩니다. 2) 이후 id=tab-view에 click 이벤트가 발생하면 그제서야 on에 의해 바인딩되었던 이벤트처리기 (emitEvent)가 호출되어서 실제 bindEvents()에서 바인딩하려했던 handleClick 를 호출합니다. 3) 또 쓰다 보니 궁금한것이 아직 TabView의 show가 호출되기 전이긴 한데 constructor에서는 bindEvents() 메소드 안에서 delegate -> on 메소드에서 target.addEventListener를 호출하고 있는데 id=tab-view는 이미 렌더링 되었다고 표현하는것이 맞나요?감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
WARNING: A Java agent has been loaded dynamically (스프링 통합 테스트에서)
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. WARNING: A Java agent has been loaded dynamically (C:\Users\user\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.14.11\f9cb566608fbac6bc7bf54901a7aa11543a989ee\byte-buddy-agent-1.14.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 스프링 통합 테스트 강의에서 회원가입이나 중복 회원 테스트 실행은 잘 되는데 위의 문구가 나타나서 스프링이 도중에 중단됩니다. 강의 노트를 복붙하고 5분 40초 경에 인텔리제이를 실행했는데 위와 같은 문구가 뜹니다. 중복회원이나 회원가입 테스트는 체크 표시가 떴고 저 문구만 떴습니다. 위의 문구를 안 나오고 강사님처럼 문제없이 실행하려면 어떻게 해야 하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
http://localhost:8080/hello 오류가 뜹니다ㅜ
java: interface abstract methods cannot have body오류 메세지가 뜨는데 어떻게 해결을 하면 좋을끼요??
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
data jpa로 form 객체 사용 시 정리가 안된 부분 질문드려요..
실전 data jpa를 완강하고 다시와서 듣는 중인데요머리속에 정리가 안되는 부분이 있습니다.. 예를들어Member라는 엔터티가 있고MemberForm이라는 객체를 만들었습니다(뷰템플릿에서 사용자에게 받은 파라미터를 Member로 전환하기 위해) 여기서 제가 정리가 안되는 것은 MemberForm이 Dto의 역활까지 해서 MemberForm 객체를 생성해서 사용 한다면 굳이 MemberDto를 생성, 사용을 안해도 되는 건가요? 즉 서비스계층에서 memberForm을 member로 전환 시켜주는 작업을 한번만 수행하면 되는걸까요? 추가로 서비스계층에서 그 전환과정이 있다면 서비스 계층에서는 Member 엔터티를 노출해도 되는지(Member member= new Member():와 같이) 궁금합니다. 그게 안된다면 Member 엔터티 객체 안에 MemberForm을 매개변수로 받는 생성자를 만들거나 변환메서드를 작성해야하는지 궁금합니다. 감사합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
application.properties: Unused property
spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa apllication.properties 파일 내용입니다. 이게 동작을 안하는 것 같아요. unused property 라는 것을 보아 파일 안에 내용을 작성하였더라도 사용되지 않는 것 같아요. Q1. 구글링, IntelliJ 권장에는 IDEA Ultimate를 설치하라는 얘기가 있던데 기존 설치되어있는 IntelliJ 를 지우고 새롭게 다시 설치해야하는 것인가요 ?? Q2. 질문 1의 방법을 사용하지 않고 이 문제를 해결할 수 있는 방법이 있을까요 ?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
th:field를 할 경우에 네추럴 템플릿 기능 소실
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요 섹션2 입력 폼 처리 강의를 듣고 질문드립니다 ! th:object로 객체를 지정하고 th:field로 해당 객체의 필드를 지정해서 name , id , value속성의 값을 할당할 수 있다는 사실을 알게 되었습니다 ! 그런데 name , id , value값을 지정 안 하고 th:field 하나로 해당 값들을 대체를 했으면랜더링 안 하고 절대경로로 정적인 html 파일을 웹 브라우저에서 그대로 열었을때 th:field 기능이 사용되지 않고 name , id , value 값 또한 없으니 정적인 html을 유지하면서 그 위에 랜더링 시에 th로 지정된 속성의 동적인 html을 출력하는 네추럴 템플릿 기능을 상실하게 되는 것 아닌가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HTTP API 사용 시 MVC 패턴의 V가 궁금합니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 잘 보고 있습니다! HTTP API로 데이터를 주고 받을 경우 JSON 형태의 데이터만 내려주게 되는데 이럴 땐 MVC 패턴을 사용할 수 있나요 ?MVC 패턴은 SSR 방식에서만 적용되어 VIEW가 타임리프,JSP형태로 내려가는건지 만약 CSR형태도 MVC패턴이 적용된다고 한다면 CSR의 형태일때는 VIEW가 JSON 자체인지가 궁금합니다.번외로 클라이언트 서버 아키텍쳐의 경우 클라이언트가 WS,서버가 WAS로 불러도 되나요 ? 느낌은 비슷한 거 같아서..
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
테스트 결과화면 및 테스트 인코딩 오류?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]1. 선생님처럼 결과 화면이 안나오는데 어떻게 설정해야 할까요?다른 분들이 질문주신 ?? 의 인코딩을 UTF-8로 바꾸고 재시작 후 해봐도 문제가 해결되지 않습니다 ㅠㅠ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
item.html에서 체크박스가 어떻게 체크여부를 확인하는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]item.html에서 작성한 multi checkbox 입니다.여기서 th:field = "*{regions}"의 값은 item 객체에 있는 regions를 사용하는 것이고, 사용자가 체크한 key값이 들어가있는 것은 이해가 됐고th:value는 model로 보내준("SEOUL", "서울"),("BUSAN", "부산"),("JEJU", "제주")중 key값인 SEOUL, BUSAN, JEJU 값이 들어있는 것은 커뮤니티의 비슷한 질문을 확인해서 이해를 했습니다..ㅜㅜ 근데 사용자가 체크한 regions 리스트로 어떻게 체크 여부를 알 수 있는건가요..?? 저 코드에서 checked를 판단하는 코드가 어떤건지 궁금하고 헷갈립니다 ㅠ.ㅠ.....비교를 한다는게 무슨 말인지 모르겠어요
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
Controller 안에서 @Transaction 설정이 다른 2개의 method 호출
@Slf4j @RestController public class AController { @Autowired AService aService; @Autowired BService bService; @PostMapping("/api/v2/aaaa") public ResponseEntity<ResponseDto> postA( @RequestBody @Valid PostADto postADto, HttpServletRequest request) throws Exception { A a = aService.getA(request); HashMap<String, Object> result = bService.createB(postADto, a); .... }위 와 같이 컨트롤러에서 aService.getA(request); 와 bService.createB(postADto, user); 메서드를 호출합니다.각 메서드는 아래와 같이 선언돼있습니다.@Transactional(readOnly = true) public A getA(HttpServletRequest request) { .... return aRepository.findById(id).orElse(null); }@Transactional public HashMap<String, Object> createB(PostADto postADto, A a) { ...... bRepository.save(postADto.toB()); ...... return ...; }getA 메서드안에서 TransactionSynchronizationManager.isCurrentTransactionReadOnly(); log 출력했을때 readonly = true로 나오고 readDB로 잘 연결됩니다. 하지만 createB 메서드안에서 TransactionSynchronizationManager.isCurrentTransactionReadOnly(); log 출력했을때 readonly = false로 나오는데 실제로는 readDB로 연결되고 query를 발생시켜 아래와 같은 오류가 발생합니다.Caused by: java.sql.SQLException: The MySQL server is running with the --read-only option so it cannot execute this statement at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) Caused by: java.sql.SQLException: The MySQL server is running with the --read-only option so it cannot execute this statement 컨트롤러에 @transactional 을 선언하지 않았기 때문에 각 메서드에서 트랜잭션이 수행되어 getA 메서드에서는 readDB로 createB 메서드에서는 writeDB로 요청이 된다고 알고 있었는데 그런 방식으로 동작이 안되 혼란스럽습니다. 어떤 이유로 이런 문제가 발생하는지 궁금합니다. 그리고 왜 이렇게 동작하는지 어느 부분을 학습하면 좋은지 궁금합니다.
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
@Transactional 내부에서 트랜젝션 템플릿이 사용되나요
@Transactional 내부에서도 결국 트랜젝션 템플릿을 사용해서 트랜젝션 처리를 하는지 궁금합니다!
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
타임리프 param 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]타임리프 뷰 템플릿에서 param을 통하여 쿼리 파라미터에 입력된 값에 접근할 수 있다는 사실을 알고 있습니다실습해본 결과 param을 통해서 name , age와 같은 단순 타입들만 받을 수 있었는데 컨트롤러에서 @ModelAttribute의 기능과 같이 타임리프에서 객체를 파라메터로 받을 수 있는 방법이 있나요?
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
필터를 여기저기 옮기기 좋게 만들어보고 싶어서 고민한 방향을 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]등록 방법에는 FilterRegistrationBean 을 @Bean 으로 등록하는 방법@WebFilter 대상을 @ServletComponentScan 으로 스캔하는 방법2방법의 단점으로는 공홈에 확인 결과 내장 톰켓에서 사용된다 영상강의에 나오는 내용에 정렬순서를 지정할 수 없다고 하셨는데정렬은 @Order를 사용하면 되지 않을까요?또한 내장 톰켓을 위한 방법이기 때문에 해당 필터를 @Component로 Bean 으로 등록하면 되지 않을까요? 해당 생각대로 일단 내장 톰켓과 외장 톰켓으로 테스트 해보았습니다.우선순위의 테스트는 FilterRegistrationBean 으로 등록한 A필터 정렬순서 2로 @Order(1)와 @Component를 이용한 B필터를 확인결과@Slf4j @Component @WebFilter(urlPatterns = "/*") @Order(2)이렇게 작성하여 내장 외장 모두 잘 동작하였고 순서를 위해 @Order 기능을 확인 결과 잘 되는 것을 확인했습니다.필터를 이 프로젝트 저 프로젝트 옮기며 꽂아서 쓸수있게 만들고 싶어서 이렇게 고민했는데이 방법이 혹시 문제점이 있을 까요?또는 제가 잘못 생각한 부분이 있을까요?
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
consumes="*\/*" 오타일까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]6. 스프링 MVC - 기본 기능.pdf 13페이지에 이 두 사진에 해당하는 내용이 있습니다.그런데consumes="*\/*"produces = "*\/*" 이건 오타인가요?인텔리제이에서 consumes="*\/*" 이렇게 해 보면 빨간 줄이 표시됩니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
인텔리제이 콘솔 한글깨짐
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요.학습 질문에서 인텔리제이 콘솔 한글깨짐에대한 글을 모두 확인해보고 해결이 되지않아서 글을 남기게 되었습니다. IntelliJ Version : IntelliJ IDEA Community Edition 2023.3.3현재 프로젝트 생성시 정보는 아래와 같습니다.Project: Gradle- GroovyLanguage : JavaSpring Boot : 3.2.2Packaging : WarJava : 21또한, Gradle 설정에서 IntelliJ IDEA로 변경하는 부분은 Spring Boot 3.2 이전에만 적용된다하여 해당 부분은 그대로 Gradle로 설정되어 있습니다. 아래는 한글 깨짐현상 이미지입니다. 아래는 콘솔 한글 깨짐을 해결하기 위해서 적용한 방법들 입니다.File Encodingshelp > Edit Custom VmOptions.. 해당 부분은 직접 설치된 곳의 파일에도 추가해보았습니다. build.gradle 에 encoding 관련 설정 추가application.properties 설정 추가Run/Debug Configurations 설정 위의 5가지 방법을 모두 적용하였지만 콘솔에서 한글깨짐은 그대로입니다.해결 방법을 알려주시면 감사하겠습니다.
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
RequestDispatcher.ERROR_MESSAGE 빈 문자열
제가 모든 error를 정해진 form에따라 응답하고 싶은데,어떻게 할까 하다가 방법을 BasicErrorController를 커스텀해서 사용해야겠다 생각했습니다.CustomErrorController의 코드는 다음과 같습니다.그런데 응답값에 오류 message가 들어가지 않아서디버깅해봤는데, request안에 attribute안에 jakarta.servlet.error.message에 빈문자열이 들어가있는걸 확인했습니다.이게 response.sendError(400, "400에러 발생!"); 과 같이 할경우에는 message에 값이 들어가고,throw new RuntimeException("에러 발생") 과 같이 예외를 던질때만 message에 값이 담기지 않습니다.도움주시면 감사하겠습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2.bat 실행 안됨
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]윈도우라 "h2.bat" 혹은 "H2.bat"으로 확인해봤는데 아무 반응이 없습니다. 여러 글을 찾아보니 자바 환경변수와도 상관이 있는 것 같더라구요. 근데 제가 jdk11, jdk17을 깔아놔서 설정을 아래 블로그를 참고해서 설정을 해놨거든요.참고) https://computer-science-student.tistory.com/467아래는 제가 설정해놓은 캡쳐화면입니다.그래서 혹시 자바 환경변수 문제일까 싶어 H2DB JDK 설정 해주는 아래 블로그도 참고하여 기존 h2.bat을 메모장에 연결하여 내용을 변경해 보았습니다.참고) https://ikcoo.tistory.com/80 기존 h2.bat 내용은 @java -cp "h2-1.4.200.jar;%H2DRIVERS%;%CLASSPATH%" org.h2.tools.Console %*@if errorlevel 1 pause 입니다.이거를 블로그처럼기존 jdk17파일이 설치돼있는 경로로 설정 ex) @C:\Program Files\Java\jdk-17\bin\java -cp "h2-1.2.127.jar;%H2DRIVERS%;%CLASSPATH%" org.h2.tools.Console %* @if errorlevel 1 pause위에 말한 환경변수 2개를 scripts 파일에 넣어놓은 경로로 설정 ex) @C:\Program Files\Java\scripts\java17 -cp "h2-1.2.127.jar;%H2DRIVERS%;%CLASSPATH%" org.h2.tools.Console %* @if errorlevel 1 pause이렇게 다 해봤는데 안됩니다.. ㅠㅠ
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
14:18에서 AopCheck() 테스트하는 부분 질문드립니다
@Test void AopCheck() { log.info("memberService.class={}", memberService.getClass()); log.info("memberRepository.class={}", memberRepository.getClass()); }테스트를 실행하면 memberService.getClass()에 해당하는 부분만 CGLIB~~이 적용된, 즉 AOP가 적용된 인스턴스라는 것을 확인할 수 있었습니다. memberRepository.getClass()는 평범한 인스턴스이고 memberService.getClass()만 AOP가 적용된 인스턴스인 이유는 추측건대 @Transactional // proxy가 비즈니스 로직 대신 호출. 성공하면 commit, 런타임 예외가 터지면 rollback public void accountTransfer(String fromId, String toId, int money) throws SQLException { bizLogic(fromId, toId, money); }MemberService내의 메서드에 @Transactional이 붙어서인 것 같습니다. 클래스 레벨에 @Transactional을 붙이지도 않았는데도 클래스 정보를 가져오는 메서드인 getClass()를 통해 AOP가 적용된 인스턴스로 확인되는 이유가 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Whitelabel Error Page
[질문 내용]package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import java.util.SplittableRandom; @Controller public class HelloController { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "hello!!"); return "hello"; } @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model) { model.addAttribute("name", name); return "hello-template"; } @GetMapping("hello-string") @ResponseBody public String helloString(@RequestParam("name") String name) { return "hello " + name; } }똑같이 따라 쳤는데도hello-mvc / hello-string은 아래와 같이 오류가 뜹니다..!어떻게 해결할 수 있을까요?