묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
구글 큰 이미지 클롤링에서 자바스크립트로 변경해도 403 : Forbidden Error 발생 합니다.
for i, img in enumerate(imgs, 1): # 이미지를 클릭해서 큰 사이즈를 찾아요 # 클릭하다 보면 element click intercept error가 나요 # javascript로 클릭을 직접하도록 만들어 준다. #img.click() # selenium 으로 클릭 browser.execute_script("arguments[0].click();", img) time.sleep(1) ~~~ 에러 내용 ~~~ Traceback (most recent call last): File "c:/cra/06_구글_이미지_크롤링/02_큰이미지다운로드.py", line 67, in <module> urllib.request.urlretrieve(img_src, f'06_구글_이미지_크롤링\{keyword}\{i}') File "C:\python37\lib\urllib\request.py", line 247, in urlretrieve with contextlib.closing(urlopen(url, data)) as fp: File "C:\python37\lib\urllib\request.py", line 222, in urlopen return opener.open(url, data, timeout) File "C:\python37\lib\urllib\request.py", line 531, in open response = meth(req, response) File "C:\python37\lib\urllib\request.py", line 641, in http_response 'http', request, response, code, msg, hdrs) File "C:\python37\lib\urllib\request.py", line 569, in error return self._call_chain(*args) File "C:\python37\lib\urllib\request.py", line 503, in _call_chain result = func(*args) File "C:\python37\lib\urllib\request.py", line 649, in http_error_default raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbidden
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기
boiler-plate 및 몽고디비 질문입니다!
안녕하세요 :) boiler-plate 강의를 다 듣고 넘어왔는데, 따라 만든 제 boiler-plate 클론해서 사용해도 무방한가요..? 안된다 하면 몽고디비 커넥트를 이전에 생성한 클러스터와 커넥트해도 되는지 여쭙고 싶습니다,,, 감사합니다!
-
미해결스프링 핵심 원리 - 기본편
자바 설치, 버전 관련...
선생님! 자바 버전 11을 추천하셨지만, 제가 자바 설치와 버전도 잘 다룰 수 있는 편이 아니고 초보라.. 괜히 잘못 건들였다가 엉킬 것 같고 그냥 설치되어있는대로 사용하고자 합니다. 이미 설치된 버전을 확인해보니 java 17.0.1이고, javac도 17.0.1로 나옵니다. 앞선 강의인 스프링 입문때 문제가 없었습니다. 그런데 인텔리제이 설정을 보면 저는 Gradle JVM: Oracle OpenJDK 17.0.1로 자동으로 설정되어 있는데 OpenJDK를 써도 되나요? 또한 cmd창에 java -version을 치면 java version "17.0.1" 2021-10-19 LTS Java(TM) SE Runtime Environment (build 17.0.1+12-LTS-39) Java HotSpot(TM) 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode, sharing) 이렇게 SE?가 나오는데 검색해보니 웹 애플리케이션 개발로 사용할 거면 EE를 설치하라고 하더라구요.. 저도 왜 SE가 설치되어있는지 잘 모르겠는데 앞으로 이 상태 그대로 사용한다면 추후 개인적으로 웹 페이지 개발 공부할 때 문제가 될까요? EE를 설치해야 하나요? 마지막으로.. 설정에서 보면 제가 JAVA_HOME을 OpenJDK 17.0.1로 설정해서 이게 자동으로 설정되어있는 것 같은데 내려보니 이렇게 많습니다.. 저도 뭔지 모르겠습니다ㅠㅠ 17 외에 나머지 버전 삭제해도 될까요? 만약 제가 나중에 버전을 변경하려면 java와 java JDK 둘 다(?) 버전을 똑같이 맞춰야 하나요?? java와 JDK를 각각 설치하고, 두 가지를 분리해서 봐야 하나요? 너무 질문이 많은데... 제가 설치해둔게 아니라 제대로 모르는 상태에서 건들이기도 무섭고... 검색해도 확실히 이해가 안돼서 한번 여쭤봅니다...ㅠㅠ 부탁드립니다 답변해주시면 감사하겠습니다!
-
미해결스프링부트 시큐리티 & JWT 강의
강의 잘들었습니다 질문이 있습니다!!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 현재 vue와 Spring으로 토이프로젝트를 진행 중인 학생입니다. 전체 강의를 다 듣고 1강부터 9강까지의 내용을 프로젝트에 적용시켜보았습니다. 1강부터 9강까지의 내용에서는 jwt를 사용하지 않고 oauth로그인을 하는 강의인것으로 이해했습니다. vue를 localhost:8081에 실행시키고 spring을 8080에 실행시켜두었습니다. <a href="/oauth2/authorization/google">로그인</a> 위와같은 a태그를 만들고 이를 클릭했을때 http://localhost:8081/oauth2/authorization/google 이 주소로 가게되어서 로그인이 잘 되지 않는것 같습니다. jwt를 사용하지 않고 이를 해결할 수 있는 좋은 방법이 있을까요?? 강의 잘 들었습니다. 소중한 답변 기다리겠습니다 ㅎㅎ
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인터셉터
강의에서 인터셉터를 빈 등록하고 의존관계 주입해서 사용해도 된다 라고 말씀하셨는데요 실무에서는 강의처럼 그냥 new 연산자를 통해 객체를 생성해서 인터셉터 등록을 하나요? 궁금한점이 강의처럼 new 연산자를 통해 인터셉터 객체를 생성해주고 인터셉터 등록을 하면 내부적으로 더이상 객체를 생성하지 않고 기존의 등록했던 인터셉터 객체를 사용 하나요? 기존의 등록했던 인터셉터 객체를 사용안하면 매번 요청할때마다 인터셉터 객체를 만들어서 리소스 낭비가 심할것같은데 제가 모르는 점이나 잘못알고있는점에 대해서 알려주시면 감사하겠습니다
-
해결됨IT인을 위한 ELK 통합로그시스템 구축과 활용
docker-composer에서 작업중이었는데 bulk api memory 부족
indexing_pressure.memory.limit 이거를 올려주라는데 혹시 일시적으로 어떻게 올리는 건가요?
-
미해결[2026 신규] 데이터분석 준전문가(ADsP) 자격증
실습 중에 여쭤볼 것이 있어서 질문 드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. df6에서 df6 <- df[1:3] 이 1~3열이 나온다고 하셨는데 인덱스할 시에 늘 행,열,면 순으로 해서 행이 나올거 같은데 열이 나와서요 혹시 이렇게 된 게 이유가 있을까해서요 제가 이해를 잘 못한건지 여쭤보려고 질문 드립니다.
-
미해결마케터를 위한 구글 애널리틱스 실무
PDF가이드북 공유 요청 드립니다 :)
안녕하세요! PDF 가이드북 공유 요청 드립니다. m__vely@naver.com 혹시 비공개 슬랙은 어떻게 초대 받으면 될까요~?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
http API가 우리가 사용하는 url을 만드는 그 행위인가요?
안녕하세요 질문이 조금 이상한데 http API라는게 뭔가 와닿지가 않아서 질문 드립니다. 우리가 사용하는 url에 리소스를 서버에 요청하고 결과를 얻어 올수 있도록 도와주는 도우미(?)로 이해하면 될까요?
-
미해결
비주얼 스튜디오 코드 프로젝트 템플릿
강의에서는 콘솔 앱(.net core)로 들어갔는데(c#과 유니티로 만드는 mmorpg 1편) 저는 그런게 없었고 콘솔을 검색해봐도 c#이 아닌 c++ 이었고 혹시 몰라서 들어가봤는데도 강의와 차이가 있더라고요 왜 그런지 아시는분? ㅠㅠ 어떻게 해야 하나요ㅠㅠ 확인해보니 c# 관련은 하나도 안 떠요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
-
미해결얄팍한 GraphQL과 Apollo
4-1 질문사항있습니다.
수업 잘 듣고있습니다! 좋은강의 올려주셔서 감사합니다. 다름이아니라 Apollo Client를 구성하던 도중 한가지 의문사항이 들어서 질문합니다. client쪽에서 roles.js 를 구성하던 도중 생긴 에러입니다. 상황은 Side Nav bar에서 특정 role을 선택하면 생기는 오류입니다. console.log()로 데이터들을 찍어보았는데, Nav Item들을 onclick할 때마다, setContentId를 업데이트는 시켜주지만, 따로 useQuery()를 실행하는 operation은 없어서 기존에 존재하던(처음 렌더링될 때 실행된 useQuery)기준으로 값을 받아와서 []의 값을 사용하기 때문에 에러가 나는것으로 생각됩니다. apollo playground로 실행했을때는 Query에 맞춰 값이 다 제대로 나옵니다. 위에서 onclick시에 세팅해주는 값은 contentId뿐이 없고, 따로 graphQL의 userQuery를 실행하는 문장은없는데 어떻게 값이 변경되서 나오고 있는지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
프록시 객체를 찾는법
안녕하세요 언제나 좋은강의 감사드립니다. 1. request스코프는 고객의 http request요청이 있어야지만 생성이 가능하다 2.provider는 provider를 이용한 지연처리, DL을 통해 요청시점까지 기다렸다가 요청시점에 생성한다 3.프록시는 먼저 CGLIB을 통한 가짜 객체를 생성해서 스프링 컨테이너에 등록하고 그 가짜 객체를 주입, 진짜가 필요시 그 시점에 진짜를 조회해서 넘긴다. 라고 생각하여 테스트 코드를 작성해 보았습니다. public class ProxyTest { @Test @DisplayName("프록시 객체는 애플리케이션 실행시 컨테이너에 등록되는가?") void proxyFindTest() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ProxyProto.class); String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for (String name : beanDefinitionNames) { Object bean = ac.getBean(name); System.out.println("bean = " + bean.getClass()); } } @Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS) static class ProxyWeb { @PostConstruct public void init() { System.out.println("ProxyWeb.init : " + this.getClass()); } } @Scope(value = "prototype", proxyMode = ScopedProxyMode.TARGET_CLASS) static class ProxyProto { @PostConstruct public void init() { System.out.println("ProxyProto.init : " + this.getClass()); } }} 위와 같은 테스트 코드를 작성해 보았는데요, prototype의 경우 프록시를 통한 가짜 객체와, 진짜 객체가 둘다 등록된걸 확인 할 수 있었지만 request의 경우 예외를 터트렸습니다. No Scope registered for scope name 'request' 이로 인해 제가 이해했던것들의 혼란이 오게 되었는데요, request의 가짜객체는 언제 등록이 되는건가요?
-
미해결대세는 쿠버네티스 (초급~중급편)
k8s 설치 - cannot find a valid baseurl for repo base/7/x86_64 에러
아래 똑같은 질문이 있는데 답변을 얻을 수 없어 똑같은 질문을 남깁니다. yum update -y 입력하니 cannot find a valid baseurl for repo base/7/x86_64 라고 나옵니다. 네트워크 자체에 문제인가 싶어서 ping 8.8.8.8을 날려보니 Destination host unreachable 이라고 나오네요. 제가 vm이용하여 가상환경 만들고 centos 사용을 처음해봐서 잘 모르겠습니다. 구글링 통해서 설치하는대로 하면 할 수 있겠는데, 아무래도 강의와 동일한 실습환경을 위하여 설치안내서에 나와있는대로 설치하려다보니 잘 안되는 것 같습니다. 제기 시도해 본 것 아래 적어봅니다. 설치는 v1.15 버전 입니다. 1. https://hec-ker.tistory.com/333 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 이용하여 onboot 확인하기. onboot=yes 상태입니다. 2. 아이피 주소 바꿔보기. 설치 실습자료실 2-2-1)Centos 설치 4번 네트워크 설정에서 아이피 주소/넷마스크/게이트웨이/dns주소를 제 cmd에서 ipconfig에 나와있는 주소로 바꿔서 해보았습니다. => 역시 ping해도 똑같은 결과가 나옵니다. 2-1-1)vm 스펙설정 7번에서 어댑터에 브릿지 선택했고 intel Pro/1000 MT Desktop(82540EM) 을 어댑터로 사용하고 있습니다. 제 생각에는 분명 안내에 나와있는대로 설치한 것 같은데 어디서 문제가 생겼는지 모르겠습니다. 설치 과정 중 네트워크 설정의 문제인지, 아니면 제가 사용하고 있는 네트워크 자체의 문제인지 모르겠습니다. centOS랑 virtualbox를 5번 이상 삭제하고 다시 설치하고 시도해봤는데 잘 안되네요. ㅜㅜ 혹시 ip를 위에 나와있는 제 ip로 바꿔서 설치진행해야 한다면 제일 위에 이더넷 어댑터 이더넷 이라고 나와있는 부분에 있는 ip주소들을 이용하는게 맞을까요? 참고로 이걸로 바꿔서 설치해보았으나 안됬습니다. ㅜㅜ
-
해결됨[유니티6] 따라하면서 배우는 하이퍼캐주얼게임 시리즈 01
zigzag에 quit 버튼 추가
강의를 다 듣고 응용을 해보는 중입니다. 첫 화면에 quit 버튼을 추가하여 클릭 시에 앱이 꺼지도록 설정하고 싶은데 클릭을 하면 바로 게임이 시작되어 버튼 클릭 이벤트가 먹히지를 않네요.. 나름 생각을 해서 GameController의 Start 메소드 내 while문에 이렇게 작성을 해봤는데 버튼 클릭이 아예 먹히지 않는게 순서가 옳지 않은 듯 하네요. 혹시 조언을 구할 수 있을까요?
-
미해결Vue.js + TypeScript 완벽 가이드
깃헙 권한 요청 드립니다~
안녕하세요~ 2번째 프로젝트를 수강하기 위해 깃헙 레퍼지토리 권한 요청 드립니다. 계정은 pyyyyye 입니다. 감사합니다 :)
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
궁금한점이 있습니다
로그인 하지 않고 /item 요청시 1. LogFilter 필터 2. LoginCheckFilter 필터 순으로 실행되는데 로그인 필터에서 httpResponse.sendRedirect("/login?redirectURL=" + requestURI); 으로 redirect한 부분에서 이해가 되질 않습니다. 해당 URL : /login?redirectURL=requestURL 로 클라이언트에서 다시 재요청하는데 처음에는 @GetMapping("/login")public String loginForm(@ModelAttribute("loginForm") LoginForm form) { return "login/loginForm";} get 메서드로 매핑된 loginForm으로 컨트롤러가 호출되어 화면을 랜더링해주고 그다음에 @PostMapping("/login")public String loginV4(@Valid @ModelAttribute LoginForm form, BindingResult bindingResult, @RequestParam(defaultValue = "/") String redirectURL, HttpServletRequest request) { if (bindingResult.hasErrors()) { return "login/loginForm"; } Member loginMember = loginService.login(form.getLoginId(), form.getPassword()); if (loginMember == null) { bindingResult.reject("loginFail", "아이디 또는 비밀번호가 맞지 않습니다."); return "login/loginForm"; } //로그인 성공 처리 //세션이 있으면 있는 세션 반환, 없으면 신규 세션을 생성 HttpSession session = request.getSession(); //세션에 로그인 회원 정보 보관 session.setAttribute(SessionConst.LOGIN_MEMBER, loginMember); return "redirect:" + redirectURL;} POST 메서드로 매핑된 loginV4 메서드가 호출되는거 아닌가요? 그러면 처음 필터에서 redirect로 해당 URL 파라미터로 보낸 쿼리 파라미터인 redirectURL=requestURL을 POST 메서드(loginV4)에서 사용할 수 있게 쿼리 파라미터를 유지 시켜줘야하는거 아닌가요? get 메서드 loginForm에서 쿼리 파라미터로 받은 값은 loginForm.html에서 사용할 수 있지만 다시 post메서드인 loginV4에서 사용하기 위해 loginForm.html에서 쿼리 파라미터를 보내줘야하는거 아닌가요..?
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
GIL 관련 질문
GIL 관련 질문이 있습니다. 1) 먼저 만약 GIL 을 써서 multi-thread 진행시, 다른 thread 에서 같은 변수에 접근을 못하게 막는다면, cpu 연산만 필요한 코드의 경우에는 전혀 빨라지지 않고 오히려 느려지는거 같은데, 맞을까요? 2) 그리고 뒤쪽에 수업중에 GIL 에도 불구하고, 파이썬에서 multi-thread 쓰는 경우는 system call 작업이 진행되는 I/O bound 일 때 multi-thread 가 효과를 발휘한다고 말씀주신거 같은데(python2,4 모두 수강중입니다), 왜 그럴까요? 어차피 single thread 에서 async non-block 으로 하면 system call 일들을 안기다리고 다른 일이 진행되고, system call 된 다운로드등의 일처리가 끝나면 결과를 받아서 처리하는게 마찬가지 아닌가 해서 질문드립니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
이 풀이도 맞을까요?
import sys sys.stdin = open("input.txt","r") n = int(input()) arr = [] for i in range(n) : arr.append(list(map(int,input().split()))) answer = 0 max_ans = 0 for val in arr : dice = [0] * 7 for i in val : dice[i] +=1 max_val = 0 for idx, value in enumerate(dice) : if max_val < value : max_val = value index = idx if max_val == 3 : tmp = 10000 + index*1000 if max_ans < tmp : max_ans = tmp elif max_val == 2 : tmp = 1000 + index*100 if max_ans < tmp : max_ans = tmp else : max_dice = 0 for j in val : max_dice = max(max_dice, j) tmp =max_dice * 100 if max_ans < tmp : max_ans = tmp print(max_ans) 안녕하세요 강사님 강의 잘 듣고 있습니다. 이렇게 풀이하여도 괜찮을까요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
state의 무결성?
안녕하세요. 올려주신 리엑트쿼리 기반으로 연습하고 있습니다. antd의 datepicker 이용해서 기간별로 포스트 불러오는걸 해보고 있습니다. 리액트의 state에 관해서 좀 기초적인?원초적인? 질문이 있습니다.. 출발날짜의 상태와 변경함수 const [ startDate, setStartDate ] = useState(moment().subtract(5, 'days')); ... const onChangeStartDate = (date, dateString) => { setStartDate(date); }; 날짜 변경후 적용버튼 눌러 서버 데이터 갱신하는 부분 const onLoadTodos = () => { if(!startDate || !endDate){ message.error('날짜를 선택해 주세요.', 0.5); return; } queryClient.invalidateQueries('orders'); } 데이터 가져오는 useQuery 부분 const { status, isLoading, data: orders } = useQuery('orders', () => { console.log('useQuery'); console.log(startDate); const from = startDate.toDate(); const til = endDate.toDate(); const params = {from:from, til:til, stat1: orderStatOpt}; console.log(params); return loadTodosAPI(params)} ... 날짜를 변경setStartDate(date);한다음에 <Button onClick={()=>{console.log('메롱', startDate)}}>날짜보기</Button> 이렇게 버튼으로 startDate값을 가져오는것과 invalidateQueries('orders'); 로 useQuery('orders',를 불러서 안에서 startDate를 가져오면 값이 다르게 나오는데.. 원래 state의 값이 다르게 나오기도 하나요? 아니면 useQuery안에서 state가 다르게 작동한건지.. 이상태에서 브라우저밖으로 커서 이동했다가 다시 들어오면(갱신시) state값이 동기화되긴 합니다..
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃헙 접근 권한 요청드립니당 (__)
안녕하세요. 기효님ㅎㅎ어쩌다보니.. 제가 뷰를 실무에서 쓰게 되어서 이렇게 또 뷰 강의로 기효님을 찾아뵙게 되었습니다 ㅎㅎ깃헙 권한을 요청드릴게요 - 인프런 아이디 : leesugar90@naver.com (facebook연동) - 인프런 이메일 : leesugar90@naver.com - 깃헙 아이디 : leesugar90@gmail.com - 깃헙 Username : seolranlee 이전에 뷰 강의들었을 때 해당 레파지토리에 초대해주셨었는데 유효기간이 만료되서 재 요청 드려요ㅠㅡㅠ 아 그리고 더하여서.. 실무에서 Vue + vue-server-renderer로 SSR을 구현하고 있어서 이에 대한 학습이 필요한데, 혹시 기효님의 Nuxt강의를 들으면 어느정도 도움이 될까요? vue-server-renderer로 SSR을 구현하는거랑 Nuxt로 구현하는 것은 또 완전히 다른 개념일지 궁금합니당.