작성
·
129
0
안녕하세요, 먼저 좋은 강의 감사드립니다. 강의 공부 이후 몇가지 질문이 있어 글 남깁니다 !
1. 아래 코드에서
hash()의 콜백은 데이터가 암호화 되면 발생한다고 하였는데, 그럼 hash의 파라미터 두개가 들어온 시점에서 이미 암호화가 된것인가요? user.password = hash를 해주는 것이 암호화를 해주는 것 아닌가요?
2.
sign()에서 user.id를 toHexString()으로 해서 넣어줬는데, 그렇다면 만약 제가 db에 따로 id항목을 만들어서 1~관리한다고 치면 user._id가 아닌 user.id를 사용해도 괜찮은것인가요?
또한 위에서 save를 쓰는데 우리는 위에서 pre("save"를 만들었습니다.
그럼, 이 코드에서도 위에서 작성한 pre가 작동한 이후에 비밀번호가 바뀌는 경우가 아니기때문에 그냥 next()되는 것인가요?
3. 서버측 auth.js에서,
이 코드는 cookies가 따로 선언된곳이나, 들어오는 request에도 쿠키가 있는지 잘 모르겠습니다.
어떻게 사용할수있는건가요 ??
4. 서버측 user.js의 pre ("save, 중
제가 이해한 바로는, 이 isModified는 password가 수정된 경우 true를 반환하는 함수인데,
우리는 회원가입 할 때 save 직전에 이 함수가 실행됩니다.
이 때 회원가입에서 사용되는 데이터는 클라이언트 측에서 보내온 데이터이구요.
그렇다면 password의 변경점이 없었다고 생각하는데 왜 true가 반환되어 실행되는 것인가요?
genSalt도 아래에 있기에 입력숫자 -> salt변경도 아닌 것 같고, 혹시 db스키마를 만들면 기본값으로 들어있는 값이 있는것인가요 ?
5. loginPage에
onSubmit이 action Creater
dispatch( loginUser(body) )에서 loginUser를 action 이 맞나요 ?
6. 혹시
와 같이 마지막에 (괄호)를 사용하는 문법은 어떤 문법일까요 ?(뭐라고 검색해서 찾아봐야할까요??)
저 코드를 arrow나 function 형태로 정리하면 어떤 식인가요? (아래 질문에 첨부한 코드에서 파라미터를 넣는 형식이 이해가 가지 않아서 질문합니다.)
7. 전체적인 흐름을 다시한번 파악하면서 공부중인데, redux의 type에 관해서 잘 이해가 가지 않습니다.
types.js에서는 어째서 "login_user"와 같이 소문자를 넣어줬는지 (이 부분을 찾아보니 redux의 type권장 ??이라고 하는데 영어가 좀 부족해서 공식문서를 제대로 읽질 못했습니다 ㅠㅠ)
_reducers 폴더에 user_reducer.js에 해당하는 내용이 어떤 파일에서 사용이 되었는지
(제가 이해하기로는 client/index.js에서
에서 Reducer에서 자동으로 _reducers의 index.js를 파악하고, index.js 안에서 combine된 항목들 중 user reducer를 store로 올려 state를 관리하게 한다. 혹시 이게 맞을까요 ? )
강의를 끝까지 다 들어보고 한번에 질문을 올려 질문이 너무 많은 것 같아 죄송합니다.
좋은 강의 찍어주셔서 감사합니다. 앞으로 로드맵 열심히 따라 가보도록 하겠습니다 !
답변 1
0
안녕하세요!
1. 암호화 이미 된 것을 할당해주는 것입니다!
2. 저장하는 경우가 아니라면 아예 저 함수에 들어가질 않습니다
3. req 객체 안에 cookie가 자동으로 할당돼서 날아옵니다.
4. 데이터베이스에 비밀번호가 없는데 생기게 하는 것도 바뀌는 걸로 인식하는 게 아닐까요?!
5. loginUser라는 액션을 디스패치 해줍니다.
6. 이 부분 문법 이름은 저도 찾아봤는데 잘 안 나오는 것 같습니다 ~!
7. 소문자를 사용하든 대문자를 사용하든 괜찮습니다. 저렇게 정의해줘야 실제 오타를 내도 에러로 찾을 수 있습니다. 정의하지 않고 타입을 사용하면 오타가 났을 때 에러 발견하기 어렵게 됩니다.
감사합니다 !