본문 바로가기

프로그래밍/Web Basic30

Nestjs 공식문서 정리 Nestjs https://docs.nestjs.com/ 확장 가능하며, 효율적으로 아키텍처를 제공하기 위한 프레임워크, 앵귤러에서 많은 영감을 받음. controller: 어플리케이션 처리를 위한 요청을 받는 것 컨트롤러를 사용하기 위해 데코레이터와 클래스를 사용한다. 컨트롤러의 클래스 위에 @Controller('cats')를 지정하여 prefix처리할 수 있다. @Get, @Post, @Delete 같은 데코레이터를 지원한다. nest g resource [name] 명령어를 통해 한번에 모듈을 생성할 수 있다. import { Controller, Get, Req } from '@nestjs/common'; import { Request } from 'express'; @Controller('ca.. 2024. 1. 3.
Typescript 공식문서 정리 Typescript https://www.typescriptlang.org/ko/docs 자바스크립트는 일단 실행하고 문제 생기면 수정하는 방식으로 처리된다. 타입스크립트는 이러한 이슈를 미리 판단하고 먼저 오류를 알려줄 수 있다. 자바스크립트에서 존재하지 않는 속성에 접근하면 undefined가 나오는 반면 타입스크립트에서는 컴파일 오류가 발생한다. 인터페이스는 Java에서 메소드를 정의하는 데 사용되는 것과 다르게 단순히 오브젝트를 정의하는데 사용된다. 인터페이스 개념은 자바스크립트의 '덕 타이핑'과 동일하게 동작합니다. (단순히 구조적으로 문제가 없는지 확인) C++의 typedef 같은 개념이 존재하는데, 간단하게 type 키워드로 타입을 재정의할 수 있습니다. interface는 형태를 수정할 .. 2024. 1. 3.
크롬 익스텐션 Storage API 정리 크롬 익스텐션 환경에서 사용할 수 있는 Storage API에 대해서 정리를 해본다. chrome.storage https://developer.chrome.com/docs/extensions/reference/api/storage?hl=en - 익스텐션 서비스 워커, 컨텐트 스크립트는 스토리지 API에 접근 가능 - 모든 json 직렬화 가능한 객체는 object 속성으로 저장된다. - bulk read, write에 대하여 비동기적으로 처리된다. - 캐시와 브라우저 히스토리를 지워도 데이터가 유지된다. - split incognito를 사용하는 경우에도 저장된 설정은 영속된다. - 기업 정책을 위한 read only managed storage area를 제공한다. (익스텐션의 셋팅에서 사용한다.) .. 2024. 1. 3.
Web Storage API 정리 https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API Web Storage API 1. Key-value 페어 형태로 사용 가능하다. 2. 세션 스토리지와 로컬 스토리지가 있다. 3. 로컬 스토리지와 세션 스토리지는 서로 다른 스토리지 오브젝트를 사용한다. 4. 키는 항상 string으로 처리된다. 페이지 세션의 시간만큼 사용 가능한 세션 스토리지 기능이 존재한다. 탭이나 브라우저가 종료되기 전까지 유지 된다. 로컬 스토리지는 영속적으로 데이터가 저장된다. 브라우저 캐시를 지우거나 내부적으로 저장된 데이터를 날리는 경우 없어진다. 혹은 자바스크립트로 날릴 수도 있음. window.sessionSt.. 2024. 1. 2.
[Express] S3 이미지 업로드 전체적인 프로세스: S3 버킷 생성 -> IAM 사용자 추가 -> 백엔드 및 프론트엔드 연동(express, react 환경) S3 버킷 생성 1. S3 검색, 버킷 만들기 클릭 2. 버킷 만들기 리전, 버킷 이름 입력 -> ACL 활성화 체크(다른 계정이 버킷 객체를 소유할 수 있음) -> 모든 퍼블릭 액세스 차단 off -> 퍼블릭상태가 될 수 있음을 알고 있습니다 체크 -> 버전관리 off, 기본 암호화, 버킷 키 활성화(기본 셋팅대로 진행) 3. 버킷 정책 수정 버킷 이름을 클릭 -> 탭에 권한 -> 버킷 정책 부분에 편집 버튼 클릭 -> 정책 생성기 버튼 클릭 -> s3 Bucket Policy 체크 -> Principal에 * 입력 -> Actions에 PutObject, GetObject 추.. 2023. 12. 24.
[Express] MySql 연동 express 환경에서 mysql을 연동하는 작업을 진행했다. mysql2를 깔고 다음과 같이 처리하면 된다. dotenv를 사용하여 처리한다. .env PORT=3000 DB_HOST=localhost DB_PORT=3306 DB_USER=root DB_PASSWORD=1234 DB_NAME=name config/mysql.js const mysql = require("mysql2"); const db_info = { host: process.env.DB_HOST, port: process.env.DB_PORT, user: process.env.DB_USER, password: process.env.DB_PASSWORD, database: process.env.DB_NAME, }; const pool .. 2023. 12. 17.
[Express] express 공식 문서 정리 Express4.18.1 Fast, unopinionated, minimalist web framework for Node.js Web Applications Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. APIs With a myriad of HTTP utility methods and middleware at your disposal, creating a robust API is quick and easy. Performance Express provides a thin layer of fundame.. 2023. 12. 5.
Nginx 웹서버 정리 3 nginx Process Roles 마스터 프로세스가 처리하는 작업은 다음과 같다. 읽고 구성을 검증하는 것 소켓을 생성하고 연결하며 닫는 것 구성된 워크 프로세스 수를 유지하고, 시작/종료 하는 것 서비스 중단없이 재구성하는 것 논스탑 바이너리 업데이트를 제어하는 것(새로운 바이너리를 시작하고 필요시 이전 것을 롤백) 로그 파일 다시 열기 내장 펄 스크립트 컴파일링 워커 프로세스는 받아들이고 관리한다. 클라이언트로부터 연결을 진행한다. 리버스 프록시와 필터링 기능을 제공하고 엔진엑스가 할 수 있는 대부분의 것을 제공한다. 엔진엑스 인스턴스의 행동 모니터링과 관련하여, 시스템 관리자는 워커가 실제 동작을 반영하고 있는지 확인해야 한다. 캐시로더 프로세스는 온디스크 캐시 아이템을 확인하고 엔진엑스의 인메모.. 2023. 11. 17.
NginX 웹서버 정리 2 엔진엑스는 높은 동시성과 퍼포먼스를 타겟팅한다. 웹 서버의 기능에 로드밸런싱, 캐싱, 대역폭 컨트롤 그리고 다른 다양한 어플리케이션과의 통합을 지원한다. 이러한 다양한 통합 기능들이 웹 사이트 아키텍처를 위한 좋은 선택이 되었다. 엔진엑스는 세계에서 2번째로 인기있는 오픈소스 웹서버이다. 스마트폰의 등장으로 더욱 많은 트래픽이 필요했으며 비즈니스 생태계가 급진적으로 변화하였다. 인기 있는 웹사이트에서 수십만 수 백만 유저의 동시성을 유지하는 것은 일반적인 상황이었다. 동시성에 대한 주요 이슈는 느린 사용자였고 요즘은 모바일 클라이언트와 뉴스, 트윗, 친구들의 피드 같은 지속적 연결을 유지하길 원하는 새로운 어플리케이션 아키텍쳐로 인해 야기된다. 또한 현대 브라우저의 방식이 빠른 로드 속도를 위해 4~6개.. 2023. 11. 17.
Nginx 웹서버 정리 1 NginX 윈도우 이슈 Version of nginx for Windows uses the native Win32 API (not the Cygwin emulation layer). Only the select() and poll() (1.15.9) connection processing methods are currently used, so high performance and scalability should not be expected. Due to this and some other known issues version of nginx for Windows is considered to be a beta version. At nginx/Windows runs as a standard console.. 2023. 11. 17.