post-thumbnail

Docker 이미지 / 컨테이너

Docker의 이미지는 레이어로 구성된 어플리케이션을 실행시키기 위한 환경을 독립적으로 구성한 파일이다.이미지는 읽기전용으로 생성된 이후엔 이미지에 대한 조작이 불가능해 이미지는 항상 같은 동작을 보장한다.Docker이미지는 Dockerfile을 통해 생성 할수 있다.

2023년 5월 13일
·
0개의 댓글
·
post-thumbnail

docker의 하이퍼바이저

Docker는 Linux의 컨테이너 기술을 사용해 애플리케이션을 패키징해 이미지를 만들고, 해당 이미지를 컨테이너로 실행시켜주는 환경이다.Docker는 2008년에 출시한 Linux 컨테이너 기술을 기반으로 작동한다. Docker 컨테이너는 Docker Engine위에

2023년 5월 6일
·
0개의 댓글
·
post-thumbnail

Redis를 이용한 세션 인증/인가

API에서 유저를 판별하기 위해선 인증 절차를 거쳐 해당 사용자를 검증 하고 인가 작업을 통해 사용자 에게 작업에 대한 접근 권한을 부여한다. 인증/인가엔 대표적으로 두가지 방법이 있는데, 세션 기반 인증과 토큰 기반 인증이다. 토큰 기반 인증은 JWT토큰을 발급해

2023년 4월 28일
·
0개의 댓글
·
post-thumbnail

EC2와 Jenkins그리고 ssh를 이용한 CI/CD 구축

프로젝트를 진행하고 배포를 진행하고 나면 프로그램이 변경될 때마다 배포된 컴퓨터에 들어가 파일을 업데이트하고 다시 서버를 실행시키는 수고를 다들 한번쯤 겪었을 것이다.프로젝트가 끝나게 되더라도 버그가 발견되거나 고도화 작업등을 하게 된다면 직접 배포를 해야하는데 여간

2023년 4월 22일
·
0개의 댓글
·

Prisma 시작해보기

Prisma는 차세대 Node.js와 Typescript ORM이다. 작관적인 데이터모델, 자동화된 마이그레이션, 타입안정성과 자동완성 기능으로 새로운 차원의 개발경험을 선사한다. (공식 홈페이지 번역)저번 포스팅에서 Prisma의 인기가 높아지는 이유에 대해 알아봤

2023년 4월 15일
·
0개의 댓글
·

E2E 테스트에서의 인증/인가

백엔드 API는 보통 인증되지 않은 유저의 접근을 차단하고, 인증된 유저의 구별을 위해 JWT나 Session을 이용한 인증 인가 방식을 주로 사용한다.UnitTest에서는 각각의 로직을 테스트 하기 때문에 인증/인가에 대해 크게 신경쓰지 않고 테스트가 가능하지만 E2

2023년 4월 8일
·
0개의 댓글
·

타입스크립트의 데코레이터

데코레이터란 ECMAScript의 실험적 기능이며, 현재는 타입스크립트에서만 지원하는 문법 중 하나로 @를 사용해서 데코레이터임을 표시한다.데코레이터를 이용하면 클래스, 메서드, 프로퍼티 등에 추가적인 기능을 부여할 수 있으며, 직접 데코레이터를 작성해 가독성이 좋은

2023년 4월 1일
·
0개의 댓글
·
post-thumbnail

Copilot으로 코드 익혀먹기

Github Copilot은 MicroSoft와 ChatGPT로 유명한 OpenAI의 합작으로 2021년 06월 발표한 소스코드 자동완성 인공지능이다.인공지능 모델은 GPT-3모델의 코드 생성 특화버전 Codex 모델이 사용되었다.ChatGPT가 발표된 이후 코드를 작

2023년 3월 25일
·
0개의 댓글
·
post-thumbnail

왜 Prisma를 써야할까? (+anyORM)

현재 Node.js에서 주로 사용되는 ORM은 Sequelize, TypeORM, Prisma가 있으며, 주간 npm다운로드 수는 위에 나열한 순서 대로 다운로드 수가 많다.오늘은 Typescript에 최적화된 Prisma와 TypeORM의 차이점을 알아보고자 한다.P

2023년 3월 18일
·
0개의 댓글
·
post-thumbnail

Express에서 E2E Test 그리고 테스트 환경 분리

이전 Nest.js에서 Jest를 이용한 Unit Test를 진행했다. 비즈니스로직을 검증하는 Unit Test도 물론 중요하지만, 백엔드 API를 호출하는 일련의 과정을 테스트 하는 E2E(End To End)가 더욱 중요하다고 생각한다.E2E테스트는 Unit Tes

2023년 3월 11일
·
0개의 댓글
·
post-thumbnail

GraphQL의 Schema를 만드는 두 가지 방법

GraphQL은 Schema를 통해 각 필드의 데이터 타입을 정의하고 해당 필드를 쿼리를 통해 주고 받는다.Schema First는 개발자가 직접 Schema를 생성하고 해당 Schema를 이용하고, Code First는 resolve와 class의 코드를 기반으로 자

2023년 3월 4일
·
0개의 댓글
·
post-thumbnail

UUID

UUID(Universally Unique IDentifier)란 고유성이 보장되는 id를 만들기 위해 존재하는 표준 규약이며 우리말로 범용 고유 식별자 라고 부른다.데이터베이스에서 데이터를 식별하기 위해선 Primary Key를 통해 데이터를 식별 하게 된다.Prim

2023년 2월 25일
·
0개의 댓글
·
post-thumbnail

포트원과 토스페이먼츠로 결제 FLOW 살펴보기

내가 쇼핑몰을 설립했다고 가정해보자. 결제 수단이 무통장 입금밖에 없다면 아무도 내 쇼핑몰을 이용하지 않을 것이다. 그렇다고 카드결제를 하기위해 수많은 카드기업들과 계약을 할수도 없는 노릇이다.쉽게 카드결제를 도입하기 위해서 존재하는것이 결제대행사이다

2023년 2월 16일
·
2개의 댓글
·
post-thumbnail

GraphQL 이란?

GraphQL은 Facebook에서 만든 API용 쿼리 언어이다.클라이언트는 API서버에 GraphQL 쿼리를 전송해 내가 필요한 정보를 선택해 가져올 수 있다. 웹개발을 처음 시작하면 REST API를 먼저 접하게 된다.

2023년 2월 11일
·
0개의 댓글
·
post-thumbnail

Jest와 Mocking을 통한 Unit Test

테스트 코드는 프로그래밍에 있어 매우 중요하며, 큰 비중을 차지하고 있다. 테스트 코드에는 크게 유닛 테스트, 기능 테스트, 통합 테스트 3가지로 나뉜다. 오늘은 테스트 단위 중에 가장 작은 유닛 테스트를 알아보고자 한다.

2023년 1월 28일
·
0개의 댓글
·
post-thumbnail

Guards와 Exception filters

Nest.js에서 권한을 인가하기 위해선 Guards 클래스가 필요하다. Guards는 기존 Express에선 미들웨어를 통해 관련된 로직을 실행 했으나, Nest.js는 Guards를 통해 인가를 시켜준다. Guard는 Express의 미들웨어와는 본질적으로 다르다.

2023년 1월 23일
·
0개의 댓글
·
post-thumbnail

TypeORM은 왜 Custom Repository를 비활성화했을까?

TypeORM은 nodeJs환경에서 사용할 수 있는 ORM 중 하나다. TypeORM을 제외하고 많이 사용되는 ORM에는 Sequelize, Prisma가 있다.

2023년 1월 18일
·
3개의 댓글
·
post-thumbnail

Service와 TypeORM

Nest.js에서 서비스단은 서버가 돌아가는 로직을 구현하는 곳이다. 데이터를 가공해 DB에 넣거나, DB의 데이터를 꺼내 가공 후 클라이언트에게 전달하기 전 작업과 같은 일을 한다.

2023년 1월 7일
·
2개의 댓글
·
post-thumbnail

Controller, DTO 그리고 DI

Nest.js에서 컨트롤러는 클라이언트에서 들어오는 요청을 처리하고, 클라이언트에 맞는 값을 전달하는 역할을 한다.

2023년 1월 6일
·
0개의 댓글
·
post-thumbnail

Nest.js의 기본과 시작

Nest.js는 백엔드 서버를 구축하기 위한 Node.js 프레임 워크이다. TypeScript를 지원하며, 순수 JavaScript로도 사용 가능하다.

2023년 1월 5일
·
0개의 댓글
·