본문 바로가기

분류 전체보기515

AWS) AWS 클라우드 개요 - 지역 및 AZ 안녕하세요, 코린이의 코딩 학습기 채니 입니다. "유데미" AWS 강의를 참고하여 포스팅한 개인 공부 내용입니다. 리전(Region) → 데이터 센터의 집합으로 대부분의 서비스들은 특정 리전에 연결됨 리전 선택 시 고려할 점 * 법률 준수 : 애플리케이션을 배포하게 될 대상 국가 내에 데이터가 보관되길 원하는 경우 * 지연 시간 : 대부분 사용자가 미국에 있는 경우 미국 리전을 선택해야 지연 시간이 줄어듦 * 모든 리전이 모든 서비스를 가지고 있지 않음 : 리전 생성 전 원하는 서비스를 가지고 있는 지 체크해야함 * 요금 : 리전마다 요금이 상이 가용영역 → 리전 내 존재 (보통 3개씩 가지고 있음) → 각각의 가용 영역은 여분의 전원 네트워킹, 통신 기능을 갖춘 하나 / 두 개의 개별적인 데이터 센터로.. 2023. 11. 20.
Node) API 사용량 제한하기 (express-rate-limit) 안녕하세요, 코린이의 코딩 학습기 채니 입니다. [Node.js 교과서]의 책을 참고하여 포스팅한 개인 공부 내용입니다. API 사용량 제한하기 - 과도한 API 사용으로 인해 서버에 무리가 갈 수 있음 - 무료 사용자는 1시간에 10번 허용, 유료 사용자는 1시간에 100번 허용 등 API 사용량을 제한 패키지 설치 $ yarn add express-rate-limit express-rate-limit 패키지를 이용하여 API 사용량을 제한할 수 있습니다. API 별로 혹은 Router 별로 미들웨어를 만들어 사용합니다. 미들웨어 생성 middlewares/index.ts const limiter = rateLimit({ windowMs: 60 * 10000, max: (req: Request, res.. 2023. 8. 28.
Node) 노드버드 SNS 만들기 - 게시글, 이미지 업로드 하기 안녕하세요, 코린이의 코딩 학습기 채니 입니다. [Node.js 교과서]의 책을 참고하여 포스팅한 개인 공부 내용입니다. 노드버드 SNS 만들기 - 게시글, 이미지 업로드하기 모델 구조 User.ts import { DataTypes, Model, Sequelize } from "sequelize"; import Post from "./post"; type ProviderType = "local" | "kakao"; class User extends Model { public readonly id: number; public email: string; public nick: string; public password: string; public provider: ProviderType; public sn.. 2023. 7. 31.
Sequelize) boolean이 true/false가 아닌 0/1 숫자로 리턴되는 이슈 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. [Sequelize] boolean이 true/false가 아닌 0/1 숫자로 리턴되는 이슈 1️⃣ raw: true 옵션 사용할 경우 예를 들어, 아래와 같은 스키마를 가진 테이블이 있다고 가정해보겠습니다. import { DataTypes, Model, Sequelize } from "sequelize"; import Post from "./post"; type ProviderType = "local" | "kakao"; class User extends Model { public readonly id: number; public email: string; public nick: str.. 2023. 7. 28.
Node) Sequelize Migration 안녕하세요, 코린이의 코딩 학습기 채니 입니다. 개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다. Sequelize Migration - 운영 단계에서 데이터베이스 스키마 변경이 편리 - 직접적인 스키마 변경을 할 순 있지만 번거롭고, 위험도가 높음 Sequelize Migration 방법 Migration 생성 $ sequelize migration:create 파일명 위 명령어를 작성하면, "타임스탬프-파일명.js" 파일이 생성됩니다. Migration 파일 "use strict"; /** @type {import('sequelize-cli').Migration} */ module.exports = { async up(queryInterface, Sequelize) { /** * A.. 2023. 7. 28.
mongoose) 몽구스 사용하기 - 스키마 사용, 실전 프로젝트 안녕하세요, 코린이의 코딩 학습기 채니 입니다. [Node.js 교과서]의 책을 참고하여 포스팅한 개인 공부 내용입니다. mongoose ODM ODM (Object Doumment Mapping)이란? - object와 documment를 1대 1로 짝지어 매핑 mongoose 사용하는 이유? - 몽고디비에 없어 불편한 기능들을 보완 - 테이블과 유사한 기능, JOIN 기능을 추가 (mySQL과 유사해지기 때문에 mongoDB를 사용하는 이유(확장성과 자유로움, 가용성)를 생각하면 모순적이긴 함) 프로젝트 생성 package.json { "name": "learn-mongoose", "version": "0.0.1", "description": "learn mongoose", "main": "app.t.. 2023. 7. 4.