inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

크롤링해서 엑셀파일로 데이터저장하기1, 에러확인요청

미해결

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

선생님과 똑같이 했는데 뭐가 잘못되었을까요? import openpyxl excel_file = openpyxl.Workbook() excel_sheet = excel_file.active excel_sheet.append(['data1', 'data2', 'data3']) excel_file.save('tmp.xlsx') excel_file.close() NameError Traceback (most recent call last) <ipython-input-2-ceee3ced2775> in <module> ----> 1 excel_file . close ( ) NameError : name 'excel_file' is not defined

  • 웹-크롤링
  • python
youil.kim@kt.com 댓글 1 좋아요 1 조회수 674

marriage에 왜 false를 쓰고싶으신가요?

미해결

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

??

  • 웹-크롤링
  • python
tjqms 댓글 1 좋아요 0 조회수 274

AppLayout.js 에서

해결됨

[리뉴얼] React로 NodeBird SNS 만들기

AppLayout . prototype = { children : Protypes . node . isRequired } 꼭 사용해야 next 에서 children 를 사용할수 있는건가요? react에서는 prototype을 사용하지 않고 children를 사용한것으로 기억해서요

  • Next.js
  • redux
  • react
  • express
  • nodejs
댓글 1 좋아요 0 조회수 349

redux-saga 의 흐름.

미해결

[리뉴얼] React로 NodeBird SNS 만들기

질문1. 리덕스사가에 액션이 전달되는 과정 dispatch({ type: LOG_IN_REQUEST, data: { email, password }, }); 위와 같이 로그인 버튼을 눌렀을때 인자로 전달된 액션을 dispatch 하게 되는데. function* watchLogIn() { yield takeLatest(LOG_IN_REQUEST, logIn); } 이후 사가에서 LOG_IN REQUEST 에관한 액션이 왔을떄 login 함수가 실행된다는 흐름은 이해를 했습니다. 하지만 액션객체의 type 속성인 LOG_IN_REQUEST 가 어떻게 위에 takeLatest 의 첫번째 인자로 인식이되어 login 함수가 실행되는지 직관적으로 이해가 가지않습니다. 이미 사가 라이브러이에서 정해진 규칙같은 건가요 ? 액션을 디스패치 할때 {type: `액션타입`} 형태여야만 takeLatest('액션타입') 이 인식이되는지 궁금합니다. 질문2. yield function* logIn(action) { try { console.log('saga logIn'); // const result = yield call(logInAPI); yield delay(1000); => 멈춤? yield put({ => 멈춤? type: LOG_IN_SUCCESS, data: action.data, }); } catch (err) { console.error(err); yield put({ type: LOG_IN_FAILURE, error: err.response.data, }); } } yield 는 중단점 역활을 한다고 이해했습니다. 그럼 위에 takeLatest 의 두번째인자로 위 login 함수가 실행될때 첫번째 yield delay(1000) 이 실행되고 멈추는게아니라 계속에서 아래 yelid put 쪽을 실행되는부분이 이해가 잘 가지않습니다.! 영상 몇번 돌려보고 찾아도 봤는데 스스로 해결하지 못해 질문 드립니다 ㅜㅠ..

  • redux
  • nodejs
  • react
  • express
  • Next.js
김학준 댓글 3 좋아요 4 조회수 637

axios.defaults.baseURL 지정 후, 다른 서버에 요청을 보내려면?

해결됨

[리뉴얼] React로 NodeBird SNS 만들기

/front/sagas/index.js 에서 axios . defaults . baseURL = 'http://localhost:3065' ; axios . defaults . withCredentials = true ; 이렇게 공통으로 지정을 해주는데, 만약에 예외적으로 다른 URL을 사용하고 싶으면 어떻게 하나요? function loadPostsAPI ( data ) { return axios . get ( 'http://naver.com/test' , data ); } 이런식으로 개별적으로 URL 넣어주면 될까요? 아니면 애초에 공통URL을 지정해주지 말고 각자 넣어줘야 하는걸까요? 공통URL과 더불어 withCredentials 값도 각자 넣으려면 어떻게 해야하는지 궁금합니다!

  • express
  • redux
  • nodejs
  • react
  • Next.js
민트클래식 댓글 1 좋아요 0 조회수 4899

GridSearchCV 질문드립니다

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

grid 에서 나온 최적의 하이퍼 파라미터 값이 직접 y_test 히여 정확도를 추출하였을때의 성능 모델 순위에서 낮으면 어떻게 하나요 ? 예를들어서 max_depth = 8로 최적 파라미터값이 출력이 되었는데 y_test 를 가지고 돌렸을시 max_dept =12 인 정확도가 가장 높을때 어떻게 하나요 ?

  • python
  • 머신러닝 배워볼래요?
  • 통계
문선교 댓글 1 좋아요 0 조회수 424

Route.get() requires a callback function but got a [object Object]

미해결

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

인자를 객체로 넘겼다고 에러가 뜨는데, auth를 구현하는 app.get에서 자꾸 문제가 있다고 합니다. 오타는 도저히 못찾겠는데,, 문제가 무엇일까요 const express = require ( 'express' ) const app = express () const port = 5000 const bodyParser = require ( 'body-parser' ); const { User } = require ( "./models/User" ); const config = require ( './config/key' ); const cookieParser = require ( 'cookie-parser' ); const auth = require ( './middleware/auth' ); // application / x-www-form-urlencoded app . use ( bodyParser . urlencoded ({ extended : true })); // application / json app . use ( bodyParser . json ()); app . use ( cookieParser ()); const mongoose = require ( 'mongoose' ); //mongoDB 연결 mongoose . connect ( config . mongoURI ,{ useNewUrlParser : true , useUnifiedTopolongy : true , useCreateIndex : true , useFindAndModify : false }). then (() => console . log ( 'MongoDB connected !' )) . catch ( err => console . log ( 'MongoDB Error !' )); //Hello world 출력 app . get ( '/' , ( req , res ) => { res . send ( 'Hello World!' ) }); //register 라우트 app . post ( '/api/users/register' , ( req , res ) => { // 회원가입 할 때 필요한 정보들을 client으로부터 받아오면 // 그것들을 database에 넣어준다. const user = new User ( req . body ) user . save (( err , userInfo ) => { if ( err ) return res . json ({ success : false , err }) return res . status ( 200 ). json ({ success : true }); }); }); // login 라우트 app . post ( '/api/users/login' , ( req , res ) => { // console.log('ping') //요청된 이메일을 데이터베이스에서 있는지 찾는다. User . findOne ({ email : req . body . email }, ( err , user ) => { // console.log('user', user) if ( ! user ) { return res . json ({ loginSuccess : false , message : "제공된 이메일에 해당하는 유저가 없습니다." }) } //요청된 이메일이 데이터 베이스에 있다면 비밀번호가 맞는 비밀번호 인지 확인. user . comparePassword ( req . body . password , ( err , isMatch ) => { // console.log('err',err) // console.log('isMatch',isMatch) if ( ! isMatch ) return res . json ({ loginSuccess : false , message : "비밀번호가 틀렸습니다." }) //비밀번호 까지 맞다면 토큰을 생성하기. user . generateToken (( err , user ) => { if ( err ) return res . status ( 400 ). send ( err ); // 토큰을 저장한다. 어디에 ? 쿠키 , 로컳스토리지 res . cookie ( "x_auth" , user . token ) . status ( 200 ) . json ({ loginSuccess : true , userId : user . _id }) }) }) }) }) // auth 라우트 (미들웨어로 사용될 것입니다.) app . get ( '/api/users/auth' , auth , ( req , res ) => { //여기 까지 미들웨어를 통과해 왔다는 얘기는 Authentication 이 True 라는 말. res . status ( 200 ). json ({ _id : req . user . _id , isAdmin : req . user . role === 0 ? false : true , isAuth : true , email : req . user . email , name : req . user . name , lastname : req . user . lastname , role : req . user . role , image : req . user . image }) }) app . get ( '/api/users/logout' , auth , ( req , res ) => { // console.log('req.user', req.user) User . findOneAndUpdate ({ _id : req . user . _id }, { token : "" } , ( err , user ) => { if ( err ) return res . json ({ success : false , err }); return res . status ( 200 ). send ({ success : true }) }) }) // 포트를 통해 index.js 를 실행합니다. app . listen ( port , () => { console . log ( `Example app listening at http://localhost: ${ port } ` ) }); 위는 index.js const { User } = require ( '../models/User' ); let auth = ( req , res , next ) => { //인증 처리를 하는곳 //클라이언트 쿠키에서 토큰을 가져온다. let token = req . cookies . x_auth ; // 토큰을 복호화 한후 유저를 찾는다. User . findByToken ( token , ( err , user ) => { if ( err ) throw err ; if ( ! user ) return res . json ({ isAuth : false , error : true }) // console.log('userh', user) req . token = token ; req . user = user ; next (); }) } module . exports = { auth }; auth.js // 모듈 (User에서는 데이터 베이스를 위한 몽구스, 유저의 비밀번호 암호화를 위한 비크립트, 유저의 개개인 토큰을 얻기 위한 제이슨웹토큰을 가져온다.) const mongoose = require ( 'mongoose' ); const bcrypt = require ( 'bcrypt' ); const jwt = require ( 'jsonwebtoken' ); // 비밀번호 암호화를 위한 salt 값 설정. salt 값은 암호화된 비밀번호를 해킹하기 어렵게 만들 수 있음. const saltRounds = 10 ; // 유저의 정보들을 객체화, 이른 바 유저 스키마를 생성한다. ( 몽구스의 메소드 ) // 각 유저들의 이름, 이메일, 비밀번호 등 개인정보를 담기 위한 객체임. const userSchema = mongoose . Schema ({ name : { type : String , maxlength : 50 }, email : { type : String , trim : true , unique : 1 }, password : { type : String , minlength : 5 }, lastname : { type : String , maxlength : 50 , }, role : { type : Number , default : 0 }, token : { type : String , }, tokenExp : { type : Number }, image : String }) // 유저 스키마 이전에 실행될 것임. userSchema . pre ( 'save' , function ( next ) { var user = this ; if ( user . isModified ( 'password' )) { //비밀번호를 암호화 시킨다. bcrypt . genSalt ( saltRounds , function ( err , salt ) { if ( err ) return next ( err ) bcrypt . hash ( user . password , salt , function ( err , hash ) { if ( err ) return next ( err ) user . password = hash next () }) }) } else { next () } }) // comparePassword 라는 이름의 유저 스키마 메소드를 생성합니다. ( 당연히 비밀번호 비교를 위한 메소드이겠지요? ) userSchema . methods . comparePassword = function ( plainPassword , cb ) { //plainPassword 1234567 암호회된 비밀번호 $2b$10$l492vQ0M4s9YUBfwYkkaZOgWHExahjWC bcrypt . compare ( plainPassword , this . password , function ( err , isMatch ) { if ( err ) return cb ( err ); cb ( null , isMatch ); }) } userSchema . methods . generateToken = function ( cb ) { var user = this ; // console.log('user._id', user._id) // jsonwebtoken을 이용해서 token을 생성하기 var token = jwt . sign ( user . _id . toHexString (), 'secretToken' ) // user._id + 'secretToken' = token // -> // 'secretToken' -> user._id user . token = token user . save ( function ( err , user ) { if ( err ) return cb ( err ) cb ( null , user ) }) } userSchema . statics . findByToken = function ( token , cb ) { var user = this ; // 토큰을 decode 한다. jwt . verify ( token , 'secretToken' , function ( err , decoded ) { // 유저 아이디를 통해서 유저를 찾은 다음에 // 클라이언트에서 가져온 token과 DB에서 가져온 토큰이 일치하는지 확인합니다. user . findOne ({ "_id" : decoded , "token" : token }, function ( err , user ) { if ( err ) return cb ( err ); cb ( null , user ); }) }) } // 유저스키마 => User 라는 이름으로 모델화. const User = mongoose . model ( 'User' , userSchema ); // 방금 모델화한 User 밖에서도 사용가능하도록 exports. module . exports = { User }; user.js 입니다. 문제가 무엇일까요, ㅠ

  • react
  • nodejs
잼코 댓글 3 좋아요 0 조회수 2847

쥬피터 네이게이터 접속방법 문의

미해결

공공데이터로 파이썬 데이터 분석 시작하기

주신 파일로 win64비트 설치했습니다. anaconda3 폴더에 실행 notebook 실행파일이 어떤것일까요? 그림에 나온 네비게이터 창이 안떠요

  • pandas
  • python
  • numpy
댓글 2 좋아요 1 조회수 577

쥬피터 노트 사용방법 문의

미해결

공공데이터로 파이썬 데이터 분석 시작하기

쥬피터 노트북을 사용하라고 하셨는데 try classcis notebook 이 말씀하신것인가요? install notebook은 이상한게 떠요

  • python
  • numpy
  • pandas
닉네임설정 댓글 1 좋아요 1 조회수 530

주피터 노트북을 어떻게 실행하나요?

미해결

공공데이터로 파이썬 데이터 분석 시작하기

4:29의 화면이 나오지 않습니다.

  • pandas
  • numpy
  • python
닉네임설정 댓글 1 좋아요 1 조회수 548

임곗값 배열에 대한 질문입니다.

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

강의 약 9분 44초즈음에 보면 변환된 분류 결정 임곗값 배열의 Shape는 147이고 나머지는 148의 값을 갖습니다. 저의 경우, sklearn 0.23.1 버전으로 돌리고 있으며, 임곗값= 143, 나머진 각각 144로 1개씩 더 많습니다. 보면 (버전의 다름과 상관없이) 임계값의 배열수보다 1씩 더 많은 결과가 발생하는데요, 임계값이 정밀도, 재현율에 비하여 1개씩 부족한 이유에 대하여 알 수 있을까요?

  • python
  • 통계
  • 머신러닝 배워볼래요?
liob_reverse 댓글 1 좋아요 1 조회수 285

models 최신 문법으로 변경 후

해결됨

[리뉴얼] React로 NodeBird SNS 만들기

index 페이지에 /Posts 요청에서 sequelizeeagerloadingerror Image is not associated to Comment 에러가 나고 로그인도 안되요 models 폴더 말고 다른 파일도 수정해야하는 곳이 있나요?

  • react
  • nodejs
  • express
  • redux
  • Next.js
tkdals9048 댓글 2 좋아요 0 조회수 319

Router 를 사용해 SSR 페이지 이동할 때 질문입니다!

해결됨

[리뉴얼] React로 NodeBird SNS 만들기

/user/[id].js 로 Link 태그를 통해 접근했을 때 userInfo 가 null 인 에러를 해결하려고 이것저것 해보던중 /user/[id].js 안에 { /* <title>{userInfo.nickname}님의 글</title> <meta name="description" content={`${userInfo.nickname}님의 게시글`} /> <meta property="og:title" content={`${userInfo.nickname}님의 게시글`} /> <meta property="og:description" content={`${userInfo.nickname}님의 게시글`} /> <meta property="og:image" content="https://nodebird.com/favicon.ico" /> <meta property="og:url" content={`https://nodebird.com/user/${id}`} /> */ } Head 안에 위 부분을 주석처리하니까 정상적으로 렌더링 되었어요! 혹시 원인이 뭔지 알 수 있을까요? 스크립트가 실행되기 전 Head 안에 userInfo 를 찾다가 에러를 나는 것인지.. 다른 이유에서인지.. 그리고 제로초님 깃헙 클론받아서 실행할 때 next 디펜던시 버전을 9.5.3으로 변경해서 실행해보니 저와 동일한 에러가 났었어요 혹시 확인 가능하실까요?

  • redux
  • react
  • express
  • nodejs
  • Next.js
tkdals9048 댓글 2 좋아요 0 조회수 274

'JSON 포맷 이해와 파이썬으로 JSON 파일 다루기' 영상 내용 질문입니다.

해결됨

[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]

안녕하세요. 강사님. json_file_format.ipynb 파일에 있는 'json.dumps() 함수로 파이썬 사전 데이터를 JSON 문자열 데이터로 변환할 수 있음' 항목에서 질문이 있습니다. 아래 Input 코드에서 "language" 키의 값에 "Java" : "basic"이 들어있는 것을 알 수 있는데, json.dumps(data)로 json파일로 불러오면 Output에 해당 내용이 존재하지 않는 걸로 나옵니다. 이 부분이 이해가 잘 가지 않아서 질문드립니다. -Input import json # 변수에 문자열로 된 JSON 포멧의 데이터가 있을 경우 data = { "id":"01", "language": {"Java":"basic", "Java":"advance"}, "edition": "third", "author": "Herbert Schildt" } jsondata = json.dumps(data) jsondata -Output '{"id": "01", "language": {"Java": "advance"}, "edition": "third", "author": "Herbert Schildt"}'

  • python
  • pandas
비현 댓글 2 좋아요 2 조회수 516

질문있습니다!!!

미해결

따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기

안녕하세요 :) !!! mainimage에서 이미지불러오는데 이미지가 화면에 표시되지않습니다. props로 로그찍어보고 거기에 나오는 주소로 검색하면 이미지가 잘나오는데 왜 안뜨는지 궁금해요...ㅠㅠ title 명도 분명 가져오는데 안가져오더라구요! -- LandingPage.js import React,{useEffect,useState} from 'react' import { FaCode } from "react-icons/fa" ; import {API_URL,API_KEY,IMAGE_BASE_URL} from '../../Config' import MainImage from './Sections/MainImage' function LandingPage() { const [Movies,setMovies]=useState([]) const [MainMovieImage,setMainMovieImage]=useState( null ) useEffect(() => { const endpoint= ` ${ API_URL } movie/popular?api_key= ${ API_KEY } &language=en-US&page=1` ; fetch(endpoint) .then(response => response.json()) .then(response => { console.log(response) setMovies([...response.results]) setMainMovieImage(response.results[ 0 ]) }) },[]) return ( <div style = { {width: '100%' ,margin: '0' } } > { /* Main Image */ } { MainMovieImage && <MainImage image = { ` ${ IMAGE_BASE_URL } w1280 ${ MainMovieImage.backdrop_path } ` } title = { MainMovieImage.original_title } text = { MainMovieImage.overview } /> } <div style = { { width: '85%' , margin: '1rem auto' } } > <h2> Movies by latest </h2> <hr/> /* Movie Grid Cards */ </div> <div style = { { display: 'flex' , justifyContent: 'center' } } > <button> Load More </button> </div></div> ); }; export default LandingPage -- MainImage.js import React from 'react' ; function MainImage(props){ return ( <div style = { {background: `linear-gradient(to bottom,rgba(0,0,0,0) 39%,rgba(0,0,0,0) 41% rgba(0,0,0,0.65) 100%), url(" ${ props.image } "),#1c1c1c` , height: '500px' , backgroundSize: '100%,cover' , backgroundPostition: 'center,center' , width: '100%' , position: 'relative' } } > <div> <div style = { {position: 'absolute' , maxWidth: '500px' , bottom: '2rem' , marginLeft: '2rem' } } > <h2 style = { {color: 'white' } } > { props.title } </h2> <p style = { {color: 'white' ,fontSize: '1rem' } } > { props.text } </p> </div> </div> </div> ) } export default MainImage

  • express
  • mongodb
  • react
  • 웹앱
  • nodejs
cptsunday44 댓글 0 좋아요 0 조회수 248

로그아웃시 에러

미해결

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

리액트 강의 마지막 인증처리 빼고 로그아웃 강의까지 들으면서 따라 했는데 로그아웃에서 에러가 나옵니다 로그아웃시에 콘솔창에는 { isAuth: false, error: true } 뜨는데요 이건 auth 미들웨어에서 사용자를 찾지 못했을 때 나타나는 에러인데 왜 로그인이 됐고 토큰도 생성이 됐는데 사용자를 찾지 못하는 지 모르겠어요ㅠㅠ 깃허브에 올려주신 코드 비교도 해봤는데 안 되네요...

  • react
  • nodejs
은똥지 댓글 1 좋아요 0 조회수 165

웹사이트에서 크롤러의 행동을 규제하는 robots.txt에 관해 질문드립니다.

해결됨

[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

안녕하십니까 선생님. 강의에서 다뤄주신 크롤링 기법을 사용해 제 개인 프로젝트에 활용하려고 하는 통계학과 대학원생입니다. 강의 외적인 질문이라 죄송스러운 마음이 앞서지만, 선생님같은 식견을 가지신 분이시라면 답을 알고 계실 것 같아 양해를 부탁드리며 질문 올리겠습니다. 보다 구체적으로, Daum뉴스에서 크롤링한 기사들의 원문을 데이터로 사용하는 모델을 만들어 이를 적용하고 그 결과를 제 깃헙 페이지에 공개하려고 했습니다. 하지만 프로젝트를 진행하는 과정에서 robots.txt의 존재를 알게 되었고, 실제로 news.daum.net/robots.txt를 확인해 봤을 때 해당 사이트에서 모든 크롤링 시도를 금지하고 있음을 확인할 수 있었습니다(User-agent: * Disallow : /). 저는 악의나 영리 목적의 의도가 없고, 심지어는 request와 request 사이에 지연을 줘서 서버에 무리가 가지 않도록 할 의향도 있습니다. 그럼에도 불구하고 robots.txt에 저렇게 지정되어 있으면 어떤 방식으로든 크롤링을 금지하며 이를 어길 시 어떤 방식으로든 책임을 물을 수 있다는 의미인지 궁금합니다. 마지막으로, 좋은 강의 항상 너무 감사하다는 말씀 드리고 싶습니다. 파이썬 기초는 이미 알고 있어서 사실 크롤링 부분만을 위해 강의를 수강하긴 했습니다만, 모든 내용을 잘 이해할 수 있었습니다. 이에 더해 파이썬 중급 강의도 거의 마쳐가는데, decorator나 generator의 원리를 확실히 알게된 것 같아 너무 유익하고 좋았습니다. 둘 다 곧 마무리하고 수강평 남기도록 하겠습니다! 이상입니다. 감사합니다.

  • 웹-크롤링
  • python
sunsik kim 댓글 1 좋아요 0 조회수 589

광고 api 질문입니다.

해결됨

파이썬 웹서비스API 실전 프로젝트 - 돈 버는 디지털마케팅

get_rel_kwd_stat_list에서 'NoneType' object is not subscriptable 에러가 뜹니다. 혹시 api가 변경이 된 걸까요?

  • python
  • 웹-크롤링
  • 웹앱
  • 디지털 마케팅
  • flask
밤의멜로디 댓글 3 좋아요 0 조회수 894

강의 slide 공유

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

강의 slide를 보며 공부하려는데 공유받을 수 있는지 질문드립니다

  • 통계
  • 머신러닝 배워볼래요?
  • python
kh9342 댓글 1 좋아요 0 조회수 469

인기 태그

인프런 TOP Writers

주간 인기글