묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
UE_LOG에서의 비교연산자 사용과 관련하여 질문 드립니다.
안녕하세요. 열심히 수업을 듣고 있습니다.금일 "언리얼C++ 기본타입과 문자열" 관련 수업 중에다음과 같이 UE_LOG를 비교 연산자와 함께 사용하는것을 보여주셨습니다.UE_LOG(LogTemp, Log, TEXT("FName 비교 결과 : %s"), key1 == key2 ? TEXT("같음") : TEXT("다름")); 그전에 보여주셨던 UE_LOG의 다른 용례 대비 구조가 다소 난해하다면 난해하다고 할 수 있어서, 조금 더 자세히 알아보고자 열심히 구글링을 했음에도 UE_LOG에서 비교연산자를 사용하는 것에 대한 SYNTAX 예시를 찾지 못했습니다. 보통 이와 같은 경우 교수님께서는 어떻게 알고 사용하게 되시는 지가 궁금하여 문의 드려봅니다. 교수님께서 알려주신 문법을 그대로 암기해도 상관없을 수 있겠지만, 항상 새로운 것이 나올때마다 저 스스로 관련 정보를 찾으면서 공부하기 위해서 문의 드려봅니다. 감사합니다!
-
해결됨최신 SwiftUI와 UIKit과 함께하는 올인원 iOS 앱 개발 강의
SwiftUI 포폴용 앱 강의 올려주실 때, 기왕이면 최신 버전으로도 올려주세요. 부탁드립니다.
안녕하세요..SwiftUI 포폴용 앱 강의가 아직 안 올라왔습니다. 기왕이면 최신 버전으로도 올려주세요.섹션 2. SwiftUI로 만드는 카페앱 강의도 보고 따라하고 있는데,강의가 예전에 제작된 것이 최신버전으로 업데이트가 안 되어서최신버전으로 따라하는 경우, 안 되는 부분이 있습니다..현재 mac 사양은 이렇습니다.macOS 13.1 (22C55)iOS 16.2 (20C52)Xcode 14.2 (14C18)Swift 5.7.2 (5.7.2.135.5)섹션 2. SwiftUI로 만드는 카페앱 강의 를 따라하면CFNetwork 관련해서 오류가 발생합니다.SwiftUI 포폴용 앱 강의를 따라할 때도이렇게 될 수 있을지 걱정입니다강의 게시일이: 2021년 07월 13일 이라고 나와있습니다.전체 강의를 현재 버전으로 업그레이드 해 주시면 감사하겠습니다.
-
미해결문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!
Server Connecting ERROR
자꾸 에러가 뜨면서 멈추는데...해결방법이 무엇일까요 ㅠㅠ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
데이터 바인더와 타입 컨버터 차이
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]스프링 타입 컨버터 소개에서 @RequestParam, @ModelAttribute, @PathVariable 등 스프링이 중간에 타입 변환기를 사용해서 타입을 변환해 주었기 때문에 개발자가 편리하게 해당 타입을 바로 받을 수 있다고 하셨는데 여기에서 타입 변환기란 타입 컨버터를 말씀하시는건가요? 데이터 바인더와 타입컨버터가 하는 역할과 차이가 궁금합니다. 두 개가 헷갈리네요 ㅠㅠ
-
미해결게임 캐릭터를 위한 3ds Max 리깅의 기초
리스트 컨트롤러 강의 중 질문이 있습니다.
리스트 컨트롤러 강의중 세개에 조인트를 하나에 조인트에 리스트 컨트롤러로 적용하셨는데 세개에 조인트는 Tentacle 조인트는 어떻게 작동하게 하신건가요?? 그리고 중급 난이도 강의는 안 만드시는 건가요? 항상 강사님에 강의가 많은 도움이 되고 있어서 기대하고 있습니다.
-
해결됨Slack 클론 코딩[실시간 채팅 with React]
영상 5:20 설명 질문
실패하면 then의 revalidate때문에 원래 있던 데이터가 사라진다고 하셨는데 따로 catch부분에서 처리해줘야 이전에 넣어뒀던 가짜 데이터를 삭제하는 등 처리되는 거 아닌가요?
-
미해결대세는 쿠버네티스 (초급~중급편)
pod 추가시 문제가 발생합니다
30분도 안돼서 강의 따라하는데 만나는 에러가 너무 많네요.. 앞에 있던 에러들은 어떻게든 해결했는데 pod를 yaml파일로 추가하는 과정에서 다음과 같은 에러가 발생합니다. Failed to pull image "kubetm/p8000": rpc error: code = Unknown desc = Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp: lookup registry-1.docker.io on 10.0.2.3:53: read udp 10.0.2.15:34804->10.0.2.3:53: i/o timeout같은 질문이 게시판에 있는걸 봤는데 그저 기다리라고 하시는데.. 다른 방법 없나요?? 거의 1시간째 기다리고 있는데..
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-A 일곱난쟁이를 예로 들어 코테의 문제 조건 적용 범위 질문
http://boj.kr/35d6f320e0d042ea9331b757b1e5bf15안녕하세요 위 링크에 제가 작성한 코드가 있습니다.일단 제가 알고리즘 문제를 풀어보는게 이 문제가 처음이라서, 문제에 제시된 조건을 코드에 어느정도로 적용해야 하는지 감이 안잡히는것 같아서 질문올립니다.뭔소리냐면 예를 들어 이 일곱난쟁이 문제를 처음 딱 봤을때 저는,"주어지는 키는 100을 넘지 않는 자연수""아홉 난쟁이의 키는 모두 다르며"라는 두가지 입력 조건이 있다고 인식을 했고, 두 조건의 코드 구현에 대해 고민하는데에 1시간을 썼지만 결국 첫번째 조건에 대해서만 코드로 구현하는 데 성공했습니다.if(a[i]<1 || a[i]>100){cout << "1~100 사이의 수를 입력하세요!" << "\n";a[i] = 0;i--;continue;}<< 이 부분이 첫번째 조건을 구현한 부분입니다."100을 넘지 않는 자연수" 이외의 숫자를 입력 시 경고문구와 함께 입력한 숫자가 없어지고 그 자리에 다시 입력하도록 하는 코드입니다.(두번째 조건인 "입력 숫자는 중복이 불가"도 나름 고민을 해봤지만 도저히 컴파일 결과가 원하는 대로 안나와서 일단 그부분은 지우고 위의 링크 상태로 백준에 제출한 것입니다.)컴파일 시 문제의 예제입력1을 넣으면 예제출력1과 동일하게 결과가 나오지만, 백준 결과는 틀렸다고 나왔습니다.그래서 뭐가 틀렸나 강의와 모범답안을 확인해보니 제가 고민했던 조건 2가지에 대한 코드가 답안에는 아예 없더라구요?!바로 이 부분에서 제가 혼란이 와서 질문드립니다ㅠ제 생각엔 제시된 예제입력 외의 모든 상황에서도 결과가 똑바로 나와야 하기 때문에, 숫자 입력 시 -1이나 200같은 범위 외 숫자를 입력하거나 이미 입력한 숫자를 또 입력할 경우는 문제에 제시한 조건에 부합하지 않아 결과가 바르지 않으므로, 애초에 코드 짤때부터 이 모든 부분을 방지해야 한다고 생각을 했는데, 이런 생각 자체가 너무 깊게생각한걸까요?앞으로 모든 문제에 있어서 이런 식으로 문제에서 구현 조건처럼 보이는 문구들이 있어도 전부 구현할 필요 없이 단순히 제공된 예제의 케이스만 바르게 나오도록 간소화해서 코드를 짜면 되는건지..그 조건 적용 범위나 기준이 암묵적으로 있는지 이런 것들이 궁금합니다. 확실히 이부분을 고려해서 코드를 짜냐 안짜냐가 소요 시간에 엄청난 영향을 끼치니까요ㅠㅠ아, 그리고 추가로 이번 난쟁이의 경우처럼 제가 모범답안 외 추가적으로 작성한 코드에 의해 컴파일은 잘 되지만 백준 결과가 틀렸다고 나올 경우에 제가 작성한 부분을 뇌에서 지우고 그냥 모범답안으로 외워야 할까요? 아니면 해당 부분이 제 생각에 문제 논리를 거스르지는 않는 부분이라고 판단되면 그냥 제가 생각한 로직대로 기억해도 되는걸까요?
-
미해결따라하며 배우는 NestJS
구현 완료 후 not a function 오류
구현완료후 postman에서 localhost:3000/auth/signup 에 post 했더니 this.userRepository.createUser is not a function이라는 에러가 납니다. 정확히 모두 따라했는데 왜 에러가 나는지 모르겠습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
kafka connect 실행 에러가 발생합니다..
강사님이 제공하기 파일로 진행하고 있었습니다..\bin\windows\connect-distributed.bat . \etc\kafka\connect-distributed.properties위의 명령어로 kafka connect을 실행하려하는데 아래와 같은 에러가 발생합니다.log4j:ERROR Could not read configuration file from URL [file:C:/Work/confluent-7.3.1/config/connect-log4j.properties].java.io.FileNotFoundException: C:\Work\confluent-7.3.1\config\connect-log4j.properties (지정된 경로를 찾을 수 없습니다)at java.base/java.io.FileInputStream.open0(Native Method)at java.base/java.io.FileInputStream.open(FileInputStream.java:219)at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)at java.base/sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:86)at java.base/sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:184)at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:557)at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:504)at org.apache.log4j.LogManager.<clinit>(LogManager.java:119)at org.slf4j.impl.Reload4jLoggerFactory.<init>(Reload4jLoggerFactory.java:67)at org.slf4j.impl.StaticLoggerBinder.<init>(StaticLoggerBinder.java:72)at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:45)at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:417)at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:362)at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:388)at org.apache.kafka.connect.cli.ConnectDistributed.<clinit>(ConnectDistributed.java:59)log4j:ERROR Ignoring configuration file [file:C:/Work/confluent-7.3.1/config/connect-log4j.properties].log4j:WARN No appenders could be found for logger (org.apache.kafka.connect.runtime.WorkerInfo).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.log4j 가 없다는거 같은데 어떻게 해결할지 알려주시면 감사하겠습니다..
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
제가 생각하고 있는 동작과정 피드백을 부탁드립니다.
안녕하세요. 선생님 6장 마무리 하는 시점에서 강의와 스스로 DispatcherServlet 소스 코드를 분석하고 그중 핵심적인 것만 크게 정리해봤습니다. 그래서 분석한 내용이 올바른 내용인지, 확실히 하고 싶어서 질문을 드려봅니다!틀린 부분이 있다면 지적해주시면 정말 감사하겠습니다! 0. 스프링 부트 구동 시점에 스프링 컨테이너와 서블릿 컨테이너는 각각이 필요한 기본 빈들을 생성하고, 필요한 초기화 작업과 DI 작업을 수행 1. 클라이언트로부터 URL 호출 시, 서블릿 컨테이너가 request를 파싱하고, HttpServletRequest와 Response 객체를 생성 후, 파싱된 메세지를 HttpServletRequest에 전달함. 이후, 쓰레드가 DispatcherServlet 객체의 service()를 호출(service()는 실제로 부모 클래스에서 오버라이딩 되어 있고 그 내부에서 중요한 메서드인 doDispatch()가 호출됨) 2. 이후 DispatcherServlet은 미리 초기화 해둔 handlerMappings의 handlerMapping 구현 클래스를 순서대로 하나씩 꺼내와서 검사하는데, 1순위인 RequestMappingHandlerMapping 클래스의 조회 전략은 @Controller 클래스 중, 메서드 레벨에 @RequestMapping이 붙어 있고, request의 URL 정보를 토대로 일치하는지 검사. 있다면 해당 핸들러를 반환(컨트롤러) 하지만, 없다면 서블릿 예외를 던지고 애초에 @Controller 자체가 없다면 2순위로 검사 위임하지 않음 3. 해당 핸들러를 getHandlerAdapter()를 통해서 해당 핸들러를 지원하는 어댑터가 있다면 해당 어댑터를 반환하여 HandlerAdapter ha에 할당하고, 지원하는 어댑터가 없는 경우 서블릿 예외를 던짐 4. handlerAdapter의 handler()를 수행하는데 실제 컨트롤러 메서드를 호출하기 전에, 해당 메서드가 필요로 하는 매개변수 정보를 (@RequestBody인지, HttpEntity인지) ArgumentResolver에 제공하고, 각각에 특화된 Http메세지 컨버터를 사용해서 필요한 객체를 생성 5. handlerAdapter가 컨트롤러를 호출해서 로직 수행 6. 컨트롤러가 결과값을 반환 6-1. 메서드 레벨에 @ResponseBody가 붙어있다면 RetrunValueHandler가 HttpMessengerConverter를 이용해서 반환값을 응답 메세지 바디부에 실어서 ViewResolver등을 거치지 않고 즉시 요청 송신자에 반환 6-2. 위의 경우가 아니면, ReturnValueHandler는 반환 값의 타입에 따라 적절한 HttpMessengerConverter를 통해 응답 메세지를 생성 후, ViewResolver가 동작하는데 이는 View 객체를 생성하고 DispatcherServlet가 이를 이용하여 render()하고 최종적으로 클라이언트에게 반환. 감사합니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃헙 권한 요청 드립니다!
권한 요청 드립니다.인프런 아이디 : choigy0331@naver.com인프런 이메일 : choigy0331@naver.com깃헙 아이디 : choigy1001깃헙 Username : Keun young
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
TrypPop에서 oldHead를 delete 바로 할 경우의 충돌상황
TrypPop에서 oldHead를 delete 바로 할 경우 발생하는 충돌을 보고 싶어서 여러 번에 걸쳐서 돌려봤는데 발생하는 상황을 보지 못했습니다 이런 상황은 이론적으로 가능하나 굉장히 희박한 확률로 발생하는 걸까요??
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
실무에서는 하나의 RestControllerAdvice로 처리하나요?
@ControllerAdvice("org.example.controllers")보통 일반적으로 쓸 때는 이거 정도를 해준다.보통 패키지를 지정해준다.강의 내용 중에 위와 같은 내용이 있었습니다.실무에서는 @RestControllerAdvice를 사용할 때 전역적으로 쓰지 않고 위와 같이 패키지를 지정해주는 방식이 일반적인가요?해당 방식이 일반적인 방식이 아니라, 선택이라면 어떤 것을 고려해서 선택해야 할까요? 그런데 API는 각 시스템 마다 응답의 모양도 다르고, 스펙도 모두 다르다. 예외 상황에 단순히 오류 화면을 보여주는 것이 아니라, 예외에 따라서 각각 다른 데이터를 출력해야 할 수도 있다교안에는 위와 같이 나와 있었습니다.저는 다른 도메인 서비스에서 같은 예외가 발생해도 API 스펙이 다를 수 있겠다 생각했습니다.그래서 특정 도메인의 컨트롤러들의 예외가 발생하는 것을 잡아줄 각각의 @RestControllerAdvice를 만들고, 해당 오류에 대한 API를 따로 만들어서 반환해야겠다고 생각했습니다.하지만 인터넷에 다른 글들을 찾아보니 전역적으로 처리해야 한다는 글들이 꽤 있더라구요...어떤 방식이 실무에서 일반적인 방식인가요?
-
미해결[핵집] 2025 빅데이터 분석기사(실기)_작업형 1·2·3유형
강의 자료 요청
안녕하세요강의 자료 요청드립니다등록 이메일은 leehwan@lgcns.com이구요자료 받아볼 메일주소는 funtaland@naver.com 입니다
-
미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
등록메뉴창에 등록 버튼을 누르면 에러가뜹니다.
등록때도 수정때도 계속 이런데 그대로 잘따라했는데 발생하는 이유가 먼가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-A 질문
강의를 안보고 처음 짠 코드에서 무엇이 잘못됬는지 몰라서 답답해서 질문드립니다.이 코드의 반례를 알 수 있을까요? 혹은 어느 부분이 틀렸는지입니다. #include <iostream> #include <cstring> #include <climits> #include <algorithm> using namespace std; int n; int dp[20][20][20]; int w[20][20]; int visit[20]; //bidx == 시작한 처음 위치 void search(int cnt, int from, int dist, int bidx) { if (cnt == n - 1 && w[from][bidx] > 0) { int nd = dist + w[from][bidx]; if (dp[from][bidx][cnt] < nd) return; dp[from][bidx][cnt] = nd; return; } for (int i = 0; i < n; ++i) { if (from == i || visit[i] || w[from][i] == 0) continue; int nd = dist + w[from][i]; if (dp[from][i][cnt] > nd) { dp[from][i][cnt] = nd; visit[i] = 1; search(cnt + 1, i, nd, bidx); visit[i] = 0; } } } int main() { cin >> n; for (int i = 0; i < n; ++i) for (int j = 0; j < n; ++j) { cin >> w[i][j]; } for (int i = 0; i < n; ++i) for (int j = 0; j < n; ++j) for (int k = 0; k < n; ++k) dp[i][j][k] = INT_MAX; for (int i = 0; i < n; ++i) { memset(visit, 0, sizeof(visit)); visit[i] = 1; search(0, i, 0, i); } int answer = INT_MAX; for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { answer = min(answer, dp[i][j][n - 1]); // cout << dp[i][j][n - 1] << " "; } // cout << "\n"; } cout << answer; return 0; } 접근 방법은 3차원 dp를 dfs로 탐색한 거리를 저장해두는 것입니다. 그래서 다음에 같은 dp[from][to][cnt] 가 존재할 때, 반드시 새로운 값이 낮을 때만 재귀를 수행하게 됩니다.재귀 끝내는 파트인 cnt == n- 1에서는 모든 노드를 순회했고 시작부분을 더하기 위해 w[from][bidx] 가 0이 아닌 경우에만 값을 구하게 됩니다. 그래서 마지막 dp[][][n-1] 중 가장 작은 값을 정답으로 가져옵니다.백준 질문하기에서 대부분 반례를 시도해보고 디버깅도 시도해봤는데 뭐가 잘못됬는지 알기 어려워 답답한 마음에 질문드립니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
EOFException
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오. (있지만 해결x)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]강의와 같이 logging.level.org.apache.coyote.http11=debug 를 적용하고 나면 헤더 정보는 잘 나오지만 헤더 정보 아래에 EOF 오류 내용이 같이 나옵니다.다른 질문에서 답변하신 내용(다른글 해결법)을 따라해봐도 똑같습니다.application.proterties에서 경고가 뜨는데 이거와 관련된 사항인지는 모르겠습니다. 아래 사진은 로그에서 뜬 에러부분입니다.[전체 로그]오후 4:46:17: Executing ':ServletApplication.main()'...> Task :compileJava UP-TO-DATE> Task :processResources UP-TO-DATE> Task :classes UP-TO-DATE> Task :ServletApplication.main() . ____ _ /\\ / ___'_ __ (_)_ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.11)2023-04-29 16:46:19.611 INFO 13608 --- [ main] hello.servlet.ServletApplication : Starting ServletApplication using Java 11.0.19 on 960691 with PID 13608 (C:\Users\CKIRUser\IdeaProjects\Spring_MVC_part1\build\classes\java\main started by CKIRUser in C:\Users\CKIRUser\IdeaProjects\Spring_MVC_part1)2023-04-29 16:46:19.615 INFO 13608 --- [ main] hello.servlet.ServletApplication : No active profile set, falling back to 1 default profile: "default"2023-04-29 16:46:21.028 INFO 13608 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)2023-04-29 16:46:21.049 INFO 13608 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]2023-04-29 16:46:21.049 INFO 13608 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.74]2023-04-29 16:46:21.243 INFO 13608 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2023-04-29 16:46:21.244 INFO 13608 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1511 ms2023-04-29 16:46:21.602 INFO 13608 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: ServletContext resource [/index.html]2023-04-29 16:46:21.919 INFO 13608 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''2023-04-29 16:46:21.932 INFO 13608 --- [ main] hello.servlet.ServletApplication : Started ServletApplication in 3.094 seconds (JVM running for 3.585)2023-04-29 16:46:26.629 DEBUG 13608 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [0]2023-04-29 16:46:26.630 DEBUG 13608 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received [GET /basic.html HTTP/1.1Host: localhost:8080Connection: keep-aliveCache-Control: max-age=0sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="98", "Microsoft Edge";v="98"sec-ch-ua-mobile: ?0sec-ch-ua-platform: "Windows"Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.56Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Sec-Fetch-Site: same-originSec-Fetch-Mode: navigateSec-Fetch-User: ?1Sec-Fetch-Dest: documentReferer: http://localhost:8080/Accept-Encoding: gzip, deflate, brAccept-Language: ko,en;q=0.9,en-US;q=0.8If-Modified-Since: Sat, 29 Apr 2023 07:31:04 GMT]2023-04-29 16:46:26.672 INFO 13608 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'2023-04-29 16:46:26.672 INFO 13608 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'2023-04-29 16:46:26.674 INFO 13608 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms2023-04-29 16:46:26.720 DEBUG 13608 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [803]2023-04-29 16:46:26.721 DEBUG 13608 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received []2023-04-29 16:46:26.723 DEBUG 13608 --- [nio-8080-exec-1] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@5fab773e:org.apache.tomcat.util.net.NioChannel@643c15bf:java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8080 remote=/0:0:0:0:0:0:0:1:60731]], Status in: [OPEN_READ], State out: [OPEN]2023-04-29 16:46:31.060 DEBUG 13608 --- [nio-8080-exec-2] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [803]2023-04-29 16:46:31.062 DEBUG 13608 --- [nio-8080-exec-3] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [0]2023-04-29 16:46:31.069 DEBUG 13608 --- [nio-8080-exec-3] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request headerjava.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1347) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1234) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:785) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]2023-04-29 16:46:31.070 DEBUG 13608 --- [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request headerjava.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1347) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1234) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:785) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]2023-04-29 16:46:31.071 DEBUG 13608 --- [nio-8080-exec-3] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing requestjava.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1347) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1234) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:785) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]2023-04-29 16:46:31.071 DEBUG 13608 --- [nio-8080-exec-3] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@5fab773e:org.apache.tomcat.util.net.NioChannel@643c15bf:java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8080 remote=/0:0:0:0:0:0:0:1:60731]], Status in: [OPEN_READ], State out: [CLOSED]2023-04-29 16:46:31.071 DEBUG 13608 --- [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Error state [CLOSE_CONNECTION_NOW] reported while processing requestjava.io.EOFException: null at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1347) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1234) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:785) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:348) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:262) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.74.jar:9.0.74] at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]2023-04-29 16:46:31.072 DEBUG 13608 --- [nio-8080-exec-2] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@63a885d8:org.apache.tomcat.util.net.NioChannel@2b29aa4:java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8080 remote=/0:0:0:0:0:0:0:1:60730]], Status in: [OPEN_READ], State out: [CLOSED]
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
앱 실행시 해당 오류 코드가 뜨고있습니다.
Can't determine type for tag '<macro name="m3_comp_assist_chip_container_shape">?attr/shapeAppearanceCornerSmall</macro>'SDK 버전을 낮춰 실행해도 해당 오류로 인해 진행이 불가능합니다.Android studio 버전은 4.2.1 이며 생성한 디바이스는 API 30 버전으로 생성했습니다. build.gradle 캡쳐본 첨부 드립니다. 확인 부탁드립니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
[31강]오류를 찾아 내지 못하겠습니다.
2023-04-29 16:04:35.522 ERROR 19256 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException] with root causejava.lang.IllegalArgumentException: null at java.base/java.util.Optional.orElseThrow(Optional.java:403) ~[na:na] at com.group.libraryapp.service.book.BookService.loanBook(BookService.java:36) ~[main/:na] at com.group.libraryapp.service.book.BookService$$FastClassBySpringCGLIB$$9fdbff4c.invoke(<generated>) ~[main/:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.24.jar:5.3.24] at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) ~[spring-aop-5.3.24.jar:5.3.24] at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) ~[spring-aop-5.3.24.jar:5.3.24] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) ~[spring-aop-5.3.24.jar:5.3.24] at com.group.libraryapp.service.book.BookService$$EnhancerBySpringCGLIB$$fffb0d80.loanBook(<generated>) ~[main/:na] at com.group.libraryapp.controller.book.BookController.loanBook(BookController.java:25) ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:567) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1071) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:964) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.24.jar:5.3.24] at javax.servlet.http.HttpServlet.service(HttpServlet.java:696) ~[tomcat-embed-core-9.0.70.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.24.jar:5.3.24] at javax.servlet.http.HttpServlet.service(HttpServlet.java:779) ~[tomcat-embed-core-9.0.70.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.70.jar:9.0.70] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.24.jar:5.3.24] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:891) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1784) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.70.jar:9.0.70] at java.base/java.lang.Thread.run(Thread.java:831) ~[na:na]항상 좋은 답변해주셔서 감사합니다. 하루동안 오류를 찾아내는데 못 찾겠습니다....ㅠ 도와주세요