본문 바로가기

Boostcamp 2020

부스트캠프 회고 - 멤버십 1주차 day2

<Today I Learned>

  • express 미들웨어의 개념
    • app과 router에 추가해서 request가 미들웨어의 처리를 거쳐가도록 만드는 구조
    • cookie-parser나 express 내장 json파서, url인코더도 미들웨어
      • 최초에는 평문으로 들어온 http request를 처리해줌
  • pug 사용법
    • include, extends 사용하기
      • header, footer 별도 모듈화
      • layout으로 기본 웹페이지 틀 세팅
    • express에서 render할때 parameter 넘겨받기
  • HTML 사용법 복습 & 학습
    • 회원가입 form 세팅하기
    • dialog로 modal window 띄우기
  • nedb 사용법
    • mongoDB를 간소화시킨 경량 embedded DB
    • nedb-promises로 async/await 문법 사용가능

<오늘의 느낀점>

  • 이틀 연속 늦게 자니까 너무 피곤하다...
    • 커피마시는 기계가 되었다
  • 데일리 스크럼을 처음 해보았다
    • 프로젝트 규모, 기간이 커서 그런지 조원 분들의 스타일이 다른 것이 확 느껴진다
    • 계획서 작성방식, 구현속도, 구현순서 모두 차이가 있다
      • 협업 시에는 명시적으로 통일하지 않으면 작업방식들이 제각각이겠지?
  • 본격적인 웹서비스 구현
    • html / css 정말 다 까먹었다...
      • html element들이 다 외워지는 날이 올까?
      • html cheatsheet 키고 했는데도 모르겠다
    • 퀄리티 & 범용성 VS 개발속도의 tradeoff
      • 가장 좋은 패키지, 구현방식을 찾으려고 하면 시간이 소요된다
        • npm에서 적당한 DB package를 찾느라 시간이 오래걸림 
      • 나중을 생각해서 미리 구현하는 것도 개발속도가 희생된다
        • DB에 넣을 데이터 자동 생성기를 만들었다
          • faker.js 사용
          • 만들어놓으니 편한데, 구현시간은 오래걸렸다!
          • 이건 프로젝트 끝나기 전에 또 쓸 것 같기는 하다
          • 최종적으로 개발속도에 긍정적인 역할일지 궁금하다.
        • 선택구현사항을 고려하지 않기로 결정
          • 최초에는 염두에 두고 모든 모듈을 짰다
          • 시간상 좋은 전략이 아니라는 생각이 들었다
          • 그때가서 추가하고 만드는 것이 더 좋을 것 같다
    • TDD 하고싶은데... 
      • 구현시간이 부족하다
      • html 생성이나 랜덤 데이터 생성기는 unit test가 힘들다
      • 표준 express 구조에서는 어떤 모듈들을 unit test 할까?

<오늘의 칭찬>

  • 반복작업을 자동화: DB 랜덤 데이터 생성기
  • Slack에서 다른 분의 질문을 같이 해결하려고 노력했다
    • Windows / WSL 환경에서 파일을 변경해도 서버 재시작이 안되는 문제
    • mounted 된 가상환경에서는 nodemon -L (--legacy-watch)를 사용해야 함

<개선점 & Reminder>

  • daily 스크럼 요약 실시간으로 작성하기
  • 휴식 위해서 자정 전까지 필수로 컴퓨터 끄기