inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

CRUD에서 CR만 배우는건가요

해결됨

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

수정 삭제는 sqlite로 직접 만져야되나요

  • HTML/CSS
  • javascript
  • react
  • node.js
  • react-native
  • 머신러닝
  • express
  • tensorflow
조현성 댓글 2 좋아요 1 조회수 297

express vercel 배포 500: INTERNAL_SERVER_ERROR

미해결

express 서버를 vercel로 배포 하는데 500에러가 뜨는데 왜 뜨는지 어디가 문제인지 모르겠어요... 도움주실수 있으실까요 ㅠㅠ

  • express
  • vercel
  • 배포
배성완 댓글 1 좋아요 0 조회수 826

jwt를 따로 연습하고 있는데 env를 못읽는 것 같습니다.

미해결

탄탄한 백엔드 NestJS, 기초부터 심화까지

import { Module } from '@nestjs/common'; import { AuthController } from './auth.controller'; import { AuthService } from './auth.service'; import { ConfigModule } from '@nestjs/config'; import { PassportModule } from '@nestjs/passport'; import { JwtModule } from '@nestjs/jwt'; import { JwtStrategy } from 'src/auth/jwt/jwt.strategy'; @Module({ imports: [ ConfigModule.forRoot({ isGlobal: true, envFilePath: `.env.${process.env.NODE_ENV}`, }), PassportModule.register({ defaultStrategy: 'jwt', session: false }), JwtModule.register({ secret: process.env.JWT_SECRET, signOptions: { expiresIn: '1y' }, }), ], controllers: [AuthController], providers: [AuthService, JwtStrategy], }) export class AuthModule {} 이게 auth.module.ts 파일입니다 import { Injectable } from '@nestjs/common'; import { PassportStrategy } from '@nestjs/passport'; import { ExtractJwt, Strategy } from 'passport-jwt'; @Injectable() export class JwtStrategy extends PassportStrategy(Strategy) { constructor() { super({ jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(), ignoreExpiration: false, secretOrKey: process.env.JWT_SECRET, }); } async validate() {} } 여기서 문제가 일어났습니다. process.env.JWT_SECRET 이 것을 읽지 못합니다. NODE_ENV="development" JWT_SECRET="secret" PORT=8000 .env.development 파일도 root폴더에 잘 있습니다. 무엇이 문제인지 잘 모르겠습니다

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
댓글 2 좋아요 0 조회수 347

express, MySQL 백엔드 배포를 도와주실 분을 찾습니다

미해결

[express, MySQL 백엔드 배포를 도와주실 분을 찾습니다] 안녕하세요! 현재 취업 준비 중인 프론트엔드 예비 개발자입니다. 현재 배포에 난항을 겪고 있어 배포를 도와주실 백엔드 개발자분을 찾습니다. express로 서버 코드는 부족하지만 제가 할 수 있는 한 코드를 작성하였고 로컬에서는 문제가 없었습니다. 프론트단은 깃헙 페이지나 vercel로 배포 예정이고 express, MySQL 어떤식으로 배포를 진행할지 모르겠습니다. 많이 부족한 취준생이지만 프로젝트에 조금이나마 도움을 주실 수 있는 분이라면 좋겠습니다! 제 코드를 보시고 많은 조언과 충고도 해주시면 감사하겠습니다:) ⭐ 오픈채팅방 https://open.kakao.com/o/g0Tqohbg 해당 링크로 도와주세요!

  • express
  • mysql
박진양 댓글 1 좋아요 0 조회수 248

TypeError: user_model_1.default.create is not a function

미해결

따라하며 배우는 TDD 개발 [2023.11 업데이트]

학습중 repository pattern을 적용하여 테스트를 적용해 보던 중 TypeError: user_model_1.default.create is not a function 라는 에러와 마주하게 되었습니다. user.repository.ts import User from "../model/user.model"; export class UserRepository { createUser = async(user) => { const newUser = await User.create({ ...user }) return newUser } findUserById = async(id:string) => { const user = await User.findById('65cba34813b2fbec74a558a8') if(!user) throw new Error('존재하지 않는 유저정보 입니다.') return user } } user.repository.test.ts import { UserRepository } from "../../app/repository/user.repository" const createMock = jest.fn() const findByIdMock = jest.fn() jest.mock("../../app/model/user.model", () => { return { User: jest.fn(() => { return { create:createMock, findById:findByIdMock } }) } }) describe('user repository Create', () => { let sut:UserRepository; const newUser = { id:"abcdefrwgsf123123", name:"test name", email:"test@nanana.com" } beforeEach(() => { sut = new UserRepository() }) afterEach(() => { jest.clearAllMocks() }) it('create api', async () => { createMock.mockReturnValueOnce(newUser) const actual = await sut.createUser({name:newUser.name, email:newUser.email}) expect(createMock).toHaveBeenCalledTimes(1) expect(actual).toStrictEqual(newUser) expect(createMock).toHaveBeenCalledWith({name:newUser.name, email:newUser.email}) }) }) jest실행시 create api의 createMock.mockReturnValue() 까지는 실행이되지만 await sut.createUser() 부분에서 에러가 나는것으로 확인되었습니다.

  • node.js
  • mongodb
  • express
  • supertest
  • tdd
  • jest
  • mongoose
  • 소프트웨어-테스트
양진영 댓글 1 좋아요 0 조회수 281

오류 발생 도움 필요

미해결

Node.js 노드 빠르게 훑어보기: 서버부터 DB까지

강의제목: Node.js 노드 빠르게 훑어보기: 서버부터 DB까지 따라 하다 문제가 발생한 회차: 13강 화면 구성 - Template Engine 확장 npm install nunjucks를 하고.. 강의에서 하라는 대로 하면서 views 폴더에서 base.html을 수정하고, write.html을 작성하고 base.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <!-- 공통된 요소 --> <nav> <a href="">Logo</a> <a href="">글 작성</a> </nav> <!-- 바뀌는 요소 --> {% block content %} {% endblock %} <footer> <p>Footer</p> </footer> </body> </html> write.html {% extends 'base.html' %} {% block content %} <h1>글 작성 페이지입니다.</h1> {% endblock %} index.js도 수정하고 npm run dev 를 해보면.. index.js import express from 'express'; import path from 'path'; import nunjucks from 'nunjucks'; const __dirname = path.resolve(); const app = express(); //view engine set app.set('view engine', 'html');//main.html->main(.html) //nunjucks nunjucks.configure('views', { watch: true, //html파일이 수정될 경우, 다시 반영 후 렌더링 express: app }) //middleware //main page GET app.get('/', (req, res)=>{ res.sendFile(__dirname + '/public/main.html'); }); app.get('/write', (req, res) => { res.render('write.html'); }) app.listen(3000, ()=> { console.log('Server is running'); }); 127.0.0.1:3000에서는 main page라고 그냥 나오지만 127.0.0.1:3000/write를 실행해보면 아래와 같은 에러메시지가 나옵니다. 혹시 해결책을 아시는 분은 답변 부탁드립니다. 사실 첨부파일 zip으로 올릴 수 있으면 한꺼번에 올리고 싶은데 링크 첨부밖에 없어서 일단 이렇게 올립니다. 이거 질문란을 못 찾아서 일반 커뮤니티에 올렸다가 강의 페이지 들어오니 질문란이 있는 거 같아서 백업하여 여기다 다시 올립니다. Error: template not found: write.html at createTemplate (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\environment.js:234:15) at next (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\lib.js:260:7) at handle (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\environment.js:267:11) at C:\Users\SBA\user\node_study\my_app\node_modules\nunjucks\src\environment.js:276:9 at next (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\lib.js:258:7) at Object.asyncIter (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\lib.js:263:3) at Environment.getTemplate (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\environment.js:259:9) at Environment.render (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\environment.js:295:10) at NunjucksView.render (C:\Users\user\node\node_study\my_app\node_modules\nunjucks\src\express-app.js:18:9) at tryRender (C:\Users\user\node\node_study\my_app\node_modules\express\lib\application.js:657:10)

  • node.js
  • mongodb
  • express
닉닉 댓글 2 좋아요 0 조회수 304

nginx 후 Front(502 Bad Gateway), back(welcome to nginx) 라고만 나오는 문제

미해결

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

안녕하세요 선생님 front, back nginx 한 뒤로 둘다 https라고 바뀌고 인증서도 있긴한데, Front(502 Bad Gateway)라고 나오고 back(welcome to nginx) 라고만 나오는 상태입니다. (설치는 Nginx Ubuntu20보고 했습니다 https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal&tab=standard ) 문제1)그래서 첫번째 문제로 back에서 sudo npx pm2 logs --err --lines 200를 해보았을 땐 아래와 같은 경고가 나왔습니다. 0|app | Warning: connect.session() MemoryStore is not 0|app | designed for a production environment, as it will leak 0|app | memory, and will not scale past a single process. 질문1)찾아보니까 express-session 미들웨어의 기본 메모리 저장소( MemoryStore )를 사용할 때 MemoryStore 가 개발 환경에서는 적합하지만, 실제 프로덕션 환경에서는 메모리 누수 문제와 단일 프로세스 제한으로 인해 적합하지 않아 프로덕션 환경에서는 Redis, MongoDB 등의 세션 저장소를 사용하라는데, 그럼 front 화면이 나오는건지 궁금합니다,, 문제2)그리고 두번째 문제로 back에서 tail /var/log/nginx/error.log를 했을 땐 아래와 같은 에러가 나왔습니다. ubuntu@ip-172-31-12-59:~/react_nodebird/back$ tail /var/log/nginx/error.log 2024/01/24 12:19:54 [warn] 420260#420260: conflicting server name "api.luckyhaejin.com" on 0.0.0.0:80, ignored 2024/01/24 12:19:54 [notice] 420260#420260: signal process started 질문2)찾아보니 Nginx 설정 파일 내에 서 api.luckyhaejin.com 이라는 서버 이름(server name)이 80 포트에서 두 번 이상 선언되었음을 나타내는 에러라는데 어떤 부분이 잘못되었는지 잘 모르겠어서 어딜 확인하면 좋을지 문의 드립니다. 질문3)강의에서 Ubuntu서버만 바꿔주고 로컬은 바뀌는 부분 이없는거같아서 Ubuntu서버에서만 바꿔줬는데, 그럼 로컬에도 Ubuntu에 설치한 것 다 포함해서 코드까지 다 바꿔준 뒤 Ubuntu에서 git pull 다시 해줘야할까요,,? 현재 설정된 내용) front=> /etc/nginx/nginx.conf => server관련 (글을 옮겨적으니까 들여쓰기 해서 정리 한게 코드가 전부 합쳐져서 사진으로 올립니닷,,) front/pacakage.json에서 start부분에 3060 잘 되어있음 front => /etc/nginx/nginx.conf front/config/config.js에서 backUrl설정 잘 되어있음 back => /etc/nginx/nginx.conf back => app.js(사진이 보기 편하실거같아서 코드랑 둘다올려욧) const express = require('express'); const cors = require('cors'); const session = require('express-session'); const cookieParser = require('cookie-parser'); const passport = require('passport'); const dotenv = require('dotenv'); const morgan = require('morgan'); const postRouter = require('./routes/post'); const postsRouter = require('./routes/posts'); const userRouter = require('./routes/user'); const hashtagRouter = require('./routes/hashtag'); const db = require('./models'); const passportConfig = require('./passport'); const path = require('path'); const hpp = require('hpp'); const helmet = require('helmet'); dotenv.config(); const app = express(); db.sequelize.sync() .then(() => { console.log('DB 연결 성공'); }).catch(console.error); passportConfig(); if(process.env.NODE_ENV === 'production'){ app.use(morgan('combined')); app.use(hpp()); app.use(helmet()); app.use(cors({ origin: 'https://luckyhaejin.com', credentials: true })); } else { app.use(morgan('dev')); } app.use('/', express.static(path.join(__dirname, 'uploads'))); app.use(express.json()); app.use(express.urlencoded({extended:true})); app.use(cookieParser(process.env.COOKIE_SECRET)); app.use(session({ saveUninitialized: false, resave: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, //자바스크립트로 접근하지못하게 secure: true, //일단 false로 하고 https적용할 땐 ture domain: process.env.NODE_ENV = 'production' && '.luckyhaejin.com' //도메인 사용할 경우 }, })); app.use(passport.initialize()); app.use(passport.session()); app.get('/', (req, res) =>{ res.send('hello express'); }); app.use('/posts', postsRouter); app.use('/post', postRouter); app.use('/user', userRouter); app.use('/hashtag', hashtagRouter); app.listen(3065, () => { console.log('서버 실행 중'); }); back => /etc/nginx/nginx.conf 사용중인 Os) macOS

  • react
  • redux
  • node.js
  • express
  • next.js
댓글 2 좋아요 0 조회수 1120

에뮬레이터에 화면 흰색만나오는 문제

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

import { API_URL } from "./config/constants.js"; import avatarImg from "./assets/icons/avatar.png"; import React from "react"; import { StyleSheet, Text, View, Image, ScrollView, Dimensions, TouchableOpacity, Alert, } from "react-native"; import { GestureHandlerRootView } from "react-native-gesture-handler"; import Carousel from "react-native-reanimated-carousel"; import axios from "axios"; import dayjs from "dayjs"; import relativeTime from "dayjs/plugin/relativeTime"; import "dayjs/locale/ko"; dayjs.extend(relativeTime); dayjs.locale("ko"); export default function App() { const [products, setProducts] = React.useState([]); const [banners, setBanners] = React.useState([]); React.useEffect(() => { axios .get(`${API_URL}/products`) .then((result) => { const products = result.data.products; setProducts(products); }) .catch((error) => { console.log("error :", error); }); axios .get(`${API_URL}/banners`) .then((result) => { const banners = result.data.banners; setBanners(banners); }) .catch((error) => { console.log("error :", error); }); }, []); return ( <GestureHandlerRootView> <View style={styles.container}> <ScrollView> <Carousel data={banners} width={Dimensions.get("window").width} height={200} autoPlay={true} sliderWidth={Dimensions.get("window").width} itemWidth={Dimensions.get("window").width} itemHeight={200} renderItem={(obj) => { return ( <TouchableOpacity onPress={() => { Alert.alert("배너 클릭"); }} > <Image style={styles.bannerImage} source={{ uri: `${API_URL}/${obj.item.imageUrl}` }} resizeMode="contain" /> </TouchableOpacity> ); }} /> <Text style={styles.headline}>판매되는 상품들!</Text> <View style={styles.productList}> {products.map((product, index) => { return ( <View key={index} style={styles.productCard}> {product.soldout === 1 && <View style={styles.productBlur} />} <View> <Image style={styles.productImg} source={{ uri: `${API_URL}/${product.img_url}`, }} resizeMode={"contain"} /> </View> <View style={styles.productContents}> <Text style={styles.productName}>{product.name}</Text> <Text style={styles.productPrice}>{product.price}원</Text> <View style={styles.productFooter}> <View style={styles.productSeller}> <Image style={styles.productAvatar} source={avatarImg} /> <Text style={styles.productSellerName}> {product.seller} </Text> </View> <Text style={styles.productDate}> {dayjs(product.created_at).fromNow()} </Text> </View> </View> </View> ); })} </View> </ScrollView> </View> </GestureHandlerRootView> ); } const styles = StyleSheet.create({ headline: { fontSize: 24, fontWeight: "800", marginTop: 10, marginBottom: 10, }, container: { flex: 1, backgroundColor: "#fff", paddingTop: 32, margin: 10, }, productCard: { width: "100%", borderColor: "rgb(230,230,230)", borderWidth: 1, borderRadius: 16, backgroundColor: "white", marginBottom: 10, }, productBlur: { position: "absolute", top: 0, bottom: 0, right: 0, left: 0, backgroundColor: "#ffffffaa", zIndex: 999, }, productImg: { width: "100%", height: 210, }, productContents: { padding: 8, }, productSeller: { flexDirection: "row", }, productAvatar: { width: 24, height: 24, }, productFooter: { flexDirection: "row", justifyContent: "space-between", alignItems: "center", marginTop: 12, }, productName: { fontSize: 14, }, productPrice: { fontSize: 16, fontWeight: "600", marginTop: 8, }, productSellerName: { fontSize: 14, }, productDate: { fontSize: 14, }, productList: { alignItems: "center", }, bannerImage: { width: "100%", height: 200, }, }); 어떤 오류메세지도 뜨지않고, 에뮬레이터에 화면이 출력되지않는 문제가 발생합니다. Carousel을 적용하기전에는 화면 잘 출력되었는데, Carousel을 적용하니 화면이 출력되지않네요.. Error: PanGestureHandler must be used as a descendant of GestureHandlerRootView. Otherwise the gestures will not be recognized. See https://docs.swmansion.com/react-native-gesture-handler/docs/installation for more details. 이러한 오류가 발생해서 GestureHandlerRootView 태그로 최상단에 묶어주니 저 오류는 사라졌는데, 애뮬레이터의 화면이 출력되지 않는 문제가 발생합니다. 서버는 잘 연결되어있는걸 확인햇습니다.. 뭐가문제일까요

  • HTML/CSS
  • javascript
  • react
  • node.js
  • react-native
  • 머신러닝
  • express
  • tensorflow
sehun910124 댓글 2 좋아요 1 조회수 344

인바운드 규칙 TPC HTTP Port 80을 iPV4와 iPV6에서도 제거해줘도 되나요?

미해결

AWS 배포 완벽가이드 (feat. Lightsail, Docker, ECS)

인바운드 규칙 TPC HTTP Port 80을 iPV4와 iPV6에서도 제거해줘도 되나요? 로드 밸런서 세팅 강의에서는 iPV4에서만 포트 80을 삭제해주시는데, iPV6도 동일하게 삭제해주면 되는지 궁금합니다!!

  • lightsail
  • express
  • tcp
프롬트 댓글 1 좋아요 0 조회수 387

포매팅

미해결

습관부터 바꿔주는 Node.js & Express 기초

강의하시면서 자동으로 띄어쓰기같은 포매팅이 되던데 단축키인지 아니면 익스텐션인지 알 수 있을까용?

  • node.js
  • express
댓글 1 좋아요 0 조회수 291

sequelize initiate() 쓰는 방식 최신인지, 공식문서 방법인지 궁금합니다

미해결

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

영상에서는 sequelize 공식문서에서 바뀌어서 따라갔다고 하는데 공식문서에서 initiate() 쓰는 것 검색하였을 때 안보이며 static이랑 같이 쓴 것도 아직은 못찾았습니다 공식문서 따라가보면 주로 define(), init()을 쓰는데 강의영상의 방식과는 차이점이 있습니다. define() const { Sequelize, DataTypes } = require('sequelize'); const sequelize = new Sequelize('sqlite::memory:'); const User = sequelize.define('User', { // Model attributes are defined here firstName: { type: DataTypes.STRING, allowNull: false }, lastName: { type: DataTypes.STRING // allowNull defaults to true } }, { // Other model options go here }); // `sequelize.define` also returns the model console.log(User === sequelize.models.User); // true init() // Invalid class User extends Model { id; // this field will shadow sequelize's getter & setter. It should be removed. otherPublicField; // this field does not shadow anything. It is fine. } User.init({ id: { type: DataTypes.INTEGER, autoIncrement: true, primaryKey: true } }, { sequelize }); const user = new User({ id: 1 }); user.id; // undefined 강의에서 알려주는 방식으로 DB연결도 되고 조작도 잘되지만 이렇게 질문을 남긴 이유는 강의에서는 공식문서를 따라갔다고 하는데 공식문서에서는 찾기 어렵다는 점과 강의에 나오는 방식이 시기가 지난 방법이 아닐까 하는 생각에 질문 남기게 되었습니다 제가 찾아본게 잘못된걸수도 있기에 그런점 있다면 알려주세요 글읽어주셔서 고맙습니다:)

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
진호 댓글 2 좋아요 0 조회수 500

채팅방을 만든 브라우저에서 모두 나갔을 경우 문의드립니다.

미해결

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

채팅방에 모두 나가기를 했는데요, 이상하게 채팅방을 만든 브라우저에서는 방이 바로 없어지지않고, 새로고침을 해야 제거가되는데 이러면 안되는건가요..?

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
Nuri Park 댓글 2 좋아요 0 조회수 406

몽구스 쿼리 remove 에러 문제

미해결

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

Room.remove 이 부분에서 계속해서 TypeError: Room.remove is not a function 발생하길래 docs를 살펴봤는데 deleteMany나 deleteOne만 있더라구요! 현재 코드를 deleteMany로 수정해서 잘 동작이 됩니다! 그런데 remove가 deleteOne이나 deleteMany로 분리된것은 꽤 오래전 일이라서 docs를 봐도 왜 나는 remove가 안되는데 불과 몇개월 전에 코드에서는 remove가 잘 돌아간건지 궁금해서 질문 남깁니다!! ㅜㅜ

  • node.js
  • mysql
  • mongodb
  • express
  • typescript
  • socket.io
  • jwt
재열 댓글 2 좋아요 0 조회수 415

인자에 객체 값을 넣는 이유

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

인자에 객체 값을 넣는 이유가 안전하기 때문이라고 하셨는데 정확히 어떤 부분이 안전한지 알려주실 수 있나요?

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
송원 댓글 2 좋아요 0 조회수 299

에러 발생 문의드립니다. - > 확인 공유

미해결

Node.js 노드 빠르게 훑어보기: 서버부터 DB까지

강의 감사드립니다~~~ main.html 에서 에러가 발생하는데요 에러메시지는 다음과 같습니다. Template render error: (C:\Users\Notebook\Desktop\Node_Study\my_app\views\main.html) [Line 15, Column 36] unexpected token: }} at Object._prettifyError (C:\Users\Notebook\Desktop\Node_Study\my_app\node_modules\nunjucks\src\lib.js:32:11) at Template.render (C:\Users\Notebook\Desktop\Node_Study\my_app\node_modules\nunjucks\src\environment.js:442:21) at C:\Users\Notebook\Desktop\Node_Study\my_app\node_modules\nunjucks\src\environment.js:301:27 at createTemplate (C:\Users\Notebook\Desktop\Node_Study\my_app\node_modules\nunjucks\src\environment.js:254:9) at handle (C:\Users\Notebook\Desktop\Node_Study\my_app\node_modules\nunjucks\src\environment.js:265:11) at C:\Users\Notebook\Desktop\Node_Study\my_app\node_modules\nunjucks\src\environment.js:276:9 at next (C:\Users\Notebook\Desktop\Node_Study\my_app\node_modules\nunjucks\src\lib.js:258:7) at Object.asyncIter (C:\Users\Notebook\Desktop\Node_Study\my_app\node_modules\nunjucks\src\lib.js:263:3) at Environment.getTemplate (C:\Users\Notebook\Desktop\Node_Study\my_app\node_modules\nunjucks\src\environment.js:259:9) at Environment.render (C:\Users\Notebook\Desktop\Node_Study\my_app\node_modules\nunjucks\src\environment.js:295:10) 수업중 제가 놓친 부분이 없다면 main.html에서 마지막 작성 부분은 다음과 같은데요, 이것이 맞는지요? 이후로 main.html이 언급되는 부분이 강의에 없어서요~ 확인요청드립니다~ 강의 감사드립니다~~~ ====================== 마지막 강의에서 main.html이 보이고 거기에서 수정가능합니다. {% for writing in list %} <tr> <td><a href="/ detail/{{writing.id} }" class="btn">{{writing.title}}</a></td>

  • node.js
  • mongodb
  • express
jm-jeong 댓글 1 좋아요 0 조회수 543

node server.js 실행 시 오류 발생

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

Express에서 데이터 처리하기 강의 수강 중에 생긴 오류 입니다. 이후에 포스트맨에서 body 수정 후 send 시에도 Error: connect ECONNREFUSED이 오류가 떳습니다. index.js를 실행 후에 웹 브라우저에 http://localhost:8080/products 입력하면 [{"name":"농구공","price":5000}] 이렇게 웹 화면에 뜨면서 node:events:492 thorw er;도 같이 뜨면서 서버 에러가 납니다 database.sqlite3을 vs코드 열었을 때는 위 사진처럼 뜨고 sqllite로 열었을 때는 읽을 수 없다고 뜹니다

  • HTML/CSS
  • javascript
  • react
  • node.js
  • react-native
  • 머신러닝
  • express
  • tensorflow
Wakgood 댓글 2 좋아요 1 조회수 2027

10.4 토큰테스트에는 표시되지만 api 서버에는 유효하지 않다고 나와요.

미해결

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

질문1) 4000/test에서는 토큰이 표시되지만, 8002/v1/test 에서는 유효하지 않은 토큰으로 뜨는 이유가 무엇일까요? 로그에서는 401코드가 뜨다가 4000/test 접속 후 새로고침을 하면 200 코드가 로그에 다시 뜹니다. api 코딩 내용 첨부합니다. app.js controllers/v1 middleware/v1 routes/v1

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

섹션3.http 모듈로 서버 만들기 관련 질문입니다.

해결됨

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

섹션3.http 모듈로 서버 만들기 관련 질문입니다. 코드를 보면, 클라이언트가 서버에 요청하는 get()함수를 사용할 때 get("/users"), 즉 users라는 url을 클라이언트 측에 전달하도록 설정했는데, 클라이언트가 서버에 데이터를 신규로 등록하거나, 수정, 삭제를 요청할 때에는 post("/user", {name})이렇게 작성하는 이유가 뭘까요? 그냥 생각하기에 클라이언트가 요청할 때, 서버측에서 전달할 페이지 url이 /users 이니까, 그냥 수정 및 삭제도 동일한 /users 주소에서 하면 안되는건지 궁금해서요. 그리고, 두 번째 질문입니다. 만약 위 질문이 애초에 불가능한 것이라고 한다면 서버에서는 /user에 수정. 삭제된 데이터 값을 어떻게 /users에 전달해서 새롭게 변경된 값으로 업데이트하는 것인지 궁금합니다. (*서버에 대한 개념부족으로 인해 문의드립니다.)

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

useState를 사용하는 이유가 무엇인가요?

해결됨

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

빈 배열을 선언해서 빈 배열에 (axios 통신을 통해 전달받은) result.data를 대입해서 사용하는 것이 아니라 useState를 사용하는 이유는 무엇인가요? 제가 이해한 것은 서버에 새로운 데이터가 업로드되면 그때마다 바로바로 업로드 된 데이터를 화면에 보여주기 위함인 것 같은데(예를 들어 상품이 3개로 보이다가 관리자가 상품을 한 개 추가하면 새로고침을 안해도 4개로 보임), 올바르게 이해한 것이 맞을까요?

  • HTML/CSS
  • javascript
  • react
  • node.js
  • react-native
  • 머신러닝
  • express
  • tensorflow
kms930322 댓글 2 좋아요 0 조회수 1228

인기 태그

인프런 TOP Writers

주간 인기글