john-ahn-node-basic Node.js 기반의 웹 서비스 보일러플레이트 제작기 (Repository) 로그인, 로그아웃 기능 구현 많은 것은 아니지만 로그인 및 로그아웃 기능을 구현하였다. 구현하는 과정에서 몇 가지 사항들에 대해서 고민하였다. 한 사용자 당 여러 세션을 허용할 것인지? 당연히 여러 기기에서 동시에 로그인할 수 있으면 좋을 것이다. 그러나 강의에서 사용자 테이블에 토큰 컬럼에 최근에 연결된 세션 토큰을 저장하는 식으로 구현을 해서 강의를 충실하게 따라갈지 여러 세션 연결을 허용하는 설계 변경을 따를지 고민이었다. 결과적으로는 주기적인 토큰 폐기, 최대 세션 개수, 데이터베이스 마이그레이션 등 알 수 없는 변수들로 인해 얼마만큼의 시간이 소요될지 몰라, 다음 프로젝트 진행 시 설계 단계에서 고민해보기로 하고 현재는 계정 하나 당 한 세션만 연결하는 식으로 진행을 하였다. ...
Devlog 20260202
회원가입 기능 구현 회원가입 기능을 구현하면서 세팅 관련 자잘한 작업들을 하니 하루가 다 갔다. 기능 구현 시 가장 고민했던 부분은 아무래도 중복 이메일 처리였다. 이메일 중복 처리 관련 고민 사항 이메일 중복 확인은 어떻게 처리해야 할까? 데이터 일관성을 유지하려면 데이터베이스 계층에서 이메일 칼럼에 대한 유니크 제한 조건을 거는 것이 최선이라고 판단하였다. 다음의 2가지 중 한 가지 방법으로 구현하기로 결정하였다. 해당 이메일을 가진 회원 정보 추가를 시도하고 실패 시 중복 이메일 오류 반환 해당 이메일을 가진 회원을 조회 후, 성공 시 1번을 시도 일단 구현이 더 간단한 1번으로 구현 후 나중에 최적화가 필요할 때 다른 방법을 고려해보기로 결정하였다. ...