전체 글

전체 글

    [바미] Nest - 파이프(Pipes)

    파이프(Pipes)? NestJS에서 파이프는 요청의 데이터 처리 과정에서 핵심적인 역할을 담당합니다. 파이프는 요청 처리 파이프라인의 일환으로 작동하며, 주로 데이터 변환(transform)과 유효성 검사(validation) 이 두 가지 주요 작업에 사용되는데요. 데이터 변환은 입력 데이터를 애플리케이션이 요구하는 특정 형식으로 변환하는 과정을 의미합니다. 반면, 유효성 검사는 입력 데이터가 설정된 조건이나 규칙을 만족하는지 확인하는 절차이죠. 파이프(Pipes)는 어떤상황에 쓰면 좋은가? 그래서 파이프는 NestJS 개발 과정에서 매우 유용한 도구로, 여러 상황에서 그 가치를 발휘하는데요. 개발자가 입력 데이터를 효과적으로 관리하고, 데이터의 무결성을 유지하며, 잠재적인 오류를 사전에 방지할 수 있..

    [바미] NestJS - 예외 필터(Exception Filters)

    예외 필터(Exception Filters)? NestJS에서 예외 처리를 커스터마이징하는 데 사용되는 기능입니다. 애플리케이션 내에서 발생하는 모든 예외를 잡아내고, 개발자가 정의한 방식으로 처리할 수 있게 해줌으로 애플리케이션 전반에 걸쳐 일관된 에러 응답 포맷을 유지할 수 있으며, 추가적인 로깅이나 에러 처리 로직을 적용할 수 있어요. 그래서 아래와 같은 상황에 자주 쓰여요. 클라이언트에게 보다 명확하고 일관된 에러 응답을 제공하고 싶을 때 특정 예외 유형에 대해 세부적인 처리 로직을 적용하고 싶을 때 애플리케이션에서 발생하는 모든 예외를 로깅하고 모니터링하고 싶을 때 예외 필터(Exception Filters)의 장점 모든 예외 처리 로직을 한 곳에서 관리할 수 있어, 코드의 가독성과 유지보수성이..

    [바미] NestJS - 가드(Guards)

    가드(Guards) NestJS의 가드(Guards)는 인증(authentication)과 권한 부여(authorization) 과정에서 주로 사용되는 기능입니다. 가드는 특정 조건 하에 요청을 처리할지 말지 결정하는 역할을 하며, NestJS의 실행 과정에서 라우트 핸들러가 실행되기 전에 동작합니다. 이를 통해 미리 정의된 조건에 따라 요청에 대한 접근을 허용하거나 거부할 수 있어 가드는 AOP(Aspect-Oriented Programming)의 개념을 활용하여 애플리케이션의 보안 관련 로직을 관리하는 데 매우 유용하죠. 그래서 가드는 보통 아래와 같은 때에 주로 사용합니다. 사용자가 요청을 수행할 권한이 있는지 확인할 때 특정 역할(role)을 가진 사용자만 특정 API 엔드포인트에 접근할 수 있도..

    [바미] NestJS - 인터셉터(Interceptors)

    인터셉터(Interceptors) NestJS에서 제공하는 강력한 기능 중 하나로, AOP(Aspect-Oriented Programming)의 개념을 활용합니다. 컨트롤러 핸들러의 실행 전후 또는 예외 발생 시점에 특정 로직을 주입할 수 있게 해주고, 이를 통해 코드의 재사용성을 높이고, 애플리케이션의 관심사를 효과적으로 분리할 수 있게 해주죠. 인터셉터는 아래와 같은 작업을 처리할 때 사용합니다. 메서드 실행 전후에 추가 로직 실행 함수 실행 결과 변환 예외 맵핑 기타 컨트롤러 레벨에서의 공통 작업 처리 어떤 상황에서 쓰면 좋은가? 메서드의 실행 시간을 로깅(Logging)하여 성능 모니터링에 활용할 수 있고, API의 응답 형태를 일관되게 맞추거나, 반환되는 데이터를 사용자에게 보여주기 전에 가공할..

    [바미] Asus, AMD Radeon GPU 현금 환급 프로모션으로 최대 $110 제공

    일부 유럽 국가에서는 최고의 그래픽 카드 중 하나인 TUF Gaming 및 Dual 모델 RX 7000 시리즈 제품 구매 시 최대 110파운드(108달러)까지 할인을 제공하는 새로운 프로모션인 'Asus AMD VGA 캐시백 Q1-2024'가 시작됩니다. 영국, 독일, 오스트리아, 프랑스 구매자가 이 혜택을 받을 수 있습니다. 구매자는 EU, 프랑스 및 영국 웹사이트에 명시된 일부 소매업체에서 이 카드를 구매하여 교환할 수 있습니다. 가장 높은 캐시백을 받을 수 있는 GPU는 TUF-RX7900-024G-Gaming과 RX7900XT-020G-Gaming입니다. 이 캠페인은 2월 26일에 시작되어 3월 31일에 종료되기 때문에 필요한 날짜 내에 인보이스를 제출하여 혜택을 선택하고 사용할 수 있는 충분한 ..

    [바미] 한 번 충전 시 일주일 이상 사용 가능한 갤럭시링

    갤럭시 링은 MWC 2024에서 공식 발표 되었으며, 삼성은 최신 웨어러블 제품이 2024년 하반기에 출시될 것이라고 밝혔습니다. 제품이 출시되기 전에 최신 정보와 함께 이에 대한 더 많은 정보를 얻을 수 있을 것으로 예상됩니다. 9일 동안의 실행 시간을 중심으로 진행됩니다. 이에 비해 Apple Watch Ultra 2는 36시간 동안 지속될 수 있지만 후자는 완전히 다른 기술이라는 점을 기억해야 합니다. 갤럭시 링에는 배터리 수명을 잡아먹는 구성 요소인 디스플레이가 없기 때문에 런타임이 더 길어집니다. Financial News가 브리핑에 참석하여 언론 매체에 Galaxy Ring의 내구성에 대해 알렸습니다. 분명히 건강에 초점을 맞춘 액세서리의 배터리 수명은 착용자의 사용량에 따라 5~9일 정도 지..

    [바미] NestJS - 데코레이터(Custom decorators)

    데코레이터? 클래스, 메서드, 프로퍼티 또는 매개변수 전체에 대해 메타데이터를 정의하는 간단한 표현입니다. 이 메타데이터는 클래스나 메서드 등의 행동을 변경하거나 확장하기 위해 사용하고 있죠. 사용법 @ 기호를 사용하여 특정 요소에 적용해주는데 NestJS에서는 다양한 데코레이터를 사용하여 클래스, 메서드 등을 정의하고 구성하고 정의 하는데 사용하고 있어요. 예시 코드 클래스 데코레이터로 사용하기 function Logger(prefix: string) { return function (target: Function) { console.log(`${prefix} - ${target.name} created.`); } } @Logger('Controller') class MyController { // 클..

    [바미] NestJS를 사용하여 REST API 구현하기

    안녕하세요. 사용자 정보를 생성(Create), 읽기(Read), 수정(Update), 삭제(Delete)하는 기본적인 CURD(Create, Read, Update, Delete) 기능을 갖춘 REST API를 구현해보겠습니다. Nest.js 프로젝트 생성 먼저 Nest CLI를 사용하여 새로운 프로젝트를 생성해봅시다. nest new Nest-project 모듈 생성 API를 구현할 모듈을 생성해봅시다. nest g module app nest g module user 컨트롤러 생성 nest g controller app nest g controller user 서비스 생성 nest g service app nest g service user 코드 작성 이제 본격적으로 코드를 작성해볼까요? 먼저 sr..

    [바미] 엔비디아, 인텔, 등 AI 휴머노이드 로봇 기업에 수백만 투자

    Nvidia, Jeff Bezos 및 여러 주요 기술 기업이 인간과 유사한 로봇을 만드는 스타트업인 Figure AI에 투자하고 있습니다. 회사는 약 6억 7,500만 달러의 자금을 확보하고 있으며, 투자 전 가치는 약 20억 달러로 평가된다고 블룸버그가 보도했습니다 . Figure AI는 9,500만 달러를 기부한 Microsoft 와 Nvidia, Amazon 계열 펀드와 같은 주요 기업이 각각 5,000만 달러를 투자하는 등 기술 업계에서 상당한 관심을 끌었습니다 . Bezos는 Explore Investments, LLC를 통해 1억 달러를 약속했습니다. 이 스타트업의 야심찬 프로젝트는 영향력 있는 후원자들의 지원을 받아 AI와 로봇 공학의 역량(아마도 Amazon의 역량 포함)을 추진하는 것을 ..