묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
pandas-profiling과 wordcloud 설치 문제(5.도시공원 표준 데이터 활용)
밑의 사진과 같이 pandas-profiling이 설치가 안되는 것 같아요. you may need to restart the kernel to use updated packages. 계속 이런 에러 메세지가 뜨는데 해결방법은 무엇일까요? anaconda prompt로 들어가서 관리자 권한으로 실행해도 잘 안되네요.
-
미해결아이폰 앱 개발 입문 1편
xcode 화면 ui 가 달라서 따라갈수가 없어요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. main.storyboard 로 수업진행이 되는데 제 화면에서는 보이지가 않습니다.
-
해결됨초보를 위한 쿠버네티스 안내서
Ingress 질문
안녕하세요. 수업 잘 듣고있습니다. ingress 의 echo v1,v2 예제에서,.. v1과 v2는 둘 다 3000포트로 코딩이 되어있어 각 ingress를 등록시 3000으로 하는데요, 실제, 여러 앱이 쿠버네티스 클러스터에 올라가있는경우 서비스포트가 다 각자 다를 수 있을텐데, 그럼 각각 ingress에 다른 포트를 지정해놓고, 결국 외부에서는 80을 통해 각기 다른 포트를 가진 서비스를 로드밸런싱하면서 도메인 분기만으로 호출하도록 하는것이 가능한것인지요?
-
미해결스프링 핵심 원리 - 기본편
private final ObjectProvider<Mylogger> myLoggerProvider
안녕하세요 강의 잘 듣고 있습니다! 질문이 있는데요. private final Mylogger myLogger -> 위 변수 선언 시 , 일반적으로는 빈으로 등록되고 의존관계주입도 되며 생성자를 통한 초기화까지 일어나게 된다고 배웠습니다. private final ObjectProvider<Mylogger> myLoggerProvider -> 하지만 위의 경우 myLoggerProvider.getObjcect() 시에 빈을 찾아오고 없으니까 그 때 생성해서 가져오는 것으로 이해하였습니다. -> 그렇다면 , 위 변수 선언 문장에서는 단순히 선언만 하고 끝나는 것인가요? 선언 시에는 빈등록도 안되어 있을테고 , 의존관계 주입도 안되며 초기화도 안될 것 같아서요!
-
미해결스프링 핵심 원리 - 기본편
주문과 할인 도메인 개발: Order 설계 관련
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용] 주문과 할인 도메인 개발 (3:30) 부분에 나오는 내용입니다. calculatePrice와 같이 계산이 필요한 필드를 OrderService가 아닌 Order 도메인에 포함시킨 이유가 무엇인가요? calculatePrice도 일종의 비지니스 로직이라는 생각이 들어, 이 필드가 Service가 아니라 Domain 자체에 포함되어 설계된 이유가 궁금합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
새해 복 많이 받으세요!
진짜 유익하게 듣고 있습니다 !!
-
해결됨홍정모의 따라하며 배우는 C언어
다중 구조체로 구성된 자료구조에서 위치를 이동하는 함수 구현에 대한 질문입니다.
안녕하세요. 이 강의를 완강하고 부록 강의도 수강하다 의문이 생겨 질문드립니다. 이 강의와는 좀 거리가 있는 질문이긴 하지만 부록 강의에 올리면 질문 확인에 시간이 오래 걸릴것 같아 부득이하게 여기에 올립니다. 해당 코드는 제가 이진 트리(부록 강의 17.17)예제의 일부를 풀어본 것입니다. #include <stdio.h> #include <string.h> #include <stdlib.h> #include <stdbool.h> #define TMAX 20 #define MAXITEM 20 #define SPACING 30 void initialize(Tree* ptree); bool empty_tree(const Tree* ptree); bool full_tree(const Tree* ptree); int item_count(const Tree* ptree); int compare(const Item first, const Item second); Node* make_node(const Item* pi); // 요점 void move_to_index(movies** Head, int index); // 구현 목표 bool add_item(const Item* pi, Tree* ptree); // typedef struct { char character[TMAX]; char name[TMAX]; } Item; typedef struct node { Item item; struct node* left; struct node* right; } Node; typedef struct tree { Node* root; int size; } Tree; // 출력 함수 void print_item(Item item) { printf("%s (%s)\n", item.character, item.name); } void print_graph(Node* root, int space) { space += SPACING; if (root == NULL) { for (int i = SPACING; i < space; i++) printf(" "); printf("NULL"); return; } print_graph(root->right, space); printf("\n"); for (int i = SPACING; i < space; i++) printf(" "); print_item(root->item); print_graph(root->left, space); } void print_tree(Tree* ptree) { printf("\n--------Print Start--------\n"); print_graph(ptree->root, 0); // 그래프 출력 printf("\n---------Print End---------\n"); } // 출력 함수 int main() { Item items[] = { {"Iron Man","Tony Stark"}, {"Thor","Thor Odinson"}, {"Ant Man","Hank Pym"}, {"Wasp","Janet van Dyne"}, {"Hulk","Bruce Banner"}, {"Captain America","Strve Rogers"}, {"Scarlet Witch","Wanda Maximoff"}, {"Black Widow","Natasha Romanoff"}, {"Dr. Strange","Stephen Strange"}, {"Daredevil","Matthew Murdock"}, {"Punisher", "Frank Castle"}, {"Batman","Bruce Wayne"} }; int n = sizeof(items) / sizeof(items[0]); Tree tree; initialize(&tree); for (int i = 0; i < n; ++i) if (!add_item(&items[i], &tree)) break; print_tree(&tree); return 0; } // 편집 함수 static Node* make_node(const Item* pi) { Node* MakeNode = (Node*)malloc(sizeof(Node)); MakeNode->item = *pi; MakeNode->left = MakeNode->right = NULL; return MakeNode; } void initialize(Tree* ptree) { ptree->root = NULL; ptree->size = 0; } bool empty_tree(const Tree* ptree) { if (ptree->size == 0) return true; return false; } bool full_tree(const Tree* ptree) { if (ptree->size == MAXITEM) return true; return false; } int item_count(const Tree* ptree) { return ptree->size; } int compare(const Item first, const Item second) { return strcmp(first.character, second.character); } 우선 이 질문에 별로 필요하지 않는 부분은 지우고 하나의 소스파일에 모았습니다. 여기서 제가 구현하려고한 함수는 move_to_index입니다. 우선 add_item함수 코드입니다. bool add_item(const Item* pi, Tree* ptree) { if (full_tree(ptree)) { puts("Can't add more item."); return false; } if (ptree->root == NULL) { ptree->root = make_node(pi); ptree->size++; return true; } Node* AddItem = ptree->root; // 코드 가독성 위해 Node* 변수 사용 while (1) { int comp = compare(AddItem->item, *pi); if (comp == 0) { puts("Can't add duplicated item."); return false; } if (comp > 0) { if (AddItem->left != NULL) AddItem = AddItem->left; else { AddItem->left = make_node(pi); ptree->size++; return true; } } else { if (AddItem->right != NULL) AddItem = AddItem->right; else { AddItem->right = make_node(pi); ptree->size++; return true; } } } } 해당 함수는 트리에 새로운 노드를 추가하는 함수로 별 이상없이 작동합니다. 하지만 저는 이 함수에서 노드를 추가할 위치까지 이동하는 while 반복문을 사용자가 목표로 하는 노드까지 이동하는 별개의 함수로 구현하여 이를 노드의 추가 뿐만 아니라 삭제, 검색등 여러 작업에 사용하려고 했습니다. // 구현 실패 int goto_index(const Item* pi, Tree* ptree) { Node* Index = ptree->root; while (1) { int comp = compare(Index->item, *pi); if (comp == 0) return 0; if (comp > 0) // comp == 1 { if (Index->left == NULL) { ptree->root = Index; return 1; } Index = Index->left; } else // comp == -1 { if (Index->right == NULL) { ptree->root = Index; return -1; } Index = Index->right; } } } bool add_item(const Item* pi, Tree* ptree) { if (full_tree(ptree)) { puts("Can't add more item."); return false; } if (ptree->root == NULL) { ptree->root = make_node(pi); ptree->size++; return true; } int AddItem = goto_index(pi, ptree); // goto_index로 ptree의 포인터 이동 실패. 첫 노드 포인터 유지 if (AddItem == 0) { puts("Can't add duplicated item."); return false; } if (AddItem > 0) ptree->root->left = make_node(pi); else ptree->root->right = make_node(pi); ptree->size++; return true; } 하지만 해당 코드는 물론이고 매개변수를 이차원 포인터나 Tree* 형 변수로 바꿔보는 등 여러 시도를 해봤지만 모두 작동하질 않았습니다. 이 문제의 원인이 무엇인가요? 뭔가 풀릴듯 하면서 풀리지 않아 참 답답합니다. 답변 부탁드립니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
OrderITemDto 클래스 생성 위치
안녕하세요 좋은 영상 감사합니다. 다름이 아니라 OrderItemDto 는 OrderDto 안에서 사용하는 클래스이므로 OrderItemDto(내부 클래스) 의 다시 내부 클래스로 생성하는 것이 맞지 않나요? 영상에서는 OrderDto 와 동등한 레벨로 생성하셔서 궁금증이 들었습니다. 감사합니다^^
-
미해결Nuxt.js 시작하기
main.vue 파일 생성시 에러 발생
뷰에서 파일을 생성할때는 기존 html 태그와 구분을하기위해 두 단어의 조합을 권장한다고 배웠는데 이번강의에서는 main.vue와 같이 한단어로 파일을생성해서 1:1 error Component name "main" should always be multi-word vue/multi-word-component-names 위와 같은 에러가 발생하는거같습니다 .eslintrc.js 파일의 rules 부분에 아래 코드를 추가하니 에러는 사라졌습니다 'vue/multi-word-component-names': 0, 근데 강사님의 깃주소에서 완성된 소스를 다운받아서 .eslintrc.js 파일을 열어보니 위 코드가 없는데 에러없이 동작하는거 같습니다 혹시 따로 설정해야할게있는건가요?
-
미해결빅데이터분석기사 실기대비 (R 활용)
실기시험 업데이트
빅데이터 분석기사 3회 실기시험이 진행되었는데요. 이거 업데이트를 요청드립니다. 후기를 보니 2회 시험문제보다 많이 어려웠다고 하는데요.
-
미해결쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]
css_selector 질
안녕하세요. 강의 잘 듣고 있습니다 :) 17강(연습문제로 풀어보기3 : 동적 웹사이트 크롤링과 활용) 1분49초 부분 개발자모드로(F12) 로 보면 <span class=news > 뉴스: 머신러닝 강좌가 나왔어요~~ 로 나와있어서 elem = driver.find_element_by_css_selector("span.news") 로 코딩 후 run해 봤는데 데이터가 안 뜹니다. js로 html을 구현하는 방식으로 인해 위 코드가 먹히지 않는걸까요? js파일에서 news로 해당 데이터를 포함시켜서 위와 같이 span 태그를 포함시키는 경우 데이터 추출이 안되는 건가 싶어서 여쭤봅니다. 감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Random 0 ~ 101
Random함수에서 0 ~ 101 이라면 0 부터 100까지 수가 나오고 그러면 101개의 숫자가 나오는건데 33%가 정확히 맞는건가요? 0 ~100 까지 던가 1 ~ 101로 처리 해야 할까요? 제가 맞게 알고 있는지 몰라 질문드립니다!
-
미해결[라즈베리파이] IoT 딥러닝 Computer Vision 실전 프로젝트
안녕하세요 크리애플 구독관련해서 질문드립니다.
안녕하세요. 크리애플 3달전부터 구독취소 관련해서 질문 드렸던 사람입니다. 이번에도 구독 관련해서 돈이 빠져나가 취소관련해서 문의드립니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
RecursionError가 발생합니다
재귀함수 없이 코드를 돌렸을 때는 def Qsort(lt, rt): pos = lt pivot = arr[rt] for i in range(lt, rt): if arr[i] <= pivot: arr[i], arr[pos] = arr[pos], arr[i] pos += 1 arr[rt], arr[pos] = arr[pos], arr[rt] if __name__ == '__main__': arr = [45, 21, 23, 36, 15, 67, 11, 60, 20, 33] print('Before sort : ', end = ' ') print(arr) Qsort(0, 9) print() print('After sort : ', end = ' ') print(arr) Before sort : [45, 21, 23, 36, 15, 67, 11, 60, 20, 33] After sort : [21, 23, 15, 11, 20, 33, 36, 60, 45, 67] 로 결과가 잘 나왔습니다. 그런데 def Qsort(lt, rt): pos = lt pivot = arr[rt] for i in range(lt, rt): if arr[i] <= pivot: arr[i], arr[pos] = arr[pos], arr[i] pos += 1 arr[rt], arr[pos] = arr[pos], arr[rt] Qsort(lt, pos-1) Qsort(pos+1, rt) 재귀함수를 추가하니까 RecursionError: maximum recursion depth exceeded in comparison RecursionError가 발생했고 import sys sys.setrecursionlimit(10**6)을 추가해주니 Before sort : [45, 21, 23, 36, 15, 67, 11, 60, 20, 33] 만 나오고 After sort에 대한 결과가 안나옵니다ㅠㅠ 그냥 컴퓨터 문제일까요..?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
SpringBoot 버전 변경 후 매핑 문제
안녕하세요 강의를 보여 따라하던중 @NotEmpty 어노테이션이 안되는걸보고 질문을 검색하니 SpringBoot 버전을 변경해야 한다고 하셔서 build.gradle 파일을 교재에 나와있는데로 복붙하였습니다. 근데 그 이후부터 localhost:8080을 들어갈때 마다 아래와 같은 에러가 나면서 들어가지지를 않습니다. 코드에 문제가 있는건지 궁금합니다. 그리고 main밑에 생긴 generated 폴더도 무엇인지 궁금합니다. 2022-02-02 11:43:18.412 ERROR 12428 --- [nio-8080-exec-3] org.thymeleaf.TemplateEngine : [THYMELEAF][http-nio-8080-exec-3] Exception processing template "home": Error resolving fragment: "~{'fragments/footer' :: footer}": template or fragment could not be resolved (template: "home" - line 28, col 10) org.thymeleaf.exceptions.TemplateInputException: Error resolving fragment: "~{'fragments/footer' :: footer}": template or fragment could not be resolved (template: "home" - line 28, col 10) at org.thymeleaf.standard.expression.FragmentExpression.resolveExecutedFragmentExpression(FragmentExpression.java:619) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.standard.processor.AbstractStandardFragmentInsertionTagProcessor.computeFragment(AbstractStandardFragmentInsertionTagProcessor.java:379) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.standard.processor.AbstractStandardFragmentInsertionTagProcessor.doProcess(AbstractStandardFragmentInsertionTagProcessor.java:110) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.processor.element.AbstractAttributeTagProcessor.doProcess(AbstractAttributeTagProcessor.java:74) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.processor.element.AbstractElementTagProcessor.process(AbstractElementTagProcessor.java:95) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.util.ProcessorConfigurationUtils$ElementTagProcessorWrapper.process(ProcessorConfigurationUtils.java:633) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.engine.ProcessorTemplateHandler.handleStandaloneElement(ProcessorTemplateHandler.java:918) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.engine.StandaloneElementTag.beHandled(StandaloneElementTag.java:228) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.engine.TemplateModel.process(TemplateModel.java:136) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:592) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.spring5.view.ThymeleafView.renderFragment(ThymeleafView.java:362) ~[thymeleaf-spring5-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.spring5.view.ThymeleafView.render(ThymeleafView.java:189) ~[thymeleaf-spring5-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1394) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1139) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1078) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:961) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.2.jar:5.3.2] at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) ~[tomcat-embed-core-9.0.41.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.2.jar:5.3.2] at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.41.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.2.jar:5.3.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.2.jar:5.3.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.2.jar:5.3.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na] 2022-02-02 11:43:18.413 ERROR 12428 --- [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 org.thymeleaf.exceptions.TemplateInputException: Error resolving fragment: "~{'fragments/footer' :: footer}": template or fragment could not be resolved (template: "home" - line 28, col 10)] with root cause org.thymeleaf.exceptions.TemplateInputException: Error resolving fragment: "~{'fragments/footer' :: footer}": template or fragment could not be resolved (template: "home" - line 28, col 10) at org.thymeleaf.standard.expression.FragmentExpression.resolveExecutedFragmentExpression(FragmentExpression.java:619) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.standard.processor.AbstractStandardFragmentInsertionTagProcessor.computeFragment(AbstractStandardFragmentInsertionTagProcessor.java:379) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.standard.processor.AbstractStandardFragmentInsertionTagProcessor.doProcess(AbstractStandardFragmentInsertionTagProcessor.java:110) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.processor.element.AbstractAttributeTagProcessor.doProcess(AbstractAttributeTagProcessor.java:74) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.processor.element.AbstractElementTagProcessor.process(AbstractElementTagProcessor.java:95) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.util.ProcessorConfigurationUtils$ElementTagProcessorWrapper.process(ProcessorConfigurationUtils.java:633) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.engine.ProcessorTemplateHandler.handleStandaloneElement(ProcessorTemplateHandler.java:918) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.engine.StandaloneElementTag.beHandled(StandaloneElementTag.java:228) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.engine.TemplateModel.process(TemplateModel.java:136) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:592) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.spring5.view.ThymeleafView.renderFragment(ThymeleafView.java:362) ~[thymeleaf-spring5-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.thymeleaf.spring5.view.ThymeleafView.render(ThymeleafView.java:189) ~[thymeleaf-spring5-3.0.11.RELEASE.jar:3.0.11.RELEASE] at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1394) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1139) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1078) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:961) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.2.jar:5.3.2] at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) ~[tomcat-embed-core-9.0.41.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.2.jar:5.3.2] at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.41.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.2.jar:5.3.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.2.jar:5.3.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.2.jar:5.3.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]
-
미해결인터랙티브 개발 실무 끝장내기 [역량 강화편]
scrollTo
안녕하세요 강의 잘 보고 있습니다. 버튼을 누르면 페이지는 넘어가는데 behavior: 'smooth' 이부분이 적용이 안되는 것 같습니다.
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
쿼리 방식 선택 권장 순서
영한님 좋은 강의 항상 감사합니다. 쿼리 방식 선택 권장 순서의 4번재에서 스프링 JDBC Template을 사용한다고 하셨는데요. 그 전의 단계에서 myBatis와 같은 sql mapper는 왜 사용하지 않는것인가요? 아니면 JDBC Template에 의미상 myBatis도 포함한 것일까요? 관련해서 JDBC에 대하여 한가지만 더 여쭤본다면 JDBC란 Java Database Connection 이라고 알고 있는데요, 좀 더 광범위한 의미로 사용되기도 하는 걸까요? 예를 들어서 여러가지 툴에서(Google Data Studio 에서 DB를 연결할 때 등) DB연결 정보에 'JDBC URL' 이라고 표기되어 있는 것이 이해가 안되더라구요. Mysql 등 DB와 연관이 있는 것이지 Java 랑은 전혀 무관한 것 아닌가요. 미리 감사드립니다! 항상 건강하세요.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
기존 10버전에서 14버전으로 설치해도 그대로인경우
npm i node@14 > node@14.18.3 preinstall /Users/user/node_modules/node > node installArchSpecificPackage + node-darwin-x64@14.18.3 added 1 package in 2.49s npm WARN saveError ENOENT: no such file or directory, open '/Users/user/package.json' npm WARN enoent ENOENT: no such file or directory, open '/Users/user/package.json' npm WARN user No description npm WARN user No repository field. npm WARN user No README data npm WARN user No license field. + node@14.18.3 removed 1 package and updated 1 package in 6.83s USER-no-MacBook-Pro-2:front user$ node -v v10.24.1 - - - 기존의 10버전이여서 14버전으로 설치했는데 버전확인했을 때 변경되지 않고 그대로 10버전으로 뜨는 경우는 어떻게 해야하나요? 노드를 삭제한 후에 다시 설치해야하나요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
products가 출력되지 않습니다 !
안녕하세요 먼저 좋은 강의 항상 감사드립니다. 다름이 아니라 products 이미지가 출력되지 않아서요 ! 오류창 입니다. Failed to load resource: the server responded with a status of 404 () index.html:102 error 발생 : Error: Request failed with status code 404 at e.exports (isAxiosError.js:10:52) at e.exports (isAxiosError.js:10:52) at XMLHttpRequest.E (isAxiosError.js:10:52) index.html 코드입니다. <html> <head> <title>그랩마켓</title> <link href="index.css" type="text/css" rel="stylesheet" /> <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script> </head> <body> <div id="header"> <div id="header-area"> <img src="images/icons/logo.png" /> </div> </div> <div id="body"> <div id="banner"> <img src="images/banners/banner1.png" /> </div> <h1>판매되는 상품들</h1> <div id="product-list"></div> </div> <div id="footer"></div> </body> <script> axios .get("https://1a135b44-e524-4168-8a97-42364bfed983.mock.pstmn.io") .then(function (result) { console.log("통신결과 : ", result); const products = result.data.products; let productsHtml = ""; for (var i = 0; i < products.length; i++) { let product = products[i]; productsHtml = productsHtml + '<div class="product-card">' + "<div>" + '<img class="product-img" src="' + product.imageUrl + '" alt="" />' + "</div>" + '<div class="product-contents">' + '<span class="product-name">' + product.name + "</span>" + '<span class="product-price">' + product.price + "원" + "</span>" + '<div class="product-seller">' + '<img class="product-avatar" src="images/icons/avatar.png" alt="" />' + "<span>" + product.seller + "</span>" + "</div>" + "</div>" + "</div>"; } document.querySelector("#product-list").innerHTML = productsHtml; }) .catch(function (error) { console.error("error 발생 : ", error); }); </script> </html> 아래는 포스트맨 코드입니다. { "products" : [ { "name": "농구공", "price": 10000, "seller": "조던", "imageUrl": "images/products/basketball1.jpeg" }, { "name": "축구공", "price": 50000, "seller": "메시", "imageUrl": "images/products/soccerball1.jpg" }, { "name": "키보드", "price": 10000, "seller": "그랩", "imageUrl": "images/products/keyboard1.jpg" } ] } 어떤게 문제인지 알 수 있을까요?
-
미해결CCNA - Cisco Certified Network Associate (200-301) 자격증 과정
서브네팅 개념 질문
그럼 서브네팅이라는 것은 C클래스의 192.168.0.1 이라는 ip가 있다고 가정했을 때 그 ip 1개를 서브네팅을 통해서 여러 개 호스트 연결이 가능하게 한다라고 이해하면 될까요? 그러면 서브네팅 하기 전에 있는 ip리스트랑 서브네팅 후 ip리스트랑 겹치니까 /24 이런식으로 서브네팅 했다는 것을 표현해주고, 서브넷 마스크가 바뀌면서 서브네팅 했다는 것을 표현해주는걸까요?