2025년 1월 1주차

김동환·2025년 1월 3일

WIL: Express 서버 구축 및 회원가입/로그인 API 구현


FACTS (사실, 객관)

  • 이번 주 동안 Express.js를 활용해 서버를 구축하고 RESTful API를 설계했다.
  • 서버 구축 초기 단계에서는 기본적인 Express 설정과 간단한 라우트를 구현했다.
  • 이후 데이터베이스 연동을 위해 Prisma ORM을 도입하고, 회원가입 및 로그인 기능을 개발했다.
  • 회원가입에서는 비밀번호 암호화(bcrypt)와 중복 이메일 검사를 구현했다.
  • 로그인에서는 비밀번호 비교 및 JWT를 활용한 인증 토큰 생성 로직을 작성했다.

FEELINGS (느낌, 주관)

  • Express를 처음 다룰 때는 간단해 보여도 실제로 확장 가능하고 구조화된 서버를 만드는 데는 세심한 설계가 필요하다는 것을 느꼈다.
  • Prisma와 JWT 등 다양한 도구를 활용하며 개발 과정이 흥미로웠고, 특히 회원가입/로그인 로직을 완성했을 때 뿌듯함을 느꼈다.
  • 에러 처리와 보안 측면에서 신경 쓸 부분이 많아 다소 어려움을 느꼈지만, 문제를 하나씩 해결하며 자신감이 생겼다.

FINDINGS (배운 것)

  • 서버 구조화: Express를 모듈화하고 미들웨어로 요청 처리를 분리하는 방법을 익혔다.
  • 보안 기초: 비밀번호 해싱(bcrypt)과 JWT를 활용해 안전한 인증 시스템을 구축하는 방법을 배웠다.
  • API 설계 원칙: RESTful API 설계에서 HTTP 상태 코드와 명확한 응답 메시지의 중요성을 깨달았다.

FUTURE (미래)

  • 리팩터링: 코드의 모듈화를 더 세분화하여 유지보수성을 높이고, 서비스 확장을 고려한 설계를 지속적으로 적용할 것이다.
  • 리프레시 토큰 구현: 인증 로직에 리프레시 토큰을 추가해 더 안전하고 확장 가능한 인증 시스템을 만들 계획이다.
  • 에러 처리 개선: 중앙집중식 에러 핸들링을 도입해 코드의 일관성을 높이고, 사용자 친화적인 에러 메시지를 제공할 것이다.
  • 테스트 자동화: Jest와 같은 테스트 프레임워크를 활용해 API의 유닛 테스트와 통합 테스트를 작성할 것이다.
  • 실제 배포: 학습한 내용을 바탕으로 클라우드 서비스를 이용한 서버 배포를 시도하여 실제 환경에서도 운영 가능한 시스템을 만들어보고 싶다.

이번 주는 Express와 관련된 기본기를 다지며, 실제 서비스를 구축할 준비를 하는 데 큰 진전을 이뤘다. 앞으로 학습과 프로젝트를 통해 더 복잡한 요구사항에도 대응할 수 있는 개발자가 되도록 노력할 것이다.

profile
Node.js 7기

0개의 댓글