전체 글 89

1.TDD 의 글로벌 함수 (실행 전,후,describe) 사용하기

import {describe, expect, test} from '@jest/globals사용하기 위해 require 또는 import를 할 필요는 없지만, 명시적 import를 선호하는 경우 다음을 수행할 수 있습니다.afterAll(fn, timeout)이 파일의 모든 테스트(test())가 완료된 후 함수를 실행합니다.timeout선택적으로 중단하기 전에 기다릴 시간을 지정하기 위해 (밀리초 단위) 를 제공할 수 있습니다.기본 시간 초과는 5초입니다.이 기능은 테스트 전체에서 공유되는 일부 글로벌 설정 상태를 정리하려는 경우에 종종 유용합니다.예를 들어const globalDatabase = makeGlobalDatabase();function cleanUpDatabase(db) { db.cle..

4. Nest, 모듈 module

루트 모듈루트 모듈은 Nest가** 애플리케이션 그래프를 빌드하는 데 사용하는 시작점이며, 각 애플리케이션에는 최소한 하나의 모듈, 즉 **루트 모듈이 있습니다.즉, Nest가 module과 Provider 관계 및 종속성을 해결하는 데 사용하는 내부 데이터 구조입니다.모듈은 구성 요소를 구성하는 효과적인 방법으로 강력히 권장됩니다  providersNest 인젝터에 의해 인스턴스화 되지만, 이 모듈 전체에서 공유될 수 있는 공급자controllers이 모듈에서 정의된 컨트롤러 세트는 인스턴스화 됩니다.imports이 모듈에 필요한 모듈 목록exports이 모듈에서 제공하는 하위 집합 providers입니다. 이 모듈을 import 하는 다른 모듈에서 사용할 수 있게 되며, provider 자체 또는 토..

3. Nest, 제공자 - Providers 이해하기

제공자는 Nest의 기본 개념많은 기본 Nest 클래스는 제공자로 취급될 수 있습니다.services, repositories, factories, helpers 등 모듈 에서 선언된 일반 JavaScript 클래스입니다.Nest를 사용하면 더욱 객체 지향적인 방식으로 종속성을 설계하고 구성할 수 있으므로 SOLID 원칙을 따르는 것이 좋습니다 .1. 인터페이스.tsnest g interface name을 입력하면 자동 생성됩니다. (혹은 name.interface.ts를 직접 작성)export interface Cat { name: string; age: number; breed: string;}2. 서비스.tsnest g service name을 입력하면 자동 생성됩니다. (혹은 name.ser..

웹 표준과, 웹 접근성을 지키기

웹 접근성과, 웹 표준이란 무슨 말일까?웹 접근성은 모든 사용자가 웹 콘텐츠에 동등하게 접근할 수 있도록 보장하는 것이고, 웹 표준은 이러한 접근성을 포함한 일관된 웹 콘텐츠 개발을 위한 규칙과 지침이다.해당 포스트는 웹 표준에 기본적으로 지켜야 할 예시들을 정리하여 작성하였다.alt이미지에는 반드시 alt로 대체 텍스트를 만들어주어야 한다.이러면 네트워크 대역폭이 낮은 유저나 장애를 가져 스크린리더를 사용하는 사람의 화면 인식에 도움을준다.적절한 aria 사용하기1.aria-label화면에는 보이지 않는 텍스트를 만들 때 사용한다.X평범한 사람은 X로 읽지만, 스크린 리더는 button을 닫기로 읽어 사용자에게 제공해준다.2.aria-labelledby 및 입력(폼)에 label 붙이기스크린리더가 읽을..

HTML5 2024.10.24

2. Nest, 컨트롤러로 요청,응답 처리하기!

컨트롤러는 들어오는 HTTP 요청을 처리 하고 클라이언트에 응답을 반환하는 역할이다.라우팅 메커니즘으로 어떤 컨트롤러가 어떠한 요청을 처리할지 결정하며, 기본 컨트롤러를 만들기 위해 클래스와 데코레이터를 사용하여 코딩을 한다.데코레이터는 클래스를 필요한 메타데이터와 연결하고 Nest가 라우팅 맵(요청을 해당 컨트롤러에 연결)을 만들 수 있도록 도와준다.검증 기능이 내장된 CRUD 컨트롤러를 빠르게 생성하려면 CLI의 CRUD 생성기를nest g resource [name] 사용하여 REST API를 선택하면 자동으로 app.Module.ts에도 추가된다.컨트롤러만 생성하기CLI를 사용하여 컨트롤러를 만들려면 $ nest g controller name명령을 실행하면 자동으로 추가된다.import { Co..

1. Nest, 실행

핵심 파일에 대한 간략한 개요는 다음과 같습니다.파일명내용app.controller.ts단일 경로를 갖춘 기본 컨트롤러 (RestFul API를 설정한다.)app.controller.spec.ts컨트롤러에 대한 단위 테스트. spec를 붙인 것들은 테스트 용도다.app.module.ts애플리케이션의 루트 모듈.app.service.ts단일 함수를 작성함main.tsNestFactoryNest 애플리케이션 인스턴스를 생성하기 위해 코어 함수를 사용하는 애플리케이션의 입력 파일입니다 .main.ts에는 애플리케이션을 실행 할 비동기 함수가 포함된다.import { NestFactory } from '@nestjs/core';import { AppModule } from './app.module';async ..

0. Nest의 정리를 시작하며.. 소개 및 설치

원래는 프로젝트를 하나 더 만들어보고 싶었지만, Nest에는 정말 여러가지 기능이 있고 주인장은 그걸 제대로 사용하지 못했음을 깨달았다.라이브러리를 학습할 때는 코드를 실행시키고 이해하는 방식을 주로 사용했는데, 프레임 워크는 반대로 해야함을 깊이 깨닫게 되었다.해당 포스트는 길고 긴 공식 문서를 읽고, 주인장이 한번 가공을 거친 후 작성할 예정인 포스트다.소개Nest(NestJS)는 Node.js 서버 사이드 애플리케이션을 구축하기 위한 프레임워크이다.효율적이며 확장성이 뛰어남TypeScript를 기반으로 하지만 순수하게 JavaScript로 코딩할 수 있음OOP(객체 지향 프로그래밍), FP(함수형 프로그래밍), FRP(함수형 반응형 프로그래밍)이 중점임기본적으로 Express를 활용하며, 선택적으로..

git cherry-pick

git cherry-pick특정 커밋을 선택하여 현재 브랜치에 적용하는 Git 명령어이 명령을 사용하면 한 브랜치에서 다른 브랜치로 선택된 변경 사항을 복사할 수 있어, 필요한 부분만을 가져오는 데 유용하게 사용할 수 있다.예를 들어 test, bugfix, main 브랜치가 있을 때test에서의 C2 커밋과 bugfix에서 C5 커밋을 main 브랜치에 적용하고 싶을 때 아래와 같이 사용할 수 있다.git checkout maingit cherry-pick C2 C5여기서 C2 C5는 해쉬값으로 git log 명령어를 통해 확인이 가능하다.

git/gitCommand 2024.10.14