묻고 답해요
129만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프2탄]
redirect , session
안녕하세요. 강의 듣다가 헷갈린 부분이 있어 질문 남깁니다 redirect 는 forward 와 다르게 요청 정보가 유지되지 않은 걸로 아는데 MemberLoginController 에서 세션을 만들고 memberList.do 로 redirect 를 할때 이때 만들어 놓은 session 을 memberList.do에서 받을 수 있는 건가요 ???
-
미해결호주 현직 자바 개발자가 묻고 답하는 영어 기술면접 25
접근제한자의 차이 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 추상클래스는 모든 접근제한자가 사용 가능하고 인터페이스는 오직 public만 가능하다고 정리해주셨는데 두 클래스의 접근제한자 사용 가능 여부가 차이나는 이유는 무엇인가요? 단일 상속과 다중 상속의 차이 때문인가요?
-
미해결15일간의 빅데이터 파일럿 프로젝트
클라우데라 매니저 접근 후 다음으로 넘어가지 않습니다.
클러스터 로그인 후 Welcome 페이지 -> select edition 이후계속 버튼을 눌러도 다음으로 진행이 되지 않습니다. 빈페이지로만 나옵니다. 실습 진행이 되지 않는데 해결할 수 있는 방법이 없을까요?
-
미해결Nuxt.js 시작하기
포트 변경시 접속이 안됩니다
콘솔창에 정상적으로 주소가 뜨고 그 주소를 클릭하거나 주소창에 입력하면 localhost에 대한 액세스가 거부됨 이 페이지를 볼 수 있는 권한이 없습니다. HTTP ERROR 403 이렇게 뜹니다
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
Self Join 질문이요
self join 할 때 Employee.managerid = Manager.id 를 하는데 조인할 때는 같은 콜럼끼리만 가능한거 아닌가요?? managerid랑 id는 다른 테이블인데 이게 왜 가능한건지 궁금합니다~!
-
미해결만들면서 배우는 리액트 : 기초
와~ 선생님 이거 너무 편한데요?
와~ 이렇게 배포하는 방법이 있었네요^^ 선생님, 그런데 gh-pages 브랜치를 따로 만들어서 배포하는 방식과 이 방식의 차이점이 있을까요? 이 방식을 더 권장한다던가, 더 최신의 방법이라던가~ 아무튼 이 방법은 main 브랜치에 바로 적용이되니 push만 해도 변경사항이 바로 적용이 되서 너무 좋네요~
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
import antd 질문입니다.
message.info 랑 message.error를 사용하셨었는데 antd를 import 하실때 Button 만 import 하시고 message는 import 하는 부분이 영상에는 없었던거 같은데 그러면 컴파일 할 때 에러가 나지 않나요? 저는 에러가 발생해서 소스 코드랑 비교해보니 message import 하는 부분이 없어서 message 추가하고 나서 정상적으로 됐었거든요
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
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달전부터 구독취소 관련해서 질문 드렸던 사람입니다. 이번에도 구독 관련해서 돈이 빠져나가 취소관련해서 문의드립니다.