Node js(2)
-
Typescript 로 개발하며 만들어본 유용한 유틸리티
TL;DRTypescript 로 개발하며 여러 타입들을 조합하는 상황을 마주해왔다.반복되는 Type Manipulation 상황에서 이를 간단하게할 유틸리티들을 만들었고, 이를 공유하고자 한다.생상한 타입들은 아래와 같다.MakeRequiredMakeOptionalEnumToUnionNonEmptyArrayUnionToIntersectionMakeRequiredByPathshttps://github.com/SecretJuJu/typescript-type-utilsMakeRequired특정 필드만 Required 로 바꾸는 유틸이다.비즈니스로직에선 특정필드는 필수값이어야할때 별도의 손수 만들지 않아도 된다. MakeOptional특정 필드만 Optional 로 바꾸는 유틸이다.데이터모델에서 특정필드를 선..
2024.12.28 -
Node.js 스트림을 사용해서 효율적으로 S3 에 파일 업로드 하기
목표Node.js 는 스트림을 굉장히 쉽게 사용할 수 있게 되어있다.나는 다음상황에 어떻게 하면 메모리 사용을 최소로 하여 문제를 해결할 수 있을까 고민했고, 예제 코드를 만들어 보았다. 상황.크롤링을 통해 다운받은 이미지를 압축하여 S3 에 업로드 해야하는 상황이미지파일을 메모리에 불러와 압축하고, 압축된 파일을 메모리에 올린채로 S3 에 업로드 할 시 메모리 사용률이 클 것한개의 인스턴스에서 병렬적으로 처리해야하고, 이는 메모리 부족을 야기할 수 있음. 코드github: https://github.com/SecretJuJu/typescript-s3-upload-with-streamHTML 삽입미리보기할 수 없는 소스 코드 설명크롤링을 통해 수집한 파일들은 images/targets 안에 모여있음.ar..
2024.06.04