묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
13강 yml 파일에서
yml파일 작성할 때 driver-class-name이 Cannot resolve class 가 cj부터 Driver까지 뜨네요.build.gradle의 의존성은 다음과 같구요, 아래 질문들 보고 Ctrl Shift N 해봤을 때 Driver.java 파일도 잘 있는데 이것 때문에 서버 실행이 안됩니다.dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-jdbc' testImplementation 'org.springframework.boot:spring-boot-starter-test' runtimeOnly 'mysql:mysql-connector-java:8.3.0' }
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
new 키워드 사용X와 DI
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]안녕하세요, 강의를 수강하고 계속 돌려보면서 이해를 하려고 하는 과정에서 이해를 제대로 한 것이 맞는지 궁금해 질문을 드립니다.어떤 인터페이스 A가 있고 객체 B가 있다는 가정 하에 B가 A를 구현하게 되면 B는 구현체 클래스, A가 인터페이스가 됩니다. 근데 만약 객체 C가 A를 주입받아 사용한다면 당장은 편리하겠지만 서비스가 변화하면서 객체 C가 A를 구현한 D를 주입받아 사용해야하는 경우를 예로 들었을 때, C의 코드에서 A와 연동(?)이 되는 부분을 제거하고 이를 D와 연동(?)을 해야 한다는 번거로움이 존재하여 다형성이란 개념을 활용한다고 이해했습니다.C가 A를 주입받는다고 할 때 다형성에 기초하여 설명하면 C는 C고 C는 A가 된다고 이해할 수 있었습니다. 그럼 인터페이스 A를 구현한 구현체 클래스 D를 C와 연동(?)시키면 C의 코드를 수정할 필요가 없으니까 이게 DI인가..? 라고 이해했는데 이게 맞을까요?결론적으로 인터페이스를 객체에 직접 주입하고 인터페이스를 구현한 구현체 클래스와 객체를 연동(?)하여 사용한다는 것이 맞는지 궁금합니다.
-
해결됨스프링 핵심 원리 - 기본편
ApplicationContext
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강의 16분쯤에 ClientBean 클래스 안에 @Autowired로 스플링 컨테이너를 가져오는 의존관계 등록후. 가져온 스프링 컨테이너 안에서 프로토타입을 빈을 호출하는 것 까진 이해를 했습니다. 궁금한점은 스프링 컨테이너가 여러개 있는 경우 ClinetBean에 있는 ApplicationContext에 무엇이 들어올지 어떻게 알 수 있나요??
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
white label error 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]jdbcmemberrpository를 실행하려고 하면 회원가입, 회원 목록 조회에서 계속 white label 화면이 뜨더라구요ㅜ 프로젝트 파일 압축해서 올려놓겠습니다ㅜㅜhttps://drive.google.com/file/d/1YwdD-BMx7g5YGutSKdL9pKWCm45VCymo/view?usp=sharing
-
해결됨스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
ObjectMapper 지원안함....
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.ObjectMapper는 자바8에서만 지원하고 이제 스프링부트 3.0으로 넘어오면서 자바17버전을 사용하고 있어서 ObjectMapper 가 사용이 안됩니다... ObjectMapper를 대채할 메소드가 있나요 ??
-
미해결파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
헷갈려서 질문드립니다.
장고 채널스의 튜토리얼의 보고 도커 컴포즈로 레디스와 장고 서버를 연결 시켜주었습니다. 그런데 도커 환경에서도 redis 환경 변수 설정을 해주어야 하나요?
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
[5강 재귀] 3번 상담 문제 질문드립니다.
안녕하세요, 강의 너무 잘 듣고 있습니다.5강 최적화 강의의 3번 상담이라는 문제를 푸는데, 제공해주신 답변과 제가 작성한 코드에 차이가 있어 질문드립니다. [모범답안]def recur(idx, result): global answer if idx > n: if idx > n+1: return answer = max(answer, result) return recur(idx + table[idx][0], result + table[idx][1]) recur(idx + 1, result) n = int(input()) table = [[] for _ in range(n+1)] for i in range(n): a, b = map(int, input().split()) table[i+1] = [a, b] # print(table) answer = 0 recur(1, 0) print(answer)[제가 작성한 코드]# 14501 import sys sys.stdin = open('/Desktop/dev/BackJoon/5강_최적화/3_상담.txt','r') input = sys.stdin.readline N = int(input()) arr = [list(map(int, input().split())) for _ in range(N)] def recur(idx, price): global ans if idx >= N: # 배열의 마지막 인덱스를 지나가는 것은 무시 return if idx == N-1: # 배열의 마지막 인덱스 ans = max(ans, price) return recur(idx+arr[idx][0], price+arr[idx][1]) recur(idx+1, price) ans = 0 recur(0,0) print(ans)모범답안과 종료조건이 다른 것을 확인했습니다.제가 생각했을 때, 배열의 마지막 인덱스 (N-1)에서도 하루 짜리 일을 할 수도 있기 때문에 recur를 한번 더 돌수 있고 그 다음 인덱스 N 시점에서 종료되어야 한다고 생각해서 코드를 작성했습니다.혹시 제가 잘못 생각하고 있는 부분이 있을까요? 또한, 제공해주신 답변은table을 N+1의 길이로 생성recur(1,0)로 시작하고 있는데 해당 문제는 꼭 이렇게 접근해야 되는 것인가요? 미리 감사드립니다.
-
미해결
web_view 설치시(Mac M1)
안녕하세요수업내용대로 webview_flutter: ^4.7.0 를 pubspec.yaml에 넣어 Pub get하는데Running "flutter pub get" in web_view... The current Dart SDK version is 2.18.5.Because web_view depends on webview_flutter >=4.2.3 which requires SDK version >=2.19.0 <4.0.0, version solving failed.pub get failed (1; Because web_view depends on webview_flutter >=4.2.3 which requires SDK version >=2.19.0 <4.0.0, version solving failed.)Process finished with exit code 1 라고 뜹니다.현재 environment: sdk: '>=2.18.5 <3.0.0' 인데 어떻게해야 할까요?ㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
강사님과 조금 다른방식으로 풀었는데 왜 틀릴까요??
저는 강사님과는 반대로배열을 1로 다 채운다음받은 정사각형 만큼 0으로 바꾸었는데요어디서 잘못되어서 문제가 풀리지않을까요? ㅠㅠ #include <bits/stdc++.h> using namespace std; #define y1 aaaa int adj[104][104], visited [104][104]; vector<int> v; int n,m,k,x,y,nx,ny,res,x1,x2,y1,y2; const int dy[] = {-1, 0, 1, 0}; const int dx[] = {0, 1, 0, -1}; int dfs(int y,int x){ visited[y][x]= 1; int cnt=1; for(int i=0;i<4;i++){ ny = y +dy[i]; nx = x +dx[i]; if(nx<0||ny<0||ny>=m||nx>=n)continue; if(visited[ny][nx]==0 && adj[ny][nx]==1){ cnt+=dfs(ny,nx); }else{ continue; } } return cnt; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> m >> n >> k; fill(&adj[0][0],&adj[0][0]+m*n,1); for(int i=0;i<k;i++){ cin >> x1 >> y1 >> x2 >>y2; for(int x = x1;x<x2;x++){ for(int y = y1; y<y2; y++){ adj[y][x]=0; } } } for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ if(visited[i][j]==0 && adj[i][j]==1){ res++; v.push_back(dfs(i,j)); } } } sort(v.begin(),v.end()); cout << res << endl; for(auto z: v){ cout << z << endl; } return 0; }
-
미해결초보를 위한 쿠버네티스 안내서
host 브라우저에서 minikube ip에 접근이 안됩니다.
안녕하세요 강의 감사합니다.현재 저의 학습 세팅은 이렇습니다.Windows os + virtualboxvirtualbox에 centos7 설치강의 내용과 같이 yaml로 pod를 뛰우고 kubectl, minikube 조작까지 가능합니다.문제는 띄운 WORDPRESS를 HOST 윈도우 브라우저에서 MINIKUBE IP로 접근하려고 하면 접속이 안됩니다.MINIKUBE IP에 PING TEST를 해도 실패하고 있습니다.위 같은 상황은 어떻게 해야 할지 문의 드립니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)
검색어로 노래 목록 필터링이 안되는 문제
안녕하세요, 진석 님. '01-03 검색 지원' 강의를 듣다가 문제가 생겨 질문을 올립니다. 검색어 입력폼을 구현한 후,검색어로 '악뮤'를 입력하고 검색하면 필터링이 되지 않고 song_list 전체 목록이 뜹니다. 쿼리 값을 사용해서 song_list 필터링을 못하는 것 같은데... 원인을 파악하지 못한채 진석 님 코드로 덮어 쓰기에는 제가 너무 답답해서, 진석 님 코드랑 제 코드도 비교를 해보았는데 코드 까막눈이라 어디서 잘못된지 못 찾겠습니다... 우선 제 코드들과 검색 창을 캡처한 이미지를 같이 첨부했습니다. 도움 부탁 드립니다! <mydjango.py># mydjango.py import sys import django import requests from django.conf import settings from django.core.management import execute_from_command_line # from django.http import HttpResponse from django.shortcuts import render from django.urls import path settings.configure( ROOT_URLCONF=__name__, DEBUG=True, SECRET_KEY="secret", TEMPLATES=[ { "BACKEND": "django.template.backends.django.DjangoTemplates", "DIRS": ["templates"], } ], ) django.setup() def index(request): # qurery 있으면 가져오고, 없으면 빈 문자열로 가져오기 # => 사전에 지정 키가 없더라도 KeyError 예외를 발생시키지 않고 디폴트값 반환 query = request.GET.get("query", "").strip() # 검색어 json_url = "https://raw.githubusercontent.com/pyhub-kr/dump-data/main/melon/melon-20230906.json" response = requests.get(json_url) ''' #예외 발생 처리 코드 .ok 속성이 내부에서 raise_for status 함수를 사용하지만. 예외 발생이 아닌 True/False를 반환 - True: 서버 응답의 상태코드가 400 미만일 경우 - False: 서버 응답 상태코드가 400 이상, 600 미만일 경우 ''' if response.ok: song_list = response.json() else: song_list = [] if query: song_list = filter( lambda song: query in song["가수"], song_list, ) response.raise_for_status() song_list = response.json() return render(request, "index.html", {"song_list": song_list}) urlpatterns = [ path("", index), ] execute_from_command_line(sys.argv) <index.html>{# 장고 템플릿 엔진 주석 문법 : templates/index.html 경로의 파일 #} <!doctype html> <html lang="ko"> <head> <meta charset="UTF-8" /> <title>Melon List</title> <style> body { width: 400px; margin: 0 auto; } table { width: 100%; border-collapse: collapse; } table, th, td { border: 1px solid black; } form { margin-bottom: 10px; } form input { width: 100% } </style> </head> <body> <h1>Melon List</h1> <form action="" method="get" autocomplete="off"> <input type="text" name = "query" placeholder="검색어를 입력해주세요." autofocus/> </form> <table> <thead> <tr><th>곡명</th><th>가수</th></tr> </thead> <tbody> {% for song in song_list %} <tr> <td>{{ song.곡명 }}</td> <td>{{ song.가수 }}</td> </tr> {% endfor %} </tbody> </table> </body> </html> <main01.py># 더 많은 노래를 보여주고 싶어요. import requests # pip install requests from pprint import pprint # 가독성좋게 출력하기 위한 모듈 json_url = "https://raw.githubusercontent.com/pyhub-kr/dump-data/main/melon/melon-20230906.json" response = requests.get(json_url) response.raise_for_status() # 비정상 응답을 받았다면, HTTPError를 발생시킵니다. song_list = response.json() print(type(song_list), len(song_list), type(song_list[0])) pprint(song_list) <검색어에 '악뮤' 입력 시, 나오는 화면>
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 16페이지
m2 맥북에어 사용자인데cd /Library/Developer/CommandLineTools/usr/include로 해서 들어가는 거까진 했는데여기서 mkdir bits를 하니 permission denied 가 떠서 접근권한 문제인거 같은데 어떤거를 변경해야 할 지 몰라서 질문합니다.
-
해결됨Power Automate Level 4 - 휴가 신청/관리 시스템 만들기
연차차감시 항목가져오기 ID
안녕하세요 항목 가져오기 시 ID신청자로 선택하면 계속해서 에러가 발생하고, 고유 속성 ID로 선택하면 직원의 정보에 연차차감이 되는 것이 아니라 고유 속성 ID 번호에 매핑된 직원의 연차데이터에 승인된 연차가 차감 됩니다. 이 경우 어떻게 해야 하는지 도움 부탁 드립니다. 감사합니다
-
해결됨[핵집] 2025 빅데이터 분석기사(필기)_과목 3~4
[요청] 빅데이터분석기사(필기) 통합 교안 부탁합니다
안녕하세요.1-2, 3-4 강의 신청했습니다.1-2, 3-4 통합 교안 전달 부탁드립니다.감사합니다.
-
미해결스프링 시큐리티 OAuth2
JwtAuthorizationFilter에 대한 질문입니다!
안녕하세요.테스트를 하다 보니까 (결과적으론 저의 실수인데요) 토큰을 검증하는 로직이 두 번 실행되는 겁니다. Mac 방식과 Rsa 방식 둘 다요. OAuth2ResourceServer에서 분명 addFilterBefore()에서는 하나의 필터만 넣어주었는데 말이죠.궁금해서 찾아보니 OAuth2ResourceServer에서 Mac방식과 RSA 방식 모두를 Bean으로 만들어서 그런 거였습니다. addFilter에 넣은 커스텀 필터만 동작하는 줄 알았지만, OncePerRequestFilter를 상속하면 빈으로 만드는 것만으로도 필터 목록에 추가되더라고요. 확인해 보니 가장 마지막에 추가되는 것 같습니다. 여기서 질문입니다!addFilterBefore() 등의 함수로 커스텀 필터의 위치를 지정하하면서, 설정에서 MAC과 RSA의 bean을 둘 다 살리면서 동작하는 방법은 없는 걸까요~? GenericFilterBean을 상속하게 해서 구현해도 addFilter 없이도 동작을 하니까 아래처럼 두 Bean 모두 살아있으면 검증을 두 번 하게 되네요. @Bean public JwtAuthorizationMacFilter jwtAuthorizationMacFilter(OctetSequenceKey octetSequenceKey) throws JOSEException { return new JwtAuthorizationMacFilter(new MACVerifier(octetSequenceKey.toSecretKey())); } @Bean public JwtAuthorizationRsaFilter jwtAuthorizationRsaFilter(RSAKey rsakey) throws JOSEException { return new JwtAuthorizationRsaFilter(new RSASSAVerifier(rsakey.toRSAPublicKey())); }
-
해결됨김영한의 실전 자바 - 기본편
다형성 재정의에 질문이 있습니다.
[질문 내용]Dog dog = new Dog();위의 코드는 Dog 내부에 extends로 Animal이 있기에 Dog 클래스는 Animal 이라는 부모가 있는걸 알 수 있습니다. 하지만 Animal dog = new Dog();Animal 타입으로 Dog를 생성하면 힙메모리에는 Dog와 Animal이 하나의 영역에 생기지만 Animal 타입으로 선언하였기 때문에 힙메모리에서 Animal 부분을 먼저 바라볼 것으로 생각하는데 어떻게 Animal에서 자식 요소가 있는걸 알고 오버라이딩된 메서드가 우선적으로 처리되는건지 궁금합니다. annotation의 영향인가요? =======추가 질문!Animal dog = new Dog();위 코드와 같이 선언하면 자바에서는 자동으로 업캐스팅이 이뤄지는것 이라고 이해해도 될까요?Animal dog = (Animal) new Dog();위와 같이 자바에서 자동으로 형 변환을 시켜준다고 생각하면 되는건가요?!
-
해결됨개발자를 위한 쉬운 도커
스프링 빌드관련 질문드립니다
"EC2에서 스프링 도커로 배포하기"를 검색어로 구글링을 해보면 거의 모든 블로그들에서FROM amazoncorretto:17 ARG JAR_FILE=./build/libs/YOURAPP-0.0.1-SNAPSHOT.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"]이와같은 방식으로 도커파일을 작성하던데, 이는 잘못된 도커파일 사용인가요? 저의 가설 1 : 로컬에서 openjdk 17버전으로 빌드후 ec2에 푸시, ec2에서 해당도커파일 실행 -> 자바 버전차이로 잠재적 버그 가능성 -> 잘못된 사용 가설 2: ci/cd 머신에서 동일하게 amazoncorretto:17를 사용해서 자바 gradle를 빌드, 빌드머신에서 도커이미지 생성, ec2에서는 도커이미지만 pull-> 빌드스테이지를 나눌필요없음 -> 의도한 사용
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
thymeleaf에러
이렇게 타임리프에 노란줄이 뜨고run 실행하면 계속 처리시간이 계속 쌓이는데404에러가 뜨는데 어떻게 해결해야 좋을까요
-
해결됨SQL Server 컨설턴트가 알려주는, 쿼리 능력 레벨업(고급 T-SQL 쿼리)
수강기간 연장 문의
안녕하세요. 성능좋은SQL쿼리 수강하고 EntityFrameworkCore와 고급T-SQL 쿼리를 한꺼번에 결제했는데 6개월이 충분하지 않네요 . ㅜ.ㅜ 혹시 연장 가능할까요..?EntityFrameworkCore는 아주 잘 듣고 비효율적으로 썼던부분들 실무에도 적용해보고있습니다. 감사합니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
HttpServletRequest - 기본 사용법
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'servletComponentRegisteringPostProcessor': Instantiation of supplied bean failed at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1222) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1160) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:561) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:521) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:202) ~[spring-context-6.1.3.jar:6.1.3] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:788) ~[spring-context-6.1.3.jar:6.1.3] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:606) ~[spring-context-6.1.3.jar:6.1.3] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:334) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-3.2.2.jar:3.2.2] at hello.servlet.ServletApplication.main(ServletApplication.java:12) ~[classes/:na]Caused by: java.lang.NoClassDefFoundError: jakarta/servlet/annotation/WebServlet at org.springframework.boot.web.servlet.WebServletHandler.<init>(WebServletHandler.java:39) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.web.servlet.ServletComponentRegisteringPostProcessor.<clinit>(ServletComponentRegisteringPostProcessor.java:57) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.boot.web.servlet.ServletComponentScanRegistrar$ServletComponentRegisteringPostProcessorBeanDefinition.lambda$getInstanceSupplier$0(ServletComponentScanRegistrar.java:94) ~[spring-boot-3.2.2.jar:3.2.2] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainInstanceFromSupplier(AbstractAutowireCapableBeanFactory.java:1256) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.DefaultListableBeanFactory.obtainInstanceFromSupplier(DefaultListableBeanFactory.java:951) ~[spring-beans-6.1.3.jar:6.1.3] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.obtainFromSupplier(AbstractAutowireCapableBeanFactory.java:1216) ~[spring-beans-6.1.3.jar:6.1.3] ... 16 common frames omittedCaused by: java.lang.ClassNotFoundException: jakarta.servlet.annotation.WebServlet at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[na:na] ... 22 common frames omitted 이렇게 오류가 떠서 https://www.inflearn.com/questions/176890여기에 따라 지우는부분 지우고 다시실행해봤는데도 이러네요.강의부분 7분 30초까지 했습니다.서버를 중간에 다운했다 다시 시작하면 문제가 되나요?