inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

스스로하기에서 귓속말 구현할때

미해결

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

socket.id 로 하면 맨첨엔 귓속말 잘되는데 유저가 나갔다가 들어오면 socket.id 가 갱신되어서 예전에 보냈던 채팅의 귓속말 버튼으로는 귓속말이 안가게 되는데 저만 이런건가요??

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
김창훈 댓글 1 좋아요 0 조회수 220

csrf disable 의 대안책에 대해 질문드립니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

스프링 시큐리티를 학습한 지 얼마 안되서 부족한 부분이 많아서 궁금한 점이 있어서 질문드립니다. csrf 를 disable 으로 설정하고 JWT 토큰을 활용하여 엑세스 토큰 유효 시간을 짧게(10분 이면 괜찮을까요..?)설정과 함께 리프레쉬 토큰(30일이면 괜찮을까요..?)을 발급하는 것으로 csrf 공격에 대비가 충분하다고 볼 수 있을까요? 그리고 금융권처럼 보안을 강력하게 요구되지 않은 이용자 빈도가 낮은 개인 쇼핑몰 페이지 같은 실무 환경에서 csrf 에 대해 어떻게 대안을 세우는 것이 가장 적절하고 보편적인 방법이 될까요?

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
optional94 댓글 1 좋아요 0 조회수 786

group by agg function failed 에러

미해결

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

1.5 groupby 까지 안막히고 잘 오다가 여기서 막힙니다. df_last.groupby(["지역명"]).mean() 작성했을때 TypeError: agg function failed [how->mean,dtype->object] 에러가 뜹니다. 그런데 이어서 ["평당분양가격"]을 타이핑 하면 정상 결과가 나옵니다. 무슨 문제일까요.,?

  • python
  • pandas
  • numpy
robert 댓글 2 좋아요 0 조회수 720

PathVariable이 제대로 인식되지 않는 문제

미해결

코드로 배우는 React 19 with 스프링부트 API서버

본 강의 REST컨트롤러 - 수정/삭제, CORS 설정 시청중에 Putmapping, DeleteMapping 쪽에서 파라미터를 @PathVariable로 받는데, postMan에서 테스트 요청을 보냈을때 파라미터가 전달되지 않습니다. @PathVariable(name="tno") 처럼 name을 명시하니까 제대로 파라미터가 받아지던데요 원래는 name은 생략 가능한게 아닌가요??

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
한세건 댓글 2 좋아요 0 조회수 788

jwt를 저장하는 위치에 궁금한 점이 있습니다.

미해결

스프링부트 시큐리티 & JWT 강의

강사님 강의 열심히 잘보고 있습니다. 강사님 강의도 보고 인터넷에 있는 레퍼런스도 많이 찾아보니까 토큰을 만들고 해당 토큰을 SecurityContextHolder 에 담는 방식과 강사님처럼 response.addHeader 로 담는 두가지 방식이 있는거같은데 혹시 두개의 차이점이 무엇인가요?

  • spring
  • spring-security
  • jwt
JongKook 댓글 1 좋아요 0 조회수 323

실행을 했음에도 연결이 안되는 경우는 어떻게 해야할까요

해결됨

[2025 신규] 어서와, Fast API는 처음이지?

(base) PS C:\Users\JaeJun> curl http://127.0.0.1:8000 StatusCode : 200 StatusDescription : OK Content : {"Hello":"World"} RawContent : HTTP/1.1 200 OK Content-Length: 17 Content-Type: application/json Date: Sun, 28 Apr 2024 07:59:31 GMT Server: uvicorn {"Hello":"World"} Forms : {} Headers : {[Content-Length, 17], [Content-Type, application/json], [Date, Sun, 28 Apr 2024 07:59:31 GMT], [Server, uvicorn]} Images : {} InputFields : {} Links : {} ParsedHtml : mshtml.HTMLDocumentClass RawContentLength : 17 powershell을 통해 호출할 경우 위와 같이 GET이 정상적으로 되지만 웹브라우저를 통해서 접근할 경우에는 Chrome이나 Edge 모두 연결할 수 없다고 합니다.. 인바운드,아웃바운드 모두 8000을 혹시 몰라 열어둔 상태이며, 8000이 아닌 8000-8010까지 포트를 변경해봤는데 안되고 있습니다. 어떻게 해야할까요

  • python
  • postgresql
  • FastAPI
  • database
  • python-dash
도나스 댓글 4 좋아요 1 조회수 1024

Robustscaler 질문

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

수치형은 robustscaler를 사용하려고 하는데여 from sklearn.preprocessing import RobustScaler scaler = RobustScaler() cols = x_train.select_dtypes(exclude='object') for col in cols: x_train[col] = scaler.fit_transform(x_train[col]) x_test[col] = scaler.transform(x_test[col]) 이렇게 하면 ,ValueError: Expected 2D array, got 1D array instead: array=[ 888. 1308. 151. ... 173. 1244. 893.]. Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample. 이런 오류가 납니다... 어떻게 수정해야 하나여

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
DataAnonymous 댓글 2 좋아요 0 조회수 317

노드 삭제 재설치

해결됨

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

그러면 안되지만 잘못 설치했을경우 노드 삭제 재설치 및 버전 업데이트 하는 방법에 대해서 혹시 유튜브에라도 해당 내용이 있을실까요?

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
pro 댓글 1 좋아요 1 조회수 282

저는왜 렌더링 화면이 다를까요 ?

미해결

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

저는 이 화면으로만 보이고 domain 적는 구간이없는데.. 왜그럴까요 계속 로그인 상태 알람만 발생합니다. <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>API 서버 로그인</title> <style> .input-group label { width: 200px; display: inline-block; } </style> </head> <body> {% if user and user.id %} <span class="user-name">안녕하세요! {{user.nick}}님</span> <a href="/auth/logout"> <button>로그아웃</button> </a> <fieldset> <legend>도메인 등록</legend> <form action="/domain" method="post"> <div> <label for="type-free">무료</label> <input type="radio" id="type-free" name="type" value="free"> <label for="type-premium">프리미엄</label> <input type="radio" id="type-premium" name="type" value="premium"> </div> <div> <label for="host">도메인</label> <input type="text" id="host" name="host" placeholder="ex) zerocho.com"> </div> <button>저장</button> </form> </fieldset> <table> <tr> <th>도메인 주소</th> <th>타입</th> <th>클라이언트 비밀키</th> </tr> {% for domain in domains %} <tr> <td>{{domain.host}}</td> <td>{{domain.type}}</td> <td>{{domain.clientSecret}}</td> </tr> {% endfor %} </table> {% else %} <form action="/auth/login" id="login-form" method="post"> <h2>NodeBird 계정으로 로그인하세요.</h2> <div class="input-group"> <label for="email">이메일</label> <input id="email" type="email" name="email" required autofocus> </div> <div class="input-group"> <label for="password">비밀번호</label> <input id="password" type="password" name="password" required> </div> <div>회원가입은 localhost:8001에서 하세요.</div> <button id="login" type="submit">로그인</button> </form> <script> window.onload = () => { if (new URL(location.href).searchParams.get('error')) { alert(new URL(location.href).searchParams.get('error')); } }; </script> {% endif %} </body> </html> view에 login도 위와 같이 들어가있습니다. const { User, Domain } = require("../models"); const { v4: uuidv4 } = require("uuid"); exports.renderLogin = async (req, res, next) => { try { const user = await User.findOne({ where: { id: res.user?.id || null }, include: { model: Domain } }) res.render("login", { user, domains: user?.Domains }) } catch (err) { console.error(err) next(err); } } exports.createDomain = async (req, res, next) => { try { await Domain.create({ UserId: req.user.id, host: req.body.host, type: req.body.type, client: uuidv4() }) res.redirect("/"); } catch (err) { console.error(err); next(err); } } controller에서도 강의대로 잘 렌더가 들어가있습니다. 그러니 화면이 보이긴하는데 왜 저만안보일까요.. - app.js에 passport의 initialize(), session() 함수 선언되어있습니다. - cookie도 있습니다. - db에 user도 있습니다.

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
댓글 1 좋아요 0 조회수 326

Entity에 ElementCollection이 두 개 있는 경우

미해결

코드로 배우는 React 19 with 스프링부트 API서버

안녕하세요! 하나의 엔티티에 @ElementCollection 붙은 필드가 두 개 있는 경우를 시험해 보고 있습니다. @EntityGraph(attributePaths = {"a", "b"}) 이런 식으로 해서 테스트를 돌리면 org.hibernate.loader.MultipleBagFetchException: cannot simultaneously fetch multiple bags 과 같은 오류가 나는데 ElementCollection 두 개가 있는 경우는 하나의 쿼리로 모두 가져오는 방법은 없나요?

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
김동영 댓글 1 좋아요 0 조회수 274

api호출 제한이 안되는 질문에서 제로초님이 제공해주신 코드중에서의 질문입니다!

미해결

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

해당 질문에서 제로초님이 const limiter = rateLimit({ widowMs: 60 * 1000, max: (req, res) => { if (req.user?.type === 'premium') { return 10 } return 1; }, handler(req, res) { res.status(this.statusCode).json({ code: this.statusCode, message: `1분에 ${req.user?.type === 'premium' ? '열' : '한'} 번만 요청 할 수 있습니다...`, }); }, }); exports.apiLimiter = async (req, res, next) => { let user; if (res.locals.decoded) { user = await User.findOne({ where: { id: res.locals.decoded.id } }); } req.user = user; limiter(req, res, next); }; 이렇게 주셨는데 여기서 limiter을 상수형태로 참조하게끔하면 그럼 다수의 유저가 호출을 하게 될때 limiter이 같은 함수를 가르키고있어서 다른 유저가 호출한 api횟수에 영향을 받게 되지않나요? 강의 너무 잘보고있습니다!

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
김창훈 댓글 2 좋아요 0 조회수 288

JWT 페이로드 안에 데이터는 어느 것이 포함되어야 하는지 질문드립니다

해결됨

코드로 배우는 React 19 with 스프링부트 API서버

JWT 페이로드 안에 비밀번호가 저장되어 있는데, 주로 JWT 를 사용한다고 가정하면 어느 데이터를 페이로드 안에 넣어야 하고, 넣지 말아야 할 데이터는 어떤 것들인지 알 수 있을까요?!

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
optional94 댓글 1 좋아요 0 조회수 275

포스트맨에서 회원 권한이 출력되지 않습니다.ㅠㅠ

미해결

코드로 배우는 React 19 with 스프링부트 API서버

강의 내용와 다르게 포스트맨 수행 결과 권한이 함께 출력되지 않고 있습니다. 어느 부분이 문제인가요 ..? 콘솔창에서는 정상적으로 모두 출력된 것을 확인했습니다 ㅠㅠ 그래서 더 모르겠습니다..

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
optional94 댓글 1 좋아요 0 조회수 229

파이참에서 외부 파이썬 함수 수행하기

해결됨

Airflow 마스터 클래스

안녕하세요. 외부 파이썬 함수 수행하기가 안되어서 문의드리게 되었습니다. 저는 Pycharm이 익숙해서 Pycharm으로 하고 있었는데, Pycharm의 경우 .env파일이 인식이 안되는 걸까요..? common 모듈을 발견하지 못하네요... .env파일을 아래와 같이 설정하였고 dags_python_import_ func.py 에서도 Enable EnvFile에 체크표시를 하였는데 여전히 해당 모듈을 읽지 못하네요...ㅠㅠ 혹시 Pycharm의 경우 .env파일을 다르게 설정해야하는 걸까요...?

  • python
  • 데이터-엔지니어링
  • airflow
rosy 댓글 2 좋아요 0 조회수 620

"ID로 특정 게시물 가져오기" 부분이 잘못되었습니다.

미해결

따라하며 배우는 NestJS

@Param('id') 사용 http://localhost/board/id 로 들어가야 하는 것인데, http://localhost/board?id=xxxx 이렇게 설명이 되고 있습니다. 아시겠지만.. ?로 처리하는 것은 Query로 해야 하는데, 잘못 설명하신거 같아서 적어봅니다.. 좋은 강의 감사합니다. 다시 개념 잡으려고 보고 있는데, 좋네요.. ㅎㅎ 궁금한게 하나 있는데.. EntityRepostiory를 요새는 사용하지 않는거 같던데.. 그럼 EntityRepostiory 대신에 뭘 사용하는지 좀 알고 싶습니다. 0.3부터인가 사용하지 않는다고 들어서요..

  • postgresql
  • jwt
  • nestjs
  • typeorm
앱프 댓글 1 좋아요 0 조회수 465

선생님이랑 똑같이 적었는데 저는 왜 오류가 날까요?ㅠ

미해결

실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용

안녕하세요! 차근차근 잘 보고 있습니다. 선생님이랑 똑같이 따라하고 있는데 저는 자꾸 에러가 나서요ㅠㅠ ".logo_naver"가 없어진거 같아서 다른걸 붙여서 했는데도 오류가 나는데 뭐가 잘못된 걸까요ㅠㅠㅠㅠ 답변이 선생님이랑은 다르게 이렇게 나와서요ㅠㅠ 똑같이 따라하는데 뭐가 잘못된 건지 모르겠어요ㅠㅠ

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
댓글 2 좋아요 0 조회수 383

이동한 페이지 번호가 회색 색상으로 변하지 않습니다 ㅠ

해결됨

코드로 배우는 React 19 with 스프링부트 API서버

데이터는 정상적으로 가져와지고 있습니다. 하지만 선택된 페이지 번호가 회색으로 변경이 안되고 있는데, 어느 부분이 문제인지 모르겠습니다... PageComponent.js 에서 선택된 페이지 번호에 회색을 부여하는 것으로 알고 있는데, 왜 안되는 걸까요..? 아래는 PageComponent.js 코드입니다. 강의 내용과 피피티와 코드가 동일합니다. import React from 'react'; function PageComponent({serverData, movePage}) { // serverData.prev, pageNumList, next return ( <div className="m-6 flex justify-center"> {serverData.prev ? <div className="m-2 p-2 w-16 text-center font-bold text-blue-400 " onClick={() => movePage({page: serverData.prevPage})}> Prev </div> : <></>} {serverData.pageNumList.map(pageNum => <div key={pageNum} className={`m-2 p-2 w-12 text-center rounded shadow-md text-white ${serverData.current === pageNum ? 'bg-gray-500' : 'bg-blue-400'}`} onClick={() => movePage({page: pageNum})}> {pageNum} </div> )} {serverData.next ? <div className="m-2 p-2 w-16 text-center font-bold text-blue-400" onClick={() => movePage({page: serverData.nextPage})}> Next </div> : <></>} </div> ); } export default PageComponent; 그리고 콘솔창에서 다음과 같은 경고창이 뜨는데 가장 좋은 해결 방법에 대해 알 수 있을까요? 이 문제는 해결됐습니다! 제가 ListComponent.js 파일 안에서 div 태그 안의 key 속성에 todo.tno 를 큰따옴표로 묶은 오타였습니다.

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
optional94 댓글 1 좋아요 0 조회수 318

뉴스기사 크롤링 css선택자 선정의 어려움......도와주세요....

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 쌤 인프런, 유튜브 강의 보면서 잘 만들어 가고 있었는데 현재 코드에서 아무리 수정을 해도 css를 잘못 가져오는건지 오류가 생겨서 답답해서 질문 들고 왔습니다 현재 css 코드 찾기 좀 부탁드릴게요ㅠㅠ 안되는 항목 ✔ 연예뉴스 -> 내용을 못 가져옴 ✔ 스포츠뉴스 -> 제목, 날짜, 내용 다 못 가져옴 css를 여러개 바꿔서 넣어봐도 저는 자꾸 찾을 수 없다고 크롤링 됩니다 도와주세요,,,,,,, #네이버기사 크롤링 엑셀저장 import requests from bs4 import BeautifulSoup import time import pyautogui from openpyxl import Workbook #사용자입력 keyword = pyautogui.prompt("검색어를 입력하세요") lastpage = int(pyautogui.prompt("몇 페이지까지 크롤링 할까요?")) #엑셀 생성 wb = Workbook() #엑셀시트 생성 ws = wb.create_sheet(keyword) #열 너비 조절 ws.column_dimensions['A'].width = 60 ws.column_dimensions['B'].width = 30 ws.column_dimensions['C'].width = 60 ws.column_dimensions['D'].width = 150 #행 번호 row = 1 #페이지 번호 pageNum = 1 for i in range(1, lastpage*10, 10) : print(f"{pageNum}페이지 크롤링중입니다 =================") response = requests.get(f"https://search.naver.com/search.naver?where=news&query={keyword}&sm=tab_opt&sort=1&photo=0&field=0&pd=3&ds=2024.04.11&de=2024.15.20&news&query={keyword}&start={i}") html = response.text soup = BeautifulSoup(html, 'html.parser') articles = soup.select("div.info_group") #뉴스기사 div 10개 추출 for article in articles: links = article.select("a.info") #리스트 time.sleep(0.7) if len(links) >= 2: #링크가 2개 이상이면 url = links[1].attrs['href'] #두번째 링크의 href를 추출 response = requests.get(url, headers={'User-agent': 'Mozilla/5.0'}) html = response.text soup_sub = BeautifulSoup(html, 'html.parser') content = soup_sub.select_one("#newsct_article") if content: content_text = content.get_text(separator="\n") else: content_text = "내용을 찾을 수 없습니다." title = None date = None #만약 연예 뉴스라면 if "entertain" in response.url: title = soup_sub.select_one(".end_tit") date = soup_sub.select_one("div.article_info > span > em") content = soup.select_one("#articeBody") #만약 스포츠 뉴스라면 elif "sports" in response.url: title = soup_sub.select_one(".Main_article_title") content = soup.select_one("._article_content") else: title = soup_sub.select_one(".media_end_head_headline") date = soup_sub.select_one("span.media_end_head_info_datestamp_time._ARTICLE_DATE_TIME") #본문 내용안에 불필요한 div, p제거 divs = content.select("div") for div in divs: div.decompose() paragraphs = content.select("p") for p in paragraphs: p.decompose() print("=======제목======= \n", title.text.strip() if title else "제목을 찾을 수 없습니다.") print("=======날짜======= \n", date.text if date else "날짜를 찾을 수 없습니다.") print("=======URL======= \n", url) print("=======내용======= \n", content.text.strip() if content else "내용을 찾을 수 없습니다") # 'else' 블록에서 'date' 변수 정의는 여기서 끝나도록 수정 ws['A1'] = '제목' ws['B1'] = '날짜' ws['C1'] = 'URL' ws['D1'] = '내용' ws[f'A{row}'] = title.text.strip() if title else "제목을 찾을 수 없습니다." ws[f'B{row}'] = date.text.strip() if date else "날짜를 찾을 수 없습니다." ws[f'C{row}'] = url ws[f'D{row}'] = content_text.strip() if content else "내용을 찾을 수 없습니다." row=row+1 #마지막 페이지 여부 확인하기 next_button = soup.select_one("a.btn_next") if next_button: isLastPage = next_button.attrs.get('aria-disabled', None) if isLastPage == 'true': print("마지막 페이지 입니다.") break pageNum = pageNum+1 wb.save(f"{keyword}_4월_뉴스기사_크롤링(4)_내용까지_0411~0415(3).xlsx")

  • python
  • 웹-크롤링
댓글 3 좋아요 0 조회수 442

PageResponseDTO 생성자의 매개변수 변수명에 관련된 질문

해결됨

코드로 배우는 React 19 with 스프링부트 API서버

안녕하세요. 현재 섹션 4 서비스계층 - 상품 목록 처리 강의 7분 44초 진행중 문제가 생겨 질문 드려요. 제 코드에서는 totalCount 를 사용하지 못하는데, 선생님 강의에서는 totalCount 로 사용 하셨더라구요. 기존의 섹션2 - 페이지처리를 위한 DTO설계 14분 56초 부분에서는 매개변수 명을 total 로 작성 해주셨는데 매개변수 명을 totalCount 로 작성하면 해결 되는건가요??

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
이승원 댓글 1 좋아요 0 조회수 242

인기 태그

인프런 TOP Writers

주간 인기글