묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
(쿠팡)썸네일 링크가 출력이 안되네요
이렇게 코드 작성을 했는데, 강의와는 다르게 출력이 안되네요 현재 강의는 쿠팡 크롤링의 [상품 링크, 썸네일 url 가져오기] 이고, 시점은 04:14 입니다. 강의 영상 내 html하고 지금 쿠팡 html 하고 비교도 해봤는데 틀린 것이 없고 오타도 없는 것 같은데 문제가 뭘까요 ? import requests from bs4 import BeautifulSoup headers = { "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", "accept-language": "ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7" } cookie = {"a" : "b"} base_url = "https://www.coupang.com/np/search?component=&q=" keyword = input("검색어 입력하세요 : ") search_url = base_url + keyword req = requests.get(search_url, timeout=5, headers=headers, cookies=cookie) html = req.text soup = BeautifulSoup(html, "html.parser") items = soup.select("[class=search-product]") print(len(items)) rank = 1 for item in items: badge_rocket = item.select_one(".badge.rocket") if not badge_rocket: continue name = item.select_one(".name") price = item.select_one(".price-value") thumb = item.select_one("search-product-wrap-img") link = item.select_one("a")["href"] # or item.a["href"] print(f"{rank}위") print(name.text) print(f"{price.text} 원") # print(link) print(thumb["src"]) print() rank += 1결과는 이렇게 뜨네요쿠팡 html 입니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
Event Vs Condition_Variable
제목 그대로 Event와 Condition_variable의 차이가 단순히 Kernel 이냐 User Level이냐의 차이인지가 궁금합니다. CV에서는 조건을 추가해서 코드상으로 봤을 때, 깔금해지는 것은 알겠는데Event와 동일하게 Producer에서 Notify_one을 실행 하더라도 Consumer에서 바로 Lock을 잡지 못한다면 Producer가 한 번더 실행될 거같은데 이부분은 제가 이해를 못한건지 잘 모르겠습니다. 정리 -> cv를 이용해서 notify_one함수를 호출해도Producer에서 바로 Lock잡아버리는 상황이 발생하지 않나라는것. cv 장점 : 코드가 깔끔해지고, User_Level에서 동작한다. 다른것은 Event와 동일하다? 라고만 이해하면 되는지 궁금합니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-S 질문 있습니다.
BFS를 이용해서 풀어 보았는데 테스트 케이스는 맞다고 나오는데 답은 틀리다고 나옵니다. 큰돌님이 보셨을 때 어디가 잘못 된건지 확인 부탁드립니다! 감사합니다http://boj.kr/302772ea3b54465dab9ebb0d922a9029
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
교안 중 해시테이블 내용이 생략된 부분
안녕하세요?해시테이블 보고 있는데요,강의는 1분만에 끝난 반면교안을 보면 해시테이블 복잡도, 해시 충돌, 해결법.. 등등이 강의에서 생략되었습니다.중요도가 덜해서 삭제된건지 궁금합니다.
-
미해결Practical Testing: 실용적인 테스트 가이드
Stream 잘하고 싶어요
안녕하세요 강의 잘 듣고 있습니다.저도 우빈님처럼 람다, 스트림을 잘 쓰고 싶습니다!어떻게 공부하면 좋을지 알려주실 수 있나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-A BFS 질문 있습니다.
블로그에 있는 수도코드1로 한번 풀어 보았는데 답이 이상하게 나오네요. 코드 리뷰 한번 부탁드립니다!http://boj.kr/08aeaf1fe1634cfcb5a73c100c2fa3d5
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
const products = result.data.products; setProducts(products); 문의드립니다.
const products 에서 products는 result.data.products를 담기 위해 선언한 products 이므로 위에서 선언한const [products, setProducts] 에서의 products 와 다른 것이 맞나요?또 setProducts() 안에 들어가는 products를 넣은 것은 const[products, setProducts] 에서의 products에 const products에서의 products를 대입하기 위해 넣은 것으로 보면 되나요?즉, const products = result.data.products;setProducts(products); 를 setProducts(result.data.products); 라고 해도 문제가 없는 건가요?
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
부품관점에서 C언어 컴파일 과정을 이해하고 싶습니다.
한글.exe처럼 exe파일들은 하드디스크에 기계어로 저장되어 있는 건가요?자바로 작성된 소스코드를 실행할 때, 이 소스코드는 기계어로 변환하여 메모리에 적재되는 건가요?
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
AppConfig클래스에 대해 질문있습니다 ㅎㅎ
안녕하세요 강의 6분에 PasswordEncoder 빈등록을 AppConfig 클래스를 하나 추가로 만들어서 하셨는데 저는 SecurityConfig에 추가로 등록해도 괜찮을것같다는 생각이들었는데 AppConfig을 추가했을때 어떤 이점이 있다고 생각하셔서 하신건지 궁금합니다!!
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
여러 페이지 가져오기
강사님,여러 페이지 가져오기를 위해 request url를 확인하는데https://my.pitchbook.com/static/web/4bb938fc29465a9b091506661e90ac7c.woff처럼 각 페이지로 이동해도 url이 변하지 않습니다.강사님께서는 네이버에서 적용하기 버튼을 눌러서 url을 복사했는데, 적용하기 버튼이 없어도 url이 바뀌나요?이와 같은 경우에는 강의에서 알려주신 방법을 사용하지 못하는건가요? 감사합니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈 8번 질문 있습니다.
이런 에러가 뜨는데 뭐가 잘못된걸까요
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
자바 11을 설치하고 스프링부트도 2.7.13 버전인데 스프링이 실행이 안됩니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이렇게 2개의 이미지처럼 자바 11로 설정을 하고 매인 메소드를 실행했는데위 이미지처럼 나옵니다 자바 17 버전을 깔아야하는걸까요?스프링 부트 버전도 2.7.13 입니다
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-G 질문드립니다
http://boj.kr/0e272314ac6d47b4ba99ee597fb5b23f 안녕하세요! 1-G 문제의 코드를 짜고나서 강사님과 비교해보니 알고리즘이 거의 차이가 없는 것 같은데 계속 틀렸다고 나와서 질문을 남깁니다.어떤 문제가 있는 걸까요...?
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
export의 함수명과 import의 함수명 관련 문의드립니다.
main/index.js에서 컴포넌트 함수명(MainPage)와 App.js에서 import 하는 함수명(MainPageComponent)가 달라도 괜찮은 이유가 뭔가요?혹시 한 js파일에서는 export를 한 개의 컴포넌트만 할 수 있어서 그런건가요?(컴포넌트는 여러개 만들어도 문제가 괜찮던데 export를 2번 쓰니까 빨간줄이 생겨요.)
-
미해결사물인터넷 통신은 내 손에 (Arduino, MQTT, Nodejs, MongoDB, Android,VS Code)
다른서버에서 mqtt 접속 테스트가 안되네요.
A 장비에서 mqtt 메시지를 보낼 때 B 서버에서 메시지를 받기 위해서 서버에 mosquitto를 설치하고, mosquitto-client를 설치했습니다.그리고 mosquitto.conf 파일에서 아래 두 부분을 추가를 했습니다.listener 1883 allow_anonymous true그리고 서버에서 tcp 포트를 열었습니다.# iptables -I INPUT 1 -p tcp --dport 1883 -j ACCEPT아래 명령어로 설정을 저장하고iptables-save > /etc/iptables.rules아래 명령어로 방화벽에서 1883포트도 열었습니다.firewall-cmd --permanent --zone=public --add-port=1883/tcp그리고 재가동을 했습니다.firewall-cmd --reloadsudo systemctl status mosquitto.service로 조회를 해 보면 Active 상태가 active(running)으로 되어있습니다. 이렇게 한 후 서버에서 mosquitto -v를 실행하면 브로커가 실행이 되고1688558540: mosquitto version 2.0.11 starting 1688558540: Using default config. 1688558540: Starting in local only mode. Connections will only be possible from clients running on this machine. 1688558540: Create a configuration file which defines a listener to allow remote access. 1688558540: For more details see https://mosquitto.org/documentation/authentication-methods/ 1688558540: Opening ipv4 listen socket on port 1883. 1688558540: Opening ipv6 listen socket on port 1883. 1688558540: mosquitto version 2.0.11 running 1688558540: New connection from ::1:58012 on port 1883. 1688558540: New client connected from ::1:58012 as auto-E1654EA0-1FC2-B13F-C9A5-5162C4E11F43 (p2, c1, k60). 1688558540: No will message specified. 1688558540: Sending CONNACK to auto-E1654EA0-1FC2-B13F-C9A5-5162C4E11F43 (0, 0) 1688558540: Received SUBSCRIBE from auto-E1654EA0-1FC2-B13F-C9A5-5162C4E11F43 1688558540: topic (QoS 0) 1688558540: auto-E1654EA0-1FC2-B13F-C9A5-5162C4E11F43 0 topic 1688558540: Sending SUBACK to auto-E1654EA0-1FC2-B13F-C9A5-5162C4E11F43같은 서버에서 아래와 같이 토픽을 보내면mosquitto_pub -h localhost -t test -m "hello world"[root@localhost ~]# mosquitto_sub -t test hello worldsub에서 메시지가 정상적으로 출력이 됩니다.동일 서버에서는 mosquitto 실행도 잘 되고, publish, subscribe 모두 적용이 잘 됩니다. 그런데 문제는 다른 서버에서 발송을 할 때 메시지가 출력이 안됩니다.위의 설정대로 포트를 열고 메시지를 보냈는데 서버쪽에서는 sub를 실행해 놓고 있어도 메시지를 받지를 못하고 있습니다.그래서 port가 열려있는지 로컬에서 확인을 해 보니 아래와 같이 포트가 열려있지 않았습니다. ✘ username@usernameui-MacBookPro ~ nc -vz xxx.xxx.xxx.xxx 1883 nc: connectx to xxx.xxx.xxx.xxx port 1883 (tcp) failed: Operation timed out 문제가 포트가 정상적으로 안열려서 문제가 생긴 것 같은데 위에서 포트를 열었던 방법이 잘못된 걸까요?netstat -lntp로 열려있는 포트를 확인해보면 아래와 같이 열려있다고 나오는데..Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:1883 0.0.0.0:* LISTEN 126689/mosquitto 제가 놓치고 있는 부분이 어떤 부분인지.. 아니면 잘못 설정한 부분이 어떤 부분인지 알 수 있을까요??몇일동안 이 부분때문에 씨름하다가 문의 드립니다.
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
useState 관련 문의드립니다.
useEffect의 두번째 파라미터에는 useState로 인해 할당된 변수인 time만 쓸 수 있는건가요?function TimerComponent() { const [time, setTime] = React.useState(0); const cnt = 0; React.useEffect(function() { setTime(time+1); }, [cnt]); return ( <div> <h3>{time}초</h3> <button onClick={function() { cnt++; }}>1씩 올려주세요.</button> </div> ); }이런식으로 사용이 안되는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
8 - I 코드내용 질문입니다!
안녕하세요 선생님 수업 열심히 듣고있습니다!http://boj.kr/44c2eee4e7d84583b105ede311497d38선생님 코드에서 line 37~47까지 잘 이해가 되지 않아 질문드립니다.문제를 어떻게 풀어야하는지에 대해서는 이해했습니다. 그래서 left, right로 나누는 것도 이해했고 tree_cnt, tree_sum으로 이전의 나무의 개수, 이전 나무들의 합을 구하는 것도 이해가 됐는데왜 value++을 하는건가요? 현재 심는 나무의 값을 그대로 사용해야될 것 같은데.. 잘 이해가 안됩니다ㅠㅠsum(tree_cnt, 1, value-1)에서 왜 value-1이 들어가는건가요? 제 생각에는 현재 위치까지를 파악해야하니까 i가 들어가야할 것 같은데...(물론 코드를 고쳐서 돌려보니 틀렸습니다) 잘 이해가 되지 않습니다... 비슷하게 다른 sum함수들의 인자에도 왜 max_n이 들어가는지 value + 1이 들어가는지 잘 모르겠습니다...펜윅트리 너무 어렵네요... 강의 내용 반복해서듣고 외웠는데 정말 쉽지 않은 것 같습니다..ㅠㅠ설명을 부탁드려도될까요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
(해결/오타문제) addPost 액션이 동작하지 않는 것에 대해 궁금합니다.
안녕하세요. 항상 좋은 강의를 해주셔서 감사합니다.다름이 아니라 글 작성시 콘솔에 ADD_POST_REQUEST에 대한 리듀서 작동은 확인했으나 그 뒤에 addPost 사가가 작동하지 않는 것에 대해 질문이 있습니다.위 문제는 watchAddPost()가 정상적으로 ADD_POST_REQUEST에 대한 이벤트를 캐치하지 못 해서 다음 과정이 진행되지 않는 것이라고 생각합니다. 다만 콘솔에서는 이에 대한 것도 뜨지 않아 해당 오류를 해결하기 어려워 질문 드립니다.다음은 제가 작성한 코드입니다. ()@/component/PostFrom.jsconst PostForm = () => { const dispatch = useDispatch(); const { imagePaths, addPostDone } = useSelector((state) => state.post); const [text, onChangeText, setText] = useInput(""); const onSubmit = useCallback(() => { dispatch(addPostRequestAction(text)); }, [text]); ... }@/reducer/post.jsexport const initialState = { mainPosts: [...], ... addPostLoading: false, addPostDone: false, addPostError: null } export const ADD_POST_REQUEST = "ADD_POST_REQUEST"; export const ADD_POST_SUCCESS = "ADD_POST_SUCCESS"; export const ADD_POST_FAILURE = "ADD_POST_FAILURE"; export const addPostRequestAction = (data) => ({ type: ADD_POST_REQUEST, data, }); const dummyPost = (data) => ({ id: 2, content: data, User: { id: 1, nickname: "윤섭", }, Images: [], Comments: [], }); const reducer = (state: initialState, action) => { switch (action.type) { case ADD_POST_REQUEST: console.log("REDUCER: ADD_POST_REQUEST"); return { ...state, addPostLoading: true, addPostDone: false, addPostError: null, }; case ADD_POST_SUCCESS: console.log("REDUCER: ADD_POST_SUCCESS"); return { ...state, mainPosts: [dummyPost(action.data), ...state.mainPosts], addPostLoading: false, addPostDone: true, }; ... } }@/sagas/post.jsimport { all, fork, delay, put, takeLatest } from "redux-saga/effects"; import axios from "axios"; import { ADD_POST_REQUEST, ADD_POST_SUCCESS, ADD_POST_FAILURE, ADD_COMMENT_REQUEST, ADD_COMMENT_SUCCESS, ADD_COMMENT_FAILURE, } from "@/reducers/post"; // add post function addPostAPI(data) { return axios.post("/api/post"); } function* addPost(action) { try { // const result = yield call(addPostAPI); yield delay(1000); console.log("SAGA: addPost"); yield put({ type: ADD_POST_SUCCESS, data: action.data, }); } catch (err) { yield put({ type: ADD_POST_FAILURE, error: err.response.data, }); } } function* watchAddPost() { yield takeLatest(ADD_POST_REQUEST, addPost); } export default function* postSaga() { yield all([fork(watchAddPost), fork(watchAddComment)]); }아래는 ADD_POST_REQUEST 이후 아무런 반응이 없는 스크린샷입니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-S 질문드립니다.
안녕하세요 큰돌강사님!!하나 궁금한게 있습니다...앞서 완탐의 형태는 방문-재귀-원복의 형태로 이뤄진다고 알려주셨는데요.이 문제에서는 파라미터로 plus , minus, mul, div 를 모두 넘겨주기 때문에 원복이 필요치 않은건가요??미리 감사드립니다:) - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨
백준 17298번 문제
안녕하세요!백준 17298번 문제에서1. ans[mystack.pop()] 이렇게 적으면 mystack이라는 배열에서 pop 된 값이 ans 배열에 넣어지는건가요?2. []안에 들어가는 값은 인덱스가 맞나요?3. mystack.append() 랑 mystack.append(i)라고 하면 어떻게 차이가 나는건가요? 감사합니다!