묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
강의 진행을 어떻게 하는게 좋을까요?
안녕하세요 노션에 퀴즈나 포트폴리오를 풀어오는걸 숙제로 내주셨는데 내용이 많더라고요 난이도는 못할 수준은 아니긴한데 시간이 많이 걸리더라고요 시간이 많으면 다 풀어보겠는데 퀴즈는 힘들것같더라고요 ㅠㅠ 수업에 포트폴리오 리뷰가 있어서 포트폴리오 제작은 무조건 해야할것같은데 퀴즈 같은 경우에는 못풀면 수업에 지장이 있을까요? 시간이 없는게 아쉽네요...
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
next 13버젼 관한 질문
제로초쌤 이제 백엔드 로직 끝내고 SSR 적용하기 위해서 next 진행하려하는데 next 13버젼이 기존 12버전 문법에서 새로운 문법이나 터보팩이 등장한걸로 알고 있는데 12버전과 배우면서 13버전의 문법도 같이 병행하면서 진행하는게 좋겠죠..!?
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
노션페이지
혹시 노션페이지는 강의에서 보여주시는것과 공유해주신게 다를까요??메뉴도 다르고 피그마는 어디서 들어갈수있는지 궁금합니다 ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
리엑트 구조 및 폴더구조와 emotion 강의
리엑트 구조 및 폴더구조와 emotion 강의를 듣고 있는데요.. 설명대로 똑같이 설치했는데 선생님 index.js에 보이는 내용과 내꺼랑 다른데 왜그럴까요...?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
PostCard import 오류
import 문제 없어 보이는데 댓글 확인을 누르면 오류 페이지가 뜹니다..PostCard.jsimport React, { useState, useCallback } from 'react'; import { Card, Button, Avatar, Popover, List, Comment } from 'antd'; import PropTypes from 'prop-types'; import { RetweetOutlined, HeartTwoTone, HeartOutlined, MessageOutlined, EllipsisOutlined } from '@ant-design/icons'; import styled from 'styled-components'; import Link from 'next/link'; import { useSelector } from 'react-redux'; import PostImages from './PostImages'; import CommentForm from './CommentForm'; const PostCard = ({post}) => { const [liked, setLiked] = useState(false); const [commentFormOpened, setCommentFormOpened] = useState(false); const id = useSelector((state) => state.user.me && state.user.me.id); const onToggleLike = useCallback(() => { setLiked((prev) => !prev); }, []); const onToggleComment = useCallback(() => { setCommentFormOpened((prev) => !prev); }, []); return ( <div style={{matginBotton: 20}}> <Card cover={post.Images[0] && <PostImages Images={post.Images}/>} actions={[ <RetweetOutlined key="retweet"/>, liked ? <HeartTwoTone twoToneColor="#eb2f96" key="heart" onClick={onToggleLike} /> : <HeartOutlined key="heart" onClick={onToggleLike} />, <MessageOutlined key="message" onClick={onToggleComment} />, <Popover key="more" content={( <Button.Group> {id && post.User.id === id ? ( <> <Button>수정</Button> <Button type="danger">삭제</Button> </> ) : <Button>신고</Button>} </Button.Group> )}> <EllipsisOutlined/> </Popover>, ]} > <Card.Meta avatar={<Avatar>{post.User.nickname[0]}</Avatar>} title={post.User.nickname} description={post.content} /> </Card> {commentFormOpened && ( <div> <CommentForm post={post}/> <List header={`${post.Comments.length}개의 댓글`} itemLayout="horizontal" dataSource={post.Comments} renderItem={(item) => ( <li> <Comment author={item.User.nickname} avatar={<Avatar>{item.User.nickname[0]}</Avatar>} content={item.content} /> </li> )} /> </div> )} </div> ); }; PostCard.propTypes = { post: PropTypes.shape({ id: PropTypes.number, User: PropTypes.object, content: PropTypes.string, createdAt: PropTypes.object, Comments: PropTypes.arrayOf(PropTypes.any), Images: PropTypes.arrayOf(PropTypes.any), }), }; export default PostCard
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
freeboard_frontend폴더는 어떻게 다운받나요? ㅠ
1. "codecamp-frontend-이름" 폴더에 "freeboard_frontend"이름의 Next.js 프로젝트 설치하기2. "freeboard_frontend" 폴더를 만들고 수업프로젝트(class 폴더)와 동일한 순서로 똑같이 설치하기어떻게 하나요? ㅠ
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
시퀄라이즈 관계메소드를 두번 사용하는 경우
const images = await Promise.all( req.body.image.map((image) => Image.create({ src: image })) ); await post.addImages(images); 이런식으로 Image.create() 를 적용한 다음다시 post.addImages() 하는 이유가 뭔가요? 중복된 실행이라고 생각했는데 실행해봤을때는 중복된 튜플이 생성되지는 않네요..
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
localhost 오류
첫번째 포트폴리오를 작성하던중, 경로를 boards/new로 이동하면 자꾸 저런 문구가 뜨며 오류가 발생합니다
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
aws 질문입니다.
안녕하세요!혹시 강의 대로 진행하면 요금은 따로 청구되지 않는걸까요? 예전에 요금 폭탄을 맞은적이 있어 혹시 몰라 질문드립니다!ㅜㅜ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
const{result} = useQuery(FETCH_BOARDS); result자리에 data가 아닌 다른 단어를 넣으면 실행이 안되는데 다른 이유가 있는건가요,,? ㅜㅜ
const{result} = useQuery(FETCH_BOARDS); 이 부분에서result자리에 data가 아닌 다른 단어를 넣으면 보드 목록이 불러와지지가 않는데 다른 이유가 혹시 있는건가요..? ㅜㅜ
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
백엔드 질문
1.사용자가 웹에 접속을 할 때, 브라우저 -> 프론트서버 로 요청을 보내게 되고프론트 -> 브라우저 로 html css js 파일을 보내서 뷰를 표시하게 되는데그러면 특정 기능을 사용할 때, 예를 들어 로그인 버튼을 누른다고 하면그 요청은 브라우저 -> 백엔드 인가요 프론트 -> 백엔드 인가요?만약 브라우저 -> 백엔드 이면백엔드 cors 설정에서는 프론트서버 도메인만 허용하도록 해놓는데 어떻게 브라우저에서백엔드로 접근이 가능한건가요? 2.강좌에서는 me값으로 로그인 유지를 위한 로직을 작성했고모든 페이지 접속 때마다 백엔드로 요청을 보내서 세션인증을 하는방식으로 로직을 작성했는데제가 알기로 세션인증방식은 세션id를 프론트에 보내서 쿠키에 있는 세션id를 이용해 로그인 유지를 하는것으로 알고있습니다. 제가 알고 있는 방식과 강좌에서의 세션인증이 좀 다른것 같은데 어떻게 이해해야 하나요?강좌는 ssr 적용 전 백엔드 부분까지만 들은 상태입니다.
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
nextjs13강의 pdf랑 소스코드 올려주실수 있나요..
에러 잡는부분이랑 제 코드 어딘가 잘못된거 같은데 보면서 확인하고 싶어요..
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
로그아웃 후에도 계속 쿠키가 존재합니다.
안녕하세요! 로그아웃 후 계속 auth/me후 계속 req에서 쿠키가 존재해서 문의 남깁니다! application탭에서 쿠키는 잘 삭제가 되고 네트워크 탭에서도 logout이 성공적으로 이루어지는데 reload하면 바로 auth/me가 계속 200코드와 함께 user가 전달됩니다. 콘솔에도 찍어봤는데 계속 req에 쿠키가 같이 전달되고 있어서 요. 서버도 껐다 켜보고 했는데도 계속 그래서 문의드립니다!client/src/context/auth.tsxclient/src/components/NavBar.tsxserver/src/middlewares/auth.tsserver/src/routes/auth.ts
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
매장 데이터 json 파일
안녕하세요, 강사님 강의 잘 수강하고 있습니다!3-2 매장 데이터 불러오기 강의에서매장 정보가 담긴 json 파일은어디서 구해오는 파일인지 궁금합니다.올려주신 json파일로 강의 수강 진행하고 있지만, 원하는 다른 매장 데이터로 이용하고 싶을 경우 어디에서 이 json 파일을 얻어와야 하는 것인가요? 감사합니다!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
antd의 upload로 이미지 업로드
안녕하세요 선생님..그냥 단순히 인풋박스 만들어서 이미지 업로드를 해도 되지만 antd의 upload가 예뻐보여서 이걸 써서 이미지를 업로드 하고 싶은데 아무리 해도 되질 않아서 질문 드립니다ㅠㅠ보니까 보통 인풋박스를 통해 이미지 파일을 업로드할 때 양식이 FileList형식(배열처럼 보이는 객체...?)이던데antd upload에서 제공하는 props의 filelist는양식이 좀 다르더라구요..일단 백은 기존의 이미지 업로드 방식에서 바뀐 부분이 없고, 제가 antd의 Upload를 사용한 방식은 아래와 같습니다. <Upload name='image' listType="picture-card" multiple fileList={fileList} onChange={onChangeImages} onPreview={onPreview} onRemove={onRemoveImage} > {fileList.length < 2 && 'Drag images or click'} </Upload>업로드 props는 위와 같이 설정하고 onChange함수는 const onChangeImages = useCallback(({ fileList: newFileList }) => { setFileList(newFileList); console.log('images', fileList); const imageFormData = new FormData(); for(let i = 0; i< fileList.length; i++){ imageFormData.append('key',fileList[i]); } return dispatch({ type: UPLOAD_IMAGES_REQUEST, data: imageFormData }); });위와 같이 작성하면 업로드 되지 않을까 했는데, 이미지 업로드가 성공했다고 쓰지만콘솔 창에 나온 메세지를 보면{type: 'UPLOAD_IMAGES_SUCCESS', data: Array(0), @@redux-saga/SAGA_ACTION: true}이런 식으로 빈 배열만 자꾸 들어가고, 콘솔로 찍어본 fileList는 아래와 같이 뜨던데images[{…}]0:lastModified: 1669296034457lastModifiedDate: Thu Nov 24 2022 22:20:34 GMT+0900 (한국 표준시) {}name: "icons8-team-URoyGsQdLwg-unsplash.jpg"originFileObj: File {uid: 'rc-upload-1675523328622-3', name: 'icons8-team-URoyGsQdLwg-unsplash.jpg', lastModified: 1669296034457, lastModifiedDate: Thu Nov 24 2022 22:20:34 GMT+0900 (한국 표준시), webkitRelativePath: '', …}percent: 0size: 674143status: "uploading"thumbUrl: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgtype: "image/jpeg"uid: "rc-upload-1675523328622-3"[[Prototype]]: Objectlength: 1[[Prototype]]: Array(0) 노드버드에서는 업로드할 파일을 콘솔에 찍어보았을 때FileList {0: File, length: 1}0: FilelastModified: 1669296034457lastModifiedDate: Thu Nov 24 2022 22:20:34 GMT+0900 (한국 표준시) {}name: "icons8-team-URoyGsQdLwg-unsplash.jpg"size: 674143type: "image/jpeg"webkitRelativePath: ""[[Prototype]]: Filelength: 1[[Prototype]]: FileList이렇게 나오는걸 보면 데이터 구조상의 차이가 있어서 업로드가 안되는 것인가요? antd upload를 이용한 파일 업로드를 할 때 제가 놓친 부분이 어디인지 알 수 있을까요..? 조언 부탁드립니다 선생님ㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
상태관리 라이브러리 관련 수업은 없을까요?
요즘 프론트 공고를 보면, 경력/신입을 불문하고redux, recoil, mobX 등 상태관리 라이브러리가 필수 자격요건에 들어가있는 경우가 많더라구요.그런데 해당 props 수업을 듣고 생각나서 커리큘럼을 다시 보니까 다른 기술들은 다 강의가 있는데 딱 상태관리 라이브러리 관련 수업 제목만 안보였습니다.혹시나 뒤의 강의 내용에 포함되어 있는 건지는 아직 다 보진 못했지만관련 강의가 없다면 상태관리 라이브러리는 포트폴리오에 굳이 적용시키지 않아도 추후 서류를 넣을 때 포트폴리오에 상태관리 라이브러리 적용 경험이 없다면 합불 당락을 결정할 정도로 하자가 되지 않을지 궁금합니다.아직 이른 걱정일지는 모르겠지만,나중에 완강하고 따로 상태관리 라이브러리를 공부해서 추후 포트폴리오 완성 시 별도로 공부해서 적용 시켜볼지, 아니면 적용 시키지 않고 그대로 포트폴리오로 써도 상관 없을지 멘토님의 의견이 궁금합니다.좋은 강의 감사합니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
경로별 페이지명은 무조건 index.js 여야 하나요?
문득 수업 듣다가 궁금해진 부분인데요,boards 폴더 안에list 폴더 만들고 index.js 만들고detail 폴더 만들고 index.js 만드는게 아니라,바로 같은 경로에 list.js, detail.js 이런 식으로 만드는건 next.js에서 안되는 방식일까요?
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
개인 블로그 정리
안녕하세요 선생님혹시 강의를 듣고 정리한 내용을 개인 블로그에 게시해도 될까요??
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
복습 중 질문이 있습니다!
제로초 쌤 강의 잘들으면서 구현하고 있다가 갑자기 머리가 꼬여서 복습 확인 차 질문 올립니다!(reduxjs/toolkit 사용하고 있어서 제로초쌤 강의에서 saga를 바꿔보면서 하고 있습니다)(wsl 문제는 mysql안에서 명령문 익히면서 진행하고 있습니다)컴포넌트에서 어떤 액션을 디스패치 해줄때 안에 dispatch안의 콜백함수의 인자가 액션이 백엔드 주소에 데이터를 요청할때 들어가는 data 값의 형태로 들어가서 그게 백엔드에선 req.body로 들어가고(동적라우팅은 주소에 ${data}로 넣어준 부분이 백엔드의 req.params.(동적라우팅변수)로 들어가는거고) 그 후에 백엔드의 작업이 끝나면 res.json() 안의 인자가 결국 최종적으로 action.payload로 들어오는게 맞나요!?이 문제는 로그아웃하고 난 뒤에 regenertion 문제가 생겨서 소스코드도 보고 로직에 문제가 있나 싶어서 돌려보고 해당 문제로 저랑 같이 질문하신 분의 답글도 봤는데 한번 안보이니까 너무 안보이더라구요. 한번만 봐주시면 감사하겠습니다 로그아웃시 코드도 사진 따로 첨부하겠습니다(그 외 기능은 전부 잘 돌아갑니다! 로그아웃 하고 난 뒤에만 오류가 나요..)항상 질 좋은 강의 답변해주셔서 감사합니다! next.js부분도 화이팅하면서 듣겠습니다~
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
Server Error Error: The default export is not a React Component in page: "/02-02-counter-state"
강의 들을때마다 점점 지치네요.. 맥 윈도우 다쓰는데 매번 오류나고 뭐가문제인지 모르겠네요 공부를 하려고 해도 의욕이 떨어져요 Server ErrorError: The default export is not a React Component in page: "/02-02-counter-state"This error happened while generating the page. Any console logs will be displayed in the terminal window.Call StackObject.renderToHTMLfile:///Users/jinho/Desktop/codecamp-frontend-jinho/class/node_modules/next/dist/server/render.js (234:19)doRenderfile:///Users/jinho/Desktop/codecamp-frontend-jinho/class/node_modules/next/dist/server/next-server.js (1392:57)<unknown>file:///Users/jinho/Desktop/codecamp-frontend-jinho/class/node_modules/next/dist/server/next-server.js (1487:34)<unknown>file:///Users/jinho/Desktop/codecamp-frontend-jinho/class/node_modules/next/dist/server/response-cache.js (63:42)ResponseCache.getfile:///Users/jinho/Desktop/codecamp-frontend-jinho/class/node_modules/next/dist/server/response-cache.js (80:11)DevServer.renderToResponseWithComponentsfile:///Users/jinho/Desktop/codecamp-frontend-jinho/class/node_modules/next/dist/server/next-server.js (1423:53)DevServer.renderToResponsefile:///Users/jinho/Desktop/codecamp-frontend-jinho/class/node_modules/next/dist/server/next-server.js (1559:39)process.processTicksAndRejectionsnode:internal/process/task_queues (95:5)async DevServer.pipefile:///Users/jinho/Desktop/codecamp-frontend-jinho/class/node_modules/next/dist/server/next-server.js (1111:25)async Object.fnfile:///Users/jinho/Desktop/codecamp-frontend-jinho/class/node_modules/next/dist/server/next-server.js (912:21)