관리 메뉴

나의 개발일지(김지헌)

항해 99 89일차 12/16일 본문

항해 99

항해 99 89일차 12/16일

코딩이좋아요 2022. 12. 17. 00:32

오늘은 14시부터 17시까지 발표와 협력사 세션을 들었고 다른 조 들의 발표를 보면서 다양한 방법과 코드가 있는 것을 알수 있는 좋은 경험이였다. 그 후 노션에는  프로젝트 경험을 정리했다.

  • 기존에는 자바스크립트로 구현을 하였는데 자바스크립트는 런타임이 시작되고 나서 에러가 발생 하기 떄문에 오류가 잦고 쉽게 타입을 알 수가 없습니다. 그 때문에 서버에 치명적이고 에러의 원인을 쉽게 파악 하지 못하는 단점이 있어서 타입스크립트로 선택하였습니다. 장점으로는 정적 타입의 언어로 런타임 전에 에러를 잡을 수 있고 파라미터들의 타입을 한눈에 알 수 있고, 코드를 쓰기 전에 타입을 한번 더 생각하게 되면서 런타임 전 에러와 타입을 잡을 수 있는 장점이 있었습니다. 타입스크립트 공부를 처음 시작 했을 때는 기초적인 지식이 부족 했기 떄문에 이해하는데 오래 걸렸고 지금까지 코드를 따라만 치면서 해왔던 것을 알게 되었고 무작정 구글에 찾아보기 보다는 한번 더 생각하게 되고 라이브러리의 함수 같은 경우도 어떤 클래스와 인터페이스로 구성되어있는지 확인하게 되면서 코드에 대한 이해가 깊어지면서 성장 하는 것을 느끼는 좋은 경험이였습니다.
  • 실전 프로젝트전까지는시퀄라이즈 명령어를 동해서 테이블 생성과 migrate를 했었는데 명령어를 사용하지 않고 직접 구현을 해보면서 테이블은 생성, migrate 순서, 관계 설정 및 데이터베이스 연결 등 부하 테스트를 통해 ORM과 SQL query문이 데이터베이스에 접근 할 때 쿼리문과 속도 등 차이점을 많이 알게 되었습니다.
  • EC2 https를 사용한 서버 배포를 더 자세하게 알게 되었습니다
  • http로 이용한 배포는 많이 경험 했지만 https로 배포 후 cors 에러를 잡아보면서 cors라이브러리의 origin의 역할과 화이트 리스트 작성 등 프론트와의 소통이 많이 중요한 것을 깨닳았습니다. 서버 배포 후 두번 정도 다운 되는 일이 있었는데 첫번째는 이미지리사이징을 했을때 sharp 라이브러리를 이용해서 기존 파일의 버퍼를 압축해서 다시 올리는 코드를 작성 하여 로컬로 돌렸을 때는 문제가 없었지만 ec2에서 사용을 했을 때 버퍼를 줄이는 과정에서 메모리의 과부하로 다운되었다. 두번째는 ts-node로 서버를 돌리고 있었고 코드가 양이 적을때는 문제가 없었지만 코드가 길어지고 양이 많아지면서 타입스크립트를 자바스크립트로 컴파일시 메모리의 과부하로 다운되었다. 두가지 경험을 겪으면서 서버를 껏다 키면 ip가 변해서 다시 https 인증서를 받아야 하고 도메인으로 접속이 불가능 했었고 탄력적 ip로 고정시키면 재부팅시 ip가 바뀌지 않는 점과 swap메모리로 임시 방편으로 서버가 다운되는 현상을 조금 줄일 수 있는 방법로 알게되었고 파일질라로 빌드한 코드를 올려서 배포서버에 반영을 하였는데 깃 허브 액션 CD 구축으로 서버 배포 시간이 많이 단축되어 자동화의 필요성도 알게되었다.
  • 협업시 의사소통의 중요성을 알게 되었습니다. 이전의 프로젝트를 진행 했을 때는 api 명세서를 백앤드에서만 작성 했었는데 실전프로젝트를 하면서 프론트와 같이 기본적인 명세서를 작성을 했었지만 기능이 추가되거나 삭제될 때 명세서를 수정하지 않아 어떤 기능들이 추가되거나 삭제가 되었는지 쉽게 알 수가 없었고 프론트에서 응답값을 받아서 코드를 작성 후에 백앤드에서 보내는 응답값의 키값에 변화가 있으면 수정하는것이 오래 걸리는 문제가 있었기 때문에 응답값의 통일성과 소통의 중요함을 느꼇다.

6주간 많은 경험과 프론트와의 소통의 중요성을 배웠던거 같다.

 

'항해 99' 카테고리의 다른 글

항해 99 91일차 12/18일  (0) 2022.12.19
항해 99 90일차 12/17일  (0) 2022.12.18
항해 99 88일차 12/15일  (0) 2022.12.16
항해 99 87일차 12/14일  (0) 2022.12.15
항해 99 86일차 12/13일  (0) 2022.12.14