profile
해결한 문제는 그때 기록하자
post-thumbnail

NestJS에서 모듈 간 순환 종속성을 없애보자

NestJS로 간단한 프로젝트를 진행하다 인증 모듈과 사용자 모듈간 Circular dependency가 발생했다.실제로 이전 프로젝트에서도 이런 문제가 발생했었는데, 그때는 forwardRef()로 해결했던 기억이 있다.이번에도 시작하기 전부터 이 문제가 발생할 것을

7일 전
·
0개의 댓글
·
post-thumbnail

객체를 분리해보고 데이터베이스 테이블 모델링을 다시 해보자

기존 설계했던 데이터베이스 스키마를 가지고 다시 설계를 해보는 시간을 가졌다.이유는 객체지향프로그래밍을 연습하고 있는데 연관관계에 있는 객체들을 테이블로 구성해보기 위함이였다.설계했던 테이블들은 로그인과 회원가입, 인증에 필요한 데이터들이였고 처음에 다음과 같이 설계했

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

AWS Summit 2023 간단 후기

이번에 코엑스에서 2일간 열린 AWS Summit 2023에 다녀왔다.첫째날은 처음부터 참석했지만 둘째날은 오후부터 참석을 했는데,각 세션별 발표에 대한 내용보다는 처음 이런 행사를 참여해본 후기에 대해 간단히 남겨놓으려 하기 때문에 자세한 내용과 행사 사진들이 궁금하

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

Lambda를 이용해서 S3와 연동시켜보자!

S3 작업에 대한 로직을 개선하기 위해 Lambda Function을 이용했었다.어떻게 Lambda Function을 S3와 연동하는지 해당 방법과 마주칠만한 오류들만 빠르게 살펴보자!일단 Lambda 서비스에 가서 함수를 생성해보자.이 부분은 개인의 환경에 맞게 설정

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

NestJS에서 TypeORM의 Brackets를 사용해보자!

처음 모바일 앱 프로젝트를 진행했을 당시 아래와 같이 사용자가 선택한 정렬조건과 필터조건을 적용한 결과를 얻어야 하는 기능이 있었다. 각각의 조건들을 다 조합하여 조회했기 때문에 선택하지 않은 조건들은 조회를 하지 말았어야 했다. 단순히 전부 .andwhere()또

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

NestJS에서 AOP를 위해 예외 처리와 응답 변환을 분리해보자!

하나의 컨트롤러에 라우터를 추가 할 때마다 예외 처리 로직이 들어가고 Client에게 일관된 응답 형식을 위해 변환하는 로직이 들어갔었다. 기존 코드의 이러한 부분들을 별도의 레이어로 빼서 처리해보는 과정을 살펴보자. 그 전에..기존 작성한 프로젝트 코드가 감히 M

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

NestJS에서 3가지 방법을 통해 S3 객체에 접근해보자!

프로젝트 과정 중에 클라이언트로부터 영상을 받아서 S3에 저장하는 로직이 있었다. 처음엔 로컬 폴더에 저장했다가 경로만 DB에 입력하고... 클라이언트가 넘겨준 동영상을 직접 S3로 올렸다가... 결국엔 클라이언트랑은 동영상을 주고 받지는 않았지만 NestJs에서

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

도커는 무엇이고 어떻게 동작할까요?

이제는 거의 필수가 되어버린 컨테이너 기술에 빠질 수 없는 도커도커가 무엇인지 어떻게 동작하는지 정리해 보았다.그럼 얼른 시작합시다!일단 컨테이너가 뭘까?컨테이너는 하나의 OS 안에서 커널을 공유하여 개별적인 실행 환경을 제공하는 격리된 공간이다.여기서 개별적인 실행

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

MongoDB만의 특징은 뭘까?

이전 포스팅에서 MongoDB BSON에 대해서 알아보았는데이번에는 MongoDB를 사용하기전에 알았으면 좋았을 걸 하는 기본적인 개념과 특징들을 정리해볼 예정이다.그럼 시작!"MongoDB가 뭐야?" "그거 NoSQL아니야?"맞다. MongoDB는 확장성과 유연성을

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

MongoDB의 BSON에 대해 아시나요?

MongoDB를 Nest에서 사용해보면서 MongoDB는 내부적으로 BSON형식으로 데이터를 저장하는데 어떻게 우린 신경쓰지 않고 JSON형식으로 데이터를 다룰 수 있는지 간단하게 정리해보고자 한다.우리가 MongoDB Shell 혹은 애플리케이션에서 코드로 Mongo

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

MySQL에선 UUID를 어떻게 사용하죠?

사용이유 MySQL에서는 PK로 대부분 AUTO_INCREMENT값이나 UUID값으로 설정을 하곤 한다. 개인적으로 PK를 AUTO_INCREMENT로 사용하는 이유는 사용하기 쉽고 알아보기도 쉬워서이다. 하지만 분산 환경에서의 고유성, 값 유추 불가등의 이유로

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

NestJS에서 TypeORM을 사용하는 법을 알아보자!

사용이유 Nest에서는 데이터베이스 종류에 상관없이 쉽게 연결을 해서 사용할 수 있는데 가장 일반적인 방법은 각 데이터베이스에 맞는 Node 드라이버를 사용하면 된다. 하지만 나는 Nest에서 MySQL을 연결해 사용할 방법을 찾다가 객체와 데이터베이스 테이블을 매핑

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

AWS S3를 사용하기 위한 정책과 역할 설정을 해보자!

S3는 무엇인가요? S3는 확장성, 강력한 일관성, 보안 및 성능을 제공하는 객체 스토리지 서비스이다. S3는 데이터를 버킷이라고 불리는 객채에 대한 컨테이너 안에 객체로 저장하는데 여기서 객체는 해당 파일을 설명하는 모든 메타데이터이며 개별 Key를 통해 버킷 내

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

EC2에서 메모리가 부족할 땐 가상 메모리 기법을?

현재 AWS EC2의 t2.micro 인스턴스 유형을 쓰고 있다 보니 빌드하다 보면 너무 느려져서 먹통이 되는 경우가 많다.인스턴스 유형을 더 좋은 걸로 변경해도 되지만 그만큼 돈이니 디스크에 충분한 여유 공간이 남는다면 가상 메모리를 활용해서 메모리 부족 현상을 해결

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

AWS EBS 볼륨을 수정해보자

수정 이유는? 처음 EBS 볼륨을 설정하고 난 후 개발을 하다보면 처음 설정했던 볼륨의 크기나 IOPS, 처리량의 한계에 부딪힐 때가 있다. (나는 불륨의 크기 때문에 수정을 하였다.) 이럴 때 이전의 데이터들과 함께 볼륨의 크기를 늘려주거나 볼륨의 유형을 변경해주어

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

AWS EC2 접속 오류(WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!)

상황 기존 인스턴스를 종료시키고 새로운 인스턴스를 만들어 가상 서버를 띄었다. 만드는 과정에서 인스턴스 연결 시 사용할 키페어를 기존에 만들어놨던 키페어를 사용하였고, 해당 키페어는 로컬 컴퓨터에 저장되어 있었다. 예상 시나리오대로라면 바로 접속할 수 있어야 하는데.

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

AWS EC2 인스턴스 시작 오류( Instance does not have a volume attached at root (/dev/sda1))

프로젝트가 끝나고 불륨 크기와 인스턴스 유형을 많이 낮춰 프리티어 조건에 맞춰 나가는 돈을 줄여야 했다.그래서 스냅샷을 뜬 다음 해당 스냅샷으로 불륨을 생성한 이후 해당 불륨을 인스턴스에 연결해 시작하려고 하니....이런 오류가 떴다. 왜 인지는 오류 내용에서도 알 수

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

Nestjs에서 Redis 사용기

Redis는 속도가 상당히 빠른 인메모리의 키 값 데이터 구조이다.Set, Hash, List, Sorted Set, Streams등의 여러 자료구조를 활용해서 애플리케이션에서 다양한 기능들을 구현해 볼 수 있다.Redis에 대한 설명은 너무 많고 잘 나오기 때문에 패

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

git pull 에러(please commit your changes or stash them before you merge)

동일 파일에 대해 최신의 소스코드를 내 소스코드와 동기화를 시키려 pull을 할 때 내 local에 해당 파일이 수정되어 있기 때문에 발생한다.git status 명령어로 확인해보면 자세하게 볼 수 있다.해결법은 안내에 나와있듯이 수정사항을 커밋하거나 잠시 임시 공간에

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

Git에서 유실된 Commit 복구해보자

현재 내가 local에서 코드를 작성해서 remote 저장소에 올리면 다시 EC2의 개발 서버내에서 업데이트된 코드를 동기화를 시켜서 사용중이였다.(CI/CD 자동화의 중요성..)근데 혼자 작업하다 보니 간단한건 바로 수정해서 서버 내에서 commit을 하고 내 loc

2023년 3월 10일
·
0개의 댓글
·