묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
헤더추가 해도 서버 거부
서버가 거부가 되어서 헤더추가까지 했는데도... 여전히 서버 거부인 듯하네요.. 강사님 그대로 따라 했는데.. 왜 이렇죠.ㅠㅠ import requests from bs4 import BeautifulSoup import pandas as pd # 파라미터 종류가 많은 경우 꿀팁 param = { 'isDetailSearch': 'N', 'searchGubun': 'true', 'viewYn': 'OP', 'strQuery': '패션 인공지능', 'order': '/DESC', 'onHanja': 'false', 'strSort': 'RANK', 'iStartCount': 0, 'fsearchMethod': 'search', 'sflag': 1, 'isFDetailSearch': 'N', 'pageNumber': 1, 'icate': 're_a_kor', 'colName': 're_a_kor', 'pageScale': 100, 'isTab': 'Y', 'query': '패션 인공지능', } reponse = requests.get('https://www.riss.kr/search/Search.do',params=param) html = reponse.text soup = BeautifulSoup(html, 'html.parser') articles = soup.select('.srchResultListW > ul > li') # 헤더가 필요한 경우(서버가 막힌 경우) header = { 'User-Agent' : 'Mozilla/5.0', 'Referer' : 'https://www.riss.kr/search/Search.do?isDetailSearch=N&searchGubun=true&viewYn=OP&queryText=&strQuery=%ED%8C%A8%EC%85%98+%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5&exQuery=&exQueryText=&order=%2FDESC&onHanja=false&strSort=RANK&p_year1=&p_year2=&iStartCount=0&orderBy=&mat_type=&mat_subtype=&fulltext_kind=&t_gubun=&learning_type=&ccl_code=&inside_outside=&fric_yn=&db_type=&image_yn=&gubun=&kdc=&ttsUseYn=&l_sub_code=&fsearchMethod=search&sflag=1&isFDetailSearch=N&pageNumber=1&resultKeyword=&fsearchSort=&fsearchOrder=&limiterList=&limiterListText=&facetList=&facetListText=&fsearchDB=&icate=re_a_kor&colName=re_a_kor&pageScale=100&isTab=Y®nm=&dorg_storage=&language=&language_code=&clickKeyword=&relationKeyword=&query=%ED%8C%A8%EC%85%98+%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5', } for article in articles[:1]: title = article.select_one('.title > a').text link = 'https://www.riss.kr' + article.select_one('.title > a').attrs['href'] # 상세 페이지로 요청(페이지 안에 들어가야 내용이 있는 경우) response = requests.get(link, headers=header)# 여기서 헤더 추가 html = reponse.text soup = BeautifulSoup(html, 'html.parser') print(soup) press = soup.select_one('.infoDetailL > ul > li:nth-of-type(2) > div').text #print(title,link,press)
-
해결됨김영한의 실전 자바 - 중급 1편
익명 클래스 질문(만든 이유가 이것인지요?)
안녕하세요. 궁금중이 생겨서 질문을 남깁니다.전에 y2gcoder님이 저에게 답변 해준 ‘익명 클래스를 어떻게 만드는지, 왜 저렇게 되는지에 대해서는 이해했다는 조건이 필요할 것 같습니다’ 이글을 읽으면서 생각하다가 이런생각이 들었습니다.익명클래스는 인터페이스 및 상속 받은 것만 쓸수 있다고 하였고, 익명클래스는 메서드 안의 내용을 통채로 넣어 버린것을 알수 있었습니다.그러면서 들은 생각이 상속이나 임플리먼츠 를 할때 메서드 고작 하나(1개) 밖에 없으니, 새로운 클래스를 만들기 보다는, 익명클래스를 만들어서 용량도 줄이고 유동성 있게 만들어보자 라는 생각이 들더군요.영한님이 보여주신Run()이라는 메서드를 보면서 말이죠.혹시 저의 생각이 맞는지 알고 싶습니다.틀리다면 틀리다고 말씀해 주시면 감사하겠습니다.답변 부탁드립니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
이벤트를 쓰는 것이 CPU 처리율이 더 높게 나오는데 무엇이 문제인지 모르겠습니다
안녕하세요 선생님 🙂 선생님 강의 덕분에 서버에 입문을 수월하게 한 것 같습니다. 감사합니다 ^^ 다름이 아니라, 이벤트를 쓰면 WaitForSingleObject 함수로 인해서 계속해서 대기가 되는 상태일텐데 CPU 점유율이 쓸데없이 무한루프를 도는 것보다 많이 먹습니다. 무엇이 문제인지 잘 모르겠습니다 ㅠㅠ 확인해주시면 감사하겠습니다!!<이벤트 사용X> <이벤트 사용O>
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
close()메소드
ExecutorService에서 close()메소드가 없다고 나오는데 close() 대신 shutdown()을 사용하는 건가요?
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
기술적 준수사항 중 탭키 이동 건
별도로 지정하지않은 상호작용이 필요한 모든 콘텐츠는 임시링크를 적용하고 탭키로 이동 선택할수 있어야 한다라는 기술적 준수사항에, 푸터의 패밀리사이트 항목들도 해당되나요?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
getServerSideProps를 사용한 페이지의 navigation 방식이 궁금합니다
Next.js는 오직 초기 접속시에만 html 파일을 불러와 Hydration 하고 그 이후의 페이지 이동은 리액트의 CSR 방식으로 처리된다고 알고 있습니다.그런데 Page Router 에서 getServerSideProps를 사용할 때 매 요청마다 사전 렌더링을 통해 html을 생성하는 것으로 알고 있습니다.그러면 초기 접속이 아니더라도, getServerSideProps를 사용한 페이지로 이동하면 Next 서버에서 클라이언트에게 html을 응답해주는 건가요?서버로부터 html을 응답받는 것이 맞다면 어떻게 깜빡임 없이 화면 전환이 자연스럽게 되는지, 그리고 이렇게 되면 페이지 이동이 리액트의 CSR 방식으로 처리된다고 말할 수 없는건지 궁금합니다 😭서버로부터 html을 응답받는 것이 아니라면, 클라이언트에서 어떤 값을 서버로부터 받아 렌더링을 하는건지 궁금합니다. getStaticProps를 사용할 때와 유사하게 json 파일이 생성되어서 이 json 파일을 클라이언트에게 응답해주는 건가요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
프레임 전환
안녕하세요 강사님! 강의 너무 잘 만들어주셔서 감사합니다. 강사님과 같은 코드를 사용하여 iframe을 전환했는데 저는 자꾸 NoSuchElementException 오류가 뜨네요 위 부분 코드도 그대로 따라했는데 같이 올려봅니다! #셀레니움 기본 템플릿 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time import pyperclip user_id = "제 아이디" user_pw = "제 비밀번호" #크롬드라이버 생성 driver = webdriver.Chrome() #페이지 이동 driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/") # time.sleep(1) #아이디 입력 id = driver.find_element(By.CSS_SELECTOR, '#id') pyperclip.copy(user_id) id.send_keys(Keys.CONTROL,'v') # time.sleep(1) #패스워드 입력 pw = driver.find_element(By.CSS_SELECTOR, '#pw') pyperclip.copy(user_pw) pw.send_keys(Keys.CONTROL,'v') # time.sleep(1) #로그인버튼 클릭 driver.find_element(By.CSS_SELECTOR,'#log\\.login').click() #드롭다운 메뉴 클릭 driver.find_element(By.CSS_SELECTOR,'#account > div.MyView-module__my_menu___eF24q > div > div > ul > li:nth-child(1) > a > span.MyView-module__item_text___VTQQM').click() #메일함버튼 클릭 driver.find_element(By.CSS_SELECTOR,'#account > div.MyView-module__layer_menu_service___NqMyX > div.MyView-module__service_sub___wix9p > div.MyView-module__sub_left___AIWHR > a').click() #현재 열려있는 창 driver.window_handles #새창으로 전환 driver.switch_to.window(driver.window_handles[1]) #메일쓰기버튼 클릭 driver.find_element(By.CSS_SELECTOR,'#root > div > nav > div > div.lnb_header > div.lnb_task > a.item.button_write').click() #받는사람 recieve = driver.find_element(By.CSS_SELECTOR, '#recipient_input_element') recieve.send_keys('kiyoung3159@naver.com') title = driver.find_element(By.CSS_SELECTOR,'#subject_title') title.send_keys('음하하 아주 잘했어') #프레임전환 iframe = driver.find_element(By.CSS_SELECTOR,"#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe") driver.switch_to.frame(iframe) 에러 코드는 아래와 같이 뜨네요! NoSuchElementException Traceback (most recent call last) Cell In[61], line 2 1 #프레임전환 ----> 2 iframe = driver.find_element(By.CSS_SELECTOR,"#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe") 3 driver.switch_to.frame(iframe) File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\selenium\webdriver\remote\webdriver.py:741, in WebDriver.find_element(self, by, value) 738 by = By.CSS_SELECTOR 739 value = f'[name="{value}"]' --> 741 return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"] File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\selenium\webdriver\remote\webdriver.py:347, in WebDriver.execute(self, driver_command, params) 345 response = self.command_executor.execute(driver_command, params) 346 if response: --> 347 self.error_handler.check_response(response) 348 response["value"] = self._unwrap_value(response.get("value", None)) 349 return response File ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\LocalCache\local-packages\Python312\site-packages\selenium\webdriver\remote\errorhandler.py:229, in ErrorHandler.check_response(self, response) 227 alert_text = value["alert"].get("text") 228 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here --> 229 raise exception_class(message, screen, stacktrace) NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe"} ... (No symbol) [0x00007FF7544255E0] (No symbol) [0x00007FF754414A7F] BaseThreadInitThunk [0x00007FFF14F8257D+29] RtlUserThreadStart [0x00007FFF16E4AF28+40] 무엇이 잘못되었는지 1시간 고민하다가 질문 올려봅니다!!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
증감식 없는 반복문에 조건을 통해 루프 종료
13:50에 출력(printf) 이후에 조건(if)을 줘도 조건이 출력에 영향을 주는 구조인건가요?
-
해결됨스프링 핵심 원리 - 고급편
logTrace를 파라미터로 받는 이유 ?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.InterfaceProxyConfig에서 logtrace를 파라미터로 받아오는 특별한 이유가 있을까요 ? logtrace를 이런식으로 생성자 주입으로 받아서 사용한다면 문제가 생길까요 ? 정상작동은 하는데 궁금합니다. @RequiredArgsConstructor @Configuration public class InterfaceProxyConfig { private final LogTrace logTrace; @Bean public OrderControllerV1 orderController(){ OrderControllerV1Impl controllerImpl = new OrderControllerV1Impl(orderService()); return new OrderControllerInterfaceProxy(controllerImpl,logTrace); } @Bean public OrderServiceV1 orderService(){ OrderServiceV1Impl serviceImpl = new OrderServiceV1Impl(orderRepository()); return new OrderServiceInterfaceProxy(serviceImpl,logTrace); } @Bean public OrderRepositoryV1 orderRepository(){ OrderRepositoryV1Impl repositoryImpl = new OrderRepositoryV1Impl(); return new OrderRepositoryInterfaceProxy(repositoryImpl,logTrace); } }
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
33:20 키 입력 시 이벤트를 한 번만 발생시키도록 할 때
강의에선 에디터에서 InputAction의 Triggers 에서 Pressed를 추가하셨는데 저는 개인적으로 cpp에서 BindAction 에서 바인드 할 때 ETriggerEvent::Started 로 설정해서 이벤트가 한 번만 발생하도록 하는 방법을 썼습니다. 이런 방법도 괜찮나요? 아니면 이런 방법은 렉이 걸리거나 할 때 이벤트가 발생되지 않을 가능성도 있을까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
엑셀 파일 관련 문의가 있습니다~!
안녕하세요 강사님 질문이 있습니다.엑셀파일을 pinecone에 업로드하여 데이터 분석용으로도활용이 가능할까요?예를 들어서 "판매 건수가 50개 이상인 월 알려줘" 입니다엑셀파일을 pinecone에 업로드는 완료하였는데,답변을 전혀 못하고 있어, 다른 방법이 있는지 궁금하네요.감사합니다.추가로 엑셀파일을 pinecone에 적재할 때하나의 행이 하나의 ID에 적재되는게 맞을까요??
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
동시성 문제 해결방안
@Transactional public void decrease(Long id, Long quantity) { Stock stock = stockRepository.findById(id).orElseThrow(); stock.decrease(quantity); stockRepository.saveAndFlush(stock); }현재 강의 코드인데, 락을 사용해서 해결을 할 수도 있지만, 그냥 아래와 같이 JPQL을 사용해서 해결할 수 있지 않나요?@Transactional public void decrease(Long id, Long quantity) { Stock stock = stockRepository.findById(id).orElseThrow(); if (stock.getQuantity - quantity < 0) { throw new RuntimeException("재고는 0개 미만이 될 수 없습니다."); } stockRepository.decrease(id, quantity); }@Modifying @Query("UPDATE Stock s SET s.quantity = s.quantity - :quantity WHERE s.id = :id") public void decrease(@Param("id") Long id, @Param("quantity") Long quantity);락을 사용하는 것보다 이렇게 하는게 비용이 더 적을 것 같은데, 이렇게 하지 않는 이유를 알 수 있을까요??
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
Datasource 분리 의미
커넥션 문제가 발생할 수 있어 네임드락을 사용하는 경우 각 트랜잭션마다 Datasource를 분리해주는 것이 좋다고 하셨는데,Datasource를 분리해준다는 것은 서로 다른 DB를 사용해야 하는 것인가요?
-
미해결스프링 시큐리티 OAuth2
비대칭키 내용 중 궁금한게 있습니다.
데이터 보안 측면에서 송신자 공개키로 암호화 -> 송신자 개인키로 복호화를 한다고 적혀있는데요.수신자가 송신자의 개인키를 가지고 있다는게 보안적으로 문제가 되는게 아닌가 싶습니다. 수신자 공개키로 암호화 -> 수신자 개인키로 복호화의 오타인 것인지, 아니라면 어떻게 보안적으로 괜찮은건지 궁금합니다.
-
해결됨스프링 핵심 원리 - 고급편
ProxyApplication 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.LogTrace를 @Bean등록할때 ProxyApplication 쪽에 등록한 특별한 이유는 없는건가요 ? 그냥 InterfaceProxyConfig안에 등록해도 상관은 없는거죠 ? @Configuration public class InterfaceProxyConfig { @Bean public OrderControllerV1 orderController(LogTrace logTrace){ OrderControllerV1Impl controllerImpl = new OrderControllerV1Impl(orderService(logTrace)); return new OrderControllerInterfaceProxy(controllerImpl,logTrace); } @Bean public OrderServiceV1 orderService(LogTrace logTrace){ OrderServiceV1Impl serviceImpl = new OrderServiceV1Impl(orderRepository(logTrace)); return new OrderServiceInterfaceProxy(serviceImpl,logTrace); } @Bean public OrderRepositoryV1 orderRepository(LogTrace logTrace){ OrderRepositoryV1Impl repositoryImpl = new OrderRepositoryV1Impl(); return new OrderRepositoryInterfaceProxy(repositoryImpl,logTrace); } @Bean public LogTrace logTrace(){ return new ThreadLocalLogTrace(); }이런식으로요. 생각해보면 logtrace는 proxyconfig쪽이랑은 크게 연관성이 없는거같긴한데 궁금해서요 ..
-
미해결
ㅁㄴㅁㄴ
ㅁㄴㄴㅁㅇ
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
파이썬에서 계행되는 조건이 무엇인가요?
이전 c나 java의 경우엔 \n ln등 표기 되는 문구가 있었습니다. 파이썬의 경우엔 print가 끝나면 자동으로 계행이 되는건지,아니면 다른 조건이 있는건지 알고싶습니다.
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
HDL 16장 실습편 시뮬레이션 결과 질문
안녕하세요 🙂[1. 질문 챕터] : HDL 16장 실습편 9분 30초~ 의 시뮬레이션 wv 결과 화면[2. 질문 내용] : 시뮬레이션 결과를 보면 o_done과 현재 state가 reset_n이 0으로 입력되기 훨씬 전부터 각각 리셋되는 것으로 나타나는데 왜 이런 것인지 잘 이해가 되지 않습니다. (저는 don't care 'X' 상태가 reset_n=0전까지 유지될 것이라고 예상했습니다) 감사합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
9996번 질문있습니다
#include<bits/stdc++.h>using namespace std;int N; //string input, contrast; //입력할 문자, 대조할 패턴bool YN[104]; //일치 유무string forward_str, back_str; //앞부분 문자열, 뒷부분 문자열int main() { cin >> N; cin >> contrast;; back_str = contrast.substr(contrast.find('*') + 1); forward_str = contrast.substr(0, contrast.find('*')); for (int i = 0; i < N; i++) { cin >> input; if (forward_str == input.substr(0, forward_str.length()) && back_str == input.substr(input.length()- back_str.length(), input.length() - 1)) { YN[i] = 1; } else YN[i] = 0; } for (int i = 0; i < N; i++) { if (YN[i]==1)cout << "DA" << '\n'; else cout << "NE" << '\n'; } return 0;}이렇게 작성하여 컴파일했을때 분명 다 맞게 나왔지만 백준에 제출하면 런타임 에러가 납니다. 무엇이 문제인가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part8: Entity Framework Core
UDF 를 구현 할때 Annotation 방식만으로는 예외처리 당합니다
UDF 를 구현 할때 2가지 방법이 있는 것으로 소개 해주셔서테스트 삼아 Fluent Api 방식의builder.HasDbFunction(() => Program.GetAverageReviewScore(0));를 주석 처리 하고Annotation 방식의[DbFunction()]구절만 남겨서 진행을 했는데GetAverageReviewScore 함수에서 예외처리가 되며 실행이 막히네요Annotation 방식으로 UDF 를 구현하기 위해선 추가적인 내용이 필요한 것일까요?