묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
ip 차단 당하는 거 같은데 아무리 랜덤주고, sleep 줘도 안 되는데 다른 방법 더 있을까요??
안녕하세요 현재 도매상에서 물품 검색으로 크롤링 이용하려고 해서 강의를 수강하였습니다. 크롤링 대상 사이트는 총 4개이고, webdriver은 크롬을 사용하였습니다. 크롤링 대상 사이트 중 A도매상이 물품 20개 정도씩 15분 간격으로 검색하게 코드를 짰었습니다. 나머지 3개 도매상은 10개 미만 정도구요.. 그리고 하루에 한번은 A도매상에서 전체 물품이 구매가능한지도 돌려봤었습니다. (200개 정도, 약품당 sleep 1초 정도) 근데 이게 chrome만 차단인가 했더니 IE, 웨일 다 안 되더라구요 모두 로그인 창은 뜨는데 로그인을 하면 흰 화면만 나왔습니다. 그리고 크롤링 하는 컴퓨터 뿐만이 아니라 해당 공유기와 연결된 컴퓨터도 흰 화면만 나왔습니다. 공유기로 들어가서 ip갱신 눌러도 안 들어가져서, MAC주소인가를 바꾸고 나서야 해결이 됬었습니다. 그 이후로는 15분 간격이 아닌 20~60분 중 랜덤하게 돌릴 때마다 간격을 다르게 했고, 물품리스트에서도 물품 검색 순서도 랜덤하게, 물품 200개 정도도 줄여서 170...; 정도를 sleep 3~10 초 중 랜덤하게 이건 정말 차단 당해서 한번 정도만 돌린거 같습니다. 그런데도 일주일정도 되니 차단 당했습니다 ㅠㅠ 돌리는 횟수도 굉장히 적었는데도 왜 차단당했는지 모르겠습니다 ㅠ 근데 이리 쓰면서 보니 차단 당하는 날이 다 월요일인거 같습니다.. 다른 도매상은 검색하는 물품 수가 적어서 그런지 아무런 조치도 없는데 왜 저기만 저러는지 도저히 모르겠습니다. 솔직히 사이트가 그렇게 대단한 보안 사이트도 아닌데... 무슨 로직에 이리 걸려서 차단당하는지 모르겠습니다. 우선은 선생님이 말씀하신 코드 중 하나는 실행하지 않았습니다. from fake_useragent import UserAgent 우선은 desktop으로만 실행되어야 하고.. 그리고 fake_useragent로 하나의 ip에서 여러 기기가 나오면 더 이상해보일 거 같아서 안 넣었는데요...;;;; 지금 ip를 보고 차단하는거 같은데 fake_useragent를 쓰면 해결이 될까요?? ㅠ 그리고 여기 A도매상이 정말 이상한게 제가 모바일로도 도매상 검색을 했던 적이 있는데 모바일은 정말 복불복처럼 들어가지더라구요 그래서 그때는 모바일 웹페이지가 아니어서 그런가 했었습니다. (로그인하면 흰화면만 나옴) 근데 이리 차단당해보니, 그때 모바일은 이미 차단을 당한거고(why...) 위치가 달라져 ip가 달라지니 로그인이 됬던 것이었던 것 같습니다. 의심이 드는게 바로바로 로그아웃을 안하고 웹페이지를 살려두다가 다시 접속하면 차단하는 프로세스인가란 생각도 드는데.. 그래서 이번에는 물품 검색 후 driver.quit()을 넣고 20~60분 sleep한 후에 다시 코드를 돌려보면 해결 될까요 ㅠㅠ 솔직한 맘으로는 입고알림을 해주면 다 해결될 일인데.. 자기네 사이트가 그런 걸 해줄만큼 사이트에 공 들이지도 않을거고.. 이리 계속 차단만 하니 맘 같아선 왜 차단하냐고 따지고는 싶은데 ㅠㅠ 아 추가적으로.. ID차단은 아니어서 진짜 A도매상 주로 주문하는 PC의 IP는 차단당하지 않고 있습니다. (이거 차단당하면 정말 아무것도 하나도 모르는 척 흰 화면만 나와서 주문을 할 수가 없네요 할 예정입니다.) 이게 차단하는 프로세스가 되게 간단할 거 같은데 제 짧은 식견으로는 회피경로를 어떻게 해야할 지 모르겠습니다 ㅠ 그렇다고 mac 주소 변경을 무한정 할 수 있는 입장도 아니라서.. (유플러스에서 10개 정도만 바꾸게 해줘서 ㅠㅠ) 선생님의 고견을 여쭈어 봅니다 감사합니다 ^^
-
미해결게임 엔진을 지탱하는 게임 수학
공간의 카메라 시스템에 대해
3차원 월드 공간 원점에 물체를 두고, 이 물체도 오른손 좌표계를 따른다는 것까지 이해가 갔습니다. Q1. 카메라도 하나의 물체라고 생각하면 될까요? 어찌 되었든, 물체의 양의 z축 방향에다가 카메라를 설치합니다. 물체와 카메라의 z축 방향은 아직 동일한 상태인데, 물체의 정면을 바라보기 위해서 카메라를 180도 무작정 회전시킵니다. 근데, 이러면 카메라의 X축 방향과 물체의 X축 방향이 서로 정반대라 Q2. 카메라를 통해 물체를 바라보는 사람 입장에선, X축에 대해서 반전되어 보인다고 이해하면 될까요? 그렇기 때문에, 일단 다시 Y축에 대해 카메라를 180도 회전 시킵니다. ("다시"라고 적은 이유는 앞에 무작정 180도 회전 시킨것도 Y축에 대해 180도 회전했던것이라고 생각되기 때문입니다.) Q3. 그렇게해서 보는 방향은 Z축의 음의 방향(즉 카메라의 뒤로)으로 물체를 바라보는 단점이 있지만, 장점은 X Y축이 우리에게 익숙한 데카르트 좌표계로 보여지게 된다. 라고 이해하면 될까요?
-
미해결비전공 기획자 및 관리자를 위한 IT 필수 지식
강의교재 받고싶습니다.
안녕하세요. 강사님, 전체 강의안교재를 받고싶습니다. (이메일 : wlwsmsrhtk1@naver.com) 비전공자와 마찬가지인데 저한테는 너무 좋은 강의가 될 것 같습니다. 감사합니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Delegate 여쭤봅니다!
void VideoPlaySet() { video.Play(); Wait(1f, delegate { GuideSet(); }); StartCoroutine(VideoCheck()); } 제가 회사서 이런 코드를 발견했는데 이경우에는 delegate 가 GUideSet() 함수를 호출하는건가요?? Wait() 의 인자로 1f초 뒤, delegate {GuideSet()} 을실행한다?? 이게 맞을까요??
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
사진처럼 클라이언트는 5번 보내는데, 서버는 6번 로그를 찍습니다. 왜 그런지 알 수 있을까요?
(사진)
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
default.hlsli 파일에 관해서
안녕하세요!쉐이더 파일을 만드실때에 hlsl이 아닌 hlsli 로 만드신 이유가 궁금합니다.둘의 차이에 대해서도 궁금합니다.
-
미해결워드프레스 기초부터 쇼핑몰까지
강사님
강사님 궁금한 점이 있습니다. 워드프레스 엘리먼터로 홈페이지를 만들 수 있어서 좋은데요 그런데 문듯 궁금한 점이 엘리먼터 프로가 있던데 그건 어떤가요? 엘리먼터 프로 좋은가요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
예제 오드리햅번 사진 selective search에서 질문드립니다.
안녕하세요. 강의 설명 잘 들었습니다. selective search 알고리즘 설명하시면서, 이전 edge detection, 색상, 질감으로 초기 segmentation을 하고 그 다음 큰 영역으로 결합하는 것으로 이해했는데요. 오드리햅번 사진 예제를 보면 오드리 햅번 얼굴을 bounding 박스가 찾아내는데요. 머리와 얼굴 피부 부분이 색감이나 edge 부분이 전혀 달라 보이는데 하나의 객체로 인식할 수 있는 알고리즘? 조건이 있는건가요?
-
미해결운영체제 공룡책 강의
6.3 peterson's solution 질문이 있습니다
안녕하세요 교수님 좋은 강의 언제나 감사드립니다 다름이 아니라 피터슨 솔루션 코드에서 while(true) { flag[i] = true; turn = j; //다음 순서로 j 지정 while (flag[i] && turn == j ) // j가 실행중이고 자기 차례라면 종료까지 대기 } 이렇게 설명을 해주셨는데, 이해가 잘 되지 않습니다! 다음 순서로 j를 지정해준 것이 while의 조건에 들어가는 것으로 이해가 되는데... 설명을 부탁드려도 될까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
CommentForm.js에서 id가 읽히지 않았다고 합니다.
PostCard.js에서는 id값이 읽히는데 CommentForm.js에서 id값이 읽히지 않는다고 하네요.. 계속 찾아봤는데 이유를 모르겠어서 질문드립니다..!
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
리덕스 createStore 오류
Redux 초반에 CreateStore를 import 하면 취소선 뜨면서 기능이 안 먹힙니다. 왜 그런거죠?? 해결책 좀 알려주세요
-
미해결UIKit - iOS14 실무 가이드 <iOS앱 진짜 개발자 되기>
dragType에 따른 x축 y축 이동
안녕하세요 선생님 강의 시간 기준 08:00분 정도 까지 다루는 내용에 대해서 질문이 있습니다. 저는 enum으로 타입을 나누지 않고 dragType을 스트링 타입의 변수로 두고 해보려고 했는데 처음 선언한 변수인 빈 스트링값만 DraggableView로 넘어갑니다 ㅠㅠ DraggableView에선 뷰컨트롤러를 인스턴스화 시켜서 dragType에 접근할 수 있도록 해봤습니다. 왜 넘어가지 않는지 찾으려고 인덱스 0의 버튼을 누르면 drgaType을 프린트하는 로직을 써봤는데 여기선 dragType에 "x"가 잘 들어가더군요,, 어디서 잘못된건지 찾기 힘들어서 사진남깁니다...
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
jinja2 error
jinja2를 install 하기 전까지는 잘 시행되나 jinja2를 install 하고 강사님의 가이드를 따라서 코드를 수정하고 server를 실해했을 때 아래와 같은 에러가 뜹니다. AttributeError: module 'jinja2' has no attribute 'contextfunction' 구글에 찾아보면 contextfunction는 dependency 문제라고 나오는데 install한 jinja의 버젼때문에 생긴 에러일까요? 그렇다면, 강사님의 jinja2 버젼을 알 수 있을까요? 앞으로도 jinja2가 계속 update 될텐데 해당 문제를 version을 downgrade하지 않고 해결하는 방법은 무엇인지 궁금합니다. 감사합니다~!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
AccountDb 업데이트
강의의 마지막 부분인 <서버 선택창> 부분의 소스 파일을 받고 AccountDb를 시작 프로젝트로 설정한 후 패키지 관리자 콘솔에서도 AccountServer로 놔둔 후 update-database를 때렸는데 More than one DbContext was found. Specify which one to use. Use the '-Context' parameter for PowerShell commands and the '--context' parameter for dotnet commands. 이렇게 나옵니다! AppDbContext가 2개 이상이라 그런 것 같은데 보시다시피 하나밖에 보이지 않습니다. 구글링을 해보니 update-database -Context AppDbContext로 실행하면 된다는데 -context로 실행할 DbContext를 찝어준다는 것 같은데애초에 왜 DbContext를 2개로 판단하는지 궁금합니다!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
소팅 부분을 직접 구현하는 형식으로 코드를 짜봤는데요..
- 학습 관련 질문import java.util.*; public class PracticeWedding { public int solution(int number, List<List<String>> time){ int answer = 0;// for (int i =0 ; i < number; i++){ List<String> schdule = time.get(i); //시간 가져오기 String strTime = schdule.get(0); //변환 int intTime = Integer.parseInt(strTime); //state 가져오기 String state = schdule.get(1); for (int j = i+1; j < number ; j++){ List<String> schdule2 = time.get(j); //시간 가져오기 String strTime2 = schdule2.get(0); //변환 int intTime2 = Integer.parseInt(strTime2); //state 가져오기 String state2 = schdule2.get(1); if (intTime > intTime2){ List<String>temp = new ArrayList<>(); temp = time.get(i); time.set(i,time.get(j)); time.set(j,temp); }else if (intTime == intTime2){ if (state.equals("e")&&state2.equals("s")){ List<String>temp2 = new ArrayList<>(); temp2 = time.get(j); time.set(j,time.get(i)); time.set(i,temp2); } } } for (int z =1; z <time.size();z++){ System.out.print(time.get(z)); } System.out.println(" "); } //e와 s 판별 for (int z=0; z<number; z++){ List<String> schdule = time.get(z); String state = schdule.get(1); if (state.equals("s")){ answer++; }else { answer--; } } return answer; } public static void main(String[] args) { PracticeWedding practice1 = new PracticeWedding(); System.out.println("결혼식에 참석할 인원 수를 입력해주세요"); Scanner intput = new Scanner(System.in); String peoplNumber = intput.next(); List<List<String>>totalTimeArray = new ArrayList<>(); int number = Integer.parseInt(peoplNumber); for (int i = 0; i < number; i++ ){ System.out.println(i+"번째 돌아가는 친구의 시간을 입력하시오"); Scanner scanner = new Scanner(System.in); String totalTime = scanner.nextLine(); String[] array = totalTime.split(" "); String startTime = array[0]; String endTime = array[1]; List<String> manScheduleS = new ArrayList<>(); manScheduleS.add(startTime); manScheduleS.add("s"); totalTimeArray.add(manScheduleS); List<String> manScheduleE = new ArrayList<>(); manScheduleE.add(endTime); manScheduleE.add("e"); totalTimeArray.add(manScheduleE); } int Number = practice1.solution(number,totalTimeArray); System.out.println("Number = " + Number); } 오름차순 정렬도 직접 구현해서 코드를 짜봣는데... 오름차순 정렬 부분에서 아무리 봐봐도 뭐가 틀렸는지를 모르겠습니다... 혹시 알려주실수 있으신가요?
-
미해결홍정모의 따라하며 배우는 C언어
scanf 다음에 getchar로 버퍼 clear 하는 부분에서 enter만 입력하면
강의 11:11 에, printf("Input the price.\n>>"); int flag = scanf("%f", &library[count].price); while (getchar() != '\n') continue; 요 부분에서, 코드를 실행할때 위에서 book title과 author를 집어넣은 다음에, price를 입력할때 아무것도 입력하지 않고 enter만 입력하면 while문에 갇히는? 현상이 발생합니다. 물론 다른 입력을 한다음에 엔터를 치면 정상적으로 다음으로 돌아가는데 아무 내용 없이 enter만 치면 계속해서 while문에 머무른데 이해가 가지 않네요. enter만 쳐도 \n이 버퍼를 통해 전송되니 while문 조건에 맞지 않아 빠져나와야 정상인거 같은데... 왜 그런가요?
-
미해결[개념은 호옹~, 실습 빡] 스프링 부트, 입문!
한글이 깨지는것 같아요
지금 스프링부트 입문 수업 초반 듣는중인데.. 한글을 웹페이지에 나오게 할려고 하면 ???로 표기가 되요
-
미해결그로스해킹 - 데이터와 실험을 통해 성장하는 서비스를 만드는 방법
NPS 질문드립니다.
안녕하세요. 현재 NPS 참여율이 너무 낮아서 문의드립니다. 참여율을 높일 수 있는 팁이 있을까요? 추가적으로 모든 유저에게 같은 NPS를 보내야 하는지도 여쭤보고 싶습니다. 활발히 제품을 사용하고 있는 유저와 구독 취소를 하는 유저에게서 얻을 수 있는 인사이트가 다르다고 생각하여 질문드립니다. 좋은 강의 감사합니다. 다음 강의가 기대되네요.
-
미해결스프링 부트 개념과 활용
junit5 관련하여 질문드립니다.
안녕하세요 백기선 강사님 항상 퀄리티 높은 스프링 강의 잘 수강하고 있습니다. 여쭤볼게 하나 있어서 질문을 하게 되었는데, 이 강의에서 테스트 코드를 작성하신건 junit4 인듯싶습니다. 현재 저는 junit5로 테스트 코드를 작성하고있는데, MockMvc가 의존성 주입이 안된다고 하고 있습니다. 하지만 테스트는 통과가 되는데 혹시 왜 이런 현상이 발생하는지에 대해 아시는지 궁금합니다. 아래 사진과 같습니다.
-
미해결버그헌팅과 시나리오 모의해킹 전문가 되기
http 접속 문제
안녕하세요. 첫 번째 시나리오 실습 시 http://192.168.0.X 접속 오류가 발생하여 질문 드립니다. http://192.168.0.X로 입력 후 접속을 시도하면, 자동으로 https://192.168.0.X로 변경되어 아래 그림과 같은 오류가 출력됩니다. http로 접속하려면 어떻게 해야 하나요? 감사합니다.