프로덕션 환경에서 `eventEmitter`로 발행한 이벤트를 수신하여 비즈니스 로직을 처리하는 과정에서 런타임 에러가 발생했는데, 이게 서버 중단 현상을 초래했었습니다. 😅
본 글은 Nest Docs Authentication를 토대로 공부하여 작성한 글입니다.Authentication은 대부분의 애플리케이션에서 필수입니다. 직접 인증/인가를 구현할 수 있지만, nest.js에서는 passport를 이용하여 쉽게 구현할 수 있습니다.@ne
본 글은 Nest Docs Database를 토대로 공부하여 작성한 글입니다.nest.js는 SQL, no-SQL 데이터베이스 유명 라이브러리와 호환 가능합니다.주로 많은 사람들이 TypeORM, Sequelize를 연동하여 사용하고 있습니다.그 밖에 Prisma, M
Overviews 플러터로 개발하면서 API 연결에 상당부분 코드를 작성하게 됩니다. Bloc 페이지에 나와있는 아키텍처에 따르면 데이터를 받아와 작성하는 코드 아키텍처는 Presentation Business Logic Data Repository Dat
이전에 TypeORM에서 자주 이용하는 QueryBuilder를 리팩터링하는 법을 배웠습니다.이번에는 TypeORM에서 단일 테이블 상속 패턴을 이용하는 법을 살펴보겠습니다.객체지향 프로그래밍에서 객체의 책임을 적절하게 분배하기 위해서 상속, 합성, 다형성 다양한 기법
지난번에는 TypeORM Repository를 DDD하게 도메인 Aggregate 범위와 일치시키는 법에 살펴보았습니다. 이번에는 TypeORM에서 자주 이용하는 QueryBuilder의 코드량을 줄이는 법에 대해 살펴보도록 하겠습니다. > 🚧 이번 포스트는 코드
솔리다리테 백엔드에서 Nest.js와 TypeORM를 애용하는 편입니다. 두 라이브러리 모두 독스의 완성도가 훌륭한 편입니다. 하지만 실무에 적용하면서 여러 난관에 부딪히게 되더군요. 😃 Repository와 Service의 경계를 분리를 하고, 리팩터링하여 재사용성
현재 솔리다리테 프론트엔드에는 Ant Design UI, tailwindcss 등을 활용하여 개발중입니다. 공식 Docs에서 권장하는 방식으로 개발하기 위해 자주 문서를 확인하는 편입니다.하지만 매 번 확인할 때마다 크롬을 키고, 독스 페이지에 들어가 확인하려는 세부
logo.png 개요 Github Actions를 이용하여 Nodejs 서버를 EC2 환경에 무중단 배포하는 법을 익히고, 포스팅을 하려는 도중 불가피하게 도커를 사용해야 할 것 같아서 배우게 되었습니다. 그러는 도중 대부분 도커에 대한 설명 글/책은 리눅스 운영체제 베이스로 설명하고 있었고, 맥에서는 서버에 대한 접근이 약간 다르다는 것을 깨달아서 정...
mysql 5.7 설치 명령어를 입력해 mysql을 설치합니다. 설치가 완료되고 mysql -u root -p를 입력하면 비밀번호를 입력하라는 문구가 뜰 겁니다. 하지만 저희는 비밀번호를 설정한 적이 없습니다. 이는 우분투 18.04에서 mysql 접속 방법이 기존의 패스워드 방식이 아니라 auth_socket 플러그인을 이용하여 인증 로그인을 하기 ...
들어가기 앞서 Gihhub 레포지토리에 push를 하거나, private 레포지토리를 받아오기 위해서는 Github 계정이 필요합니다. 하지만 매번 할 때마다 비밀번호를 입력하기는 귀찮습니다. 그래서 Github ssh key를 등록하여 손쉽게 ssh 통신으로 push / pull 하는 법을 배우겠습니다. SSH 키 생성 먼저 SSH 키를 생성하...
EC2를 처음 생성하였을 때 NODEJS 환경을 구축하는 법을 알아보겠습니다. NodeJs 설치 PPA를 통하여 최신 버전을 가져옵니다. (12버전 기준) 후에 우분투에 NodeJS를 설치해줍니다. NodeJs와 NPM이 잘 깔렸는지 확인합니다. NPM이 제
Github Action 내부에서 이전 포스트에서 설정하여 만든 AWS 사용자 KEY(credentials.csv 다운 받으셨죠?)를 이용해야 합니다. Github Action에 민감한 정보 저장하기 AWS CLI KEY는 외부에 노출되어선 안된다고 했죠? 하지만 우리의 레포지토리는 공개 레포지토리이기 때문에, 업로드하는 파일은 세상 모두에게 알려지게 됩...
이번 포스팅에서는 정적 사이트 배포를 위한 AWS S3 버킷을 설정하는 법을 배워보겠습니다. 😀 AWS S3 정적 사이트 설정하기 먼저 AWS Console의 S3 서비스로 이동합니다. 스크린샷 2019-11-16 오후 4.38.13.png 버킷 만들기 버킷 만들기를 클릭합니다. 스크린샷 2019-11-16 오후 4....
오늘은 React 프로젝트의 의존 파일(node_modules)들을 다운받아 build 하는 과정을 알아보겠습니다. React Build React 프로젝트는 기본적으로 spa(single page application)이기 때문에, 한 페이지 내에 js 스크립트들을 불러와 화면을 구축하는 방식입니다. npm run build를 하면 정적 파일들로 구축을...
Github Action의 코드를 짜기 이전에 용어를 정리하고 가겠습니다. 용어 정리 Workflow 프로젝트를 빌드, 테스트, 패키지, 릴리스 또는 배포하기 위한 전체적인 프로세스입니다. 워크플로우는 여러 개의 Job으로 구성되며 event(on)에 의해 실행됩니다. Job Job은 하나의 인스턴스(리눅스, 맥, 윈도우 등등)에서 여러 Step을 그룹...
리액트 프로젝트 생성 먼저 리액트 프로젝트를 생성해보겠습니다. 스크린샷 2019-11-16 오전 11.31.24.png 위와 같이 소스코드가 정상적으로 업로드되었습니다....
Github Action Action은 기존에 있는 서비스 Circle CI, Travis CI, Jenkins와 같은 빌드/배포 자동화 서비스입니다. 기존 서비스에 비해 매력적인 부분은, Github 내에서 소스 코드 관리부터 배포 자동화까지 한번에 처리할 수 있다는 점입니다. Github Action은 원래 베타 버전이었는데, 2019년 11월 15일...
깃허브 리드미에서 자주 사용하는 shield.io에 대해서 알아봅시다. Shield IO Shield IO 에서 이런 뱃지를 직접 커스터마이징하여 만들 수 있습니다. Github 프로젝트 Readme를 꾸밀 때 상당히 유용하게 사용할 수 있습니다. https://shields.io/ 해당 링크로 들어가면 스크린샷 2019-07-29 오...