마지막 ha , 과제형
당장 좀 눕고싶지마뉴ㅠ
잊어버릴까 적어두는 오류사항들
server
// 1st err 처음 테스트 돌릴때부터 상단에 뜨는 경고..
// 실제로 서버가 돌아가긴해도 https가 아닌 http로 뜨는데
// 쿠키 세팅 문제인건지, 인증서 문제인건지
// 이것 때문에 2시간은 날린거 같은데, 결국 해결은 못봄
// 근데 테스트 통과 안되던건 이것때문은 아니었음, 결국 다 통과하고도 이건 계속 뜸
// 그리고 저 executing은 어디서 계속 튀어나오는건지ㅠㅠ정신 맑을때 파일 다 뒤져야겠음
(node:4653) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
(Use `node --trace-warnings ...` to show where the warning was created)
Executing (default): SELECT `id`, `email`, `password`, `username`, `mobile`, `createdAt`, `updatedAt` FROM `users` AS `user` WHERE `user`.`email` = 'hoyong@codestates.com' AND `user`.`password` = 'password' LIMIT 1;
// 2nd issue async & await => try,catch | promiss then,catch
// 비동기 요청을 쓰는 곳에서, 에러처리,즉 catch를 제대로 안쓴곳에서는 계속 에러가 났었음
// 테스트 통과는 프로미스로 했지만, async로 했을때 try 어디다 쓸건지 연습 필요
//3rd, 각종 express method 와 http 헤더, 바디 설정에 대해..
// res.set, res.cookie, res.json, res.send
// express api 봐 좀!
signup err Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
at new NodeError (node:internal/errors:329:5)
at ServerResponse.setHeader (node:_http_outgoing:579:11)
at ServerResponse.header (/Users/sarah/codestates/im-ha-section-3/ha-section-3-server/node_modules/express/lib/response.js:771:10)
at ServerResponse.send (/Users/sarah/codestates/im-ha-section-3/ha-section-3-server/node_modules/express/lib/response.js:170:12)
at /Users/sarah/codestates/im-ha-section-3/ha-section-3-server/controllers/users/signup.js:21:25
at processTicksAndRejections (node:internal/process/task_queues:94:5) {
code: 'ERR_HTTP_HEADERS_SENT'
}
signup err Error: WHERE parameter "email" has invalid "undefined" value
at MySQLQueryGenerator.whereItemQuery (/Users/sarah/codestates/im-ha-section-3/ha-section-3-server/node_modules/sequelize/lib/dialects/abstract/query-generator.js:2269:13)
at /Users/sarah/codestates/im-ha-section-3/ha-section-3-server/node_modules/sequelize/lib/dialects/abstract/query-generator.js:2258:25
at Array.forEach (<anonymous>)
at MySQLQueryGenerator.whereItemsQuery (/Users/sarah/codestates/im-ha-section-3/ha-section-3-server/node_modules/sequelize/lib/dialects/abstract/query-generator.js:2256:35)
at MySQLQueryGenerator.getWhereConditions (/Users/sarah/codestates/im-ha-section-3/ha-section-3-server/node_modules/sequelize/lib/dialects/abstract/query-generator.js:2674:19)
at MySQLQueryGenerator.selectQuery (/Users/sarah/codestates/im-ha-section-3/ha-section-3-server/node_modules/sequelize/lib/dialects/abstract/query-generator.js:1325:28)
at MySQLQueryInterface.select (/Users/sarah/codestates/im-ha-section-3/ha-section-3-server/node_modules/sequelize/lib/dialects/abstract/query-interface.js:954:27)
at Function.findAll (/Users/sarah/codestates/im-ha-section-3/ha-section-3-server/node_modules/sequelize/lib/model.js:1753:47)
at processTicksAndRejections (node:internal/process/task_queues:94:5)
at async Function.findOne (/Users/sarah/codestates/im-ha-section-3/ha-section-3-server/node_modules/sequelize/lib/model.js:1917:12)
//4th 크롬개발자도구에서 네트워크탭으로 상태코드 읽고 해석하기 아직도 부족..상태코드 의미
client
// server와 client 포트 설정의 의미
// 기본 아닌가..왜 헷갈리는겨..ㅠ 3000과 4000
// react-router-dom의 usehistory
// 회원가입 후 로그인페이지로 이동할 때 썼는데, 정확히 사용법 익혀야겠다
import { Link, useHistory } from "react-router-dom";
const history = useHistory();
history.push("/");
//서버의 익스프레스 메소드 마냥 클라의 axios 문법 확실히 익혀야 함
// 역시 then, catch 처리 잘 해야하고,
// 특히 data 바디로 들어가는 형태나, 헤더, 저노므 withCredentials 옵션같은거 확실히 숙지, 맨날 찝찝해
axios.post(
"https://localhost:4000/signin",
{ email, password },
{
headers: { "Content-Type": "application/json" },
withCredentials: true,
}