묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬 텍스트 분석 입문 - 데이터 수집부터 분석까지
mecab 설치 오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강의를 수강하다 Mecab을 설치했습니다. 그랬더니 사전 오류에 하단과 같이 나오네요 사전은 이미 설치된 상황입니다. 다음 진행을 검색하다 문의드립니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
Implement members가 안되서 질문드립니다
여기서 Alt + Enter 쳐서 여기까진 되는데 이 뒤에 확인을 눌러도 아무것도 변하지 않습니다 리스트뷰 할때는 됐는데 리사이클러뷰는 안되네요...
-
미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
multiprocessing(2) - Naming, Parallel processing 에서 10분 33초 부분 질문입니다
f __name__ == "__main__": # 부모 프로세스 아이디 parent_process_id = os.getpid() # 출력 print(f"Parent process ID {parent_process_id}") # 프로세스 리스트 선언 processes = list() # 프로세스 생성 및 실행 - 가장 기본적인 구조 for i in range(1, 10): # 1 ~ 100 적절히 조절 # 생성 t = Process(name=str(i), target=square, args=(i,)) # 배열에 담기 - 한번에 join을 하려고 리스트에 담음 processes.append(t) # 시작 t.start() # Join - 한번에 join!! for process in processes: process.join() # 종료 print("Main-Processing Done!") 해당 부분에서 t.start을 할 때 i=1부터 9까지의 프로세스들이 순차적으로 동작을 하는 것 아닌가요? 운영체제에서 할당을 해서 순서가 랜덤으로 된다고 이해를 했는데 혹시 pc에서 프로세스들을 할당받는 속도가 빨라서 거의 동시에 할당받는 것처럼 생각해, 랜덤의 순서로 프로세스 스케줄링 해주는 것인가요?
-
미해결빠르게 git - 핵심만 골라 배우는 Git/Github
문의 드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님 안녕하세요 :) 새 레포지토리 생성 후, 로컬에 있는 '폴더'리스트를 add . 한뒤 commit > push하면 하기와 같은 오류 메시지가 뜹니다. On branch main Your branch is up to date with 'origin/main'. nothing to commit, working tree clean 강제로 push하긴 했는데 어떤 이유로 해당 오류가 뜨는 것으로 이해하면 될까요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
decorator 관련 질문 드립니다.
안녕하세요 강의 너무 유익하게 잘 보고 있습니다 . 이번 ModelForm 편을 보면서 힌트 주신대로 작성자를 구분하는 decorator을 작성 해보았습니다 . 그런데 이것을 views.py 에 작성을 했는데 어디론가 빼야 할 거 같은데 이것을 장고의 decorator.py 파일로 첨부해 넣는게 좋은지 아니면 app 을 하나 생성해서 넣는게 좋은지 어떤 방식이 좋을지 한번 여쭙고 싶습니다 . 그리고 글을 수정하러 들어오는 사용자가 본인이 아닐시에 redirect 해주는 것과 PermissionDenied 처리 해주는 것중 어떤 것이 보안이나 효율면에서 좋은지 여쭙고 싶습니다. 처음으로 교수님 힌트를 얻어 decorator을 만들기를 시도했는데 의도한대로 기능이 작동하니 아주 기분이 좋습니다 . 감사의 말씀으로 질문을 끝내겠습니다 :) 감사합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
size() 대신 length() 사용해도 무방한가요
구글링을 해보니 return 값은 동일하다고 하는데 length()대신 size를 사용하는 특별한 이유가 혹시 있나해서 질문합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
허은택 님 질문에 이어서 질문 드립니다.
안녕하세요? 질문이 있어서 글 남깁니다. Member 와 Product 간 양방향 매핑이 필요한 경우 중간 테이블을 두어 일대다 + 다대일 관계로 풀어내는 건 알았습니다. 그렇다면 만약 Product 객체를 조회하기 위해서 방법을 생각해봤는데 1. ProductRepository 에서 findBy~~ 로 불러온다. 2. LinkRepository 에서 JPA 를 통해서findByMemberAndProduct(Member member, Product product) 이런식으로 Link 테이블을 불러서 Link.product 리스트를 조회한다. 둘 중 어느 방법을 사용해도 상관 없을까요? 성능 최적화를 위해서는 어떤 방식이 좋을까요? 감사합니다^^
-
미해결
서울시뉴딜일자리_IT인턴 3개월 [급여월260만]지원사업안내_빅데이터 기반 서비스플랫폼 과정 [스터디,프로젝트,프론트엔드,백엔드,자바,코딩]
서울시에서 뉴딜일자리사업 일환으로 2차 서비스플랫폼개발자 양성과정으로 3개월 인턴십 (급여 월 260) 보내주는 프로그램 진행중인데 신청해보세요! 자세한 내용은 https://blog.naver.com/kjc_sh/222775806456 참고해주세요~
-
미해결쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]
질문있습니다!
강력/최신 크롤링 기술: Scrapy spider 크롤링 기법 강의에서 4분쯤에 지마켓 크롤링한것 처럼 무신사 홈페이지를 크롤링 해봤는데 안되서 질문드립니다. import scrapy class MusinsaRankSpider(scrapy.Spider): name = 'musinsa_rank' allowed_domains = ['www.musinsa.com/ranking/best'] start_urls = ['https://www.musinsa.com/ranking/best/'] def parse(self, response): ranks = response.css("div.li_inner > div.article_info > p.list_info > a::text").getall() for rank in ranks: print(rank) 이렇게 코드를 작성하고 터미널 환경에서 crawl을 했는데 C:\Users\JOONIOR\scrapyproject\musinsa\musinsa>scrapy crawl musinsa_rank 2022-06-29 10:41:30 [scrapy.utils.log] INFO: Scrapy 2.6.1 started (bot: musinsa) 2022-06-29 10:41:30 [scrapy.utils.log] INFO: Versions: lxml 4.6.3.0, libxml2 2.9.12, cssselect 1.1.0, parsel 1.6.0, w3lib 1.22.0, Twisted 22.4.0, Python 3.9.7 (default, Sep 16 2021, 16:59:28) [MSC v.1916 64 bit (AMD64)], pyOpenSSL 21.0.0 (OpenSSL 1.1.1l 24 Aug 2021), cryptography 3.4.8, Platform Windows-10-10.0.22000-SP0 2022-06-29 10:41:30 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'musinsa', 'FEED_EXPORT_ENCODING': 'utf-8', 'NEWSPIDER_MODULE': 'musinsa.spiders', 'ROBOTSTXT_OBEY': True, 'SPIDER_MODULES': ['musinsa.spiders']} 2022-06-29 10:41:30 [scrapy.utils.log] DEBUG: Using reactor: twisted.internet.selectreactor.SelectReactor 2022-06-29 10:41:30 [scrapy.extensions.telnet] INFO: Telnet Password: e6cbf7235634cbaa 2022-06-29 10:41:30 [scrapy.middleware] INFO: Enabled extensions: ['scrapy.extensions.corestats.CoreStats', 'scrapy.extensions.telnet.TelnetConsole', 'scrapy.extensions.logstats.LogStats'] 2022-06-29 10:41:30 [scrapy.middleware] INFO: Enabled downloader middlewares: ['scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware', 'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware', 'scrapy.downloadermiddlewares.downloadtimeout.DownloadTimeoutMiddleware', 'scrapy.downloadermiddlewares.defaultheaders.DefaultHeadersMiddleware', 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware', 'scrapy.downloadermiddlewares.retry.RetryMiddleware', 'scrapy.downloadermiddlewares.redirect.MetaRefreshMiddleware', 'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware', 'scrapy.downloadermiddlewares.redirect.RedirectMiddleware', 'scrapy.downloadermiddlewares.cookies.CookiesMiddleware', 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware', 'scrapy.downloadermiddlewares.stats.DownloaderStats'] 2022-06-29 10:41:30 [scrapy.middleware] INFO: Enabled spider middlewares: ['scrapy.spidermiddlewares.httperror.HttpErrorMiddleware', 'scrapy.spidermiddlewares.offsite.OffsiteMiddleware', 'scrapy.spidermiddlewares.referer.RefererMiddleware', 'scrapy.spidermiddlewares.urllength.UrlLengthMiddleware', 'scrapy.spidermiddlewares.depth.DepthMiddleware'] 2022-06-29 10:41:30 [scrapy.middleware] INFO: Enabled item pipelines: [] 2022-06-29 10:41:30 [scrapy.core.engine] INFO: Spider opened 2022-06-29 10:41:31 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min) 2022-06-29 10:41:31 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023 2022-06-29 10:41:31 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.musinsa.com/robots.txt> (referer: None) 2022-06-29 10:41:31 [scrapy.downloadermiddlewares.robotstxt] DEBUG: Forbidden by robots.txt: <GET https://www.musinsa.com/ranking/best/> 2022-06-29 10:41:31 [scrapy.core.engine] INFO: Closing spider (finished) 2022-06-29 10:41:31 [scrapy.statscollectors] INFO: Dumping Scrapy stats: {'downloader/exception_count': 1, 'downloader/exception_type_count/scrapy.exceptions.IgnoreRequest': 1, 'downloader/request_bytes': 229, 'downloader/request_count': 1, 'downloader/request_method_count/GET': 1, 'downloader/response_bytes': 503, 'downloader/response_count': 1, 'downloader/response_status_count/200': 1, 'elapsed_time_seconds': 0.329829, 'finish_reason': 'finished', 'finish_time': datetime.datetime(2022, 6, 29, 1, 41, 31, 379516), 'httpcompression/response_bytes': 152, 'httpcompression/response_count': 1, 'log_count/DEBUG': 3, 'log_count/INFO': 10, 'response_received_count': 1, 'robotstxt/forbidden': 1, 'robotstxt/request_count': 1, 'robotstxt/response_count': 1, 'robotstxt/response_status_count/200': 1, 'scheduler/dequeued': 1, 'scheduler/dequeued/memory': 1, 'scheduler/enqueued': 1, 'scheduler/enqueued/memory': 1, 'start_time': datetime.datetime(2022, 6, 29, 1, 41, 31, 49687)} 2022-06-29 10:41:31 [scrapy.core.engine] INFO: Spider closed (finished) 터미널에 이렇게만 나오고 제가 원하던게 안나오더라구요 혹시 css selector가 잘못되었나 싶어 주피터 노트북에서 beatifulsoap로 해봤는데 잘 나왔습니다. 혹시 이유를 알 수 있을까요 크롤링 사이트는 이거입니다.https://www.musinsa.com/ranking/best
-
해결됨실전 리액트 프로그래밍
match
안녕하세요~ 코린이입니다. 제가 코드를 그대로 따라하며 공부중인데 버젼이 바뀌면서 route를 쓰는 방식이 변한것같은데 component가 element로 바뀌었나요?? 그리고 혹시 match.url은 버젼이 바뀌면서 사라진건가요?? 올려주신 코드를 복붙하니 오류가 나오네요ㅠ 혹시 그렇다면 <Route path={`${match.url}/:roomId`} component={Room} />은 현재 어떻게 써야될까요?? useParams를 써서 해야되나요?? ``` import React from "react"; import { Route, Link, Routes } from "react-router-dom"; export default function Rooms() { return ( <div> <h2>여기는 방을 소개하는 페이지입니다.</h2> <Link to="bludRoom">파란 방입니다</Link> <br /> <Link to="greenRoom">초록 방입니다</Link> <br /> <Routes> <Route exact path="rooms" render={() => <h3>방을 선택해 주세요.</h3>} /> <Route path="/:roomId" element={<Room />} /> </Routes> </div> ); } function Room() { return <h2>{` 방을 선택하셨습니다.`}</h2>; } ``` 이것저것 수정해가며 시도하고있는데 여기서 막혔네요 ㅠㅠ 다른 페이지는 작동하는데 http://localhost:3000/rooms/bludRoom 처럼 :roomId로 처리하려고 했던 페이지가 No routes matched location "/rooms/bludRoom" 라는 오류가 발생합니다ㅠ
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
권한 요청 드립니다.
인프런 아이디 : ini080 인프런 이메일 : ini080@naver.com 깃헙 아이디 : ini080@naver.com 깃헙 Username : ini080
-
해결됨Svelte.js SPA 영화 검색 프로젝트
autoprefixer를 스태틱한 css에 적용할 수 있는 방법이 있을까요?
안녕하세요 강의 다 본 후 구성 비슷하게 맞춰서 작업하고 있는데요 scss를 사용하면 vue도 마찬가지지만 svelte는 유니크한 클래스가 붙잖아요, 그래서 나중에 css 디버깅할 때 너무 불편해서 그냥 css 파일을 별도로 만들어서 붙여봤거든요, 1. head 태그에 링크로 css 삽입하는 방법,2. main.js에 import 해서 css를 불러 오는 방법을 사용했는데 autoprefixer가 적용이 안되네요... 따로 css-loader나 file-loader를 적용해야 하나 해서 snowpack.config.js 옵션을 봤더니 rule 옵션은 없는거 같고.. 다른 방법이 있을까요? ㅠㅠ
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
getters를 사용하는 이유에 대해 질문이 있습니다
state를 통해서 data를 직접 가져오는 것보다 getters를 사용하는 이유는 split 또는 * 연산 등등 통해 값을 가져오기 위함인가요?답변 미리 감사합니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
생성자 init() 메서드 질문드립니다.!
해당 코드에서 서블릿 초기화시 init() 메서드를 사용하는 걸로 알고 있는데 생성자로 구현하신 이유가 강의 특성상 간단한 구현을 위해 하신건가요?? 아니면 다른 이유가 있는건가요??? public class FrontControllerServletV1C extends HttpServlet { private Map<String, ControllerV1> controllerMap = new HashMap<>(); public FrontControllerServletV1C() { controllerMap.put("/front-controller/v1/members/new-form", new MemberFormControllerV1()); controllerMap.put("/front-controller/v1/members/save", new MemberSaveControllerV1C()); controllerMap.put("/front-controller/v1/members", new MemberListControllerV1C()); } @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } }남겨주세요.
-
미해결빅데이터분석기사 실기대비 (R 활용)
작업2유형 분류문제
안녕하세요, 이번 빅분기 4회 시험 응시한 수강생입니다. 본 강의 덕분에 기초를 잘 다지고 시험에 응시할 수 있었습니다. 감사합니다. 다만 매 시험마다 문제가 계속 업그레이드 되고 있는 것 같습니다. 이전 2~3회 기출문제 공부만으로는 비전공자들은 합격하지 못할 것 같습니다.. 저 역시 작업2유형에서 4가지로 분류하는 문제를 보고 많이 당황하여 시험 시간에 많이 헤맸네요ㅠㅠ 어찌저찌 rpart만으로 결과를 산출해서 제출했는데, 1 / 2 / 3 / 4 class중에서 2 class로는 분류되는 케이스가 하나도 없더라고요. 변수 몇 가지를 수작업으로 뺐다 더했다 해봤으나 안 되더라고요.. 작업2유형에서 전처리를 뭘 안 한건지. 혹시 표준화/정규화 같은 걸 하지 않아서 그런건지 모르겠네요. (분명 주어진 train 데이터에는 4개 class 모두에 케이스가 분포되어 있음) 무튼 다음 시험을 준비하기 위해서 이번 실기 4회 기출문제 풀이강의도 추가해주시면 좋겠습니다. 가능하시다면 출제 예상되는 범위를 좀더 넓힌 강의도 추가해주시면 계속 공부하는데 큰 도움이 될 것 같습니다(4개 class 분류, 날짜 데이터 처리 등). 감사합니다!
-
미해결
refresh token 저장 및 관리에 대한 고찰
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 지나가던 개발자 1입니다. 현재 고민중인 부분에 있어 다른 분들의 의견을 얻고자 글 남겨봅니다. 일반적으로 소셜로그인을 구현한다고 하면 여러 방법이 존재합니다. 모바일을 이용한 소셜로그인을 구현한다고 하면, Firebase을 이용하여 구현할수도있고 웹페이지에서 소셜로그인을 구현한다고 하면 OAuth2.0 방식을 이용하여 각각의 Resource server 에서 access token을 받아 구현할수도 있습니다. 이런 소셜로그인을 구현하기에 앞서 토큰 관리에 대해 고민중입니다. access token을 이용할때 탈취의 위험성및 여러 이유들로 기한을 짧게 가져가게 됩니다, 혹은 제공되어지는 access token의 유효시간은 매우 짧습니다. 이런 부분을 보완하고자 refresh token을 이용하게 되는데 결국 이 refresh token이 노출되게되면 위험요소가 발생하게 됩니다. 그럼 이 refresh token을 어디에 저장하는게 가장 좋을까요? Server session에 저장후 Timeout을 걸어 만료되게끔 한다던가, Database에 저장하여 API 요청으로 Index값이 출력되게끔 한다던가, 여러 방안을 고민중인데 혹시 다른분들은 어떤식으로 생각하시는지 의견을 듣고자 합니다. 긴 글 읽어주셔서 감사합니다.
-
미해결홍정모의 게임 만들기 연습 문제 패키지
multimap 질문
총알 생성시 초기화를 진행 후multimap<Mybullet*, vec2> _map 변수에 insert 추후 update에서 for문을 이용 _map안의 second(총알의 위치)의 값을 증가된 값으로 변경 for문을 이용하여 iterator에 begin~end()값을 순찰 if문으로 현재의 iter->second(총알의 위치) 값의 좌표를 파악하여 총알 삭제 이런 느낌으로 접근 중인데 삭제를 하려고 하면 메모리 범위를 벗어났다고 하네요 혹시 제가 map을 잘못 생각하고 사용하고 있는건가요? _map의 size()를 확인할 시에는 분명 총알을 발사할 때마다 size가 늘어나는걸 확인 했음에도 계획대로 되지 않아 질문드립니다 이 코드의 경우 vector를 사용하기에는 빈번하게 추가 삭제가 일어나서 제외하고 multimap을 사용하려고 해봤는데 이런식의 접근이 맞는건가요? 아래는 작성 코드입니다 if (isKeyPressedAndReleased(GLFW_KEY_SPACE)) { bullet = new MyBullet; bullet->center = tank.center; bullet->center.x += 0.2f; bullet->center.y += 0.1f; bullet->velocity = vec2(2.0f, 0.0f); _map.insert(std::pair<MyBullet*,vec2>(bullet, bullet->center)); } if (!_map.empty()) { for (std::multimap<MyBullet*, vec2>::iterator iter = _map.begin(); iter != _map.end(); ++iter) { iter->first->update(getTimeStep()); iter->second = iter->first->center; if (iter->second.x > 1.3f) _map.erase(iter); } } if(!_map.empty()) { for (std::multimap<MyBullet*, vec2>::iterator iter = _map.begin(); iter != _map.end(); ++iter) { iter->first->draw(); } }
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
컨테이너 내부에서 Dockerfile이 보이지 않습니다
안녕하세요 강사님 강의를 따라 하는 중인데요 저희가 지정한 Work directory에서 ls 명령어를 주면 저는 Dockerfile이 보이지 않습니다 ㅠㅠ 이유가 뭘까요?
-
미해결
파이썬 크롤링 오류 문의드립니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 파이썬 크롤링 하고 있는데 오류가 안나면 보여지는 화면을 모두 끌어오고 오류가 나면 > AttributeError: ResultSet object has no attribute 'find' 이렇게 뜹니다 import requestsimport refrom bs4 import BeautifulSoupurl = "https://unipass.customs.go.kr/csp/index.do"headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36"}res = requests.get(url, headers = headers)res.raise_for_status()soup = BeautifulSoup(res.text, "lxml")print(res.text)#soup.find("div",{"id"="MYC0401004Q_table1"}), attrs={"class":"gird_list"}.find("tbody").find_all("tr")data_row = soup.find("table",{"id":"MYC0401004Q_table1"}).find("tbody").find_all("tr")for row in data_row: columns = row.find_all("td") data = [column.get_text() for column in columns] print(data) 분명 데이터가 있는데 제가 태그를 잘못 가져온 걸 까요? 몇번을 고치고 다른 방법으로, 태그를 가져왔었는데 어떻게 수정해야 표를 가져올 수 있을까요...
-
미해결배달앱 클론코딩 [with React Native]
리액트에서 특정 view 영역을 안드로이드 네이티브의 LinearLayout에 넘겨서 처리하는 방법 문의??
질문을 어떻게 해야 할지도 어렵긴 한데요. 최대한 설명을 해보자면, 순수 네이티브로 된 앱을 리액트네이티브와 연동해보려고 합니다. 기존 앱에서는 MainActivity.java 내에서 LinearLayout linearLayout = (LinearLayout)findViewById(R.id.mainLayout); API.createViewer(linearLayout, params.toString()); 이런식으로 LinearLayout에 특정 작업(무언가를 그리는)을 하고 있습니다. 이부분을 module과 package 클래스 만들고 리액트와 연결해서 작업하려고 하는데, 기존 LinearLayout에 그리는 작업을 리액트에서 지정한 <View></View> 안에다가 해주고 싶은 겁니다. 리액트의 View 값을 네이티브에 넘겨서 그걸 기존 LinearLayout 를 대체해서 처리해야 하는데 어떻게 하면 될까요? 설명 한다고 했는데 질문이 이해가 되실지 모르겠습니다. 실무에서는 분명히 이런걸 많이들 처리할거 같은데, 이제 공부하는 처지라 감이 안오네요. ㅠㅠ