묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
heroku 배포하면 사진이 사라지는 이유 알아냈습니다!
https://help.heroku.com/K1PPS2WM/why-are-my-file-uploads-missing-deleted 이 사유인 것 같은데 잠자기 모드에 들어가면서 올린 파일들을 모두 삭제하는 것 같습니다. heroku에서 배포하면 제가 올린 업로드 파일들을 다른 방법으로 저장하는 방식은 없는건가요? ㅠㅠ 배포하는 영상이 https://www.youtube.com/watch?v=qdoiwouykAg&list=LLpCpoDhCPBAC76g4OYEiVzw 이 영상에 있는 heroku 말고는 없으시죠? ㅠㅠ
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
필터박스 만든후
체크박스나 라디오 박스 클릭을 할때 상품이 가져오는 기능들은 다 잘됩니다 그런데 체크박스나 라디오박스 클릭시 더보기를 누르지 않았는데도 그 상품들이 나오는데 이건 몽고DB에서 데이터를 기반으로 조건에 맞기만 하면 다 찾아와서 그런걸까요??
-
따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기
"npm install" 에러 도와주세요!
삭제된 글입니다
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
reduxSaga로는 되는데 SWR로 바꾸면 에러가 나요
profil.js import React,{useEffect} from 'react'; import AppLayout from "../components/AppLayout" import NicknameEditForm from "../components/NicknameEditForm" import FollowList from "../components/FollowList" import {useSelector,useDispatch} from "react-redux" import {LOAD_FOLLOWERS_REQUEST,LOAD_FOLLOWINGS_REQUEST} from "../reducers/userReducer" import Head from "next/head" import {useRouter} from "next/router" import {END} from "redux-saga" import axios from "axios"; import wrapper from "../store/configureStore" import {LOAD_MY_INFO_REQUEST} from "../reducers/userReducer" import useSWR from "swr"; import {backAddress} from "../back" const fetcher = (url)=>axios.get(url,{withCredentials:true}).then(result=>result.data); function Profile(){ const dispatch = useDispatch(); const router = useRouter(); const {me} = useSelector(state=>state.userReducer); const {data:followersData,error:followerError} = useSWR(`${backAddress}/user/followers`,fetcher); const {data:followingsData,error:followingError} = useSWR(`${backAddress}/user/followings`,fetcher); useEffect(()=>{ if(!me) { router.push('/'); } },[me]) // useEffect(()=>{ // dispatch({ // type:LOAD_FOLLOWERS_REQUEST // }) // dispatch({ // type:LOAD_FOLLOWINGS_REQUEST // }) // },[]) // return 이 hooks(use...())보다 위에 있을수 없음 if(!me) return null; if(followerError || followingError){ console.error(followerError || followingError); return <div>팔로잉/팔로워 로딩 중 에러가 발생함</div>; } return ( <> <Head> <title>profile</title> </Head> <AppLayout> <NicknameEditForm /> <FollowList header="팔로잉 목록" data={followingsData} /> <FollowList header="팔로워 목록" data={followersData} /> </AppLayout> </> ) } export const getServerSideProps = wrapper.getServerSideProps(async (context)=>{ const cookie = context.req ? context.req.headers.cookie : ""; axios.defaults.headers.Cookie = ""; if(context.req && cookie){ axios.defaults.headers.Cookie = cookie; // 쿠키 넣기 } context.store.dispatch({ type:LOAD_MY_INFO_REQUEST, }) context.store.dispatch(END); // 사용법 request success 기다리기 await context.store.sagaTask.toPromise(); // 사용법 configureStore.js 에서 등록한 sgagTask 를 사용 }); export default Profile; routes/user.js router.get("/followers",isLoggedIn,async (req,res,next)=>{ try{ const me = await User.findOne({where:{id:req.user.id}}); if(!me){ res.status(403).send("me 없음") } const followers = await me.getFollowers( { limit:2, } ); res.status(200).json(followers) } catch(error){ console.error(error); next(error); } }) router.get("/followings",isLoggedIn,async (req,res,next)=>{ try{ const me = await User.findOne({where:{id:15||req.user.id}}) if(!me){ res.status(403).send("me 없음") } const getFollowings = await me.getFollowings( { limit:2, } ); res.status(200).json(getFollowings) } catch(error){ console.error(error); next(error); } }) Error sql: 'SELECT `User`.`id`, `User`.`email`, `User`.`nickname`, `User`.`createdAt`, `User`.`updatedAt`, `Posts`.`id` AS `Posts.id`, `Followings`.`id` AS `Followings.id`, `Followings->Follow`.`createdAt` AS `Followings.Follow.createdAt`, `Followings->Follow`.`updatedAt` AS `Followings.Follow.updatedAt`, `Followings->Follow`.`FollowingId` AS `Followings.Follow.FollowingId`, `Followings->Follow`.`FollowerId` AS `Followings.Follow.FollowerId`, `Followers`.`id` AS `Followers.id`, `Followers->Follow`.`createdAt` AS `Followers.Follow.createdAt`, `Followers->Follow`.`updatedAt` AS `Followers.Follow.updatedAt`, `Followers->Follow`.`FollowingId` AS `Followers.Follow.FollowingId`, `Followers->Follow`.`FollowerId` AS `Followers.Follow.FollowerId` FROM `Users` AS `User` LEFT OUTER JOIN `Posts` AS `Posts` ON `User`.`id` = `Posts`.`UserId` LEFT OUTER JOIN ( `Follow` AS `Followings->Follow` INNER JOIN `Users` AS `Followings` ON `Followings`.`id` = `Followings->Follow`.`FollowingId`) ON `User`.`id` = `Followings->Follow`.`FollowerId` LEFT OUTER JOIN ( `Follow` AS `Followers->Follow` INNER JOIN `Users` AS `Followers` ON `Followers`.`id` = `Followers->Follow`.`FollowerId`) ON `User`.`id` = `Followers->Follow`.`FollowingId` WHERE `User`.`id` = NaN;', parameters: undefined } SequelizeDatabaseError: Unknown column 'NaN' in 'where clause' at Query.formatError (C:\WEB\full\back\node_modules\sequelize\lib\dialects\mysql\query.js:239:16) at Query.run (C:\WEB\full\back\node_modules\sequelize\lib\dialects\mysql\query.js:54:18) at processTicksAndRejections (internal/process/task_queues.js:97:5) GET /user/followers 500 27.011 ms - 511 리덕스사가로 바꿔서 실행하면 잘 작동하는데 swr로 바꾸면 sql문에 nan값이 들어갑니다. 제가 잘못한 부분이 어디인가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
질문이있습니다.
현재 강의와는 별개의 내용인데 질문드립니다.. 제가 아무리찾아도 안나와서 어떻게 만드는지 궁굼하네요 ㅠ 애니메이션에서 몸애니메이션은 자료가많은데 몸애니메이션하면서 동시에 얼굴 (표정 )애니메이션은 어떻게 처리를하는건가요? 예를 들면 캐릭터가말하면서 같이 입도 움직이는그런것들.. 그리고 물건을 놓거나 물건을 장착하는건 어떤식으로 처리가 이루어질까요 .. 어떤건 스킨드매쉬를사용하고 어떤건스태틱매쉬를사용하는데 그 중간점을 모르겠습니다..
-
미해결리액트로 나만의 블로그 만들기(MERN Stack)
질문있습니다.
getDataFromCKEditor에서 사진목록이 없는 마지막의 경우에 dotenv를 이용하여 임의의 사진을 넣는다구 하셨는데. 처음에 서버 만들때에 아무것도 없을시 랜덤사진을 사용하는로직을 이미 구현하지않았나요? 감사합니다
-
미해결실전 리액트 프로그래밍
useImperativeHandle
매번 답변해주셔서 감사합니다 질문 안 하고 싶은데 정말 모르는 거 투성이네요 열심히 하겠습니다 . useImperativeHandle(ref, () => ({ })); 에서 보통 ()=>{ } 이런식으로 사용하지 않나요 ? 여기서는 ()=> ( {} ) '()' 를 넣어주셔서 왜 넣은건지 궁금합니다. ㅠㅠ
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
강의 수강 중 궁금한 점이 생겼습니다
1. ETag를 통해 데이터가 변경됐는지를 비교한다고 하셨는데 그 비교는 누가 하는건가요??? 서버쪽에서 ETag 헤더를 가져와서 비교하는 작업을 개발자가 직접 해야하는 것인가요?? 2. 저는 요청이 클라이언트 -> 서버 라고 생각을 했는데 강의를 들으면서 이해한 것으로는 클라이언트 -> 웹 브라우저 -> 서버라는 생각이 들었습니다. 제대로 이해한 것이 맞을까요?? 3. 304 Not Modified 상태코드를 받으면 브라우저가 알아서 캐시 저장소에서 데이터를 클라이언트로 보내주는 것인가요??? 아니면 클라이언트가 따로 작업을 해줘야하는 것인가요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
css가 적용이 안되는데 이유를 모르겠습니다..
안녕하세요 강사님! 강사님 강의를 다 듣고서 개인적으로 복습겸 저의 프로젝트를 시작했습니다. 부트스트랩을 다운받고 static 폴더에 css, js를 넣고 bodyHeader, footer, header는 모두 똑같게 만들었는데 적용이 잘안되네요 ㅜㅜ 어떤 코드를 보여드려야 해결방법을 알 수 있을까요?? 혹시 몰라서 제 깃헙 주소 올려놓고 가겠습니다! https://github.com/kimheejoo/sharp-gong.git
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
github에 올려둘때 .ipynb 확장자 미리보기
강의 하나하나 정리하며, github에 올리려는데, .ipynb 확장자는 미리보기가 안되네요... 선생님 github에서는 미리보기가 되는데 말이죠... 그냥 save된 파일을 올리면 안되고 파일형식을 변형해서 올려야하나요??
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
안녕하세요 gist에 댓글 남겼는데 권한 추가 주시면 감사하겠습니다.
https://gist.github.com/joshua1988/3fd36e04623aa42d536d8dbae37290de 에 남긴 후에 아직 권한 추가가 되지 않아 질문 글로도 남깁니다. 인프런 아이디 : dhkwon1209@ncsoft.com 인프런 이메일 : dhkwon1209@ncsoft.com 깃헙 아이디 : recoder1212@naver.com 깃헙 Username : RabbitG29 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
비즈니스 로직을 엔티티에 위임하는 기준이 궁금합니다!
안녕하세요! 강의 잘 듣고 있습니다~ 주문 취소와 주문 가격 조회 비즈니스 메서드를 엔티티 내부에서 선언하신 이유가 궁금합니다! 오더와 달리 멤버의 경우 엔티티에 비즈니스 로직을 작성하지 않은 건 리포지토리에서 사용한 save, find 외에 별다른 로직이 없기 때문인가요? 서비스가 아닌 엔티티에 비즈니스 로직을 위임하는 기준이 궁금합니다!
-
미해결스프링 핵심 원리 - 기본편
DIP(의존성 역전의 원칙)은 왜 의존성이 역전된다는 것인가요?
안녕하세요 영한님~ 강의 잘 듣고있습니다! 옛날부터 궁금했던 점이 하나 있는데 바로 의존성 역전의 원칙은 왜 의존성 역전이라고 표현하는가입니다. 의존성 역전의 원칙이 뭐하는 녀석이고, 왜 필요한 지는 알겠지만, 왜 의존성이 역전된다고 표현하는 지는 잘 모르겠어서요! 어떤 경우의 의존성과 비교했을 때 그 경우와 의존되는 방향이 역전되었기 때문인가요? DIP가 사용되는 경우 사람은 추상적인 자동차 인터페이스에 의존해야지 구체적인 K3라는 구현체에 의존해서는 안된다고 할 수 있을텐데. 이와 반대로 추상적인 것이 아닌 구체적인 것에 의존해야하는 경우도 있기때문에 DIP가 사용되는 경우는 그 반대를 의미하는 "역전"이라고 부르는 건가요? 감사합니다!
-
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
31강 Exercise45문제 질문이요
삭제된 글입니다
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
확인차 질문드려요~
df_last[df_last["전용면적"] == "전체"] df_last[df_last["전용면적"] == "전체"][cols] 이 내용을 df_last.loc[df_last["전용면적"] == "전체"] df_last.loc[df_last["전용면적"] == "전체", cols] 이렇게 써도 같은 결과 값이 나오는데, 둘을 혼용하여 사용해도 상관이 없는것인가요?? 실제로 여러 프로잭트를 하시다 보면 둘중 어느것을 더 많이 사용하게 되나요? 코더가 익숙한것을 고르면 되는것이가요??
-
미해결요즘 누가 유료로 웹서비스 구축 하나, Firebase의 모든것
호스팅 단계 레코드 등록 오류
안녕하세요. hosting 단계 따라하던중에 a레코드 등록시 하나는 제대로 등록이 되는데 두번째 a레코드 등록시 이미 사용중인 레코드 라는 문구와 함께 등록이 되지 않아요. 다른곳에서 사용하고 있는 도메인이 아닌데, 혹시 왜이런지 해서 문의드립니다
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
질문아니고 내용공유
쿠키못가져올 때 이렇게 하면댐. //Client Cookie에서 Token을 가져온다. let token = req.headers.cookie.split('x_auth=')[1];
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
url에 대해 질문있습니다
url과 dns의 차이가 궁금합니다 http://www.naver.com/login 이라는 게있으면 url은 저기 저문장 전체고 dns는 www.naver.com 이라고 이해하면되는걸까요??
-
미해결홍정모의 따라하며 배우는 C언어
마지막 예제에서 질문있습니다.
안녕하세요!! 복습을 하다가 질문이 생겨 문의드립니다. [그림 1] [그림 2] 1. 강의에 나온 코드와 똑같이 작성하였으나, Magic Carpet at 8223712에서 의문점이 생깁니다. Jasmine의 크기인 8이 추가되어 끝자리가 552가 될 것으로 예상했지만 왜 712가 나왔는지 모르겠습니다. 2. 또한 컴파일을 할 때마다 주소가 동일하게 나옵니다. 보통 포인터와 관련하여 컴파일을 할 때마다 주소값이 다르게 나오는데, 왜 이러한 형식에서는 고정값이 나오는지 잘 모르겠습니다. 감사합니다.
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
dns에 대해 질문입니다
dns 서버에 ip주소를 등록한다고 했는데 만약에 ip주소가변경됐을경우 dns서버에 ip를 다시 등록해야지 되는건가요?? 또 dns서버라는게 인터넷 통신사에서 제공해주는건가요??