44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
ec2 도커 pgadmin 배포 에러
안녕하세요 aws ec2 배포중 docker-compose up 시 동일 에러가 계속 뜨는데 이유를 모르겠습니다ㅠㅠ...env 파일 따로 루트폴더에 생성해서 아이디 패스워드 작성해주었습니다오류메세지.envdocker-compose.yml
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
useSWR 자동완성 질문
안녕하세요! 강의 잘 보고있습니다섹션 8에 유저페이지 생성하기 부분을 진행 하던 중 useSWR을 입력 시 툴팁으로 useSWR에 대한 추론이 나오시는데 저는 나오지를 않습니다ㅠㅠ.. useSWRConfig 말고는 나오지 않는데 이유가 무엇일까요?라이브러리는 제대로 설치가 되었습니다..!
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
도커를 이용한 Postgres 실행 강의 폴더가 안생겨요
똑같이 했는데요 docker-compose up data폴더안에 안생겨요
- 해결됨따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
ec2 배포 후 에러 질문입니다.
error : DataSource is not set for this entity.백엔드 서버와 데이터베이스 도커를 통해 연결 하기를 적용한 후에도db랑 연결이 안되는거 같은데, 제가 도커랑 orm 개념이 조금 부족해서 해결을 못시키는거 같습니다ㅠdata-source.tsdocker-compose.yml server/Dockerfile + client/Dockerfile로 되어있습니다.api가 500으로 걸리는걸로 보아server는 잘 작동 중인거 같은데 data 쪽이 연결이 안되는거 같아서 이 부분에 대한 해결점 이나 혹시 데이터가 연결 안된 걸 확인 하는 방법이나 해결 점 있을까요?ㅠㅠ
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
next.js 13버전에서 express.static('public')이 먹지 않습니다.
안녕하세요.강의를 수강하면서 next 13으로 만들고 있습니다...노드에서 이미지 정적 폴더를 생성하고, 이미지가 서버에 저장되게끔 하는거는 구현했는데,아무리 해도 next에서 서버에 있는 이미지를 불러오지를 못합니다.아래는 제가 시도해본 방법입니다.app.use('/', express.static(__dirname + '/public')); app.use(express.static('public'));express에서 클라이언트 단으로 던져주는 저 app.use 자체가 먹지 않고 있고 아무 에러도 나오지 않아서 너무 답답합니다 ㅠㅠ 어떻게 해야 될까요...?.......
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
erd 작성툴
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요!수업잘듣고 있습니다. 수업을 듣다가 수업중에 사용하신 erd 작성툴이 무엇인지 궁금해졌습니다. 혹시 어떤 제품인지 여쭤봐도 될까요..?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
데이터 베이스 연결 에러 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요 강의 도중 데이터베이스 연결 설정 후 에러가 나서 질문 드립니다!혹시 뭐 터미널이 달라서 그럴까요?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
상위커뮤니티 데이터 가져오기 undefined가 뜨네요
커뮤니티 리스트 ui생성 강의 부분에서 맨앞 내용에서 상위 커뮤니티 데이터를 가져오는 부분이const {data: topsubs} = useSWR<Sub[]>(address,fetcher) 부분 undefined가 나오네요 ㅠ 소스코드가 확인해서 오타도 확인해봤는데 원인을 찾지못했습니다. 혹시 짐작가는 부분이 있으시나요?
- 해결됨따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
배포시 Ubuntu에 yarn 설치
안녕하세요 선생님,yarn을 사용중이었는데, Ubuntu에서 npm이 아니라 yarn을 설치하면 되겠죠?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
버전이 다른데 어떤 식으로 학습하는게 좋을까요?
Nextjs 버전을 내리고 강의 버전과 똑같이 맞춰서 사용할 지, 아니면 문법을 수정하여 학습해야 할 지 모르겠습니다.. index.tsx 구조 다른거부터 머리아프네요 ㅜㅜ... 강의에서 사용하신 버전도 알려주세요!
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
섹션 1 관련 강의 노트는 없는지요?
안녕하세요. 강의를 듣고 있는 수강생 입니다. 강의 관련 기본 지식이 부족하다 보니, 여러 번 듣게 되는데요. 섹션 1에 대한 강의노트가 없는 것 같습니다. (draw.io diagram file)혹시 받을 수 있는지 문의 드립니다. 감사합니다.
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
클라이언트와 서버를 Docker로 배포할 시 보안 관련 질문 드립니다.
강의에서 좀 더 나아가 클라이언트와 서버도 도커 환경으로 구축?을 해보려고 합니다.계획은 Docker hub private repo에 Dockerfile로 빌드된 이미지를 push하고 ec2인스턴스에서 docker-compose up으로 pull을 받으려고 합니다. 간단히 테스트를 해보니 제대로 실행은 되고 있으나 보안적인 부분에 있어 문제될 것이 있나 궁금하여 질문 드립니다.답변 주시면 감사하겠습니다.감사합니다~
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
쌤 사랑해요❤︎
항상 좋은 강의 감사드려유♡
- 해결됨따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
getServerSideProps
안녕하세요 선생님, 알려주신 것처럼,getServerSideProps를이용해서 쿠키가 있을때만 페이지를 접근 가능하게 했습니다. 근데 sub를 생성할 수 있는 버튼을 클릭하면 아래 주소로 이동 가능하게(router.push('/sub/create')) 했는데 접근이 가능하네요? 이럴땐, 해당 버튼을 클릭하면 다시 login 페이지로 가도록 라우팅 처리를 또 해줘야 하는건가요?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
강사님 좋은강의 만들어 주셔서 감사합니다.
하루에 한강의씩 들었더니 어느덧 배포까지 완강 하였네요. 알차고 좋은강의 만들어 주셔서 감사합니다.
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
docker-compose up으로 POSTGRES_USER나 POSTGRES_PASSWORD가 없다는 오류가 뜨는분들 참고
ls -a명령어를 사용하였을때,.git .gitignore client docker-compose.yml server이렇게 밖에 구성이 없을경우, 저같은 경우에도 .gitignore에 .env파일을 추가 해두어서 git에 없습니다..env파일에는DB_USER_ID= DB_USER_PASSWORD=데이터베이스 아이디와 비밀번호가 입력되어 있는데 .env 환경변수 파일이 없어서 docker-compose up 명령어를 실행 했을때 문제가 발생합니다. 이를 해결하려면 간단하게 .env파일을 만들어주면 됩니다.cd명령어로 docker-compose.yml파일과 같은경로에 가주신 다음에.env 파일 생성 명령어$ sudo vim .env내용을 작성하려면 키보드에서 Insert키 눌려야 됩니다.디비유저 아이디와 패스워드를 작성해주신다음에esc키 누른후 wq! 명령어로 저장해주시면 끝입니다.잘 저장 되었는지 확인 하는 방법은 다시$ sudo vim .env명령어를 치시면 잘 저장되어 있는지 확인 가능합니다.이후에 docker-compose up 사용하시면 잘됩니다. 요약docker-compose.yml파일과 같은경로로 이동$ sudo vim .env 명령어로 .env파일생성vim명령어로 열려진 .env파일에 키보드에 Insert키 눌려서 작성상태로 만든뒤 DB_USER_ID= DB_USER_PASSWORD= 작성하기.(복사 붙여넣기도 됨)꼭!! esc키 누른 후 wq!명령어 치고 엔터로 저장하기.다시 $ sudo vim .env 명령어로 잘 저장되어 있는지 확인하고 esc + q! 저장 안하고 나오기.docker-compose up 명령어로 실행 하기
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
강의자료 pdf에서 우분투에서 도커 다운받는 링크 복사할때
도커 다운받는 링크 복사 할때 공백 생겨서 필요 하신분 쓰시라고 링크 올려 두겠습니다.https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-22-04
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
오타로 인한 오류 제보 입니다.
9분:15초쯤 commented on다음에 작성코드[변경전]<span>commented on</span> <Link href={`/u/${comment.post?.url}`} className="cursor-pointer font-semibold hover:underline" > {comment.post?.title} </Link>[변경후]<span>commented on</span> <Link href={`${comment.post?.url}`} className="cursor-pointer font-semibold hover:underline" > {comment.post?.title} </Link>
- 해결됨따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
isEmpty 체크
안녕하세요 선생님,커뮤니티를 생성하는 핸들러 생성하기(1) 강의 9:29분에 보면 sub Name, Title이 있는지 isEmpty로 체크를 해주고 있습니다.이런 체크은 백엔드에서만 해주는건가요 아니면 프론트, 백엔드 둘 다 해줘야 하는건가요? 강의에서 말씀하신 것처럼, 만약 프론트에서 체크를 해줘서 프론트에 error를 전달하기 위한 목적이 아니라면, 백엔드에서 isEmpty 메서드로 체크 해줄 필요가 없는건가요?
- 미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
useSWRInfinite 관련
const listFetcher = async () => { const res = await apiClient.get(`/notices`, { params: { siteKey: sitekey || selectsite, keyword: searchData || null, page: page, size: 5, orderOption: sortModel.field || "createAt", orderSeq: sortModel.sort || "desc", }, }); console.log("res.data.payload.notices", res.data.payload.notices); return res.data.payload.notices; }; const getKey = (pageIndex, previousPageData) => { if (previousPageData && !previousPageData.length) return null; return { url: `/notices?${pageIndex}`, }; }; const { data, error, size: page, setSize: setPage, isValidating, mutate, } = useSWRInfinite(getKey, listFetcher); const isInitialLoading = !data && !error; const posts = data ? [].concat(...data) : []; const [observedPost, setObservedPost] = useState(""); useEffect(() => { // 포스트가 없다면 return if (!posts || posts.length === 0) return; // posts 배열안에 마지막 post에 id를 가져옵니다. const id = posts[posts.length - 1].noticeNo; // posts 배열에 post가 추가돼서 마지막 post가 바뀌었다면 // 바뀐 post 중 마지막post를 obsevedPost로 if (id !== observedPost) { setObservedPost(id); observeElement(document.getElementById(id)); } }, [posts]); const observeElement = (element) => { if (!element) return; // 브라우저 뷰포트(ViewPort)와 설정한 요소(Element)의 교차점을 관찰 const observer = new IntersectionObserver( // entries는 IntersectionObserverEntry 인스턴스의 배열 (entries) => { // isIntersecting: 관찰 대상의 교차 상태(Boolean) if (entries[0].isIntersecting === true) { console.log("마지막 포스트에 왔습니다."); setPage(page + 1); observer.unobserve(element); } }, { threshold: 0.5 } ); // 대상 요소의 관찰을 시작 observer.observe(element); };useSWRInfinite 포스트 작성중인데, 위와 같이 처리했더니 맨끝 스크롤 이동시 api 호출이 더이상 되지 않고 있는데 이유를 알고 싶습니다!