묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실습으로 배우는 AWS 핵심 서비스
윈도우 환경에서의 ssh 키포워딩을 이용한 private 서브넷 접속
좋은 강의 잘 듣고 있습니다. 그런데 윈도우 환경에서 키포워딩을 이용한 private 서브넷 접속이 되지 않습니다. 환경은 윈도우의 powershell을 이용하였습니다. public 서브넷에 접속했을 때, ssh-add -l 명령어를 보면 public key와 private key가 모두 있는 것 같은데, 아무리 해도 public 서브넷에서 private 서브넷으로 접속이 되지 않습니다. public 서브넷에 private 키를 그대로 복사하면 private 서브넷에 접속이 되는 것으로 보아 키에는 문제가 없습니다. 몇 시간동안 구글링 해서 온갖 방법을 다 한 것 같지만 무엇이 문제인지 잘 모르겠어서 질문 올립니다. 이 정도의 정보만으로는 원인을 파악하기 힘드실 것이라고 생각합니다. 추가적으로 필요한 정보를 말씀해주시면 캡처나 복사하여 올리겠습니다. 감사합니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결진짜 현업에서 쓰이는 직장인의 실무 엑셀 - 데이터 가공부터 분석까지
시트(파일) 통합시, 시트명(파일명) 표시방법 문의.
안녕하세요 아래와 같이, 한개의 파일에 특정 이름을 가진 시트들을 Power Query를 사용해통합 data를 만들고자 합니다. 이때에, query로 취합된 data table에 시트명을 표현할 방법이 있는지 문의 드립니다. 그리고, 특정 폴더에 있는 파일들을 통합하여 data table만들경우파일명도 취합 data table에 들어가게 할수 있는 방법이 있는지도 문의 드립니다. ※ 예시 - 특정시트의 table (다른 시트도 동일한 포멧) - 취합 data
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
예제 5번에서 오류가 납니다
챕터 4_2에서 강의랑 똑같이 입력했는데 이런 오류가 나오는데 이유를 잘 모르겠습니다 ㅠㅠ 오류내용 Traceback (most recent call last): File "c:\Users\pythong\python_basic\for.py", line 4, in <module> from curses.ascii import isupper File "C:\Users\pythong\AppData\Local\Programs\Python\Python310\lib\curses\__init__.py", line 13, in <module> from _curses import *ModuleNotFoundError: No module named '_curses'PS C:\Users\pythong\python_basic>
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
PlayerController.cs에 TEMP 연결할 때 에러 문의 드립니다.
안녕하세요. 아래와 같이 영상 16분 정도에 나와서 실행되는지 연습하는 과정 즉 PlayerController.cs에 TEMP로 연결할 때 에러가 생깁니다. 왜 그런 것일까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
find_elements 텍스트
안녕하십니까 강사님 전에 find_elements의 리스트 결과에서 텍스트를 뽑아내는 방법을 여쭤봤습니다. 그런데 구글검색을 한 결과나 강사님께서 주신 답이나 둘 다 똑같이 반복문을 이용하면 된다는 말 뿐이고실질적으로 어떻게 해야할지 감이 잘 잡히지 않는데,아래 예시에서 어떤 식으로 반복문을 활용해야 할지 궁금해서 질문드립니다. 뽑아내고 싶은 텍스트: if len(li.find_elements(By.CSS_SELECTOR, "span._2FqTn._4DbfT")) > 0: (1) 네이버 맛집 검색 결과에서 len을 사용해 영업중인지 여부를 파악하는것 + (2) 영업중이라면 "영업중"이라는 결과가 text로 나오게 하는 것 전체 명령어 # 데이터 저장 후 마무리 import imp from lib2to3.pgen2 import driver from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time import pyautogui import openpyxl keyword = pyautogui.prompt("검색어를 입력하세요") wb = openpyxl.Workbook() ws = wb.create_sheet(keyword) ws.append(["순위", "이름", "별점", "방문자리뷰", "블로그리뷰"]) # 크롬 드라이버 자동 업데이트 from webdriver_manager.chrome import ChromeDriverManager # 브라우저 자동으로 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option("detach", True) # 불필요한 에러 메시지 삭제 chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) # 셀레니움으로 웹브라우저 자동으로 띄우기 # ChromeDriverManager를 통해서 ChromeDriver를 설치하고, Service라는 객체를 만든 뒤, service라는 변수에 저장한다 service = Service(executable_path=ChromeDriverManager().install()) browser = webdriver.Chrome(service=service, options=chrome_options) # 특정 웹페이지 주소로 이동 browser.implicitly_wait(5) # 웹페이지가 로딩 될때까지 5초는 기다려준다 browser.maximize_window() # 화면 최대화 browser.get('https://map.naver.com/v5/?c=14141023.2182021,4522932.8702864,15,0,0,0,dh') # 검색 배너 클릭 search = browser.find_element(By.CSS_SELECTOR, "input.input_search") search.click() time.sleep(1) # 검색어 입력 search.send_keys(keyword) search.send_keys(Keys.ENTER) # 검색어를 입력하고, 엔터를 치라는 명령어 time.sleep(2) # iframe 안으로 들어가기 browser.switch_to.frame("searchIframe") # searchIframe는 iframe의 id다. # 들어가는 것과 반대로, iframe 밖으로 나와서 원래 사이트로 돌아가는것 # browser.switch_to_default_content() # iframe 안쪽 클릭하기 browser.find_element(By.CSS_SELECTOR, "#_pcmap_list_scroll_container").click() # 로딩된 데이터 개수 확인 lis = browser.find_elements(By.CSS_SELECTOR, "li._1EKsQ") before_len = len(lis) # lis를 통해 각 가게를 나타내는 li를 가져오고, len을 통해 몇 개가 있는지를 확인한다. while True: # 맨 아래로 스크롤을 내리자. browser.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END) # 아무 태그나 선택하기 위해서 body를 선택한다. # 스크롤 사이에 페이지 로딩 시간을 기다려주자 time.sleep(1.5) # 스크롤 후 로딩된 데이터 개수 확인 lis = browser.find_elements(By.CSS_SELECTOR, "li._1EKsQ") after_len = len(lis) # print("스크롤 전", before_len, "스크롤 후", after_len)를 추가해서, 실제로 스크롤이 잘 되는지 결과를 확인할 수 있다(word 참조) # 로딩된 데이터 개수가 같아지면(= 한 페이지에서 더이상 스크롤을 내려도 새로운 정보가 없다면) 반복 멈춰라 if before_len == after_len: break before_len = after_len # 만약 before_len == after_len가 True가 아니라면, before_len을 after_len으로 만들어주라 # for문 시작하기 전에, 데이터 기다리는 시간을 0으로 만들어주자(데이터가 없는건 그냥 빠르게 넘어간다) browser.implicitly_wait(0) rank = 1 for li in lis: # lis는 가게 정보를 담고 있으니까 여기에 for문을 써서 가게정보를 가져오자 # 광고상품 아닌 것만 -> len을 넣어서 결과가 0이라면 광고 CSS에 아무 결과가 없다는 뜻이다. # 그 뒤, 아래 기존 명령어를 전부 drag하고 tab을 눌러주자. if len(li.find_elements(By.CSS_SELECTOR, "svg._2ulu3")) == 0: # 별점이 있는 가게만 가져오자 # 별점부분 정보를 가져왔을 때, 해당 리스트의 길이가 0보다 크다면, 즉, 무언가 별점에 관한 정보가 있다면 명령문을 진행한다. if len(li.find_elements(By.CSS_SELECTOR, "span._2FqTn._1mRAM > em")) > 0: # word 참조 # 가게명 name = li.find_element(By.CSS_SELECTOR, "span.place_bluelink.OXiLu").text # 별점 star = li.find_element(By.CSS_SELECTOR, "span._2FqTn._1mRAM > em").text # 영업 시간이 있다면? if len(li.find_elements(By.CSS_SELECTOR, "span._2FqTn._4DbfT")) > 0: # 영업중이든 종료든 무언가 정보가 있다면 다음을 실행하라는 뜻 # 방문자 리뷰수 try: visit_review = li.find_element(By.CSS_SELECTOR, "span._2FqTn:nth-child(3)").text except: visit_review = "0" # try의 결과가 text니까, try의 명령어가 True가 아닌 결과값도 ""를 통해 text 형태로 만들어주자. # 블로그 리뷰수 try: blog_review = li.find_element(By.CSS_SELECTOR, "span._2FqTn:nth-child(4)").text except: blog_review = "0" # 영업 시간이 없다면: 제일 앞에 span 태그가 하나 사라지니까, nth-child도 하나씩 숫자를 줄이자 else: # 방문자 리뷰수 try: visit_review = li.find_element(By.CSS_SELECTOR, "span._2FqTn:nth-child(2)").text except: visit_review = "0" # 블로그 리뷰수 try: blog_review = li.find_element(By.CSS_SELECTOR, "span._2FqTn:nth-child(3)").text except: blog_review = "0" # print 전 데이터 전처리 visit_review = visit_review.replace("방문자리뷰 ", "").replace(",", "") blog_review = blog_review.replace("블로그리뷰 ", "").replace(",", "") print(rank, name, star, visit_review, blog_review) ws.append([rank, name, float(star), int(visit_review), int(blog_review)]) rank = rank + 1 # rank를 저장한 뒤, for문 마지막에 1개 더 높여주자. wb.save(f"{keyword}.xlsx")
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
mongoose update 구문 질문
안녕하세요. blog에 comment 내장하는 강의에서 보면 const blog = Blog.findById(id); const comment = new { ..., blog} // 이렇게 댓글에 blog 객체를 준 후 Blog.updateOne({ _id: id}, { ... }) // 이렇게 blog에 댓글 갯수나, 최근 댓글 업데이트 하는 구문이 있는데요 blog에서 _id 는 unique값이니까 blog.update({ ... }) 이렇게 써도 될까요? 테스트해보니까 update는 되는데요 다른 쪽 영향범위일 수도 있는데 간헐적으로 댓글 수 $inc가 안되는 blog들이 생기는거 같기도해서요ㅠㅠ Blog.updateOne 으로 사용하는게 좋을까요?
-
미해결(신규 강의로 재오픈 예정) 스스로 구축하는 AWS 클라우드 네트워크 - 기본편
VPN터널이 Up되지 않습니다.
안녕하세요. 실습중에 막힌 부분이 있어서 하나 질문드립니다. 도쿄리젼의 EC2에 openswan설치, 설정후 network와 ipsec을 restart해도 터널이 기동하지 않습니다. 서울 리젼의 Customer Gateway를 만들때 라우팅을 static으로 지정하지 못한 부분(UI가 변경되었을것으로 추측) 이외에는 똑같이 설정하였습니다. AWS쪽의 방화벽 설정 도쿄 서울 vpc와 ec2의 acl과 security group의 설정상 열려 있는걸 확인했고, 아래 파일들의 내용에 입력미스가 없는걸 확인했습니다. /etc/sysctl.conf /etc/ipsec.d/aws.conf /etc/ipsec.conf /etc/ipsec.d/aws.secrets 새로운 AWS계정으로 처음부터 강의를 다시보고 실습해보아도 똑같은 상황이 발생 했습니다. tcpdump로 도쿄EC2에 흐르는 패킷을 확인해보니 터널쪽 ip와 전혀 소통이 없어서 openswan이 제대로 동작되지 않는것 같습니다. 이 문제를 해결하지 못해 질문 남겨봅니다. [root@ip-10-4-1-112 log]# service ipsec statusRedirecting to /bin/systemctl status ipsec.service● ipsec.service - Internet Key Exchange (IKE) Protocol Daemon for IPsec Loaded: loaded (/usr/lib/systemd/system/ipsec.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2022-07-31 06:39:52 UTC; 2s ago Docs: man:ipsec(8) man:pluto(8) man:ipsec.conf(5) Process: 7837 ExecStopPost=/usr/sbin/ipsec --stopnflog (code=exited, status=0/SUCCESS) Process: 7834 ExecStopPost=/sbin/ip xfrm state flush (code=exited, status=0/SUCCESS) Process: 7832 ExecStopPost=/sbin/ip xfrm policy flush (code=exited, status=0/SUCCESS) Process: 7830 ExecStop=/usr/libexec/ipsec/whack --shutdown (code=exited, status=0/SUCCESS) Process: 8092 ExecStartPre=/usr/sbin/ipsec --checknflog (code=exited, status=0/SUCCESS) Process: 8089 ExecStartPre=/usr/sbin/ipsec --checknss (code=exited, status=0/SUCCESS) Process: 7849 ExecStartPre=/usr/libexec/ipsec/_stackmanager start (code=exited, status=0/SUCCESS) Process: 7845 ExecStartPre=/usr/libexec/ipsec/addconn --config /etc/ipsec.conf --checkconfig (code=exited, status=0/SUCCESS) Main PID: 8105 (pluto) Status: "Startup completed." CGroup: /system.slice/ipsec.service └─8105 /usr/libexec/ipsec/pluto --leak-detective --config /etc/ipsec.conf --nofork Jul 31 06:39:52 ip-10-4-1-112.ap-northeast-1.compute.internal pluto[8105]: adding interface lo/lo ::1:500Jul 31 06:39:52 ip-10-4-1-112.ap-northeast-1.compute.internal pluto[8105]: | setup callback for interface lo:500 fd 19Jul 31 06:39:52 ip-10-4-1-112.ap-northeast-1.compute.internal pluto[8105]: | setup callback for interface lo:4500 fd 18Jul 31 06:39:52 ip-10-4-1-112.ap-northeast-1.compute.internal pluto[8105]: | setup callback for interface lo:500 fd 17Jul 31 06:39:52 ip-10-4-1-112.ap-northeast-1.compute.internal pluto[8105]: | setup callback for interface eth0:4500 fd 16Jul 31 06:39:52 ip-10-4-1-112.ap-northeast-1.compute.internal pluto[8105]: | setup callback for interface eth0:500 fd 15Jul 31 06:39:52 ip-10-4-1-112.ap-northeast-1.compute.internal pluto[8105]: loading secrets from "/etc/ipsec.secrets"Jul 31 06:39:52 ip-10-4-1-112.ap-northeast-1.compute.internal pluto[8105]: loading secrets from "/etc/ipsec.d/aws.secrets"Jul 31 06:39:52 ip-10-4-1-112.ap-northeast-1.compute.internal pluto[8105]: initiating all conns with alias='Tunnel1'Jul 31 06:39:52 ip-10-4-1-112.ap-northeast-1.compute.internal pluto[8105]: initiating all conns with alias='Tunnel2'
-
미해결배달앱 클론코딩 [with React Native]
ERROR
yarn run start 하면 앱 실행하면 아래의 오류가 나옵니다 ERROR Error: RNEncryptedStorage is undefined ERROR Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect. This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native. ERROR Invariant Violation: Module AppRegistry is not a registered callable module (calling runApplication). A frequent cause of the error is that the application entry file path is incorrect. This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원 서비스 테스트 강의 중 fail(); 에러
잘 따라가고 있었는데 중간 실행하는중에 오류가 발생해서 질문 드립니다. 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 회원 서비스 테스트 강의 재생시간 9분 정도입니다.
-
미해결Klaytn 클레이튼 블록체인 어플리케이션 만들기 - 이론과 실습
npm install 에러
node 버전을 10으로 하면 괜찮다고 하시는 분이 계셔서 버전을 낮춰봤지만, npm 설치시 최신 버전이 아니라서 실행이 되지 않았습니다. 현재 node 버전은 16입니다만, 실행을 할 경우 아래와 같은 에러가 발생하고 있습니다. 해결 방법이 있을까요? npm ERR! code 1 npm ERR! git dep preparation failed npm ERR! command C:\Program Files\nodejs\node.exe C:\Users\Jerry\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js install --force --cache=C:\Users\Jerry\AppData\Local\npm-cache --prefer-offline=false --prefer-online=false --offline=false --no-progress --no-save --no-audit --include=dev --include=peer --include=optional --no-package-lock-only --no-dry-run npm ERR! npm WARN using --force Recommended protections disabled. npm ERR! npm ERR! code 1 npm ERR! npm ERR! The git reference could not be found npm ERR! npm ERR! command git --no-replace-objects checkout 4.0 npm ERR! npm ERR! error: pathspec '4.0' did not match any file(s) known to git npm ERR! npm ERR! npm ERR! A complete log of this run can be found in: npm ERR! npm ERR! C:\Users\Jerry\AppData\Local\npm-cache\_logs\2022-07-31T05_33_24_641Z-debug-0.log npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Jerry\AppData\Local\npm-cache\_logs\2022-07-31T05_30_46_809Z-debug-0.log
-
미해결처음 만난 리액트(React)
styled-components를 적용하려면
styled-components를 적용하려면 꼭 스타일을 위한 component를 만든다음에 그걸로 감싸야하나요? 그렇게 사용하다보면 리액트 콤포넌트와 스타일 콤포넌트가 섞여서 헷갈리지 않을까요?
-
미해결냉동코더의 알기 쉬운 Modern Android Development 입문
실습.
실습을 따라하긴했는데 소스가 어려운거같아서요.. LiveData 와 옵저버패턴이 어떤건지 정도만 이해하고 넘어가면 되나요? 펙토리패턴은 잘 모르겠네요 ㅠㅠ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
test가 갑자기 안됩니다,...
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]test를 할려고하는데 처음에는 test에서 java 클레스파일들이 그냥 file로 바껴져있었고 고치려고 이것저것 만져봤는데 해결이안되네요...
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
안녕하세요 PR 커브 관련하여 질문이 있어 글 작성합니다.
안녕하세요. mmdetection에서 제공하는 mask rcnn을 이용하여 커스텀 데이터셋을 학습시켜 mmdetection 라이브러리에 포함되어있는 coco 데이터셋의 mAP evaulation method를 통해 PR curve를 그려보니 recall값이 0.5정도가 넘어가면 precison이 거의 0으로 빠르게 떨어지는 현상을 발견했습니다. 여러 문헌들을 찾아보니 저처럼 특정 recall값에서 빠르게 precision이 감소하는 경우도 있고, 그렇지 않은 경우도 있었습니다. 또한 선생님께서 precision-recall curve 설명에서 나온 그래프 또한 recall이 0.8정도에서 급격히 precision이 떨어지는 그래프를 볼 수 있었습니다. 혹시 이런 경우처럼 precision값이 특정 recall값에서 급감하는 상황은 왜 발생하는 것인지 이유가 궁금합니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
App -> Container prop전달 질문입니다
안녕하세요 🙋♂️한 입 크기로 잘라먹는 리액트 강사 이정환 winterlood입니다!물론 질문은 수강생 여러분들 편하게 해 주시면 되지만!아래의 몇 가지 규칙만 지켜주시면 더 빠르고 정확한 답변을 드릴 수 있습니다!- 개인적인 고민 상담도 받아드립니다 :)- 강의의 몇 분 몇 초 관련 질문인지 알려주세요!- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. children 으로 받아준다고 하셨는데 이게 항상 children 으로 넘겨주고 받는건가요? children 말고 cccc 마음대로 받았더니 Container 박스만 렌더링 되네요
-
미해결배달앱 클론코딩 [with React Native]
강의 듣던 중 ch3 복사하여 실행 중입니다.
회원가입을 할 때 undefined 메시지가 뜨는데 해결방법 있을까요?
-
미해결스프링 프레임워크는 내 손에 [스프1탄]
스프2탄
0
-
미해결자바스크립트 : 기초부터 실전까지 올인원
function(event){filter(event)} 질문입니다
4분 40초쯤 for(let i = 1; i < tabs.length; i++) { tabs[i].addEventListener("click", function(event){filter(event)}) } 이 문장에서 클릭했을때 실행하는 함수로 filter함수를 event매개변수와 함께 실행시키는건 알겠는데 구문이 왜 function(event){filter(event)}와 같이 입력하는지 모르겠습니다. event를 두번적는 이유도 모르겠구요.. ㅠ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
로그인페이지, 회원가입페이지 접근 막기
안녕하세요 제로초님 next.js에서 인증된 유저가 로그인페이지나 회원가입페이지로 url로 직접 접근할 때 접근을 막는 방법으로 어떤 방식이 좋은지 궁금합니다. 1. getServerSdieProps를 사용해서 서버에서 인가된 사용자인지 확인해서 접근을 막는 방법을 사용한다 하였을 때session이 아닌 jwt를 사용하여 인가처리를 하는 경우 인증이되어있는지 확인을 위해 인증이 필요한 api콜의 실패유무에 따라 분기처리로 리다이렉트 시키는 방법을 생각하였는데 해당 방법이 맞는지 의문입니다.next.js로 해당 문제를 해결할 좋은 방법이 무엇인지 알려주시면 감사하겠습니다. ㅠㅠ
-
해결됨Flutter 앱 개발 기초
파일을 정리하고 난뒤에
안녕하세요 저가 파일을 나누고 난뒤에 다시 돌렸는데 여러가지 에러가 나오고 처리하고난뒤에 또 이런에러가 나오는데 저 에러를 어떻게 고치는지 모르겠어서요 Run without debug 를 실행하면 에러가나오고 난뒤에 이뮬레이터에 화면이 아무것도 나오지 않습니다 혹시 해결방안을 알 수 있을까요 ?