172만명의 커뮤니티!! 함께 토론해봐요.
미해결
이미지 관리 풀스택(feat. Node.js, React, MongoDB, AWS)
안녕하세요, 강의가 저에게 많은 도움이 되고 있습니다😄 강의를 수강하는 도중 몇가지 궁금한 것이 있어 질문 드립니다. 1. useEffect에 변수값(useState 포함)이 들어가는 것으로 알고 있었는데, 함수가 들어가는 것은 어떤 의미인지 궁금합니다. 함수가 변경될때마다 useEffect가 실행된다라는 뜻인 것 같은데, 함수가 변경된다는 뜻은 무엇일까요? (deps에 들어가는 함수의 인자들이 변경된다는 뜻은 아닌 것 같아서요...) 2. 뒷정리 함수를 사용하는 이유를 확실하게 알고 싶습니다. 현재 사용된 뒷정리 함수를 return (뒷정리함수) 에 두지 않고, 그냥 useEffect의 이펙트 부분에 함수를 실행하면 안되는 것인가요? 제 생각에서는 그냥 본 이펙트를 실행하기 직전에 observer.disconnect() 를 실행시켜도 비슷한 결과를 가져오지 않을까라는 막연한 생각이 들어서요 . 그래서 윗 부분의 두가지 궁금증을 해결하고자 질문을 남깁니다. 감사합니다.
react useEffect lambda mongodb 뒷정리함수 react nodejs express aws
itjustbong
2021-08-30T14:36:49.333Z
댓글 2
좋아요 3
조회수 1397
미해결
작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
Debug manage를 실행하면 ModuleNotFoundError: No module named 'environ'가 나옵니다.
woodi
2021-08-30T05:49:06.499Z
댓글 16
좋아요 0
조회수 1547
미해결
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의 들을때 메소드라는 단어를 사용하는데 예를 들어 update 메소드 이렇게 말하시는데 함수와 메소드는 같은건가요?
윤태영
2021-08-30T04:47:38.530Z
댓글 1
좋아요 0
조회수 253
해결됨
[개정판] 파이썬 머신러닝 완벽 가이드
관심있으신 분들 참여 부탁드려요 ㅎ 커뮤니티 "스터디"란에 있습니다
진호
2021-08-29T02:27:04.908Z
댓글 1
좋아요 0
조회수 215
해결됨
따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
자꾸 이런 오류가 떠서 수업 진행이 안되서 남깁니다. 확인하려 firebase.auth()를 콘솔로 찍어보니 이런 오류가 또 뜨더라고요... auth를 import 제대로 했고, 노드 모듈을 삭제하고 다시 실행해보라는 말도 있어서 해봤는데 똑같네요ㅠㅠ 구글링을 해도 별 소득이 없네요... 질 좋은 수업 열심히 듣고 있습니다!! 바쁘시지만 답변해주시면 더 열심히 하겠습니다!!
react 웹앱 frontend firebase react
chaechae6326
2021-08-27T07:11:11.746Z
댓글 1
좋아요 0
조회수 331
미해결
따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
사진 업로드만 해도 서버에 저장하는거면 사용자가 파일 업로드를 하고 막상 게시글 작성을 취소하거나 오류로 인해 작성 실패하더라도 이미지 데이터는 다 서버에 저장되는건가요??
multer react mongodb node nodejs redux 웹앱 react
K. Seonwoo
2021-08-25T11:12:22.782Z
댓글 0
좋아요 0
조회수 241
미해결
[리뉴얼] React로 NodeBird SNS 만들기
npm run build하면 이런 에러가뜨는데 도통ㅇ 머가문젠지 모르겠습니다..ㅠㅠ stringify 를 쓰면 나는 에러같은데 저는 안쓰고있는데 이러네요..
redux express nodejs react Next.js
2021-08-25T09:40:03.298Z
댓글 1
좋아요 0
조회수 435
해결됨
풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)
onupdate 함수의 매개변수를 (id, text) 로 넣어주었더니! 수정 버튼을 클릭 했을 때 내용이 바뀌지 않더라구요 그래서 혹시나해서 매개변수를 (text, id) 로 변경했더니 수정 기능이 제대로 작동 했습니다. 매개변수 순서가 바뀌면 문제가 있는걸까요??
2021-08-24T15:26:00.749Z
댓글 1
좋아요 0
조회수 259
미해결
안녕하세요 mecab으로 사용자 사전을 만들어 형태소 분석을 하던 중 사전 적용이 안되는 단어가 있어 고수님들께 문의드립니다. 1) 사용자 사전에 다음에 단어를 넣었고요 제휴렌탈사,,,1000,NNP,*,F,제휴렌탈사,*,*,*,* 2) 컴파일 하기전 가중치도 조정했습니다. 제휴렌탈사,1786,3545,0,NNP,*,F,제휴렌탈사,*,*,*,* 3) 컴파일을 하고 테스트를 해보았더니 적용이 안되네요;; $ python3 mecab-tst.py [('제휴', 'NNG'), ('렌', 'NNG'), ('탈사', 'NNG')] 고수님들의 답변을 기다리고 있습니다. 감사합니다.
김준현
2021-08-23T23:28:33.981Z
댓글 0
좋아요 0
조회수 303
미해결
따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
안녕하세요. 우선 강의 너무 잘 듣고 있습니다. password . current = watch ( " Password " ) ; 강의를 통해 위 방법을 익히기 전엔 혼자서 onChange를 통해 ref.current값을 바꾸려고 시도하였는데요 input에 onChange를 걸어줘도 Change이벤트가 작동을 안하더라구요.. react hook form 공식 문서를 뒤져봐도 위 방법으로만 사용하라는 말은 따로 없고 태그에 onChange이벤트를 사용하는 예제도 있는데 왜 이러는걸까요?? 단순히 버그인지 뭐가 잘못된건지 모르겠습니다 ㅜㅜ
정세연
2021-08-23T21:31:42.024Z
댓글 1
좋아요 0
조회수 216
해결됨
Slack 클론 코딩[실시간 채팅 with React]
안녕하세요 저는 웹팩 소스는 복붙하고 패키지를 직접 하나씩 설치해보았는데 빌드나 실행시 에러가 나서 webpack-dev-server 가 4.0.0 인걸 지우고 @ 3.11.2로 다시설치하니까 되더라고요. 원래 이렇게 버전하나때문에 에러가 잘 발생하나요? 그리고 setting/ts 그대로 빌드해보면 저는 이건 에러는 아니고 경고지만 이런 세가지 경고 들이 뜨는데 원래 이런건가요?? 상관없는건가요?
babel Socket.io 웹팩 typescript react 클론코딩
2021-08-23T13:40:05.519Z
댓글 1
좋아요 1
조회수 219
미해결
[리뉴얼] React로 NodeBird SNS 만들기
export const getServerSideProps = wrapper . getServerSideProps ( async ( context ) => { context . store . dispatch ({ type : LOAD_USER_REQUEST , }) context . sotre . dispatch ({ type : LOAD_POSTS_REQUEST , }) context . store . dispatch ( END ) await context . sotre . sagaTask . toPromise () }) 위 코드를 실행했을 때 dispatch of undefined라는 오류가 뜹니다. configureStore.js 에서 store와 dispatch의 log를 찍어보면 잘 나오는데 왜 저런 오류가 뜨는걸까요? redux의 전은 6이에요.
Next.js express nodejs redux react
2021-08-21T14:50:05.917Z
댓글 2
좋아요 0
조회수 361
미해결
[리뉴얼] React로 NodeBird SNS 만들기
이번 강의에 해쉬 태그 등록을 위한 코드들 const hashtags = ~~~ 부분과 if(hashtags) { } 요거를 추가하면은 500에러가 떠요. 왜 이럴까요? const express = require ( 'express' ) const multer = require ( 'multer' ) const path = require ( 'path' ) const fs = require ( 'fs' ) const { Post , Image , Comment , User , Hashtag } = require ( '../models' ) const { isLoggedIn } = require ( './middlewares' ) const router = express . Router () try { fs . accessSync ( 'uploads' ) } catch ( error ) { console . log ( 'uploads 폴더가 없으므로 생성합니다.' ) fs . mkdirSync ( 'uploads' ) } // multer 셋팅 const upload = multer ({ storage : multer . diskStorage ({ destination ( req , file , done ) { done ( null , 'uploads' ) }, filename ( req , file , done ) { const ext = path . extname ( file . originalname ) // 확장자 추출(.png) const basename = path . basename ( file . originalname , ext ) // 이름 추출(제로초) done ( null , basename + '_' + new Date (). getTime () + ext ) // 이름_1518123131.png }, }), limits : { fileSize : 20 * 1024 * 1024 }, // 20MB }) // 게시글 작성 router . post ( '/' , isLoggedIn , upload . none (), async ( req , res , next ) => { try { // const hashtags = req.body.content.math(/#[^\s#]+/g) const post = await Post . create ({ content : req . body . content , UserId : req . user . id , }) // if(hashtags) { // const result = await Promise.all(hashtags.map((tag) => Hashtag.findOrCreate({ // where: { name: tag.slice(1).toLowerCase() }, // }))); // 결과 [[노드, true], [리액트, true]] // await post.addHashtags(result.map((v) => v[0])); // } if ( req . body . image ) { if ( Array . isArray ( req . body . image )) { // 이미지 여러개면 image: [경로.png, 경로.png] const images = await Promise . all ( req . body . image . map (( image ) => Image . create ({ src : image }))) await post . addImages ( images ) } else { // 이미지 하나만 올리면 image: 경로.png const image = await Image . create ({ src : req . body . image }) await post . addImages ( image ) } } const fullPost = await Post . findOne ({ where : { id : post . id }, include : [{ model : Image , }, { model : Comment , include : [{ model : User , // 댓글 작성자 attributes : [ 'id' , 'nickname' ], }] }, { model : User , // 게시글 작성자 attributes : [ 'id' , 'nickname' ], }, { model : User , // 좋아요 누른 사람 as : 'Likers' , attributes : [ 'id' ], }] }) res . status ( 201 ). json ( fullPost ) } catch ( error ) { console . error ( error ) next ( error ) } }) router . post ( '/:postId/comment' , isLoggedIn , async ( req , res , next ) => { try { const post = await Post . findOne ({ where : { id : req . params . postId } }) if ( ! post ) { // 게시글 존재하는지 확인 return res . status ( 403 ). send ( '존재하지 않는 게시글입니다.' ) } const comment = await Comment . create ({ content : req . body . content , PostId : parseInt ( req . params . postId ), UserId : req . user . id , }) const fullComment = await Comment . findOne ({ where : { id : comment . id }, include : [{ model : User , attributes : [ 'id' , 'nickname' ] }] }) res . status ( 201 ). json ( fullComment ) } catch ( error ) { console . error ( error ) next ( error ) } }) // 좋아요 누르기 router . patch ( '/:postId/like' , isLoggedIn , async ( req , res , next ) => { // PATCH /post/1/like try { const post = await Post . findOne ({ where : { id : req . params . postId }}) if ( ! post ) { return res . status ( 403 ). send ( '게시글이 존재하지 않습니다.' ) } await post . addLikers ( req . user . id ) res . json ({ PostId : post . id , UserId : req . user . id }) } catch ( error ) { console . error ( error ) next ( error ) } }) // 좋아요 취소 router . delete ( '/:postId/like' , isLoggedIn , async ( req , res , next ) => { // DELETE /post/1/like try { const post = await Post . findOne ({ where : { id : req . params . postId }}) if ( ! post ) { return res . status ( 403 ). send ( '게시글이 존재하지 않습니다.' ) } await post . removeLikers ( req . user . id ) res . json ({ PostId : post . id , UserId : req . user . id }) } catch ( error ) { console . error ( error ) next ( error ) } }) // 게시글 삭제 router . delete ( '/:postId' , isLoggedIn , async ( req , res , next ) => { // DELETE /post/10 try { await Post . destroy ({ where : { id : req . params . postId , UserId : req . user . id , }, }) res . status ( 200 ). json ({ PostId : parseInt ( req . params . postId , 10 ) }) } catch ( error ) { console . error ( error ) next ( error ) } }) // 이미지 업로드 router . post ( '/images' , isLoggedIn , upload . array ( 'image' ), ( req , res , next ) => { console . log ( req . files ) res . json ( req . files . map (( v ) => v . filename )) }) module . exports = router
redux react express nodejs Next.js
2021-08-21T09:09:01.627Z
댓글 1
좋아요 0
조회수 260
해결됨
풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)
해결했습니다!
bj2525
2021-08-21T07:21:09.304Z
댓글 1
좋아요 0
조회수 226
해결됨
[리뉴얼] React로 NodeBird SNS 만들기
게시글 삭제 직후 db에서는 바로 삭제가 되는데 브라우저에서 redux devtools로 state를 보면 mainPosts에 반영이 안되어있어요. 새로고침을 해야만 게시글이 사라져요. 어디에 문제가 있는건지 감이 안오네요
react redux express nodejs Next.js
2021-08-19T18:05:56.307Z
댓글 1
좋아요 0
조회수 368
해결됨
[리뉴얼] React로 NodeBird SNS 만들기
db는 생성했는데 영상에 나오는 것처럼 mySQL workbench에서 생성된 데이터베이스를 어떻게 띄우는지 모르겠어요 ㅜ
mysql redux nodejs react express Next.js
2021-08-16T22:42:29.977Z
댓글 3
좋아요 2
조회수 486
미해결
파이썬으로 장고(Django) 공략하기: 입문
이렇게 뜨면서 설치가 안된건지 cirtualenv를 인식을 못해요...ㅠㅠ
virtualenv python django python 가상환경 설치안됨
suhyeon
2021-08-16T12:35:44.145Z
댓글 1
좋아요 0
조회수 464
미해결
Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
view.py 에서 model = Post를 대입한 부분은 이해가 가는데 post_list.html에서 포문을 돌릴때 post_list라고 하는거는 변수명이 안맞는데 잘 돌아가는거에 대한 의문점이 듭니다.
python HTML/CSS docker bootstrap django tdd aws javascript
이원영
2021-08-16T10:42:54.713Z
댓글 1
좋아요 2
조회수 413
미해결
내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
주피터 노트북 실행시 질문입니다. 1. jupyter-lab 실행 시 'jupyter-lab'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. jupyter -lab usage: jupyter [-h] [--version] [--config-dir] [--data-dir] [--runtime-dir] [--paths] [--json] [--debug] [subcommand] jupyter: error: one of the arguments --version subcommand --config-dir --data-dir --runtime-dir --paths is required 이게 나옵니다. 안되는 이유가 궁금합니다. 2. 부모폴더(user)로 이동할려고 지정된 경로를 찾을 수 없습니다. 라고 나오는데 왜그런건가요? 3. 제가 주피터 노트북을 d드라이브에 설치하여서 cd로 D;juypter_notebook을 이동할려고 해도 다시 사진 처럼 c드라이브로 원상복구 되는데 이것은 왜그런건지 궁금합니다. 4. 탐색창에 주피터 노트북 아이콘을 클릭해서 실행하면 제대로 작동이되는데 프롬프트에서 실행하면 안되는 이유가 궁금합니다.
zzzzz
2021-08-15T06:26:08.447Z
댓글 2
좋아요 0
조회수 1229
해결됨
따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
현재 App.test.js에는 test()안에 실행중인 코드가 없는 것 같고 test도 react에서만 진행하는데 테스트가 되는게 있나요? 테스트를 하여 성공을 하더라도 무엇을 기준으로 성공한건지 잘 모르겠습니다.. 그리고 백엔드 프론트 DB 등등 다양한 컨테이너가 존재하는데 테스트는 리액트만 진행하네요 이게 도커 환경에서 CI로 배포하는 과정까지 큰 틀에 집중하기 위해 test부분 내용은 의도적으로 생략하고 별다른 동작을 안해도 절차를 보여주기 위해 넣은걸로 보면 될까요??
docker aws travis github test docker react travis-ci cicd 데이터 엔지니어링
K. Seonwoo
2021-08-12T09:29:43.585Z
댓글 1
좋아요 0
조회수 193