항해99 실전프로젝트 중간 발표 시간을 가졌다.
3주간 목표한 MVP기능을 다 구현하지 못했지만 기본적인 기능들은 구현한 상태에서 발표를 진행할 수 있었다.
백엔드에서는 도커 사용이유를 정확하게 알 것, ESC를 이용할 것, NodeJS에서 반복문을 많이 쓰면 좋지 않으니 Lamda를 이용해 마이크로서비스를 구축하는 것도 한 번 알아볼 것 등의 피드백 받았다.
코드에 대한 피드백을 많이 받고 싶었지만 주로 구조적인 피드백을 많이 받았다. 남은 3주간 어떻게 우리 프로젝트를 발전 시켜나갈지 고민이 많다. 프론트엔드와 백엔드 속도가 다르다보니 백엔드는 프론트와 상관없이 해볼 수 있는 인프라에 좀 더 집중해야할 것 같다. API를 짜면서 코드를 생각하는게 재밌는데 인프라는 좀 막막한 느낌이다. 하다 보면 익숙해 질 테니 인프라 구축에 좀 재미를 찾아봐야겠다.
타입스크립트는 타입추론에 대해 공부했다. 그리고 as를 써서 타입 단언을 하는 것에 대해서도 공부했다. 아직 이론만 공부를 주로 하고 있는데 프로젝트에 실습을 하며 조금씩 연습해야겠다.
자바스크립트를 까먹지 않을 겸 달력 만들기를 해봤다.
해당 월의 마지막 날짜를 구하려면 아래와 같이 해주면 된다.
new Date(2022, 1, 0).getDate(); //31
new Date(2022, 2, 0).getDate(); //29
new Date(2022, 3, 0).getDate(); //31
달력 만든 코드
const $th = document.querySelectorAll('tbody tr th');
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth();
const firstDate = 1;
const firstDayOfMonth = (new Date(now.setFullYear(year,month,firstDate))).getDay();
const lastDayOfMonth = new Date(year, month+1, 0).getDate();
let day = 1
for(let i = firstDayOfMonth; i < $th.length; i++){
$th[i].textContent = day;
day++
if(day === lastDayOfMonth+1) break;
}