의식적으로 매번 인지할점
- 말 하기전 주어포함 체크
- 말의 시작과 끝의 톤을 동일하게 할 것
Feeling
- 늦은 시간에 TIL을 써서 그런가 쓰는 시간이 아까움
- 선택과 집중 그리고 마인드셋의 중요성
Problem & Solution
- 본질을 꿰뚫어 보는 것도 좋지만 시간이 오래 걸린다면 유연하게 다시 생각해볼필요
- 같이 일을 하는데 혼자 모른다?
- 해결법
- 우선순위 재구성
- 지식의 범위 확장
- 나무 보다 숲을 보는 비중 조금 더 늘리기
절차지향적 사고 로깅
- 로그인에 앞서 전에 만들어둔 쇼핑몰 파일이 달라져서 첨부터 다시 만드는건 너무 시간 소모가 크고 어떻게 해야할지 고민
- 강의 토대로 절차적인 회원가입 API 구상 및 구현
- req로 들어오는 값은 닉네임, 이메일, 비밀번호, 재확인 비밀번호
- res로는 비밀번호와 재확인 비밀번호가 동일하고 닉네임과 이메일이 데이터베이스에 존재하지 않을때 가입을 허락
1. 브라우저에서 개발자도구를 킨상태에서 회원가입API를 실행시키는 '회원가입' 버튼을 누른다.
2. request Url을 참고해서 해당 api를 서버사이드에서 만들어 준다
3. 구조분해 할당으로 닉네임, 이메일, 비밀번호, 재확인 비밀번호를 변수로 지정해준다
4. 비밀번호와 재확인 비밀번호가 다를 경우 에러처리
5. 닉네임과 이메일이 데이터베이스에 이미 존재할 경우 에러처리
6. 두 조건을 통과 했으면 마지막으로는 회원가입을 시켜주기위해서 req로 받은 4개의 데이터를 토대로 데이터 생성!
- 패스 워드는 항상 암호화를 해서 서버 개발자조차도 모르게 해야됨!!!
- 여러 암호화종류중에 단방향 해쉬사용
- 로그인 API 구상 및 구현
- 구현 방법 추측해서 머리속에서 시도 5분!
1. 브라우져에서 개발자도구를 킨 상태에서 '로그인' 버튼클릭시 나오는Request Url을 확인후 서버사이드에 해당 API를 만들어 준다.
2. 개발자 도구에서 볼수 있는 heades를 참고해 어떤 값이 보내지는 지확인한다
1. req.body = email, password
3. email이 unique한 값이니 이 값으로 몽고디비에 저장되어 있는 데이터를 찾는다
4. 찾았으면 해당 데이터의 비밀번호와 req.body에 담겨져 있는 비밀번호 값을 비교후 서로 다르면 에러를 같으면 로그인을 지속하게 해주는 것을 담아준다 (쿠키, 세션, 어쩌구 저쩌구 사용하것지)
- 강의 토대로 절차적인 로그인 API 구상 및 구현
금일목표 및 추가로 한일
- [x] 회원가입 API 구현
- 이해도 8.5
- [x] 참로그인 API 구현
- 로그인 auth 미드웨어 내부에서 돌아가는 코드 특히 .then이 들어가는 프로미스 부분부터 그리고 res.locals 부분이 이해력이 떨어짐
- [x] 내 정보 조회 API 구현
- [x] 인증 기능 미드웨어 구현
- [x] mysql 사용법 알아가기
TimeTracking
- 12:35
- 집으로
- 12:49
- 잘준비
- 1:37
- 숙면 6시간 23분
- 8:00
- 누워있음
- 8:20
- 샤워 및 건조
- 8:52
- 청소 후 나갈준비
- 9:10
- 출근
- 9:30
- 조식 및 로깅
- 9:45
- 점심시간? 따로 없는거?
- 9:50
- API 구현
- 로그인
- 회원가입
- 내 정보 조회
- 10:24
- BR
- 10:37
- ing API 구현
- 10:55
- 팀회의
- 11시 회의
- 11:16
- ing API 구현
- 11:56
- 점심
- 양치
- 12:52
- ing API 구현
- 졸리기 시작
- 1:10
- 낮잠 -16분
- 준비 - 4분
- 1:30
- ing API 구현
- 2:10
- 크루원과 대화
- 2:20
- ing API 구현
- 2:49
- 원 thㅜ thㅡ리 포! 들으며 크루원들의 성장일기 구경중
- BR
- 3:10
- ing API 구현
- 3:52
- BR
- 3:57
- ing API 구현
- 7번 연속으로 졸림
- 4:11
- 낮잠
- 4:32
- ing API 구현
- 5:42
- Joi를 이용해 검증하기
- 사용자 인증 기능을 구현
- 6:33
- 저녁
- 7:02
- MySQL
- sequelize
- 질의응답
- 로그인 회원가입 인증 기능 API 따라하면서 생긴 의문들
- 공식문서 읽어봄
- 8:02
- 터미널에서 실행
- 졸림
- 8:38
- 쪽잠준비
- 8:41
- 8:57
- 3분
- 9:00
- 팀 미팅
- 크루원과 대화
- 이해 경계선
- 마음가짐 점검
- 9:39
- 이해 및 따라하기
- sequelize 설정
- 로그인/회원가입 기능을 Sequelize로 구현하기(1)
- mysql은 끄고 다시키면 데이터를 다시 업로드 해주어야 되는데 npx sequelize db:create하고 npx sequelize db:migrate을 치면됨
- 11:10
- TCP와 UDP 차이점 조사하기
- TCP란?
- Transmission Control Protocol (전송 제어 프로토콜)
- 신뢰성 데이터 전송
- 3 way handshaking(fin - ack,fin - ack)
- 데이터 경계 없음
- 서버 클라이언트 서로 데이터 잘 받았는지 체크
- UDP란?
- User Datagram Protocol (사용자 데이터그램 프로토콜)
- 클라이언트와 서버 통신 방법 썅마이웨이
- 데이터 던질 테니까 알아서 받어!
- 데이터 경계 있음
- Socket이라는 개념에 대해 조사하기
- 뭐임?
- 데이터 통신을 가능하게 해주는 연결 부위(Endpoint)
- 어떻게 쓰임?
- 각 endpoint(클라이언트와 서버)에 소캣 생성
- 확인 법은 서버는 클라이언트에서 받은 데이터를 console사용해서 찍어보고 서버는 클라이언트에 약속한 데이터를 보내줌
- Web socket에 대해 조사하기
- 12:25
-
- mongoose to sequelize
- 상품이 나오지를 않아서 출력했는데 아무것도 안나옴
- 답안지 똑같이 참고해봄
- 변화없음
- MYSQL에 Users 테이블만 보임
- generate 할때 models 하고 migration에 파일 생겨서 테이블 생성 된줄 알았는데 다른데 저장이 detabase_dev말고 다른데 저장된건가? 다시봐야됨
- 테이블 실행 명령어와 연관있어보임
- goods 하고 cart 테이블 안보이는 이유 알아 볼것
- 1:36
- TIL 작성
- 1:51
- 퇴근 준비
-1:55