inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

ID태크와 Class 태그

해결됨

파이썬으로 나만의 블로그 자동화 프로그램 만들기

안녕하세요. driver.find_element(By.CSS_SELECTOR, "#id").click() 아이디 패스워드부분을 작성하실때는 #id 를 사용하시고 다른 버튼 및 선택 부분은 .class를 사용하시는데 차이가 있을까요? 개발자도구에서 ID 부분에서 ID도 있지만 class도 있어서요. ID가 명시되어 있다면 ID로 하면되고 그렇지 않다면 Class를 넣어서 사용하면 될까요?

  • python
  • wordpress
  • 웹-크롤링
  • selenium
subak 댓글 2 좋아요 0 조회수 141

req.cookies.token == undefined 현상

해결됨

React, Node.js, MongoDB로 만드는 나만의 회사 웹사이트: 완벽 가이드

logout을 해보니 400BadRequest:이미 로그아웃 됨 상태가 지속됩니다. console.log(req.cookies.token); 출력해보니 undefined 라고 출력됩니다. 쿠키를 제대로 읽지 못하는것 같은데 왜 이런 현상이 뜨는지 궁금합니다.. const express = require("express"); const router = express.Router(); const bcrypt = require("bcrypt"); const User = require("../models/User"); const axios = require("axios"); const jwt = require("jsonwebtoken"); router.post("/signup", async (req, res) => { try { const { username, password } = req.body; const existingUser = await User.findOne({ username }); if (existingUser) { return res.status(400).json({ message: "이미 존재하는 사용자입니다." }); } const hashedPassword = await bcrypt.hash(password, 10); const user = new User({ username, password: hashedPassword, }); await user.save(); res.status(201).json({ message: "회원가입이 완료되었습니다." }); } catch (error) { res.status(500).json({ message: "서버 오류가 발생했습니다." }); console.log(error); } }); router.post("/login", async (req, res) => { try { const { username, password } = req.body; const user = await User.findOne({ username }).select("+password"); //왜인지 password가 select되지 않아서 추가함 if (!user) { return res.status(401).json({ message: "존재하지 않는 사용자입니다." }); } if (!user.isActive) { return res.status(401).json({ message: "비활성화된 사용자입니다." }); } if (user.isLoggedIn == true) { return res.status(401).json({ message: "이미 접속 중인 사용자입니다." }); } const isValidPassword = await bcrypt.compare(password, user.password); //비밀번호 비교 if (!isValidPassword) { user.failedLoginAttempts += 1; user.lastLoginAttempt = new Date(); if (user.failedLoginAttempts >= 5) { user.isActive = false; //다섯번 틀리면 계정 비활성화 ㅋㅋ await user.save(); return res.status(401).json({ message: "비밀번호를 5회 이상 틀려 계정이 비활성화되었습니다.", }); } await user.save(); return res.status(401).json({ message: "비밀번호가 일치하지 않습니다.", remainingAttempts: 5 - user.failedLoginAttempts, }); } user.failedLoginAttempts = 0; user.lastLoginAttempt = new Date(); user.isLoggedIn = true; try { const response = await axios.get("https://api.ipify.org?format=json"); //공공장소 사용금지요 const ipAddress = response.data.ip; //한번 정제함 user.lastLoginIp = ipAddress; } catch (error) { console.log("IP 주소를 가져오는데 실패했습니다: ", error.message); } await user.save(); const token = jwt.sign( { userId: user._id, username: user.username }, process.env.JWT_SECRET, { expiresIn: "24h" } //토큰 만료는 24시간 ); console.log(token); //오 된다 res.cookie("token", token, { httpOnly: true, //자바스크립트에서 쿠키 접근 불가 secure: "production", //https에서만 쿠키 전송 sameSite: "strict", //같은 사이트에서만 쿠키 전송 maxAge: 24 * 60 * 60 * 1000, //24시간 }); const userWithoutPassword = user.toObject(); //구글링 해보니 이렇게 하면 문서 타입을 일반 객체로 변환할 수 있다고 한다 delete userWithoutPassword.password; //보안때문에 비밀번호는 삭제할 수 있다고 한다 res.json({ user: userWithoutPassword }); } catch (error) { console.log("서버 오류: ", error); res.status(500).json({ message: "서버 오류가 발생했습니다." }); } }); router.post("/logout", async (req, res) => { console.log(req.cookies.token); try { const token = req.cookies.token; if (!token) { return res.status(400).json({ message: "이미 로그아웃된 상태입니다." }); } try { const decoded = jwt.verify(token, process.env.JWT_SECRET); const user = await User.findById(decoded.userId); if (user) { user.isLoggedIn = false; await user.save(); } } catch (error) { console.log("토큰 검증 오류: ", error.message); } res.clearCookie("token", { httpOnly: true, secure: "production", sameSite: "strict", }); res.json({ message: "로그아웃되었습니다." }); } catch (error) { console.log("로그아웃 오류: ", error.message); res.status(500).json({ message: "서버 오류가 발생했습니다." }); } }); router.delete("/delete/:userId", async (req, res) => { try { const user = await User.findByIdAndDelete(req.params.userId); if (!user) { return res.status(404).json({ message: "사용자를 찾을 수 없습니다." }); } res.json({ message: "사용자가 성공적으로 삭제되었습니다." }); } catch (error) { res.status(500).json({ message: "서버 오류가 발생했습니다." }); } }); module.exports = router;

  • HTML/CSS
  • javascript
  • react
  • node.js
  • mongodb
Schwartz Melvin 댓글 1 좋아요 0 조회수 192

RunInit() 관련 질문

해결됨

대용량 채팅 TPS 처리를 위한 웹소켓 통신 만들며 학습하기

현재 웹소켓 구조는 커넥션당 고루틴이 발생하여 블록되어 있는 구조이고 동시에 많은 트래픽이 들어올 경우에 각 커넥션을 담당하는 고루틴들에서 동시에 요청을 처리하기 때문에, RunInit() 같은 메시지 채널을 관리하는 고루틴을 두게 되면, 구조는 깔끔해지지만, 병목이 생길 포인트인 것 같습니다. 그래서 이를 완화하기 위해서 RunInit() 고루틴을 포문으로 여러 개 돌게 할지, 아니면 굳이 RunInit()과 같은 메시지 채널관리용 고루틴을 만들 필요가 있는 건지 의문이 생깁니다. RunInit()과 같은 패턴을 사용하는 것은 강사님 소스에서 뿐만 아니라, 다른 프로젝트에서도 많이 봤어서 관련하여 강사님의 답변을 듣고 싶습니다!

  • node.js
  • go
  • websockets
김영민 댓글 5 좋아요 0 조회수 235

4:30 스위치 문에 for문은 생략인가요

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

4:30 스위치 문 바로 위 for문은 생략하면 되는건지요?

  • python
  • java
  • c
  • 정보처리기사
kjh76065644 댓글 2 좋아요 0 조회수 93

feature scaling 부분

해결됨

파이썬을 활용한 머신러닝 딥러닝 입문

안녕하세요. feature scaling 부분에 그래프 예시 (before, after) 에 표준정규화를 거치면 분포가 다 같아지는것처럼 그려졌는데 각각 다른 분포를 가진 데이터들이 전부 같은 분포로 바뀌게 되면 서로 다른 데이터의 의미자체를 잃어버리는것 아닌가요? 감사합니다.

  • python
  • 머신러닝
  • 딥러닝
  • pandas
  • numpy
  • keras
  • tensorflow
  • anaconda
  • matplotlib
  • cnn
한두혁 댓글 2 좋아요 0 조회수 151

type 오류

미해결

[신규 개정판] 코딩 입문자를 위한 파이썬 완벽가이드

'NoneType'으로 떠야 하는데 'str'로 오류가 납니다. 어떻게 해결할 수 있을까요?

  • python
댓글 2 좋아요 0 조회수 128

비동기 await 관련

해결됨

실전! FastAPI 활용(비동기)

기존에는 fastapi를 간략하게 이해하고, async def를 쓰면 비동기처리를 수행한다고 해서, 사용하였지만, 비동기처리가 안 되길래, 무슨 문제인지 몰랐는데, await를 추가해줘야 한다는 것을 알게 되었습니다. 그러면 강의에서는 네트워크 IO를 발생시키는 작업에 대해서는 await를 사용하신다고 하고, ORM 객체 명령어는 동기처리를 해도 된다고 하셨는데, commit이랑 DB에서 사용되는 CRUD가 주로 네트워크 IO를 발생시키는 작업이라고 이해해도 되는걸까요?

  • python
  • FastAPI
  • websocket
  • asyncio
  • pubsub
문승주 댓글 2 좋아요 0 조회수 120

9분20초

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

9분 20초 isdisit이 숫자로 돼있을 때 트루라고 하셨는데 True는 잘못된거죠??

  • python
  • java
  • c
  • 정보처리기사
곽경록 댓글 2 좋아요 0 조회수 102

셀레니움 설치 후 from , import 안되요.

해결됨

파이썬으로 나만의 블로그 자동화 프로그램 만들기

안녕하세요. 셀레니움 설치후 from 명령어에도 안뜨고 실행도 안됩니다. 확인해야할 부분이 어딘지 알려주실수 있으실까요?

  • python
  • wordpress
  • 웹-크롤링
  • selenium
subak 댓글 2 좋아요 0 조회수 195

수업자료 다운로드 시 빈폴더만 나오네요

미해결

코로나맵 개발자가 알려주는 React + Express로 지도서비스 만들기 (Typescript)

안녕하세요. 오늘 강의 결제하고 수업 소스코드를 다운받았는데 아무 것도 없는 빈 폴더만 나왔습니다. 그래서 질문 답변에 나왔던 구글 드라이브 링크로 들어가려고 해도 엑세스 거부됨만 나와서 전혀 진행이 돼지 않는 상황이네요...

  • react
  • node.js
  • mongodb
  • express
  • typescript
우리동네개밥그릇 댓글 2 좋아요 0 조회수 147

sp500 데이타 가져올 때 문제가 있어요

해결됨

파이썬 알고리즘 트레이딩 파트2: Interactive Brokers API를 활용한 실시간 알고리즘 트레이딩

안녕하세요. 추가 질문 드립니다. sp500 데이타 가져오는 부분에서 오류가 나서 그런지 그래프가 안그려지네요. 아마 강의 당시와 지금(2024.2)과 환경 차이가 있어서 그런지 잘 모르겠습니다. data_1d 값을 어떠한 예외 처리를 해야 하는지 문의 드립니다. 감사합니다.

  • python
  • 객체지향
  • 퀀트
jacob.ha 댓글 3 좋아요 1 조회수 408

문제 링크가있나여?

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

문제 링크를 받고싶어요

  • python
  • 코딩-테스트
우유소보루 댓글 2 좋아요 0 조회수 163

엑셀 자동화 에러

미해결

[신규 개정판] 코딩 입문자를 위한 파이썬 완벽가이드

안녕하세요 맥 사용자 입니다. 현재 파이썬 3.13.2 사용중인데 아래와 같은 에러가 발생하는데 다른 방법으로 업그레이드도 하였는데 안되고 파이썬 재설치 한 후에도 똑같은 현상이 일어나고 있습니다... 혹시 봐주실 수 있을까요?

  • python
박찬효 댓글 2 좋아요 0 조회수 229

오류 함수

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

이 빨간색은 왜 뜨는걸까요?

  • javascript
  • react
  • node.js
sopo8991 댓글 3 좋아요 0 조회수 136

노션 사용권한 이슈 문의 드립니다.

해결됨

고성능 실시간 분산 시스템 RabbitMQ + Kafka + Redis 실전 프로젝트

안녕하세요! 우선 좋은 강의 만들어 주셔서 너무너무 감사드립니다! [환경 구축 가이드라인 및 ppt 자료] 를 확인하려고 하는데 링크 클릭 시 페이지 사용 권한 없음으로 나옵니다 흑흑.. ㅠ

  • python
  • flask
  • kafka
  • redis
  • rabbitmq
HanKyul Kim 댓글 1 좋아요 2 조회수 219

윈도우 파일탐색기 주소창에서 cmd를 입력할 경우 해당 경로로 바로 cmd를 열 수 있습니다.

미해결

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

윈도우 파일탐색기 주소창에서 cmd를 입력할 경우 해당 경로로 바로 cmd를 열 수 있습니다. 중요한건 아닌데 혹시 도움 되실까 싶어서 올려봅니다. (강의 마지막에 cmd를 따로 열어서 직접 경로를 찾아가고 있는데 시간을 단축시킬 수 있습니다)

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
정중한 몽구스 댓글 2 좋아요 2 조회수 254

채점기 Time Limit Exceeded 오류 문의

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

1.k번째 약수 문제부터 파이썬 코드를 채점기로 확인하면 Time Limit Exceeded 오류가 발생합니다. 강사님의 코드로 확인해도 같은 현상인데, 어떤 문제일까요? * AA.py import sys # sys.stdin = open('input.txt', 'rt') n, k = map(int, input().split()) cnt = 0 for i in range(1, n+1): if n % i == 0: cnt = cnt + 1 if cnt == k: print(i) break else: print(-1) ** Judge(Python).exe 실행 결과 Case #01 : Time Limit Exceeded Case #02 : Time Limit Exceeded Case #03 : Time Limit Exceeded Case #04 : Time Limit Exceeded Case #05 : Time Limit Exceeded

  • python
  • 코딩-테스트
doogy 댓글 2 좋아요 1 조회수 209

TodoList 최적화 질문드립니다.

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

Editor.jsx 파일은 Props 가 없고 단순히 export default memo (editor) 코드만 있으니 당연히 리렌더링이 안되어야 하지만 리렌더링이 되고 있습니다. 그래서 App.jsx 파일에서 <TodoDispatchContext.Provider value={memoizedDispatch}> <Editor /> <List /> </TodoDispatchContext.Provider> 이렇게 리턴하는걸 <Editor />를 위쪽으로 빼면 리렌더링이 안 일어 납니다. dispatchContext 안쪽으로 editor 컴포넌트가 들어가면 리렌더링 일어나고 바깥으로 빼면 리렌더링 안 일어 나는거 설명좀 될까요?

  • javascript
  • react
  • node.js
좀 해 댓글 2 좋아요 0 조회수 158

아나콘다 프롬프트에서 모듈이 실행이 안되어요

미해결

문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!

다음과같이 했는데 아나콘다에서 숫자나 입력값이 나오지않아요.. window에요

  • python
  • window
댓글 2 좋아요 0 조회수 341

세션4 범주형 데이터 분석 패턴 강의 질문

미해결

[리뉴얼] 처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part2]

히트맵 및 막대그래프를 만들 때 아래와 같은 오류가 나옵니다..!ㅠㅠ 1. heatmap train.corr(numeric_only=True).iplot(kind='heatmap', colorscale='Blues') ValueError: Invalid property specified for object of type plotly.graph_objs.layout.XAxis: 'titlefont' 2. 막대그래프 df.iplot(kind='bar') ValueError: Invalid value of type 'builtins.str' received for the 'color' property of bar.marker.line Received value: 'rgba(255, 153, 51, np.float64(1.0))'

  • python
  • 머신러닝
  • pandas
  • kaggle
fwm8 댓글 2 좋아요 0 조회수 239

인기 태그

인프런 TOP Writers

주간 인기글