29,700원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
"ssaple.com" 접속
ssaple.com 접속이 안 됩니다. 내 개인 pc 또는 지역이 문제인지, 아니면 다른 강사 분의 blog가 문제인지 어떻게 확인할 수 있을까요? 아니면 "CKEditor5 Plugins Install"을 업로드만 가능할까요?
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
질문이 묻혀서 다시 재질문입니다~
제질문에는 답변이 안달려서 다시 새게시글에 질문남깁니다 https://www.inflearn.com/questions/178770
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
"(정정) POST 하는 login, register ..."
강의 영상 밑에 "정정" 이라고 하셨는데.. 혹시 git에 update가 되어 있나요?
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
모듈 오류
Cannot find module '@ckeditor/ckeditor5-dev-utils' 라는 에러가 발생하네요.. npm i @ckeditor/ckeditor5-dev-utils 을 해봐도 마찬가지로 에러가 나구요..... 어디서 문제인 걸까요
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
"npx create-react-app ." Error 관련
안녕하세요~ 다름이 아니라, 강사님께서 말씀하신 대로 ""npx create-react-app ." 입력하였더니, 첨부사진과 같이 오류가 발생하여 global npm 과 yarn을 삭제 후 다시 실행하였더니 똑같은 오류가 발생하였습니다. 그래서 yarn을 이용하여 react를 설치하였더니 제가 생각하는 기준으로는 성공적으로 설치가 된 것 같습니다. 그래서 아래와 같이 두 가지 질문을 드립니다. 1. 첨부사진을 보시면 gitignore과 package.json 파일들이 중복하여 생성이 되었는데, 앞으로의 강의 과정에 상관 여부를 알고 싶습니다. 2. npx로는 react가 설치가 되지 않았는데, 왜 yarn으로는 설치가 되는 것인지 궁금합니다. 감사합니다~~
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
auth.js > Line 6 "x-auth-token" 관련 질문
auth.js >> Line 6 "x-auth-token" 이 의미하는 것이 무엇인가요? 구글을 검색하니깐 token header 관련되어 있다고 하는데... 도저히 감히 잡히지 않아서 질문 드립니다.
- 해결됨리액트로 나만의 블로그 만들기(MERN Stack)
문제좀해결해주세요 ㅠㅠ
처음부터 따라했는데 에러나서 질문게시판에있는거 복붙하고 npm i한후 계속해서 에러떠서 처음부터 npm 설치하는거 다설치한후에도 에러가뜹니다 npm run dev 하면 크러싱있다고뜨고 npm run dev-watch하면 아래같이 에러가뜹니다
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
ckeditor5 모바일에서 안되는데 설정을 따로해줘야되나여??
제목 그대로입니다 ㅠㅠ 지금 모바일에서 안되서 혹시 따로 추가적인 설정이 필요한지 궁금합니다.
- 리액트로 나만의 블로그 만들기(MERN Stack)
두 가지 질문이 있습니다!
삭제된 글입니다
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
connected-react-router의 push가 작동하지 않습니다.
흑흑 해결이 안되서 미치겠쑵니당 ㅠ.ㅠㅠ.ㅠ.ㅠ store.js App.js MyRouter.js Index.js redux State Connected-react-router version history version
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
post.js > date key value 관련.
안녕하세요~ 우선, 저는 왕초보라서 혹시나 엉뚱한 질문이더라도 이해 부탁드립니다. 위의 사진을 보시면 date type이 String 으로 되어도 상관이 없나요? user.js에서는 register_date에 "Date"라고 적혀 있어서요. 만약 상관이 없다면, post가 되는 날짜가 자동으로 기재가 가능한가요? 아니면, 매뉴얼로 날짜를 기입을 해야 하는가요?
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
서버 관련:
서버 관련해서 궁금한 사항이 있어서 질문 드립니다. 다름이 아니라, 지금 강의하고 계신 blog project에 nginx나 apache 서버 또는 이 둘과 왜 혼합해서 사용 안하는지 궁금합니다. 선생님의 강의를 듣고 저도 궁금해서 각 서버들의 특징들을 살펴 보았으나 아직 개념이 잡히지 않아서요. 예를 들면, 만약 내가 새로운 프로젝트를 개발을 한다면 어떠한 서버를 적용을 해야 하는지 등... 답변 주시면 매우 감사하겠습니다.
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
if(!user) 문의드립니다
const users = await User.find(); if(!users) throw Error("no user"); User가 없을 경우, throw 된다고 설명주셨는데 users값은 []로 나오고 !users값은 false가 나와 res.status(200)으로 넘어가고있습니다. 혹시 제가 잘못한것이 있을까요
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
포스트가 세로로 정렬되네요
포스트가 가로로 정렬되지 않고 세로로 정렬되는 데 어떤이유일까요?
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
포트 연결, DB 연결 후에도 연결을 거부했다고 뜨네요..
빌드도 다시 해도 연결이 되질 않네요.. 분명 DB와 서버 포트도 연결되었다고 나오는데 IP을 주소에 처도 안나오네요 혹시 몰라서 터미널로 포트를 조회해보았더니 80 연결되어있고요. 시간이 걸리는 건가요? 아니면 무슨 문제인지 잘 모르겠네요. 혹시 제 코드가 문제가 없는지 확인해주실 수 있으신가요..? https://github.com/k0502s/BLOG_MERN.git ///////////////////////////////////////////////////////////// 일단 헤로쿠에서 배포해서 드디어 배포에 완료하였습니다. 아직 AWS는 안되는 거 같네요. 근데 배포 과정에서 오류들을 몇 개 발견하였습니다. AWS서는 잘 모르겠는데 헤로쿠에서 배포하면 문제가 생기는 것들 입니다. 1. USER_LOADING_REQUEST의 중복으로 인한 URL 404 오류가 등장하여 포스트 디테일이나 카테고리 기능을 클릭하면 AUTH 오류가 나서 로그인 유지가 풀려버립니다. 이미 loadUser로 전역에 뿌려주었기 때문에 다른 컴포넌트에 USER_LOADING_REQUEST을 빼줘야 오류가 안납니다. (AWS에서는 잘모르겠습니다. 헤로쿠에서는 이러한 오류가 나타납니다.) 2. CKEditor onBlur 대신 onChange로 바꾸는 것이 좋을 듯 합니다. onBlur로 하면 CKEidtor에서 이미지나 글을 쓴 이후 포커스를 풀지 않고 바로 전송 버튼을 누르면 게시판 글이 작성되지 않는 오류가 발생합니다. onChange는 글을 쓰거나 이미지를 올리면 바로바로 반응하여서 바로 전송버튼을 눌러도 제대로 게시판 글이 올라갑니다. 다른 분들 오류가 나면 참고하시길 바랍니다... 그리고 아직 해결 못한 것이 있는데... Appnavbar의 프로파일을 새로고침 이후에 들어갈 수 있는 문제의 답이 뭔가요? 여러가지 해보고 기능을 고쳐보았느데 위의 USER_LOADING_REQUEST의 중복 문제로 배포 이후에 오류가 나서 문제 해결 보류 중입니다...
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
User Schema보단 table이 더 맞지 않나요?
Schema라는 큰 범주 안에 user라는 테이블이 있고, post라는 테이블이 있고.. comment라는 테이블이 있는게 아닌가요? 제 생각에는 user,comment,post,category를 다 포함한 model이 스키마라고 생각이 됩니다..
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
에러 메세지가 사라지지 않습니다.
패스워드가 맞지 않는 경우나 유저가 없는 경우에 대한 메세지가 사라지지 않습니다. 어떤 이유일까요? 제 깃 주소입니다. 확인좀 부탁드려요 https://github.com/yjoung-7874/mern_stack
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
MainJuin 으로 로그인 하는법
안녕하세요. 강의 잘 보고 있습니다. 로컬에 MongoDB 세팅하고 작업중입니다. mongoose schema 설정(models/user.js) 에서 role 을 ... role: { type : String, enum: ["MainOwner", "SubOwner", User], default: "User" }... 이렇게 설정하였습니다. MainOwner로 로그인 해야 AddPost 버튼을 볼 수 있을 거 같은데.. PostMan 으로 role MainOwner 로 하여 등록 후 로그인하여 console.log 확인해보니 User 로 등록 되어있더라구요.. MainOwner 으로 등록하려면 어떻게 해야할지 도움 주시면 감사하겠습니다.
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
새로고침 시 로그아웃되는 문제에 대한 질문입니다.
바쁘실텐데 읽어주셔서 감사합니다.. 기존의 강의에 다른 분이 새로고침시 로그인 유지가 안된다는 질문을 보며 싸플님 깃허브에 들어가서 코드를 그대로 따라했음에도 불구하고 문제를 고치지 못해서 질문드립니다. POST /api/auth 200 161.558 ms - 285 --> 첫번째 로그인시 정상적으로 작동 후 TypeError: Cannot read property 'id' of undefined --> 새로고침을 누르면 에러발생후 GET /api/auth/user 400 23.641 ms - 48 --> 400에러가 발생하네요.. 에러 화면 첨부하고, https://github.com/hcs4125/Blog 깃허브 주소도 첨부해 드립니다
- 미해결리액트로 나만의 블로그 만들기(MERN Stack)
findByIdAndUpdate에 대해 궁금합니다!
router.post("/:id/comments", async(req, res, next) => { const newComment = await Comment.create({ contents: req.body.contents, creator: req.body.userId, creatorName: req.body.userName, post: req.body.id, date: moment().format("YYYY-MM-DD hh:mm:ss") }) console.log(newComment, "newComment") try { await Post.findByIdAndUpdate(req.body.id, { $push: { comments: newComment._id } }) await User.findByIdAndUpdate(req.body.userId, { $push: { comments: { post_id: req.body._id, comment_id: newComment._id } } }) res.json(newComment) } catch (e) { console.log(e) next(e) } }) 좋은 강의 감사합니다 ㅎㅎㅎㅎ 항상 관계형DB, 시퀄라이즈만 사용하다가 처음으로 몽고DB를 사용하고있는데요, 위의 코드에서 await User.findByIdAndUpdate(req.body.userId, { $push: { comments: { post_id: req.body._id, comment_id: newComment._id } } }) 이 부분이 User 테이블에서 req.body.userId에 해당하는 user를 찾은 다음에 User 테이블의 comments컬럼의 post_id, comment_id를 수정한다고 이해하면 되는건가요? 조금 햇갈리네요 ㅠㅠ 그리고 지금 (47) Comment Saga 까지 들었는데 normalRoute/PostWrite.js에서 submit하는 기능이 아직 안되어있는데 이건 다음 강의에서 다루는건가요? import React, { useState } from "react"; import { useSelector, useDispatch } from "react-redux"; import { Form, FormGroup, Label, Input, Button, Col, Progress, } from "reactstrap"; import { CKEditor } from "@ckeditor/ckeditor5-react"; import ClassicEditor from "@ckeditor/ckeditor5-editor-classic/src/classiceditor"; import { editorConfiguration } from "../../components/editor/EditorConfig"; import Myinit from "../../components/editor/UploadAdapter"; import dotenv from 'dotenv' dotenv.config() const PostWrite = () => { const {isAuthenticated} = useSelector( (state) => state.auth ) const [form, setValues] = useState({ title: "", contents: "", fileUrl: "" }); const dispatch = useDispatch() const onChange = (e) => { setValues({ ...form, [e.target.name]: e.target.value, }); }; const getDataFromCKEditor = (event, editor) => { const data = editor.getData() console.log(data) if(data && data.match("<img src=")) { const whereImg_start = data.indexOf("<img src=") console.log(whereImg_start) let whereImg_end = "" let ext_name_find = "" let result_Img_Url = "" const ext_name = ["jpeg", "png", "jpg", "gif"] for(let i=0; i<ext_name.length; i++) { if(data.match(ext_name[i])) { console.log(data.indexOf(`${ext_name[i]}`)) ext_name_find = ext_name[i] whereImg_end = data.indexOf(`${ext_name[i]}`) } } console.log(ext_name_find) console.log(whereImg_end) if (ext_name_find === "jpeg") { result_Img_Url = data.substring(whereImg_start+10, whereImg_end+4) } else { result_Img_Url = data.substring(whereImg_start+10, whereImg_end+3) } console.log(result_Img_Url, "result_Img_Url") setValues({ ...form, fileUrl: result_Img_Url, contents: data }) } else { setValues({ ...form, fileUrl: "https://source.unsplash.com/random/301x201", // fileUrl: process.env.REACT_APP_BASIC_IMAGE_URL contents: data }) } } const onSubmit = async(e) => { await e.preventDefault() const { title, contents, fileUrl, category } = form } return ( <> {isAuthenticated ? ( <Form onSubmit={onSubmit}> <FormGroup className="mb-3"> <Label for="title">Title</Label> <Input type="text" name="title" id="title" className="form-control" onChange={onChange} /> </FormGroup> <FormGroup className="mb-3"> <Label for="category">Category</Label> <Input type="text" name="category" id="category" className="form-control" onChange={onChange} /> </FormGroup> <FormGroup className="mb-3"> <Label for="content">Content</Label> <CKEditor editor={ClassicEditor} config={editorConfiguration} onInit={Myinit} onBlur={getDataFromCKEditor} /> <Button color="success" block className="mt-3 col-md-2 offset-md-10 mb-3" > 제출하기 </Button> </FormGroup> </Form> ) : ( <Col width={50} className="p-5 m-5"> <Progress animated color="info" value={100} /> </Col> )} </> ); } export default PostWrite 47강까지 들은 현재 PostWrite.js인데 게시글을 submit하는 액션이 디스패치 안되어있어서요 ㅎㅎㅎ 등록된 게시글이 없다보니 (42) ~ (45)강의 PostDetail.js의 내용을 확인할 수가 없네요..