묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨초보를 위한 쿠버네티스 안내서
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 이런식으로 서브네팅 했다는 것을 표현해주고, 서브넷 마스크가 바뀌면서 서브네팅 했다는 것을 표현해주는걸까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
안녕하세요! MSA에 대해서
안녕하세요! 궁금한게 있습니다. 저희회사에서는 프로젝트가 멀티모듈로 되어있습니다. 그리고 CMS(운영관리 모듈), API, COMMENT 모듈 이렇게 3개의 애플리케이션 모듈을 사내 도커레지스트리에 도커 이미지로 올리고 AWS에 각각 3개의 모듈을 띄우는데요! 이게 음.. 데이터베이스는 한개로 씁니다. 그러니까 각 3개의 데이터베이스가 따로 한개씩 있는 것이아닌 마스터 하나에 슬래이브 1개의 레플리카로 구성되어있습니다. 이것또한 MSA라고 할수있을까요? 신입이라 아직 정확하게는 모르겠지만 저는 DB도 각 애플리케이션 마다있어야한다고 보고 그게 MSA라고 생각하고 있거든요.! 선생님의 의견이 궁금합니다! 감사합니다.
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
너무 양질의 강의에 감사하다는 말씀드리고 싶습니다.
강사님의 재능기부 강의를 듣고 막막한 도커+쿠버에 많은 도움을 얻고 있습니다. 감사합니다. 현재 클라우드팀에서 근무를 하고있는 수강생입니다. 저도 비전공이지만 하반기에 관련분야로 대학원 진학 생각도 있고 실력을 키워서 미취학아동들에게 재능기부가 꿈인 사람입니다. devops + MLops를 꿈꾸고 있는데요 클라우드일을 하면서 공부계획을 세우는데 막막해서 개인적으로 진로를 여쭙고 싶습니다. 질문 Q.) 1. 실무에서 자주쓰는 devops 업무들만 엮어서 강의로 만들 생각은 없으신지 여쭙고 싶습니다. 2. 비전공자라 아직 필수 선수지식인 자료구조 알고리즘 강의도 들어보지 못했습니다. 클라우드팀에서 근무를 하고있지만 대학원 진로는 블록체인으로 잡으려 합니다. 공부 테크트리 알려주실 내용이 있으시면 알려주시면 감사하겠습니다. 실력을 일취월장하게 키워서 필드에서 선배님들 만나뵐 수 있엇으면 좋겠습니다. 감사합니다. 남은 연휴 즐겁게 보내세요~!^^