| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- joi vs classvalidation
- get
- TYPESCRIPT좌석생성
- 캐시메모리저장후DB저장
- nestwinston
- Live server
- 자바스크립트
- CRUD
- TypeORMconfig.ts
- 네스트로거
- NEST좌석생성
- 카카오페이테스트결제
- devcamp
- 캐시메모리DB저장
- javascript
- 좌석생성
- 좌석내가격
- Nest.js
- NEST좌석
- Til
- 내일배움캠프
- Class Validation
- 포트원
- 좌석만들기
- TypeORMconfig
- Nest
- 테스트결제
- 로그파일저장
- ormconfig.ts
- cachememory
- Today
- Total
목록전체 글 (50)
배씨의 개발일지
Joi 객체 기반 유효성 검사 객체의 특정 속성에 대한 규칙을 정의, 이를 통해 데이터가 요구하는 조건을 충족하는지 검사 풍부한 기능을 제공한다 다양한 유효성 검사 규칙을 지원한다. 길이, 패턴, 필수 여부 등 다양한 조건을 쉽게 설정할 수 있다. 데이터의 형식을 검사하거나 사용자 정의 규칙을 정의 할 수 있다. nest.js와 통합이 용이 joi를 사용하면 dto등 데이터에 대한 간편한 유효성 검사를 할 수 있다. joi 스키마를 정의 후 해당 스키마를 사용하여 데이터를 검증하는 방식으로 적용 import * as Joi from 'joi'; const schema = Joi.object({ username: Joi.string().alphanum().min(3).max(30).required(), p..
보다 강한 보안성과 빠른 처리 속도를 위해 argon 사용 bcryptblowfish 해시 함수 기반의 해시 함수대표적으로 안전하고 일반적으로 사용되는 해시 함수 中 하나장점오랜 기간 사용되어 안전성이 검증되었고 많은 프로젝트에서 사용됌, 안정성상대적으로 오래된 알고리즘으로써 구형 시스템에서 잘 동작함, 호환성단점의도적인 지연을 포함하여 비밀번호 해싱을 진행, 느린 계산 속도적은 메모리 사용량으로 인해 GPU를 사용한 공격에 취약argon2최신 해시 함수 中 하나로 2015년에 나온 비밀번호 해시 함수 장점병렬처리 및 고성능 하드웨어에 안전하게 동작하드웨어의 발전에 대응할 수 있도록 설계, 적응형 해시 함수메모리 사용량을 조절해 부르트 포스 및 레인보우 테이블 공격을..
Nest.js 효율적이고 안정적이며 확장가능한 서버애플리케이션을 구축하기 위한 진보적인 프레임워크 angular에서 영감을 받아 제작 express와는 다르며, TypeScript를 기본으로 di 개념을 지원한다 백엔드 개발에 있어 정형화된 형식을 제안하고 있어 엔터프라이즈급 애플리케이션 개발에 적합하다. 모듈식 아키텍처로 인한 유연한 구조를 가지고 있으며 미들웨어 및 컨트롤러를 사요해 구조화된 앱 개발을 촉진하며 강력한 의존성 주입 시스템을 제공한다. 모듈, 컨트롤러, 서비스 등 정형화된 아키텍처를 제공하며 클래스, 메서드, 속성에 데코레이터를 지원한다. 의존성 주입을 통해 모듈간 유연한 결합 과 코드 유연성을 가지고 있으며 테스트가 용이 이로인해 유지보수에 용이하며 코드자동완성, 타입에러 판단등으로 ..
오늘 한 일 yarn과 npm의 차이점 알아보기. 2024.03.04 - [JS] - NPM과 yarn nest.js와 typeORM 알아보기 2024.03.04 - [JS] - Nest.js와 TypeORM 프로젝트 세팅하기 앞으로 진행할 프로젝트에 앞서 기술스택을 확인 후 세팅하기 기술스택 🛠️ TypeScript + NestJS + SWC Yarn berry + Plug'n'Play + Zero-Install TypeORM + PostgreSQL Joi Jest yarn으로 nest 프로젝트 시작하기 nest new [프로젝트명] => yarn 선택 프로젝트에 필요한 패키지 다운로드 받기 yarn add @nestjs/typeorm typeorm argon2 pg joi jest, Yarn Berr..
"NPM" node package manager node로 만들어진 모듈을 웹에서 설치하고 관리해주는 프로그램 resgistry와 cli를 통해 접근이 가능, 유용한 패키지를 쉽게 사용 할 수 있다. 단점으로는 저장소의 취약한 보안 이슈 및 의존 패키지의 버저닝 이슈가 있다. 또한 패키지가 많아짐에 따라 빌드 성능이 떨어진다. "yarn" npm의 단점을 보완하기 위해 만들어진 node 매니징 툴 npm 레지스트리와 호환하면서 단점인 속도, 안전성, 보안성 등을 보완해서 탄생했다. 두개의 차이점으로는 속도, 보안등이 있는데 "속도" NPM은 패키지를 하나 씩 순차적으로 설치하고 yarn은 여러 패키지를 동시에 설치한다. 이로 인해 yarn에서 조금 더 높은 패키지 설치 속도를 기대 할 수 있다. "보안"..
오늘은 카카오페이 테스트 결제 기능을 구현해 볼 예정이다. 첫 번 째 포트원 가입하기. GET STARTED (portone.io) 이 포트원 문서를 보고 로직을 작성 + 회원가입 // 쿠키를 파싱하는 함수 function getCookie(name) { const value = '; ' + document.cookie; const parts = value.split('; ' + name + '='); if (parts.length == 2) return parts.pop().split(';').shift(); return null; } // JWT 토큰에서 사용자 ID와 이메일을 추출하는 함수 function parseJwt(token) { const base64Url = token.split('.')..
전 글에서 좌석 예약을 받기 위해서 시간표를 만들어주었다. 이제 본격적으로 좌석 예약 및 결제를 위한 로직을 작성 할 시간이다. import { Entity, PrimaryGeneratedColumn, Column, ManyToOne } from 'typeorm'; import { TimeTable } from './timeTable.entity'; import { Seat } from './seat.entity'; import { Room } from './room.entity'; @Entity() export class Reservation { @PrimaryGeneratedColumn() id: number; @Column() timeTableId: number; @Column({ type: 'ti..
처음에 좌석 예약을 만들때는 좌석 하나 하나마다 예약 가능한 시간표를 만들어줬다. 그런데 이렇게 생성하고 나니 DB에 데이터가 너무 많이 저장이 되어서 다른 방법으로 시간표를 만들어야만 했다. 그래서 관계 설정으로 방에 시간표를 만들어 준 뒤 따로 저장을 해주고 예약 시 방에서 시간표를 불러와서 그 시간표id와 좌석id를 매치해서 예약을 확인하는 방법으로 로직을 구현했다. 아래 코드는 timeTable(시간표)의 entity import { Column, Entity, PrimaryGeneratedColumn, ManyToOne, OneToMany, } from 'typeorm'; import { Reservation } from './reservation.entity'; import { Payment ..