묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
인프런 환경이 바뀌어서 제나름대로 하는데
from bs4 import BeautifulSoup import urllib.request as req url = "https://www.inflearn.com/courses?order=seq&skill=python" res = req.urlopen(url).read() soup = BeautifulSoup(res,"html.parser") recommand = soup.select("div.courses_container") for i,e in enumerate(recommand,1): print(i,e.select_one("div.card-content > div.course_title").string) 맨아래 셀렉원으로하면 하나의데이터만추출되긴하지만 정상적으로 되는데, 걍 셀렉으로만하면 스트링 에러 코드가뜹니다 ㅠ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
함수문법과 어셈블리어 관련 궁금증...
안녕하세요 어셈블리어랑 코드를 살피다가 궁금한 점이 들었는데 1. 구조체 player를 만들면서 멤버로서 hp,attack,defence을 int type으로 선언하였는데 다른 monster.[멤버]들이나 ret.[멤버]들에 값을 넣을 때의 어셈블리어는 [ebp-0Ch],[ebp-8]로 4바이트 간격을 띄고 있었지만 player.[멤버]들에 값을 넣을 때의 어셈블리어는 [ebp-10h], [ebp-0Ch]로 2바이트 간격을 띄고 있었습니다..왜 이런 현상이 발생한 것인가요? (조사식에서는 &(player.[멤버])를 하니 정상적으로 4바이트 간격이 나왔지만 디스어셈블리에서만 이럽니다...) 2. StatInfo CreatePlayer();라는 함수를 선언할 때 이 경우 함수의 시그니처는 output(반환)형식은 statinfo 타입이고 input(매개변수)은 없다!인 것으로 알고 있는데 스택 프레임이 [매개변수][ret][지역변수(temp(c,c,c -> 100, 10, 2), player(b,b,b -> 100, 10, 2))] | [매개변수(&temp)][ret][지역변수(ret(100, 10, 2))] 가 된다면 CreatePlayer()함수의 스택에 매개변수 &temp가 들어온다는 의미인데 문법적으로 가능한 것인가요? 3. mov [player], 0xbbbbbbbb는 player 변수 메모리(바구니)에 해당 값을 복사한다 mov [esp-10Ch], 0xbbbbbbbb는 esp-10Ch 주소값 안에 들어있는 메모리에 해당 값을 복사한다 lea eax,[ebp-11Ch] 는 &(ebp-11Ch)가 아닌 주소값 ebp - 11Ch를 eax에 복사한다 정도로 이해해도 괜찮을까요? 원래는 lea eax, [변수]면 변수의 주솟값(&변수) 복사, mov eax, [변수]면 변수의 내부값(변수) 복사 이렇게 이해했었는데 최대한 검색을 해봤는데도 메모리창에 &ret랑 ebp-10Ch가 동일한 값을 가지는 것과 [ret]랑 [ebp-10Ch]가 동일한 의미를 가지려면 어떻게 해석해야 하는지랑 lea 어셈블리어 해석에서 자꾸 헷갈려서....
-
미해결코딩으로 학습하는 리팩토링
이런 경우도 따로 함수로 빼는게 좋을지 궁금합니다.
안녕하세요. 강의 잘 보고 있는 개발자입니다. 이번에 웹사이트 유지보수하는 중 인데 문득 이 강의를 보다가 비슷한 경우가 발생해서 이러한 경우는 어떻게 하는게 좋을지 궁금해져서 글올립니다. 현재 웹사이트에서 '스타일 적용'이라는 버튼이 있는데 이걸 누르면 A 스타일이 적용되고 안 누르거나 해제버튼을 클릭 한 경우는 B스타일을 적용하는 상황을 고려하고 있습니다. 이러한 스타일 적용에 관련된 로직이 많아서 상태를 두는 변수 하나를 사용해서 다음과 같이 사용하고 있는데 여기 있는 내용 처럼 하나의 함수로 빼는게 좋을지, 아니면 다른 방법을 고려할 수 있는지 궁금합니다. 일단 제가 현재 사용했던 방법은 수도코드로 간단하게 쓰면 다음과 같습니다. function getStyleByCurrentState(currentState) { if (currentState === "change") { return A style 객체 } else { return B style 객체 } } 적용 버튼에 clickApply() 가 연결 function clickApply() { return getStyleByCurrentState("change");} 해제 버튼에 clickRelease()가 연결 function clickRelease { return getStyleByCurrentState(); } 일단 추후에 state가 1개정도 더 추가 될 수 있는 상황이고 getStyleByCurrentState는 꽤 많은곳에서 호출하고 있는 상황입니다.
-
해결됨Node.js로 웹 크롤링하기
xlsx.readFile 질문
라우터를 거치지 않고 매시간마다 엑셀 파일을 읽은 후 읽은 데이터를 활용하여 크롤링해서 데이터베이스에 넣는 기능을 구현 중입니다. node-schedule을 활용하여 controllers 폴더에서 실행시켰는데 분명 경로가 틀리지 않았는데 엑셀 파일을 읽지 못하네요 app.js에서는 되는데 이쪽에서 하면 데이터베이스와 퍼펫티어 코드가 들어가 지저분해질 거 같아 controllers에서 처리해 주려고 합니다. controllers폴더에서 파일을 읽지 못하는 문제가 궁금합니다.
-
해결됨홍정모의 따라하며 배우는 C언어
bool even이 무슨 값을 입력해도 if문 진입시 false로 바뀝니다...
10을 입력하고 true값이 if로 들어가자마자 false로 바뀝니다...
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
선생님, 질문이 있습니다.
강의 늘 잘 보고 있습니다, 건강은 괜찮으신가요?? 다름이 아니라 앙상블에 대해 질문이 있습니다. 만약 다섯 개의 weak한 모델 네트워크에 대해 앙상블을 통해 진행하는데, 예측 결과에 대해 평균을 내지 않고, 다섯 개의 모델이 가지고 있는 weight와 bias에 대한 평균을 가지고 예측을 하게 된다면 기존 앙상블에 비해 성능 차이가 있을까요??? 혹은 앙상블로부터 얻는 이점을 그대로 보장받을 수 있을까요? 감사합니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
K번쨰 큰 수 질문입니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강의에서 cnt 이용해서 세번째 요소에 접근한 것을 저는 iterator를 이용해서 했는데 런타임 에러가 뜹니다. iterator 사용하면 속도가 더 느린가요?? 아니라면 런타임 에러가 뜨는 이유가 궁금합니다
-
미해결실무에서 바로 쓰는 영어 이메일
강의 자료 요청드립니다.
안녕하세요 강사님 강의자료 요청드립니다. jiyeon.jang@halla.com 강의 유익하고 좋습니다 감사합니다^^
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
고생하셨습니다!!
감사합니다! 남은 강의도 완강해보겠습니다!!
-
미해결함수형 프로그래밍과 JavaScript ES6+
성능 차이가 정말 가시적일까요?
강의에서는 2개의 케이스를 작성해서 일반 함수 / 제네레이터 함수 에 대해서 언급을 해주시면서 화면상에는 성능이 약 1.8 배 정도 난 걸로 보았습니다. 정말 그렇게 큰 차이가 나는가 라는 생각을 해서 다음과 같은 케이스를 검증해보았습니다. # 케이스 1. new Array() > push()2. new Array(length); > array[index] = i3. Array.from({ length: l }, ( _, i ) => i);4. 강의에 나온 제네레이터 함수 # 결과 빠르네요!! ## 10_000 기준 (8.87% 빠름) ## 100_000 기준 (0.2396% 느림) ## 1_000_000 기준 (8.8299..% 빠름) ## 10_000_000 기준 (11.42% 빠름) ## 코드 const range1 = l => { let i = -1; let res = []; while (++i < l) { res.push(i); } return res; }; const range2 = l => { let i = -1; let res = new Array(l); while (++i < l) { res[i - 1] = i; } return res; }; const range3 = l => Array.from({ length: l }, (_, i) => ++i); const L = {}; L.range = function *(l) { let i = -1; while (++i < l) { yield i; } } function test(name, time, f) { console.time(name); while(time--) f(); console.timeEnd(name); } test('push', 10, () => customReduce(add, range1(1_000_000))); test('index', 10, () => customReduce(add, range2(1_000_000))); test('Array.from', 10, () => customReduce(add, range3(1_000_000))); test('Generator', 10, () => customReduce(add, L.range(1_000_000)));
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
후반부 강의 자료 부탁드립니다
ecstasy5487@gmail.com감사합니다
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
docker limit 으로 이미지를 못 받아올 때는 어떻게 하는 게 좋나요?
이미지를 받아올 때 docker limit 제한이 걸릴 때가 있습니다. 이를 해결하기 위한 방법이 있을까요?
-
미해결비전공자/입문자를 위한 Data Science(DS)와 AI 학습 & 취업 가이드
강의 자료 부탁드리겠습니다.
일단 먼저 양질의 강의에 대해 감사의 말씀 먼저 드리겠습니다. DS 직군 청사진을 짜는데 큰 도움이 됐습니다. 다만 몇번 더 복습을 하고 싶습니다만 조금 더 원활한 복습을 위해 강의 자료를 요청하고 싶습니다. k_penrose@naver.com 강의자료 전송 부탁드리며 다시 한번 감사의 말씀 올립니다.
-
미해결
selenium을 활용한 업무 자동화 클릭, 다운로드
질문 https://www.localdata.go.kr/devcenter/dataDown.do?menuNo=20001 사이트에서 데이터 다운로드 - 전체 데이터 다운로드 - 전체분 - excel 다운로드를 하고자 합니다. 이를 위해서 우선 링크에서 '전체 데이터 다운로드'단계로 가려고 캡쳐처럼 id를 down-area인 것으로 보여서 xpath로도 해보고, selector로도 해봤는데 둘이 같은 오류가 발생합니다. 작성한 코드는 다음과 같습니다. from selenium import webdriver broswer = webdriver.Chrome() broswer.get('https://www.localdata.go.kr/devcenter/dataDown.do?menuNo=20001') # id = broswer.find_element_by_xpath('//*[@id="down-area"]') id = broswer.find_element_by_css_selector('#down-area') id.click() 사이트는 정상적으로 켜지나 클릭이 되지 않으며 나오는 오류 코드는 다음과 같습니다. (base) C:\test>[83512:84772:0427/183423.717:ERROR:device_event_log_impl.cc(214)] [18:34:23.718] USB: usb_device_handle_win.cc:1049 Failed to read descriptor from node connection: 시스템에 부착된 장치가 작동하지 않습니다. (0x1F) 어떻게 해결할지 모르겠어서 질문드립니다. 답변 기다립니다. 감사합니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
bcrypt의 compare메서드의 리턴값이 계속 false로 나오는데요, 어떻게 하면 true를 반환할까요
안녕하세요, 제로초님! bcrypt의 compare 함수의 return 값이 계속 false가 나와서, 혹시 제시해주실 힌트가 있으실지 글을 남겨봅니다 이와 관련해 구글링에서 제시한 방법들을 적용해봤는데도, 계속적으로 false가 리턴됩니다ㅠ… : 1. password 타입의 length를 늘리기(데이터가 짤려서 출력될 수 있다고 하여,,) : 2. password 타입을 string 타입으로 변환? 후 디비에 저장하기 : 3. pre 미들웨어를 사용할 경우, pre()특성상 반복적?으로 pwd를 해싱하기 때문에 isModified()/ .isNew() 일 경우를 추가하기 : 4. compare()함수의 인자를 작성시, 인자의 순서 체크 - 첫번째인자는 유저가 입력한것, 두번째는 hashed되어 디비에 저장된 패스워드로 입력하기 위와 같이 해결방법을 찾았는데요,,, 1,2번은 이미 mongoose에서 해결해주는 부분이라 패스하고,,, 3,4번은 적용을 했는데도 ㅠ comprare함수의 리턴값이 false로 나옵니다,,, compare함수의 리턴값이 false여도... false를 true라고;;; 조건식을 변경하면;;;; 입력한 값에 해당하는, json객체가 출력되어 문제는 없지만,,,, (아래 authController.js파일, !passwordMatch를 passwordMatch로 변경하면 원하는 로직대로 나오지만 ㅠ ) (폼에 입력한 값에 해당한, json객체가 나와서 문제는 없는데..) false를 true라고 가정하고;; 코드를 변경하면 원하는 결과를 얻게 되는데,,, 작성된 코드가 ,,,이건 아닌거 같아서요 ㅠ 왜 계속,,,false를 반환할까요,,;; bcrypt말고 다른 라이브러리를 사용해야할까요?? 감사합니다, p.s) 추가 질문입니다. 1. issModified(‘password’) || isNew()User.js 내용 중 UserSchema.pre('save', async function () {…} 부분에서, isModified(‘password’) || isNew() 이하 블록이 실행되는 조건은, password가 변경되거나 처음 입력될 경우 실행되는 건지요, 제가 잘 이해하고 코드를 작성했는지 궁금합니다 2. 에러 핸들링 bycript 공식홈페이지나 관련 코드를 구글링을 해보면, 코드를 콜백방식으로 작성한걸 심심치 않게 볼수 있는데요, 저는 async-await로 작성해서, 이걸어떻게 에러 핸들링 코드를 작성해야할까요? try..catch로도 충분할까요? -------------------------------------------------------------------------------------------------------------------------- User.js import bcrypt from 'bcrypt'; import mongoose from 'mongoose'; const UserSchema = new mongoose.Schema( { …중략… password: { type: String, required: true, min: 6, }, …중략… }, { timestamps: true } ); UserSchema.pre('save', async function () { try { const salt = await bcrypt.genSalt(10); if (this.isModified('password') || this.isNew()) { this.password = await bcrypt.hash(this.password, salt); } } catch (err) { console.log(err); } }); const User = mongoose.model('User', UserSchema); export default User; authController.js export const login = async (req, res) => { try { const { body: { email, password }, } = req; const user = await User.findOne({ email: email }); if (!user) { // user가 ! 없는것이 맞다(true)면 = user가 없다면 return res.status(404).json({ error: 'user is not found' }); } else { const passwordMatch = await bcrypt.compare(password, user.password); //부정문을 먼저 시작하는 조건식 // passwordMatch가 false로 나와 계속 { error: 'Invalid Password' }를 출력 // !passwordMatch에서 !을 제거하면 원하는 결과 도출 if (!passwordMatch) { // match되는 password가 !없다는게 맞다(true)면 = return res.status(400).json({ error: 'Invalid Password' }); } return res.status(200).json(user); } } catch (err) { return res.status(401).json(err); } };
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
캐글 RAM 초기화 코드 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. plant pathology 실습에서 config를 사용하는 부분 코드를 실행하다가 OOM 에러가 났습니다 아마도 out of memory...(?)같은데 이전 강의에서 ram을 비워주는 코드를 강사님께서 몇번 사용하셨던 기억이 있는데 정확히 어디쯤이었는지 기억이 나지 않아서 여쭤봅니다!!
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
다시올려주신 예제파일로하는데
import io import json import sys import urllib.request as req from fake_useragent import UserAgent sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding='utf-8') ua = UserAgent() headers = { 'User-Agent': ua.ie, 'referer': 'https://finance.daum.net/' } url = "https://finance.daum.net/api/search/ranks?limit=10" print(request.get_method()) 에러가난다고하네요 자꾸 아마 저 url값이 또 바뀐거같은데 뭘 넣어야하나요??? api주소값은 찾을수가없는데 이전 강의내용 정부사이트는 rss누르면 저런 api들어있는 주소를 찾을수있엇는데 다음은 찾을수가없네요??
-
미해결함수형 프로그래밍과 JavaScript ES6+
ES6 과의 차이점
너무나 좋은 강의로 함수형 프로그래밍 에 대해서 조금씩 감을 잡아 나가는 방향입니다. 함수의 비즈니스 로직을 숨기고 함수의 표현식들을 드러내서 이 과정에 사이드 이펙트를 없애고 직관적으로 읽기 좋은 형태 를 지니게 되는 것 같습니다. 다만, OOP 에서의 메서드 와의 다른 점으로는 내외부 함수의 교류가 없다 정도인 것 같습니다. 다만 여기까지가 주요한 맥락이라면 아래 코드가 결국은... const sum = (func, iter) => go( iter, map(func), reduce(add) ); 이러한 코드 와의 별다른 차별점은 없는 것으로 해석되지 않을까요? const sum = (func, iter) => iter.map(func).reduce(add); 이렇게 이해 하였는데 맞는 것일까요?
-
미해결스프링 배치
Add connection elided, waiting 1, queue 2 오류 발생
강사님 안녕하세요 오류 관련 문의드립니다. 현재 제가 작성한 잡에서 MultiThreaded Step, Flow, AsyncProcessor, AsyncWriter기능을 동시에 사용하고 있는데요, 하기와 같은 오류가 발생하였습니다. Add connection elided, waiting 1, queue 2 이런 케이스는 어떻게 해결해야할까요? 답변 부탁드립니다. 감사합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
redux-devtools-extension 관련문제입니다.
안녕하세요 현영님. 다름이 아니라 이번 강의에서 리덕스 익스텐션을 설치한 후에 처음에 화면이 나오다가 갑자기 저렇게 아무런 화면이 뜨지않고 회색으로 되길래 뭐가 문젠인지 'redux-devtools-extension not working' 이런식으로 스택오버플로우에서 보고 여러가지 설정들을 건드렸는데 해결이 되지않아 질문 남깁니다. 설치는 다 했고 extension 관련 에러는 없어 이유를 모르겠네요. (생각보다 쉬운 문제인가요...ㅠ) 제 configureStore.js 입니다. import {createWrapper} from 'next-redux-wrapper' import {compose, createStore ,applyMiddleware} from 'redux'; import {composeWithDevTools} from 'redux-devtools-extension' import reducer from '../reducers' const configureStore = () => { const middleware = []; const enhancer = process.env.NODE_ENV === 'production' ? compose(applyMiddleware(...middleware)) : composeWithDevTools(applyMiddleware(...middleware)); const store = createStore(reducer, enhancer); store.dispatch({ type: 'CHANGE_NICKNAME', data: 'boogichi' }) return store; }; const wrapper = createWrapper(configureStore,{ debug: process.env.NODE_ENV === 'development' }) export default wrapper;