묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결초보를 위한 쿠버네티스 안내서
쿠버네티스로 배포시 접속이 안됩니다 ㅠ
도커는 정상적으로 30000포트로 접속이 가능합니다. 쿠버네티스의 경우에는 접속이 되지 않습니다. http://127.0.0.1:32218/ http://192.168.49.2:32218/ 두 가지로 시도해봤는데 둘 다 접속이 안되는데 해결방법을 알 수 있을까요?
-
해결됨3dsmax 초급부터 전문가까지 - 한방에 끝내는 3dsmax 강좌
reflection 기능이 안됩니다ㅜㅜ..
재질 편집기 강의 중에 reflection 구간에서 막혀버렸습니다ㅠ 사물 반사 적용이 안되는 경우엔 어떡해야 하나요..ㅜㅜ??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
기본 생성자에 관해 질문드립니다.
13:43 부분을 보면 JPA 는 내부적으로 리플렉션을 통해서 객체를 생성하기 때문에 기본 생성자가 필요하다고 하셨는데요. 다음과 같이 기본 생성자는 생성하지 않고 코드를 돌리더라도 문제없이 돌아가던데, 내부적으로 기본생성자가 없더라도 동작하도록 변경이 된걸까요.? 추가) 추가적으로 강의를 진행 하던 중에 em.find() 로 실행하니 이제는 디폴트 메소드가 없다고 에러메시지가 출력이 되네요. persist() 할 때는 출력되지 않던 에러가 find() 에서는 출력되는데 어떤 메커니즘 차이 때문에 이런 결과가 발생하는 건가요.?
-
미해결남박사의 파이썬으로 실전 웹사이트 만들기
google.py 데이터가 안생깁니다.
3시간 가까이. 고민하고 찾아보고 해도 도저히 해결방법을 못찾겠습니다.. 디비를 못넣으면 수업진도를 나갈수가 없으니, 괴롭네요 문제점이 무엇인지 알려주시면 정말 감사하겠습니다. ---아래는 코드----- import requests from bs4 import BeautifulSoup from pymongo import MongoClient from datetime import datetime # 몽고DB client = MongoClient(host="localhost", port=27017) # myweb 데이터베이스 db = client.myweb # board 컬렉션 col = db.board # 구글 검색시 헤더값을 설저하지 않으면 브라우저에서 보이는것과 다른 결과가 나옴 header = { "user-agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Mobile Safari/537.36"} # 검색 결과의 5페이지까지만 수집 for i in range(6): # 구글 검색 URL, 검색어는 파이썬 url = "https://www.google.com/search?q={}&start={}".format("파이썬", i * 10) # url 접속 r = requests.get(url, headers=header) # 웹페이지의 검색 결과를 파싱하기 위한 준비 # lxml 라이브러리 사용(설치 요망) bs = BeautifulSoup(r.text, "lxml") # 검색 결과는 div 태그의 g 클래스 단위로 반복됨 lists = bs.select("div.CAEQAA") # 검색결과 루프 for l in lists: # 게시물 작성시간 기록을 위해 현재시간 저장 (utc 타임) current_utc_time = round(datetime.utcnow().timestamp() * 1000) try: # 검색 결과의 제목은 h3 태그의 LC20lb 클래스에 있음 title = l.select_one("div.V7Sr0.p5AXld.PpBGzd.YcUVQe").text # 검색결과의 요약내용은 div 태그의 s 클래스에 있음 contents = l.select_one("div.MUxGbd.yDYNvb").text # 몽고DB에 저장 # 작성자와 writer_id 설정 필요 col.insert_one({ "name": "테스터", "title": title, "contents": contents, "view": 0, "pubdate": current_utc_time }) except: pass
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 챗봇 사이트 만들기
Service Account 없을 때 해결 방법
google developer console 창에 돌아가셔서 만드신 프로젝트에 들어가고 오른쪽 상단 위(프로필 사진 아래) 점 세개 찍힌 아이콘 클릭 프로젝트 설정 누르면 서비스계정 (IAM 및 관리자) 페이지로 넘어갑니다. 왼쪽 sidebar에서 서비스계정 메뉴 누르면 service account 생성하는 화면이 나타납니다!
-
미해결실습 UI 개발로 배워보는 순수 javascript 와 VueJS 개발
e.stopPropagation()에 대해서 질문있습니다.
e.stopPropagation()으로 이벤트 버블링을 막지 않으면remove 버튼을 클릭했을 때 상위태그인 li태그(검색기록)의 이벤트가 같이 발생해서 검색기록 제거와 동시에 해당 li 클릭으로 인해 검색이 되어서 검색결과도 같이 출력이 된다로 이해했는데요. 저는 stopPropagation 사용 안하고 KeywordView의 onClickKeyword 함수에 ` if(e.target.tagName == 'BUTTON'){ return ; }`를 추가해 동일한 기능을 하도록 했습니다. 제가 잘 이해했는지, 뭐가 더 권장되는 방법인지 궁금하고 맞게 사용했는지 궁금합니다.
-
미해결자바스크립트 중고급: 엔진 핵심
키노트 다운받는 버튼이나 링크가 보이지 않네요.
키노트 다운받는 버튼이나 링크가 보이지 않네요. 저만그런건가요? 아무리 찾아봐도 찾을 수가 없네요ㅠㅠㅠ
-
미해결윤재성의 처음 시작하는 MySQL DataBase
SQL 설치 관련 문의사항입니다.
1. choosing a setup type에서 developer default로 설정 후 다음 화면에서 'execute' 버튼이 안 나옵니다. 2. check 버튼을 누르면 다음과 같은 에러 메시지가 나옵니다. 첫 설치부터 강의와 흐름이 다르네요..인터넷을 검색해보아도 execute 버튼이 안나오는 경우는 저 밖에 없는 것 같아 당황스럽습니다ㅜ 도와주세요.. 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
-
미해결파이썬 사용자를 위한 웹개발 입문 A to Z Django + Bootstrap
다른 사용자가 수정페이지에 접근하는 걸 막으려면 어떻게 하나요?
다른 사용자가 게시물 수정 페이지에 접근하는걸 막으려면 어떻게 해야 하나요? 로그인을 안한 사용자가 접근하는 건 뷰에 LoginRequiredMixin을 사용해서 막는데, 로그인은 했지만 작성자가 아닌 사용자가 접근하는 건 어떻게 막나 궁금합니다. PostUpdate 뷰를 아래처럼 수정해봤지만 form_valid가 템플릿을 생성한 후에 실행되는 건지 리다이렉트가 안됩니다. # /blog/post.pk/update/ GETclass PostUpdate(LoginRequiredMixin, UpdateView): model = Post # 템플릿: post_form fields = ['title', 'content', 'head_image', 'category', 'tags'] def form_valid(self, form): current_user = self.request.user pk = self.kwargs['pk'] current_post = Post.objects.get(pk=pk) # if current_user is current_post.author: return super(type(self), self).for_valid(form) else: return redirect('/blog/1/') 다른 사용자의 접근을 막는 방법과 form_valid가 언제 실행되는지 알려주시면 감사하겠습니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
return
L은 dfs를 진행할수록 증가하기 때문에 만약 L에서 sum이 m인 부분을 찾았으면 더 진행할 필요없이 L이 최소라고 생각해서 dfs함수에서 if L>=res: return 을 생략하고 def DFS(L, sum): global res if sum>m: return if sum==m: if L<res: res=L return # else: for i in range(n): DFS(L+1, sum+a[i]) sum이 m을 되자마자 return 하는게 나을거라 생각했는데 제 생각과는 달리 더 오래걸리더라구요. 왜 그런지 이유를 모르겠어요.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
Exercise 38 질문
안녕하세요 강의 잘 듣고 있습니다.Exercise 38에 관해 질문드립니다.지시사항을 보고 제가 처음 구상한 코드는 주어진 리스트에서 음수인 멤버를 제거한 뒤 0 이상의 정수만 남은 리스트를 출력하는 것입니다.이 구상에 따라 필요한 작업을 구분해보니 다음과 같습니다 :1. 주어진 리스트의 복본을 생성함. - 음수 삭제 방식으로 하려니 원본을 조작하면 인덱스가 바뀌는 문제가 해결되지 않아 복본을 만드는 방법을 구상하였습니다.2. for문으로 원본리스트의 인덱스를 순서대로 지나가도록 함.2-1. for문 안에서 if문으로 원본리스트의 각 멤버가 음수인지 판별함.2-2. 복본리스트의 멤버가 음수이면 복본리스트에서 remove메소드로 제거함.3. 최종으로, 음수가 제거된 복본리스트를 출력함.위의 구상대로 코드를 만들면 지시된 내용대로 출력이 될 줄 알았습니다.그러나 코드를 작성하고 실행해보니 에러가 발생하였고 구체적으로 살펴보니 다음의 세 가지 문제가 있어보입니다 :문제 1. "복본리스트(num_list_dupl)=원본리스트(num_list)" 식으로 작성하면 복본리스트를 remove메소드 등으로 조작해도 원본리스트는 불변하리라고 생각하였지만 원본리스트도 같이 변경됨을 확인하였습니다.문제 2. 위 문제 1과 연계되어, 원본리스트가 변경되는 바람에 원본리스트 멤버의 음수여부 판단하는 if조건문에서 3번째 인덱스의 멤버인 33이 그냥 지나쳐버리는 문제가 있습니다. 이는 원본리스트가 변경되면서 인덱스도 바뀌어 발생한 것으로 추측합니다.문제 3. 인덱스 6에서 에러가 발생하였습니다. 이 역시 문제 2에서 발견한 바와 같이 원본리스트가 변경되면서 인덱스 6이 없어진 이유로 발생한 에러로 파악합니다.결국 문제의 근원은 제가 복본리스트를 만든 코드에 있는듯 합니다.어떻게 하면 원본리스트가 불변하도록 복본리스트를 만들 수 있는지 알고 싶습니다.긴 질문 읽어주셔서 감사합니다.아래는 제가 작성한 해당 코드입니다.num_list = [0, -11, 31, 22, -11, 33, -44, -55]num_list_dupl = num_listprint("원본 리스트의 멤버 수는", len(num_list))print("원본 리스트의 복본 리스트 : ", num_list_dupl)print("============================================\n")for j in range(0,len(num_list)) : print("{}번째 반복문".format(j+1)) print("{}번째 리스트멤버의 값은 {}".format(j+1, num_list[j])) if num_list[j] < 0 : print("{}는 음수이므로 복본 리스트에서 제거함.".format(num_list[j])) num_list_dupl.remove(num_list[j]) #복본 리스트에서 음수인 멤버 제거. print("음수 제거 후 복본 리스트 : ", num_list_dupl) print("원본 리스트 : ", num_list) print("============================================") else : print("{}는 0이상의 정수".format(num_list[j])) print("복본 리스트 : ", num_list_dupl) print("원본 리스트 : ", num_list) print("============================================")
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
reactGo 실행 관련문의
안녕하세요. 현재 관리자 페이지 개발중이며, react로는 첫 개발이라서 next가 불필요하다 판단하였고 제로초님 말씀대로 reactGo 프로젝트를 받아 도움을 받아보려고 합니다. 헌데, 프로젝트 import 후 README.md에 나온대로 아래와 같이 실행하고 개발스택을 선택했지만 정상실행되지 않습니다. 제가 놓친부분이 있을까요? npm i -g @reactgo/clicd testreactgo 에러내용은 아래와 같습니다
-
해결됨문제로 배우는 C언어
46번 tmp질문드립니다
tmp값을 저기(★)에 쓰면 왜 출력값이 다르게 나오는지 궁금합니다 #include <stdio.h> #include<math.h> int arr[2][7]; int main() { int i,j,n,k,s,y,tmp=0; double sum=0; scanf("%d %d",&n,&k); for(i=0;i<n;i++){ scanf("%d %d",&s,&y); arr[s][y]++;} for(i=0;i<=1;i++){ for(j=1;j<=2;j++){ tmp=tmp+arr[i][j];} } sum=sum+ceil(tmp/(double)k); tmp=0; ★ for(i=0;i<=1;i++){ for(j=3;j<=5;j=j+2){ tmp=tmp+arr[i][j]; tmp=tmp+arr[i][j+1]; sum=sum+ceil(tmp/(double)k);} } printf("%d\n",(int)sum); return 0; }
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
게시글 삭제 질문있습니다.
게시글을 삭제할때 findOne 을해서 조건을 입력해서 맞는것을 필터를 통해 제거하거나 이렇게 하는것으로 배웠는데, 게시글이나 유저가 엄청 많아지면, findOne 하는 속도가 오래걸리거나 동시에 요청이 들어오면 무리가 가지 않나요?? 이런거는 어떤식으로 해결해야하나요?
-
미해결자바스크립트 비기너: 튼튼한 기본 만들기
Built-In 질문입니다.
해당 실행되는 원리는 설명을 잘 해주셔서 이해했는데, 그럼 new를 사용하지 않는 number에서도 built-in 프로퍼티를 사용하면 똑같은 원리로 동작하는 건가요?
-
미해결파이썬 무료 강의 (활용편2) - GUI 프로그래밍 (4시간)
[메모장 퀴즈]스크롤바 매핑 중 tclError 발생
안녕하세요! 파이썬 활용편2(GUI 프로그래밍)를 수강하고 있습니다. 메모장 만들기 퀴즈에서 , 9분 28초에서 설명하시던 대로 스크롤바를 매핑하기 위해 코드를 수정했는데 아래 내용처럼 오류 메시지가 나타납니다. 혼자 힘으로는 어디서 실수한 건지 알아내기 힘들어 이렇게 질문 여쭙습니다. 오류 메시지 : Exception has occurred: TclError unknown option "-yscrollcomand" File "C:\Users\gyqls\Desktop\pythonworkspace\byme.py", line 37, in <module> txt = Text(root, yscrollcomand=scrollbar.set) 작성중이던 코드: from tkinter import * root = Tk() root.title("제목 없음 - Windows 메모장") #리본메뉴 menu=Menu(root) menu_file = Menu(menu, tearoff=0) def open(): pass def save(): pass menu_file.add_command(label="Open(O)", command=open)#mynote.txt 열어서 보여주기 menu_file.add_command(label="Save(S)", command=save)#mynote.txt에 저장하기 menu_file.add_separator() menu_file.add_command(label="Exit(X)", command=root.quit)#종료 menu.add_cascade(label="파일(F)", menu=menu_file) menu.add_cascade(label="편집(E)") menu.add_cascade(label="서식(O)") menu.add_cascade(label="보기(V)") menu.add_cascade(label="도움말(H)") root.config(menu=menu) #스크롤바 scrollbar = Scrollbar(root) scrollbar.pack(side="right", fill = "y") txt = Text(root, yscrollcomand=scrollbar.set) txt.pack(side="left", fill="both", expand=True) scrollbar.config(command=txt.yview) root.mainloop()
-
해결됨홍정모의 따라하며 배우는 C++
(9:30)검토 부탁드립니다. 보기 편하게 만들었어요.
*150% 확대해서 보면 보기 편합니다. 1. 문제 발생 // 1번 주소 값 void doSomething(int studnet_score[20]) { cout << (int)&studnet_score << endl; //@1 } // 2번 주소 값 int main() { int student_score[20] = { 1, 2, 3, 4, 5 }; cout << (int)&studnet_score << endl; // @2 doSomething(studnet_score); } @1과 @2의 주소 값이 다르다!! 2. 문제 원인! void doSomething(int studnet_score[20]) { cout << (int)&studnet_score << endl; -------------------- cout << studnet_score[0] << endl; | -> 포인터 변수들 cout << studnet_score[1] << endl; ----------------------- } // void doSomething 파라미터 안에 있는 배열은 사실 배열이 아니다! // 포인터 변수이다! // 즉, { }안에 있는 studnet_score[0]들도 포인터 매개변수들이다! 3. 주소 값이 다른 이유! // #1 int main() { int student_score[20] = { 1, 2, 3, 4, 5 }; // @1 : 난 선언과 동시에 주소값 있지롱~! cout << (int)&studnet_score << endl; doSomething(studnet_score); // @2 : 나도 주소 값 가지고 싶어!! } // #2 int main() { int student_score[20] = { 1, 2, 3, 4, 5 }; // @1 : 내꺼 줄게 같이 쓰자! cout << (int)&studnet_score << endl; doSomething(studnet_score); // @2 : 고마워!! } // #3 void doSomething(int studnet_score[20]) // @3 : 주소 받을 자리, 새로 만들어야겠네! // (@1번의 주소를 받기 위한 새로운 주소를 만듬) { cout << (int)&studnet_score << endl; // @3 : 내가 그 새로운 주소의 주인공이야! } int main() { int student_score[20] = { 1, 2, 3, 4, 5 }; cout << (int)&studnet_score << endl; doSomething(studnet_score); // @2 : void야! @1번한테 받은 주소값 보내줄게! ↑ } // #4 void doSomething(int studnet_score[20]) { cout << (int)&studnet_score << endl; // @3 : 나는 @1번의 주소를 가져오기 위한 주소값이야! cout << (int)&studnet_score[0] << endl; // @4 : 야!! @3번! 너 나랑 주소값이 다르잖아! } // #5 void doSomething(int studnet_score[20]) { cout << (int)&studnet_score << endl; cout << (int)&studnet_score[0] << endl; // @4 : @1의 첫 번쨰 주소값하고 같구나! } int main() { int student_score[20] = { 1, 2, 3, 4, 5 }; cout << (int)&studnet_score << endl; // @1 : 반갑다, @4번! 나랑 같은 주소값이야! cout << (int)&studnet_score[0] << endl; // @5 : 어서와, @4번. 나도 너랑 같아. doSomething(studnet_score); } 4. 정리 main의 배열 student_score[0](첫 번째) 주소 값 복사 -> void의 파라미터는 주소값을 받기 위한 주소 만듬 -> void의 포인터 배열은 [0](첫 번째)부터 main의 student_score과 같은 주소지를 갖음 의문점) <2 .문제 원인>에서 void 안에 있는 변수는 모두 포인터 변수라고 하셨는데, 그러면 아치피 main에서 주소값 받기 위해서 만든 새로운 주소값으로 쭉쭉 나가면 될건데... 어째서 [0](첫 번째)부터는 main 배열[0](첫 번째)와 다시 주소가 같게 한 걸까요...? 궁금합니다..
-
미해결실전! 웹사이트제작! Step by Step! (와이스튜디오_반응형웹)
애니메이션
프로젝트부분에 포트폴리오올리는 부분이요. 그부분 애니메이션이 부드럽게 안올라오고 버퍼링걸린거처럼 되다가 그다음에 올라오는데 이거 어떻게 수정하나요.
-
해결됨타입스크립트 입문 - 기초부터 실전까지
타입스크립트 문법 체크 관련 질문 드립니다.
typescript강의를 듣고 있는데요 할일 프로젝트에서 강사님 동영상에서는 메소드를 정의 해놓고 사용하지 않는 메소드에서는 물결로 경고 표시가 나왔는데 제 경우에는 그런게 안떠서요 elint tslint는 플러그인으로 설치했습니다. 왜 그런지 궁금합니다.
-
해결됨타입스크립트 입문 - 기초부터 실전까지
object 배열 질문 드립니다.
typescript 강의를 듣고 있는데요 할 일 프로젝트에서 변수와 메소드 반환 타입을 지정하고 하고 있는데 강사님은 object[] 로 정하셨는데 혹시 Array<object>로 해도 되는건가요?