본문 바로가기
반응형

nestjs22

[Project] 영어 단어 테스트 앱 현재 나는 지인 동생인 한 남중생에게 공부를 가르치고 있다. 처음에 영단어를 외우게 시키고 매일 수업 때마다 시험을 봤는데 문제가 두 가지가 있었다. 첫째, 수업 시간에 시험을 보면 일주일에 두 번만 시험을 보는거라 외우는 단어의 수가 적다 둘째, 그렇다고 시험 보는 단원의 수를 늘리면 단어 시험 만드는 내가 힘들다... 그래서 이걸 코딩으로 해결해보자 라고 마음 먹은게 이 프로젝트의 시작.. 처음엔 자바 스프링으로 웹을 구현해서 학생에게 줬다. 그랬더니 아무래도 웹은 상대적으로 접근성이 떨어졌기 때문에 모바일의 필요성을 느꼈다. 그래서 먼저 웹으로 만들고, 현재 공부하는 플러터로 웹 뷰를 만들어서 띄우자! 라는 결론에 이르렀다. 사실 프론트,백엔드 코드는 작년 여름 즈음에 이미 완성을 했지만, 학생의 .. 2024. 1. 19.
[NestJS] NestJS Docker 이미지 빌드 기존 진행하던 프로젝트를 도커로 빌드하기 위한 시도. 간단하게 이미지를 만드는거라 어렵진 않다. 먼저 프로젝트 루트 디렉토리에 도커파일을 만들어준다. D는 대문자여야 한다. 그리고 다음과 같이 입력 FROM node:20 WORKDIR /usr/src/app COPY package.json ./ RUN npm install --legacy-peer-deps COPY ./ ./ CMD ["npm","run","start:dev"] 라인 하나하나 설명하자면 제일 첫번째 줄은 베이스 이름을 명시해준다. 도커 이미지를 만들 때는 아예 아무것도 없는 상태에서 만드는게 아니라 어느 정도 기본적인 구성 요소들이 갖추어진 상태의 이미지를 토대로 만들게 되며 이를 베이스 이미지라고 한다. FROM에서 베이스 이미지를 지.. 2023. 12. 19.
[AWS] Github Action으로 EC2에 Nestjs 자동 배포 기존에 AWS EC2에 Nest 프로젝트를 하나 띄워놨었다. 기존 방식은 저장소를 클론해서 pull을 받고 npm run build로 빌드하는 식. 이런 방식이면 배포 브랜치에 커밋이 추가 될 때마다 해당 EC2 인스턴스에 접속해서 pull을 받고 다시 배포를 해야되는 상황이 생겨 불편함이 야기 될 게 뻔했다. 그래서 CI/CD에 대해서 조사를 하던 중에 github action을 사용해서 간단하게 자동 배포 파이프라인을 구축했다. 방식은 다음과 같은데 내가 로컬 컴퓨터에서 깃허브의 레포지토리로 push를 했을 때 github action이 실행되고 github action에서 EC2에 ssh 접속을 해서 작성해둔 스크립트로 pull을 받고 서버를 다시 재가동하는 방식이다. 일단 당연히 EC2(ubunt.. 2023. 10. 4.
[Redis] Redis란? 그 동안 프로젝트에 redis를 붙여봐야지 하고 한참을 미루다가 붙이기 전에 글로 정리하고자 쓰는 포스팅... Redis는 Key,Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템이다. 전체 데이터를 영구히 저장하기 보다는 캐쉬처럼 휘발성이나 임시성 데이터를 저장하는데 많이 사용된다. 디스크에 데이터를 주기적으로 저장하기는 하지만, 이 기능은 백업이나 복구용으로 주로 사용하고 데이터는 모두 메모리에 저장되기 때문에, 빠른 접근 속도를 자랑한다. 그렇다면 데이터를 저장하는 데이터 베이스가 있는데 왜 Redis라는 인메모리 데이터 구조 저장소를 사용하는 이유는 무엇일까? 일단 데이터베이스는 데이터를 직접 물리 디스크에 쓰기 때문에 서버에 문제가 발생.. 2023. 9. 11.
반응형