묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
netlify대신
ngnix에 올리려고 할떄 공식사이트에서 Docker(NGINX)를 참고하면 될까요??
-
미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
settings.py에 대해서 질문 드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 settings.py에 대해서 질문 드립니다. 아래 검은 배경은 settings.py이며, 질문은 초록색이고 흰색은 셋팅한 결과입니다. 네이버 상품(약 10~100만개) 긁어오기로 크롤링 연습중입니다. Q. 이 숫자를 키우면 속도가 빨라지고 낮추면 속도가 느려지는 것 같습니다. 동시 요청 처리 갯수 때문 인 것 같은 데요. 구글링 해본바 너무 요청속도가 빠르면 네이버에서 제 ip를 막을수도 있다는 글을 봤습니다. 혹시 어느 정도 수치가 적당할지 조언 부탁드립니다. CONCURRENT_REQUESTS = 64 #이거는 웹 도메인 동시병렬처리 갯수라고 알고 있습니다. 바로위 셋팅한 기능과 어떤 차이가 있는지 궁금합니다. 또한 크롤링 실행 후 네이버에서 제ip를 막지 않을 정도이면서 빠른 데이터 수집가능하게하려면 어느정도 수치가 적당할지 조언 부탁드립니다. CONCURRENT_REQUESTS_PER_DOMAIN = 16 #이 부분은 동시 IP 병렬 처리 갯수 지정하는 곳으로 알고 있습니다. 아래와 같이 셋팅해서 써봤으나 속도가 100배 이상 느려지는 것 같습니다. 랜덤 ip를 사용하면서 해당 사이트에서 벤 먹지 않기위해서는 랜덤 ip 관련 셋팅을 어떻게 할 수 있을지 조언 부탁드립니다. CONCURRENT_REQUESTS_PER_IP = 16 ROTATING_PROXY_LIST = [ '195.7.9.141:8080', '105.208.44.183:53480', '96.9.77.71:8080', '103.87.207.188:48792', '139.59.102.4:8080', '103.109.59.242:53281', '219.92.3.149:8080', '192.241.172.93:8080', '85.15.152.39:3128', '81.255.13.197:8080', '177.86.201.22:8080', '13.231.68.213:8081', '78.42.42.35:3128', '45.248.94.60:30858', '194.5.237.193:1038', '149.28.213.28:80', '115.75.2.213:38351', '75.119.144.28:80', '103.35.171.233:55443', '193.29.104.79:3128', ] DOWNLOADER_MIDDLEWARES = { 'rotating_proxies.middlewares.RotatingProxyMiddleware': 610, 'rotating_proxies.middlewares.BanDetectionMiddleware': 620 } #이 부분은 매 요청마다 쿠키를 삭제하는 기능으로 알고 있습니다. 제 사용법이 적절한지 조언 부탁립니다. COOKIES_ENABLED = False TELNETCONSOLE_PORT = None ..~~ 각 yield마다 meta에 dont_merge_cookies:true를 넣어준 상태입니다. yield scrapy.Request(url=i['link'], callback=self.product_1, meta={'dont_merge_cookies': True}) # 이 부분은 매 요청마다 랜덤 user-agent를 주기위해 셋팅했습니다. 하지만 실행하면, 속도가 100배 이상 느려 지는 것 같습니다. 어떻게 하면 최대한 빠르게 매요청마다 랜덤 user-agent를 보낼 수 있을지 조언부탁드립니다. DOWNLOADER_MIDDLEWARES = { 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None, 'scrapy.downloadermiddlewares.retry.RetryMiddleware': None, 'scrapy_fake_useragent.middleware.RandomUserAgentMiddleware': 400, 'scrapy_fake_useragent.middleware.RetryUserAgentMiddleware': 401, } FAKEUSERAGENT_PROVIDERS = [ 'scrapy_fake_useragent.providers.FakerProvider', 'scrapy_fake_useragent.providers.FakeUserAgentProvider', 'scrapy_fake_useragent.providers.FixedUserAgentProvider', ] # 만약 매 요청마다 random user-agent와 random ip를 네이버 쇼핑에 던질 수 있으면, 딜레이 시간 없애고 동시요청 갯수를 수천개로 늘려도, 밴 걸릴 확률이 낮을까요 ?
-
미해결페이스북 클론 - full stack 웹 개발
13:09 alert 출력
저는 왜 메세지부분에 html태그가 뜰까요?? 저 중에, <title>부분만 떠야하는것 같은데, 버전이 달라서 그런건가요 ???
-
미해결인공지능 기초수학
교안 부탁드립니다.
polo4800@gmail.com 입니다. 감사합니다.^^ - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
해시태그 중복 관련 질문
안녕하세요 제로초님 #노드 #노드 #노드 이런 식으로 중복되는 해시태그를 가진 게시글을 작성하면 db에 id만 다르고 name은 같은 해시태그들이 생성이 됩니다. 어찌됐든 db에 데이터가 생성되는 과정에서는 에러가 발생하지 않습니다. 직후에 다시 #노드 #노드 로 게시글 하나를 작성하면 ValidationErrorItem { message: 'posthashtag.PRIMARY must be unique', type: 'unique violation', path: 'posthashtag.PRIMARY', value: '8-32', // (실험해보면서 자동으로 올라간 hastaghId와 posthId입니다) origin: 'DB', instance: null, validatorKey: 'not_unique', validatorName: null, validatorArgs: [] } 와 같은 에러 메시지가 발생합니다. #노드 해시태그 하나만 넣고 작성하면 에러 없이 실행되구요. 물론 #노드 해시태그를 하나만 넣고 글을 작성하면 해시태그db에는 추가되지 않고 posthashtag 테이블에도 관계가 잘 설정이 됩니다. 이런 에러가 발생하는 원인으로는 db에 '노드'라는 해시태그가 없을 때 , const hashtags = req.body .... 로 가져온 hashtags가 [#노드,#노드,#노드] 인 경우 db에서 '노드'라는 name을 가진 해시태그를 3개 만들어버리는 현상인 것 같습니다. 왜 이런 현상이 발생하는지는 이유를 잘 모르겠습니다. 추측으로는 ['#노드','#노드','#노드'].map 하는 과정에서 findOrCreate가 Promise.all 때문에 프로미스들을 한 방에 실행하기 떄문에 ['노드',true],['노드',true],['노드',true]를 리턴한다고 생각해보면, 각자 모두 true이기 때문에 아이디 1,2,3을 부여받겠지요. 그 다음은post.addHashtags(result.map((v)=>v[0]); 에서 (1,1),(2,1),(3,1)이 친구들이 posthastag에 생성되게 되니까 최초 등록 과정에서는 문제가 안될것 같고 그 다음 ['#노드','#노드']가 들어와서 map을 하는 과정을 생각해보면, findOrCreate가 ['노드',false], ['노드',false]를 리턴하고, post.addHashtags에서 ['노드',false]이기 때문에 첫 번째로 찾은 '노드' name을 가진 hashtag 객체의 id인 1을 이용해서 (1,2), (1,2)를 시도하기 때문에 posthashtag UNIQUE 에러가 발생하는 것이 아닌가? 라고 생각을 하고 있습니다. 1. 혹시나 제 추측이 맞다면, 이는 제가 Promise.all의 메커니즘을 아직 잘 모른다는 뜻이 되는데 Promise.all은 정확히 동시에 실행이 되기 때문에 ['노드',true],['노드',true],['노드',true]를 결과값으로 받는건가요? 2. 혹시나 제 추측이 맞다면, 이를 해결하기 위해서 const hashtags = req.body .... 부분에서 중복제거를 실시한 다음에 findOrCreate 부분으로 넘어가게끔 처리하면 될까요? 3. 혹시나 제 추측이 틀리다면 어떤 흐름으로 오류가 발생하게 된건가요? 질문 완료입니다!
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
화살표 함수 질문합니다.
화살표 함수를 사용할 때, () => {} () => () 차이가 무엇인지 궁금합니다 !!
-
해결됨Python 엑셀 프로그래밍 - with xlsxwriter
주피터 노트북 화면이 안나와요
파워쉘에서 jupyter notebook하고 엔터 눌렀는데 하얀 주피터로 넘어가지를 않는데요?? 뭐가 잘못된걸까요??
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
CNN Cifar10 VGG16으로 전이학습 시 val_accuracy가 0.1로 고정되어 나옵니다
안녕하세요. CIFAR10 데이터를 가지고, VGG16으로 전이학습을 해보려고 했습니다. 데이터가 충분하다고 생각해서 뒤에서 2개의 block을 trainable=True로 바꾸고, top 부분은 globalaveragePool 이후에 Dense로 Softmax를 적용했는데, 훈련이 아주 이상하게 동작하는데, 이유를 알 수 있을까요? import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, MaxPooling2D, Dense, Flatten, BatchNormalization, Dropout from tensorflow.keras.preprocessing.image import ImageDataGenerator from tensorflow.keras.utils import to_categorical, normalize import numpy as np import os import matplotlib.pyplot as plt import pandas as pd %matplotlib inline (x_train, y_train), (x_test, y_test) = tf.keras.datasets.cifar10.load_data() print(x_train.max(), x_train.min()) x_train = normalize(x_train) x_test = normalize(x_test) y_train = to_categorical(y_train) y_test = to_categorical(y_test) print(x_train.shape, x_test.shape, y_train.shape, y_test.shape) print(x_train.max(), x_train.min(), x_test.max(), x_test.min()) train_datagen = ImageDataGenerator( rotation_range = 45, width_shift_range = 0.2, zoom_range = 0.2, horizontal_flip = True ) train_datagen.fit(x_train) train_generator = train_datagen.flow( x_train, y_train, batch_size = 128) model_vgg = VGG16(weights='imagenet', include_top=False) for layer in model_vgg.layers: layer.trainable = False for layer in model_vgg.layers[-8:]: layer.trainable = True inputs = model_vgg.output x = tf.keras.layers.GlobalAveragePooling2D()(inputs) x = Dense(256, activation='relu')(x) x = Dropout(0.3)(x) x = Dense(128, activation='relu')(x) x = Dropout(0.3)(x) x = Dense(10, activation='softmax')(x) new_model = tf.keras.models.Model(model_vgg.input, x) new_model.summary() from tensorflow.keras.callbacks import ReduceLROnPlateau, EarlyStopping rlr_cb = ReduceLROnPlateau(monitor='val_loss', factor=0.3, patience=3, mode='min', verbose=1) ely_cb = EarlyStopping(monitor='val_loss', patience=5, mode='min', verbose=1) new_model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy']) history = new_model.fit_generator(train_generator, steps_per_epoch = 391, epochs = 100, validation_data = (x_test, y_test), #callbacks=[rlr_cb, ely_cb] )
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
뷰포트가 작아지면
브라우저의 창 크기를 줄이면 border가 괴상해지는데요 이를 방지하는 방법이 있을까요? ㅠㅠ
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
안녕하세요. 질문드립니다.
- 아래 사진과 같이 hdml 1강의에서 웹브라우저로 열기하는 방법이 없습니다. 어떻게 해야하나요? - 주석으로 처리 방법으로 <! 로 똑같이 하였는데 되지않습니다. 왜 안되는지 모르겠습니다.
-
미해결고수가 되는 파이썬 : 동시성과 병렬성 문법 배우기 Feat. 멀티스레딩 vs 멀티프로세싱 (Inflearn Original)
asyncio wait -> task로 교체
파이썬 공식 문서 --버전 3.8부터 폐지: aws에 있는 어웨이터블이 코루틴이면, 자동으로 태스크로 예약됩니다. 코루틴 객체를 wait()로 직접 전달하는 것은 혼란스러운 동작으로 연결되므로 폐지되었습니다. -- async def process_async(): start = time.time() task1 = asyncio.create_task( exe_calculate_async('One', 3)) task2 = asyncio.create_task( exe_calculate_async('Two', 2)) task3 = asyncio.create_task( exe_calculate_async('Three', 1)) await task1 await task2 await task3 end = time.time() print(f'>>> Total seconds: {end - start}') 문제 없이 실행 되었습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
더티체킹
안녕하세요 영한팀장님 강의를 듣다가 갑자기 궁금한 부분이 생겼습니다. 더티체킹은 transaction이 commit 한 시점으로 부터 스냅샷과 DB를 비교하여 쿼리가 나간다라고 말씀해주셨는데 만약 @Transactional을 메소드에 사용한다면 예를들어 @Transactional public void valueChange(Long id){ User user = repo.findUserByid(id) user.setUsername("hello") System.out.println("section1") User user = repo.findUserByUsername("hello") System.out.println("section2") } 이라고 하면 제가 실험을 해본 결과 "section1" 이 출력되고 update 쿼리가 나가던데 말씀하신데로라면 @Transactional 이 끝나고 update 쿼리가 나가야 하지 않나요? 답변 기다리겠습니다. 감사합니다.
-
해결됨홍정모의 따라하며 배우는 C언어
02:30초 질문드립니다.
02분 30초쯤부터 선생님께서 말씀하시기를 while문 비교를 하기전에 입력을 한번은 꼭 받아야 한다고 하셨는데, int ps = 0; while (ps != 337) { printf("Enter secret code : "); scanf("%d", &ps); } printf("Good!"); 저는 이렇게 while문에 하나만 달랑 넣고 만들어서 실행을 해봤는데 이상이 없더라구요. 이게 정상작동되면 do while문이 필요없지않나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Category의 parent_id 생성 관련
안녕하세요, 영한쌤. Category에서 private Category parent에 있지도 않은 parent_id를 @JoinColumn 기준으로 잡아주는 것이 너무 이상했는데 create table할 때 parent_id 필드가 만들어지더라구요. 명시적으로 만든 적이 없는 parent_id를 가지고 @JoinColumn에 이걸로 연결하라고 사용해도 오류가 나지 않을 뿐더러 심지어 parent_id가 생성되는 이유가 궁금합니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
싱글톤에 관하여
안녕하세요 싱글톤을 따라서 구현하다가 궁금한 점이 생겨 질문드리게되었습니다. ServerPacketManager 에서는 static PacketManager _instance; public static PacketManager Instance { get { if (_instance == null) _instance = new PacketManager(); return _instance; } } 이렇게 싱글톤을 만들었고 SessionManager 에서는 static SessionManager _session = new SessionManager(); public static SessionManager Instance { get { return _session; } } 이렇게 구현하셨는데 같은 싱글톤이죠? 굳이 다르게 구현하신 이유가 있나요?
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
indent guides
안녕하세요 선생님 웹디 필기는 합격했고 실기위해서 강의 신청했어요 유튜브에서 html 기본강의 보고 있는데 브라켓에서 선생님이 설치하라는거 다 설치했거든요 그중에 indent guides도 설치했는데 라인이 안나와요 뭐가 잘못된걸까요? ㅜㅜ 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
git 권한 승인 부탁드립니다
인프런 아이디 : orcasoft인프런 이메일 : orcasoft@naver.com깃헙 아이디 : mirro97@naver.com깃헙 Username : sujeong.k
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
새로운 씬을 로드 후 InputManager 문제
안녕하세요, 강의 보면서 제 게임을 만들고 있는 학생입니다. 저는 Game씬에서 퍼즐 씬으로 넘어가도록 만들고 있습니다. 그런데 여기서 MissingReferenceException: The object of type 'PlayerController' has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object. 오류가 발생합니다. InputManager에서 사용자의 키보드 입력이 들어오면 KetAction을 구독한 친구들(제 경우엔 PlayerController)에게 Invoke()를 통해 신호를 주잖아요. 그런데 새로운 씬으로 넘어가면 PlayerController가 사라지는데도 자꾸 신호를 넘겨줘서 이런 문제가 발생하는 것 같습니다. 캐릭터 이동에 할당한 키와 같은 키를 눌렀을 때 문제가 발생합니다. 이걸 해결할 수 있는 방법이 없을까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
배포후 CORS 403에러
안녕하세요 제로초님 ! 현재 상황이 로컬에서는 별 문제없이 분명 API를 요청하면 잘 받아오는데 현재 프론트엔드를 배포하고 현시점에 API를 요청하니 CORS에러가 뜨더라구요.구글링을 해서 AWS 설정으로 CORS설정을 해줬는데도 계속 403과 함께 CORS가 발생하는데 조언 좀 부탁드리겠습니다 ㅜㅜ
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
메모리 사용량 질문
안녕하세요, 개인 환경에서 돌리는 것을 연습중인데, 왜 자꾸 에러가 나나 했는데 강의에서 트레이닝 시 메모리를 15G 정도 먹고있는 것을 발견해서 이것이 원인이라고 생각해요! 정말 메모리를 많이 먹는군요... load_weights 할 때부터 10G 정도를 먹고, fit을 하려고 하니 제 그래픽카드 할당량인 11G가 넘어서 에러가 나는 것 같스빈다. 제가 11G짜리 그래픽카드를 두장을 쓰고 있는데, 혹시 메모리 사용량을 절반씩 나눠서 트레이닝하는 방법이 있을까요??