묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
제로초님 질문드립니다ㅜㅜ
const express = require('express'); const bcrypt = require('bcrypt'); const { User } = require('../models') // 구조분해 할당 const router = express.Router(); router.post('/', async (req,res,next)=> { try { const exUser = await User.findOne({ where : { email: req.body.email, } }); // 비동기 fidOne 찾는 함수 if (exUser) { return res.status(403).send('이미 사용중인 아이디입니다.'); } const hashedPassword = await bcrypt.hash(req.body.password, 12) await User.create({ email: req.body.email, password: hashedPassword, nickname: req.body.nickname, }) res.status(200).send('success'); } catch (error) { console.error(error); next(error); } }) module.exports = router; 이미 있는 이메일로 가입 했을경우, status 403과 send로 에러 메세지를 보냈습니다. 이미 있는 이메일로 가입 했을 경우에 SIGN_UP_REQUEST 만 실행되고 SIGN_UP_FAILUTE 실행되지 않아 alert창이 뜨질 않습니다 ㅠㅠ 뭐가 문제 일까요..
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
AppLayout.js 에서
AppLayout.prototype = { children: Protypes.node.isRequired } 꼭 사용해야 next 에서 children 를 사용할수 있는건가요? react에서는 prototype을 사용하지 않고 children를 사용한것으로 기억해서요
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
redux-saga 의 흐름.
질문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 쪽을 실행되는부분이 이해가 잘 가지않습니다.! 영상 몇번 돌려보고 찾아도 봤는데 스스로 해결하지 못해 질문 드립니다 ㅜㅠ..
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
axios.defaults.baseURL 지정 후, 다른 서버에 요청을 보내려면?
/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 값도 각자 넣으려면 어떻게 해야하는지 궁금합니다!
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
models 최신 문법으로 변경 후
index 페이지에 /Posts 요청에서 sequelizeeagerloadingerror Image is not associated to Comment 에러가 나고 로그인도 안되요 models 폴더 말고 다른 파일도 수정해야하는 곳이 있나요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
Router 를 사용해 SSR 페이지 이동할 때 질문입니다!
/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으로 변경해서 실행해보니 저와 동일한 에러가 났었어요 혹시 확인 가능하실까요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기
질문있습니다!!!
안녕하세요 :) !!! 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
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
vscode 에서 vim 으로 .env 파일을 만드는데 안되요...
vscode에서 git bash 로 사용 했는데 다 작성하고 esc 누르고 wq 누르고 엔터 눌러도 반응이 없습니다..
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
이미지 업로드 -> 취소 -> 업로드 관련 질문
이미지 업로드와 관련해서 궁금한게 있습니다. 업로드 버튼을 눌러 이미지를 하나만 선택한 뒤 제거 버튼을 눌러 제거하면, 다시 같은 이미지를 선택했을 때 업로드가 안됩니다. 에러가 발생하는 게 아니라 아예 UPLOAD_IMAGES_REQUEST 액션이 디스패치되지 않아요. 제 나름대로 코드를 살펴봤지만 액션이 디스패치되지 않는 이유를 알 수가 없습니다. 원인이 뭔지 알려주시면 감사하겠습니다.
-
미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
1분20초 부분에서 submit을 눌러도 반응이 없는데 어떤문제일까요???
1분20초 부분에서 submit을 눌러도 반응이 없는데 어떤문제일까요???
-
미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
network status가 200이 아니라 304가 뜨는데 왜 그런걸까요?
network status가 200이 아니라 304가 뜨는데 왜 그런걸까요?
-
미해결테스트주도개발(TDD)로 만드는 NodeJS API 서버
Wrapping 의 뜻이 잘 이해가 안 갑니다.
app.get('/', function(req, res){ res.send('Hello World!'); }); 이 부분에서 http 의 req, res를 한번 wrapping 한 express의 객체라고 하셨는데 그 의미가 이해가지 않습니다 ㅜㅜ
-
미해결Node.js 웹개발로 알아보는 백엔드 자바스크립트의 이해
nodejs와 mysql 연동 에러
Connection.connect(); 를 추가한 후 저장하면 다음과 같은 에러가 뜹니다. Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client 해결책을 검색해 다음을 입력해보니, use mysql; update user set authentication_string=password(''), plugin='mysql_native_password' where user='root'; FLUSH PRIVILEGES; 다음과 같은 에러가 자꾸 나타나면서 해결을 못하고 있습니다.: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(''), plugin='mysql_native_password' where user='root'' at line 1 어떻게 하면 mysql 연동 에러를 해결할 수 있을까요? 도움주시면 정말 감사하겠습니다. ㅜㅜ