1인 개발
2023.12.23 ~ 2023.12.25
JavaScript 와 Node.js를 사용하며 독학으로 진행한 프로젝트
목표는 Node.js의 사용경험과 동기 비동기 통신에 대해 사용해보는 경험을 쌓고자 진행 함.
위치 API Geolocation, 날씨 API OpenWeatherMap 사용경험
배포 AWS EC2 ubuntu server 이용하여 배포 경험을 갖으며 도메인 구매 후 도메인 연결까지 진행 FE, BE 구성을 하는 경험
- 사용 언어 : HTML5 / CSS3 / JavaScript
HTML5는 웹 페이지의 구조를 정의하고, CSS3는 스타일링과 레이아웃을 담당함
JavaScript는 동적인 사용자 인터페이스와 클라이언트 사이드 스크립트를 구현하여, 웹 페이지에 인터랙티브한 요소를 추가함
- 라이브러리 : dotenv(v16.4.1) / express(v4.18.2)
dotenv: Node.js 애플리케이션에서 API KEY가 노출되지 않게 사용 함
express: 웹 서버의 라우팅, 미들웨어, 요청/응답 처리 등의 복잡한 작업을 단순화하며
RESTful API 구축과 서버 사이드 로직 구현을 위해 사용함
- 서버 : Node.js(v18.18.0)
Node.js는 이 프로젝트의 서버 사이드 자바스크립트 실행 환경으로 사용 함
비동기 이벤트 기반 아키텍처를 통해 효율적인 네트워크 애플리케이션 구축을 가능하게 하며
Express.js와 같은 웹 서버 프레임워크를 사용하여 RESTful API를 구현하고, 서버 측 로직을 관리하도록 사용 함
클라이언트 요청 처리, 외부 API 통신, 데이터 처리 등의 서버 사이드 기능을 수행 함
- 버전관리 및 개발 도구 : yarn(v1.22.21) / nodemon(v3.0.3)
yarn: 프로젝트의 의존성 관리와 패키지 설치를 하고 일관된 개발 환경을 유지하기 위해 사용 함
nodemon: 소스 코드에 변경이 있을 때마다 자동으로 Node.js 애플리케이션을
재시작해 주기 때문에 실시간 코드 변경 사항을 반영하기 위해 사용 함
- DB : localStorage
브라우저를 닫아도 저장된 데이터는 사라지지 않아 간단한 저장소로 사용 함
사용자가 브라우저데이터를 지우지 않는 한 유지 됨 , 단 보안이 취약할 수 있다는 점을 유의해야 한다는 걸 알게 됨
- 배포 : AWS EC2 ubuntu
클라우드 컴퓨팅 서버에 배포할 경우 언제든지 접속이 가능하다 생각 되어 배포함
단 과금을 맞아서 서버는 내렸음 . .
- 학원에서 배우지 않은 Node.js와 RESTful API을 사용해본 좋은 경험이 되었음
- npm , yarn 을 써보면서 패키지 관리 도구에 대해 알게 된 계기가 됨
- DB를 따로 구성하지 않더라도 웹스토리지를 사용하는 방법을 알게 됨(localStorage와 sessionStorage차이도 공부하는 계기가 됨)
- AWS에 구축 하면서 SSH통신 및 배포하는 방법을 알게 되며 리눅스 명령어와 리눅스시스템에 대해 직접 사용해보는 계기가 됨
- AWS에 배포를 진행 했다가 과금을 많이 맞아서 아쉬웠음 . . .
- express의 공부를 따로 하지 않고 코드를 찾아서 해석하면서 사용 했던 부분이 아쉬웠음, 별도의 시간을 갖아서 공부를 더 할 예정임