Node.js 교과서 - 기본부터 프로젝트 실습까지

Node.js 교과서 - 기본부터 프로젝트 실습까지

(32개의 수강평)

727명의 수강생
55,000원
지식공유자 · 조현영
145회 수업· 총 23시간 14분수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 '중급'
세주아니 프로필

카카오 로그인시 닉네임 null로 뜨시는분들 해결법 세주아니 19시간 전

강의 이후에 카카오api v2가 업데이트 되면서 email과 nickname 값을 받아오지 못하더라구요ㅜㅜ

kakaoStrategy.js파일에서  

const newUser = await User.create 부분에 

email: profile._json && profile._json.kakao_account.email,
nick: profile._json.kakao_account.profile.nickname,

으로 변경하시면 잘 작동 됩니다.

하하하 처음으로 오류를 성공적으로(?!)잡아 기분이 좋아서 공유합니당!~

1
Caleb Hyun 프로필

6강 미들웨어 꿀팁들에서 에러 처리 관련 질문 드립니다. Caleb Hyun 2일 전

안녕하세요 ZeroCho 님, 6강 미들웨어 꿀팁들 강좌에서 에러 처리 관련 질문 드립니다.

res.locals.error = req.app.get('env') === 'development' ? err: {};

1) 이 구문에서 req.app.get('env') 가 반환하는 반환값이 어떻게 되는지 알수 있을까요? Express 사이트에서는 app.configure() 함수가 제거되고 대신 app.get('env') 나 process.env 로 대체 되었 다고 나와 있더라구요. 

2) req.app.get('env') 에서 'env' 와 app.use(logger('dev')) 에서 'dev'  가 정확히 무엇인지 잘 모르겠 습니다. 혹시 이게 predefined event (미리 정의된 이벤트) 인가요? 

감사 합니다. 

1
hsjo12 프로필

질문이여 hsjo12 3일 전

강의에서는 쿠키와 세션을 통해서 유저가 로그인 했는지 정보를 인식하잖아요. 

저번에, 어떤 웹사이트를 들어 가봤는데, 들어가자마자 쿠키를 허용하냐고 떴거든요. 이런 웹사이트는 쿠키가 왜 필요한건가요??

로그인도 하지않고 그랬는데요.. ??

1
hsjo12 프로필

질문이여 hsjo12 6일 전

강의중에, redis 아이디가 저번 회사에서 쓰셨던거라고 하셨잖아요. 

하나의 레디스 아이디로 여러개의 사이트를 써도 되는건가요??

30Mb 용량만 괜찮으면요??

반대로 한개의 웹사이트에서 여러사람들이 동시에 접속을하면, 세션의 양이 많아져서 30mb를 초과한다면, 문제가 되는거죠 ??? 

1
세주아니 프로필

선생님 질문이 있습니다. 세주아니 8일 전

댓글 등록시 commenter와 id값이 일치해야 하지 않나요??

저는 자꾸 글번호처럼 뜨는걸까요...(글번호처럼 뜨는게 맞다면;;;헛헛)

PrimaryKey값 users에서 설정해줘야 하나요?(해야한다면 어디에다가...)

강의랑 깃허브에서 파일들 찾아봤는데 primaryKey 를 설정 안해주신것으로 보여서 질문 드립니당

저는 /models/index.js에 id값 생성시 primaryKey : true로 해보았는데두 안되더라구요...

db.User.hasMany(db.Comment, { foreignKey: 'commenter', sourceKey: 'id', primaryKey : true });
db.Comment.belongsTo(db.User, { foreignKey: 'commenter', targetKey: 'id' });

2
-- 프로필

4. http 모듈로 웹 서버 만들기의 라우터 리팩토리 부분 질문 드립니다! -- 8일 전

안녕하세요. 강의 잘 듣고 있습니다. 

http 모듈로 웹 서버 만들기 > 라우터 리팩토리 부분에서 

GET, POST의 경우 제대로 잘 동작하는데 PUT이나 DELETE 동작을 수행하고자 할 경우

(matchedUrl || router[req.method.toLowerCase()]['*'])(req, res);

                                                         ^

TypeError: (matchedUrl || router[req.method.toLowerCase(...)].*) is not a function

    at Server.<anonymous> (/Users/-/Desktop/code/study_nodejs/restServer.js:79:58)

    at Server.emit (events.js:210:5)

    at parserOnIncoming (_http_server.js:745:12)

    at HTTPParser.parserOnHeadersComplete (_http_common.js:115:17)

계속 위와 같은 에러가 떠서 질문 드립니다!

리팩토리 이전까지는 잘 진행되었는데 이후에 계속 같은 오류가 뜨네요 ㅠㅠ 

제가 작성한 코드는 아래에 따로 작성하겠습니다.

도움 주시면 감사하겠습니다.

5
세주아니 프로필

허허 배포했는데 삭제가 안되네요.. 세주아니 12일 전

C:\Users\SEJUANY\Desktop\Node.js\npmtest>npm unpublish -f npmtest-8346
npm WARN using --force I sure hope you know what you are doing.
npm ERR! code E400
npm ERR! 400 Bad Request - DELETE https://registry.npmjs.org/npmtest-8346/-rev/3-173472aee0d54751c5c54d8ed7b54f11 - You can no longer unpublish this version. Please deprecate it instead
npm ERR! npm deprecate -f 'npmtest-8346@*' "this package has been deprecated"

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\SEJUANY\AppData\Roaming\npm-cache\_logs\2020-01-09T18_02_29_727Z-debug.log

에러메시지는 이렇게 뜨고 에러코드 들어가보니깐

{"code":"MethodNotAllowedError","message":"GET is not allowed"}

이렇게뜨네용 선생님이랑 패키지 이름 똑같이 했는데...죄송합니다.

2
김한솔 프로필

질문있습니다! 김한솔 13일 전

강의 잘보고있습니다..

보던중에 궁금한게있어서 질문드려요

나중에 node.js로 포트폴리오를 만들려하는데

db랑 연동해서 쓸때 자기컴퓨터에서만 서버가 돌아가는데

나중에 인터넷에 링크치면 db랑 연동되서 접속되게 하는법이 있는건가요?

1
세주아니 프로필

선생님 죄송한데 html 태그관련해서요.... 세주아니 13일 전

혹시 form 태그 안에 있는 button은 자동으로 submit이 되나요?

지금까지 항상 input태그에 type=submit을 붙여서 사용했는데

강의처럼 type 값이 없이도 submit 되는거 같네요...

지금까지 배우면서 아무도 알려주지 않아 질문해봅니다(창피)

궁금해서 미치겠슴다

PS. res.writeHead()에서 {}괄호 안에는 무조건 한칸 띄워줘야 작동하나요?? 

안 띄우고 작동하니깐 안되던데 왜 그런건지 알려주실 수 있나요?

3
김한솔 프로필

4장에 뒷부분이 이해가 잘안됩니다. 김한솔 14일 전

아예 이해가 안된다기보단 어떤일을 하는진 알겠는데 코드하나하나씩 따라가기엔 모르는개념이 있습니다.

뒷부분부터 모듈 가져다 쓰던데, 일단 그냥 이대로 다음장으로 넘어가는게 좋을까요?

1
hsjo12 프로필

질문이요 hsjo12 17일 전

제가 JWT를 통해서, 비밀번호 찾기 기능을 만들고 있습니다.

1. 유저가 아이디 이메일 입력 하고 전송버튼을 누릅니다..

2. 서버에서, DB에있는 받은 아이디값을 조회후, DB에 유저정보가 있으면 JWT 토큰에  아이디를 넣어서 유저 이메일로 보내줍니다. 

3. 유저는 이메일 안에, JWT가 쿼리로 되어있는 링크가 있고 그걸 클릭시, JWT가 verify 되면서, 비밀먼호를 바꿀수 있는 페이지로 이동시키려고 생각중입니다.  

여기에서 궁금한점이,

1. JWT를 쿼리로 보내도 되는 건가요??,

그냥 완전히 노출하듯이 쿼리로 보냈는데, 보안상으로 문제가 있는건가요..? JWT 안에는 딱히 있는 값이라고는 [Id : 2 ] 이거 뿐이긴 해요...

강의에서는 헤더로 보내주셨는데, <a href= ___> </a> 이 상태로 링크+JWT를 보내는데, 헤더로 보낼 방법이 없는거 같더라구요... 

1
l 프로필

add,set,remove 함수 명명규칙이 궁금합니다. l 27일 전

[add,set,remove] + 대문자명으로 시작한다고 하셨는데

그럼 User : User,  N:M 관계에서 테이블명이 Follow인데

왜 여기서는 Following이 되는지 궁금합니다.

2
jung ae Kim 프로필

장소검색 서비스구현. 구글 API 키 사용 부분 jung ae Kim 28일 전

안녕하세요 책&동영상 강의 보면서 스터디 중인데 책기준..13장 장소검색 서비스 질문드립니다.

구글 API 키를 발급받아서  .env 파일에 PLACES_API_KEY 값에 제가 발급받은 API키 값을 넣었는데요

서버 시작해서 웹화면에서 테스트를 하면 검색결과가 지도에 순간 표시 되다가 에러 화면으로 넘어가서요..

개발자도구에서 에러난 부분을 마우스오버해서 보면 API키로 넘어가는 값이...제가 .env파일에 업데이트한 값이 아니라

제로님 책에 기재되어 있는 그 키값으로 넘어가더라구요

이유를 모르겠어서 질문 남깁니다^^

2
백세영 Baik 프로필

워크벤치 활성화 부분. 백세영 Baik 1달 전

1. workbench에서 + 를 눌러서 새로만들기를 하고 root 등 입력하고 ok 를 해서 새로운 창에 들어갔습니다. 

그런데 강좌와 같이 schema 버튼이 활성화가 안되어있고 connection도 STOP으로 되어있습니다. 

어떻게 해결가능한가요 ? 

2.이상태에서 터미널에서  sequelize db:create 을 하면 connect ECONNREFUSED 127.0.0.1:3306 에러가 뜹니다. 

답변 부탁드려요 ㅠㅠ

2
김건훈 프로필

[Error] 여러 개의 태그를 검색하고 싶으면 어떻게 해야 하나요? 김건훈 1달 전

const arr = ['테스트', 'test'];
    try{

        const hash = await Hashtag.findAll({ where : { title : arr }});

        console.log(hash);
        let post = [];
        post = await hash.getItems();

        res.render('main', {
            title: 'WeAreHere 중고 & 플리마켓 SNS',
            posts: posts,
            user: req.user,
        });

    } catch (error) {
        console.error(error);
      next(error);
}

여러 개의 태그를 검색해보고 싶어서 검색하고 싶은 태그를 arr에 넣고 테스트 해봤습니다. 그러나 아래와 같은 에러만 발생하네요 ㅠㅜ

hash.getItems is not a function

TypeError: hash.getItems is not a function
    at D:\Study\Server\nodejs\nodejsLib\URI\routes\search.js:16:27

findAll을 했을 경우에는 어떻게 관계있는 로우를 조회할 수 있을까요?

1
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스