소개
게시글
질문&답변
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
- 620
질문&답변
2021.04.22
로그인 userId값 질문이요
안녕하세요, 초코tv님! (사진) 위의 코드를 보시면, json으로 반환되는 부분에서 userId가 user._id로 되어있는 것을 보실 수 있습니다. 이것은 초코tv님이 처음에 회원가입할 때 입력한 유저의 id가 아닌, mongoDB에서의 식별자 _id 입니다. 실제로 mongoDB에서 본인의 데이터베이스를 확인해보면, 아래와 같이 나옵니다. (사진) 회원가입 시에 입력한 유저의 id는 name으로 저장되어있고, _id에 ObjectID("~~") 부분이 보이실텐데요, 바로 이 부분을 json에서 반환해주는 것입니다. 데이터베이스를 확인해보는 방법은, 실습 시에 만드신 클러스터를 클릭해 들어가신 후 (사진) Collections 탭에 들어가시면 실습 시에 Postman으로 입력한 데이터베이스 데이터들이 들어있습니다. 혹시 궁금한 점 있으시면 댓글 남겨주세요. 도움이 되었으면 좋겠습니다 :)
- 0
- 1
- 75
질문&답변
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.4K
질문&답변
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
- 487
질문&답변
2021.04.22
에러가 발생합니다 ㅠ
안녕하세요, tlduf95님! 코드를 보면, user.generateToken 부분 if 를 봐주세요. if (Err) 라고 err의 오타 가 난 것 같습니다. if (err) 로 변경 후 다시 Postman으로 확인해주시면 정상 작동할 것 같습니다. 그 외에 다른 코드에는 문제가 없는 것 같습니다. 혹시, 고쳤음에도 에러가 발생하면 댓글 남겨주세요. 도움이 되었으면 좋겠습니다 :)
- 0
- 1
- 322