[항해99] 1주차 WIL (2021.09.13~2021.09.19)

ynjnkn·2021년 9월 22일
0

1. 미니 웹 프로젝트

1-1. 프로젝트 필수 포함 요소

  1. Jinja2 템플릿 엔진을 이용한 서버 사이드 렌더링
    • 서버 사이드 렌더링 장점 : 웹페이지에 표현될 데이터를 서버에서 미리 처리한 후 브라우저로 보내주기 때문에 클라이언트 사이드 렌더링과 달리 유저는 웹페이지를 진입했을 때 이미 완성된 화면을 볼 수 있음.
  2. JWT 인증 방식으로 로그인 구현
    • 쿠키/세션 대비, JWT 인증 방식으로 로그인을 구현했을 때의 장점: 요청 인증시 암호화된 토큰의 유효성을 검사하여 인증하기 때문에 서버 세션에 발급한 토큰과 인증 정보를 저장할 필요가 없어 서버의 리소스 소모가 훨씬 적음. 또한 토큰의 만료 시간을 설정함으로써 유저가 로그아웃을 잊어버림으로써 발생할 수 있는 보안의 위험을 대비할 수 있음.

1-2. 결과물

    1. 서비스 제목: MEAT-UP
    1. 서비스 소개: 다양한 맛집들에서 새로운 사람들과 모임 가질 수 있도록 모임을 생성하고 참가할 수 있는 웹서비스
    1. 주요 기능 소개:
    • a. 로그인/로그아웃 기능: 아이디 중복 검사 및 정규표현식을 이용한 아이디와 비밀번호 형식 검사
    • b. 모임 생성 기능: 모임 생성 버튼 클릭시 나타나는 모달 팝업에 모임에 대한 정보 기입 가능 (제목, 일자, 설명, 최대인원, 장소, 식당 및 음식)
    • c. 모임 리스팅 기능: 모임이 생성된 역순으로 메인 페이지에서 참가 가능한 모임들 리스팅
    • d. 주최자 및 참가자별 인터페이스 구분: 주최자는 자신이 만든 모임들에 대해 수정 및 후기를 작성 가능. 참가자는 모임 참석 및 참석 취소 가능.
    • e. 모임 후기 작성: 1~5까지의 만족도 선택과 텍스트로 후기 작성 가능
    1. 동작 영상: https://youtu.be/8SDGsYM4nNM

1-3. API 리스트

    1. 로그인 페이지 호출 API (GET)
    1. 로그인 API (POST)
    1. 회원가입 API (POST)
    1. 아이디 중복 여부 판별 API (POST)
    1. 메인 페이지 호출 API (GET)
    1. 모임 생성 API (POST)
    1. 모임 참여 및 취소 신청 API (POST)
    1. 모임 수정 API (POST)
    1. 모임 삭제 API (POST)
    1. 후기 모음 페이지 호출 API (GET)
    1. 후기 작성 API (POST)

2. 느낀 점

  • 기능별로 최대한 세분화하여 API를 설계하는 것이 효율적이라는 것을 배웠음.
  • 예기치 못한 데이터의 유입으로 인한 오류를 방지하고자 서비스의 안정성과 완성도를 위해 예외 처리가 중요하다는 것을 경험할 수 있었음.
  • Git에 대한 이해가 없어서 협업을 하는데 굉장한 비효율이 발생했음. Git 공부에 대한 필요성을 느낌.
  • 필요한 강의 내용들만 골라 공부하면서 내게 할당된 기능들을 구현하는 개발 방식에 낯설기도 했지만, 되돌아보니 가장 효율적인 학습 방식인 것 같음.
  • 코드를 완성해가는 과정을 최대한 잘게 쪼개서 중간 과정들마다 기대되는 결과물이 나오는지, 오류의 원인은 무엇인지 파악하는 디버깅 스킬이 향상됐음.
  • 필요한 부분의 코드들만 가져다 쓰는 효율성에 대해 경험할 수 있었음.
  • 비록 항해99 기간동안에는 프론트엔드와 백엔드 둘 중 하나의 주특기를 선택해야 하지만 두 기술 스택의 핵심을 경험할 수 있는 프로젝트의 범위가 마음에 들었음. 하나의 웹서비스가 최소한의 범위에서 어떻게 구현되고 작동되는지를 경험할 수 있었음. 나의 경우 역시나 유저와 밀접하게 소통하며 원하는 데이터를 수집할 수 있는 채널을 만드는 프론트엔드가 더 관심이 감.

0개의 댓글