묻고 답해요
143만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
10.6 사용량 제한 질문
nodebird-api 미들웨어 index.js 타입이 any로 떠서 프리미엄이 체크가 안되고 계속 제가 작성한 게시글정보만 뜹니다 사용량제한 어떻게 하나요? ㅠㅠ const jwt = require("jsonwebtoken"); const rateLimit = require("express-rate-limit"); const User = require("../models/user"); exports.isLoggedIn = (req, res, next) => { if (req.isAuthenticated()) { next(); } else { res.status(403).send("로그인 필요"); } }; exports.isNotLoggedIn = (req, res, next) => { if (!req.isAuthenticated()) { next(); } else { const message = encodeURIComponent("로그인한 상태입니다."); res.redirect(`/?error=${message}`); } }; exports.verifyToken = (req, res, next) => { try { res.locals.decoded = jwt.verify( req.headers.authorization, process.env.JWT_SECRET ); return next(); } catch (error) { if (error.name === "TokenExpiredError") { return res.status(419).json({ code: 419, message: "토큰이 만료되었습니다.", }); } return res.status(401).json({ code: 401, message: "유효하지 않은 토큰입니다.", }); } }; exports.apiLimiter = rateLimit({ windowMs: 60 * 1000, // 1분 max: 1, handler(req, res) { res.status(this.statusCode).json({ code: this.statusCode, // 기본값 429 message: "1분에 한 번만 요청할 수 있습니다.", }); }, }); exports.apiLimiter = async (req, res, next) => { let user; if (res.locals.decoded) { user = await User.findOne({ where: { id: res.locals.decoded.id } }); } rateLimit({ widowMs: 60 * 1000, max: user?.type === "premium" ? 10 : 1, handler(req, res) { res.status(this.statusCode).json({ code: this.statusCode, message: "1분에 열 번만 요청 할 수 있습니다...", }); }, })(req, res, next); }; exports.deprecated = (req, res) => { res.status(410).json({ code: 410, message: "새로운 버전이 나왔습니다. 새로운 버전을 사용하세요", }); };
-
미해결[웹 개발 풀스택 코스] Node.js 프로젝트 투입 일주일 전 - 기초에서 실무까지
현재 mysql 연동하기 강의를 듣고 있는데, ..
안녕하세요.현재 mysql 연동하기 강의를 듣고 있는데, sql 워크벤치에서 어떻게 칼럼을 넣어야 하는지 알수있을까요?
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
10.6 사용량 제한 구현하기파트 질문
nodebird-api 미들웨어 index.js코드 const jwt = require("jsonwebtoken"); const rateLimit = require("express-rate-limit"); const User = require("../models/user"); exports.isLoggedIn = (req, res, next) => { if (req.isAuthenticated()) { next(); } else { res.status(403).send("로그인 필요"); } }; exports.isNotLoggedIn = (req, res, next) => { if (!req.isAuthenticated()) { next(); } else { const message = encodeURIComponent("로그인한 상태입니다."); res.redirect(`/?error=${message}`); } }; exports.verifyToken = (req, res, next) => { try { res.locals.decoded = jwt.verify( req.headers.authorization, process.env.JWT_SECRET ); return next(); } catch (error) { if (error.name === "TokenExpiredError") { return res.status(419).json({ code: 419, message: "토큰이 만료되었습니다.", }); } return res.status(401).json({ code: 401, message: "유효하지 않은 토큰입니다.", }); } }; exports.apiLimiter = async (req, res, next) => { let user; if (res.locals.decoded) { user = await User.findOne({ where: { id: res.locals.decoded.id } }); } rateLimit({ windowMs: 60 * 1000, max: user?.type === "premium" ? 1000 : 10, handler(req, res) { res.status(this.statusCode).json({ code: this.statusCode, message: "1분에 열 번만 요청할 수 있습니다.", }); }, }); }; exports.deprecated = (req, res) => { res.status(410).json({ code: 410, message: "새로운 버전이 나왔습니다. 새로운 버전을 사용하세요", }); }; nodebird-api routes v2.js 코드 const express = require("express"); const { verifyToken, apiLimiter } = require("../middlewares"); const { createToken, tokenTest, getMyPosts, getPostsByHashtag, } = require("../controllers/v2"); const router = express.Router(); router.post("/token", apiLimiter, createToken); router.get("/test", verifyToken, apiLimiter, tokenTest); router.get("/posts/my", verifyToken, apiLimiter, getMyPosts); router.get("/posts/hashtag/:title", verifyToken, apiLimiter, getPostsByHashtag); module.exports = router; 프리미엄으로 클라이언트 비밀키 발급하고 프리미엄만 사용량제한 구현했는데 터미널에 GET/search/%EA%B3%A0%EC%96%91%EC%9D%B4 - - ms - - 이렇게 나오고 사이트로딩만 뜹니다 ㅜㅜ
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
31강 따라하는데 계속 오류가 납니다
BookService 51번째줄 오류 41번째줄 정상, 51번째줄 오류51번째줄 오류, 62번째줄 오류, 65번째줄 정상UserRepository.오류코드 강사님 안녕하세요!좋은 강의 잘 듣고 있습니다.강의를 따라하고 있는데 오류가 나서 더 이상 진행이 안돼서요 ㅠㅠBookService에서 41번째 줄의 orElseThrow 과 65번째줄 orElseThrow는 오류가 안 나는데51번째의 orElseThrow , 책 반납하는 62번째의 orElseThrow 는 빨간줄이 뜹니다.그대로 따라한 것 같은데 BookService orElseThrow이 부분에서 왜 계속 오류가 나는지 모르겠습니다...뭐 때문일까요??
-
해결됨[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
화살표 함수 자동완성이 궁금합니다
안녕하세요 선생님강의를 보다보니 그림판에서 텍스트로 코딩을 하시는데 화살표함수 작성시 뒤에 구문이 자동으로 입력이 되던데 그림판에 어떤 플러그인을 설치하셨길래 이런 기능이 되는건지 궁금합니다.
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
강의가 사라졌네요ㅠㅠ잘 듣고 있었는데..;;
크롤링과 데이터베이스 - 크롤링 코드 작성 시작 (업데이트)맨 마짐가 부분 참고용으로 있던강의들이 사라졌는데, 복구가 안될까요? 부탁드릴게요ㅠ
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
실행시 'hibernate.dialect' not set 오류코드가 나옵니다.
코드를 아래 첨부파일과 같이 작성하고 실행을 시켜보니 위 처럼 DB 연동과정에서Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set오류가 뜹니다. 구글링을 통해 yml 코드를 아래와 같이 jpa값을 넣어서 수정하고 실행하면 spring:datasource:url: "jdbc:mysql://localhost/library" username: "root"password: ""driver-class-name: com.mysql.cj.jdbc.Driverjpa:database-platform: org.hibernate.dialect.MySQL5InnoDBDialectopen-in-view: falseshow-sql: truehibernate:format_sql: trueddl-auto: create서버의 실행은 되지만와 같이 DB가 비정상적으로 작동합니다. 어느부분이 문제일까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
강사님 6강 복습중에 질문이있습니다.
multiply하고나서 post man으로 구동해봤는데 200ok는 뜨지만 값이 0으로 계속뜨네요 ㅠㅠ
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
강의자료 ppt는 어디서 받을 수 있나요?
안녕하세요 11강에서 강의자료 ppt 파일을 올려주신다고 했는데 어디서 다운로드 받을수 있나요?
-
미해결갖고노는 MySQL 데이터베이스 by 얄코
강의내용
강의에서 나온 내용들 혹시 수시로 참고하기 위해 개인 블로그에 따로 작성해도 괜찮을까요 ?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
9장 추가 과제 관련 질문
안녕하세요. 9장강의를 듣고 추가 과제를 시도해보던 중 궁금증이 생겨 질문드립니다.스스로 해보기 -> 팔로잉 끊기에서 destory와 라우터를 사용하라고 안내해주셨는데 user자체를 삭제하는 것이 아닌 중간테이블(follow)에서 해당 로우만 삭제하는 방법이 따로 있나요? if (user) { const a = await user.destroy({ where: { Followings: { followerId: req.params.id } }, });위와 같이 방법을 여러가지로 시도해보았지만 계속해서 유저 삭제(탈퇴)가 되는 상황이라 도움주시면 감사하겠습니다..!
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
긴급!!)3강 root 비밀번호 이미 설정됨(?)
https://www.inflearn.com/questions/328457/mysql-root-%EB%B9%84%EB%B2%88 위 학생과 정확히 같은 문제를 겪고 있습니다.기존에 mysql 이나 oracle 도 깔려있지 않은 상태에서 전자 정부 프레임워크를 새로 깔았습니다.(다만, 수업과 같은 버전이 서비스 종료되어 eGovFrame-4.0.0 로 깔았음)위처럼 Enter password: 까지 잘 접근 했는데 엔터를 누르니 1045 에러가 뜹니다.오타 문제는 아닙니다ㅜㅜMySQL 5.7 버전부터 임의의 문자열로 초기 비밀번호가 설정돼 있다는 이야기도 있더라고요..여하튼..빨리 진도 나가고 싶습니다! 빠른 해결 부탁드립니다..ㅜㅜ
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요 강사님 인텔리제이 run을 하면 뜨는 오류때문에 문의드립니다.
이렇게 경고창이 뜨는데요 제가 며칠 쉬다가 강의를 들어서 어디 부분에서 오류가 잡히는지 전혀 감이안와서요 ㅠㅠ딱히 경고창 뜨는 부분도 없고.. 부탁드리겠습니다!
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
category=soup.select()
[참고] 크롤링과 데이터베이스 - 스키마 구현/크롤링 시작 (업데이트) 11:52category=soup.select()에서 category가 원래는 리스트로 나오는 것으로 이해하고 있었는데 리스트가 아니라 딕셔너리형태로 나오는 이유가 궁금합니다
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
data import 덤프 기능
데이터 분석을 위한 환경 구축 (업데이트)4:27data import 덤프기능을 사용하는 이유가 궁금합니다 이전에 배웠던대로 student.sql파일로 실행할때처럼 file->open sql.script->student.sql 이런 방식과 차이점이 어떤것인가요?그리고 create database bestproducts; 를 하기 전 오류가 뜨는 이유와 치면 오류가 왜 사라지는지 궁금합니다
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
MYSQL 수강하고 Pandas 강의로 넘어가도 될까요? (몽고DB수강 X)
안녕하세요. 전 열심히 잔재미코딩 선생님 강의 수강하고 있는 수강생입니다. 크롤링 기본,고급 강의 수료했고지금 열심히 SQL 듣고 있는 중입니다. 이 다음 단계로 MongoDB 건너띄고 판다스 강의로 넘어가도 강의 듣는데 문제없을까요? 조언 부탁드립니다. 감사합니다.
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
fetch함수
패턴으로 익히는 파이썬과 MySQL - 데이터 입력과 검색9:09fetch함수는 별도로 테이블을 지정하지않고 데이터베이스만 지정하는 것(fetch앞에있는 cursor로부터) 같은데 그러면 한 데이터베이스에 있는 모든 레코드를 출력해주는 것인가요?
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
db.cursor()에서 질문
pymysql 소개 및 설치14:30cursor=db.cursor()에서 pymysql을 db앞에 안붙이는 이유는 db안에 pymysql.이 포함되어있기 때문이라고 이해하는 것이 맞나요?
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
varchar text 차이
[연습] 실제 데이터 기반, 데이터베이스 직접 만들어보기111:55데이터타입 varchar text 차이가 궁금합니다 '그리고 강의내에서 varchar의 경우 int와 달라서 auto_increment를 사용할수없다고 하셨는데 auto_increment는 숫자에만 가능해서 그런건가요?
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
alter table 명령에서
SQL로 테이블 변경하기11:34alter table에서 변경할 컬럼 타입을 넣을때 not null을 안써주면 원래 not null이었으면 null이어도 되는걸로 바뀌는 건가요? 이처럼 변경할 컬럼 타입에 원래 컬럼에 있던 타입에 관련된 것을 안써주면 리셋되는 건가요?