회원가입 및 포스팅 후기

하나의 app.js에서 layered pattern을 적용해서 레이어 계층을 구조화해서 정리를 해보았다. 처음 해보는 계층화라서 서툴렀지만 진행할수록 깔끔해지며 가독성이 높아져 재미가 있었다. 에러를 찾는데도 더 쉬워졌음. 이후 암호화를 배우며 인증인가하는 로직을 추가해주었다.
bcrypt와 JWT Token을 실제 로그인할 때 적용해보니 학부때 배웠었던 단방향 암호화와 양방향, 해시 함수등 배웠었던 기억이나면서 직접 코드 진행을 하니 좀더 확실하게 이해할 수 있었다. 그리고 DB구조를 설계할 때 주어야할 조건들을 잘 정리하는게 중요하다는걸 로그인과정중 sql을 사용해 조건(email unique)을 추가하고 변경해주면서
ERD초기 설계의 중요성에 대해 생각해 볼수 있는 계기가 되었음
코드를 짜는 연습도 필요하지만 내가 원하는 기능의 로직이 어떻게 돌아서 결과를 내밷는지 확실하게 정리하고 흐름에 대해 이해해서 코드작성을 할 수 있었기 때문에 로그인과 토큰 발급처리를 그래도 원만히 진행할 수 있었던것 같다. (회원가입을 하고 로그인을 할때 bcrypt로 인증하고 jwt Token으로 서버가 나에게 인가를 전해주면서 게시물 게시,수정 삭제할 때마다 토큰을 확인해 원하는 기능을 할 수 있음)
또한 미들웨어를 작성하면서 node.js의 express에 대해 약간은 알아간 기분이며
내가 예상한 에러를 에러 핸들링으로 처리하고 예상하지 못한 에러를 마주하면서 본인 코드에 안주하지 않고 여러 에러상황에 대해 생각을 하고 대비를 해야 한다는 생각
= : 엔드포인트의 심플함과 디테일, DB의 초기 구조중요, 에러의 예상과 대처, express, 효율적 아키텍처, layered pattern
=: 코드의 가독화 높이기, req/res구조, 유지보수 가능성/재사용성/확장성을 생각해서 코드 구조화, express의 여러기능들 알기 공부 부족한건 더 많음
프론트와 통신을 처음 해봤는데 res에 담아서 보내는 변수이름의 설정, 데이터에대한 조건들을 맞춰주는게 기본사항인것 같다.
실제로 데이터를 인풋하고 저장된걸 보면서 혼자 코딩할때보다 재미가 있었다.