소개
게시글
질문&답변
2021.05.17
e.keyCode 질문
안녕하세요, Amen님! keyCode 기능은 더 이상 권장되지 않습니다. 일부 브라우저에서는 여전히 동작할 수 있지만, 이미 관련 웹 표준에서 제거되었을 수 있으며 삭제되는 과정에 있거나 호환성 목적으로만 보관할 것입니다 사용을 피하시고 가능한 경우 기존 코드를 업데이트하셔야 합니다. duplicated된 기능은 가급적으로 사용하지 않으시는 것이 좋습니다. 대체안으로 KeyboardEvent.code 가 사용된다고 합니다. keyCode 문서는 여기 를 참고해주세요. 대체안인 KeyboardEvent.code 문서는 이 곳 을 참고해주시면 됩니다 :) 밑에는 예제 코드입니다 ! 참고해주세요 . window.addEventListener("keydown", function(event) { if (event.defaultPrevented) { return; // Do nothing if event already handled } switch(event.code) { case "KeyS": case "ArrowDown": // Handle "back" updatePosition(-moveRate); break; case "KeyW": case "ArrowUp": // Handle "forward" updatePosition(moveRate); break; case "KeyA": case "ArrowLeft": // Handle "turn left" angle -= turnRate; break; case "KeyD": case "ArrowRight": // Handle "turn right" angle += turnRate; break; }
- 0
- 2
- 838
질문&답변
2021.04.22
로그인 userId값 질문이요
안녕하세요, 초코tv님! (사진) 위의 코드를 보시면, json으로 반환되는 부분에서 userId가 user._id로 되어있는 것을 보실 수 있습니다. 이것은 초코tv님이 처음에 회원가입할 때 입력한 유저의 id가 아닌, mongoDB에서의 식별자 _id입니다. 실제로 mongoDB에서 본인의 데이터베이스를 확인해보면, 아래와 같이 나옵니다. (사진) 회원가입 시에 입력한 유저의 id는 name으로 저장되어있고, _id에 ObjectID("~~") 부분이 보이실텐데요, 바로 이 부분을 json에서 반환해주는 것입니다. 데이터베이스를 확인해보는 방법은, 실습 시에 만드신 클러스터를 클릭해 들어가신 후 (사진) Collections 탭에 들어가시면 실습 시에 Postman으로 입력한 데이터베이스 데이터들이 들어있습니다. 혹시 궁금한 점 있으시면 댓글 남겨주세요. 도움이 되었으면 좋겠습니다 :)
- 0
- 1
- 142
질문&답변
2021.04.22
toString()대신 toHexString() 을 사용한 이유가 궁금합니다~!!
안녕하세요, 김동욱님! toHexString()의 정의는 아래와 같습니다. toHexString() Return the ObjectID id as a 24byte hex string representation. 해석해보면 ObjectID 형태의 id를 24바이트의 hex 문자열로 바꾸어 리턴해주는 함수입니다. 사실, 코드를 뜯어보면 toString()은 toHexString()을 리턴합니다. (사진) 위의 사진을 보면, toString이 toHexString을 반환하는 것을 보여줍니다. 즉, toString이 toHexString의 상위 함수로 볼 수 있을 것 같습니다. (toString은 toHexString을 래핑합니다.) 결국 현재 프로젝트 코드에서 toHexString 부분을 toString으로 바꾸어서 실행해도 오류는 발생하지 않습니다. 제 생각에는, MongoDB에서 제공하고 있는 예제 코드에서도 toHexString으로 사용하고 있고, toString에 포함되어서 더 좁은 의미의 함수이기 때문에 예외발생률이 적어서 사용되는 것이 아닐까 싶습니다. 다른 의견이 있다면, 댓글 남겨주세요. 도움이 되었으면 좋겠습니다 :)
- 0
- 1
- 2.7K
질문&답변
2021.04.22
toHexString()이 정확히 무슨 메소드이죵?
안녕하세요, k0502s님! 강의에서 toHexString()을 적용하기 전에 발생한 에러는 아래와 같습니다. Error: Expected "payload" to be a plain object. 해석하자면 "payload"가 plain object 이어야 한다는 뜻입니다. 즉, jwt.sign(payload, secretKey) 함수에서 payload는 string 형식이어야 합니다. 하지만, mongodb에서 생성된 user._id로 사용한 _id는 string 형식이 아닙니다. 따라서 toHexString() 메서드를 활용해서 형변환을 해주어야 합니다. toHexString() 메서드는 아래와 같습니다. toHexString() Return the ObjectID id as a 24 byte hex string representation. 해석해보면 ObjectID 형태의 id를 24바이트의 hex 문자열로 바꾸어 리턴해주는 함수입니다. 혹시 궁금하신 점이 있다면 댓글 남겨주세요. 도움이 되었으면 좋겠습니다. :)
- 1
- 1
- 656
질문&답변
2021.04.22
에러가 발생합니다 ㅠ
안녕하세요, tlduf95님! 코드를 보면, user.generateToken 부분 if를 봐주세요. if (Err) 라고 err의 오타가 난 것 같습니다. if (err) 로 변경 후 다시 Postman으로 확인해주시면 정상 작동할 것 같습니다. 그 외에 다른 코드에는 문제가 없는 것 같습니다. 혹시, 고쳤음에도 에러가 발생하면 댓글 남겨주세요. 도움이 되었으면 좋겠습니다 :)
- 0
- 1
- 445