분류 전체보기 77

인메모리 데이터베이스(Redis)

인메모리 데이터베이스 디스크가 아닌 주 메모리에 모든 데이터를 보유하고 있는 데이터베이스 디스크 검색보다 자료 접근이 훨씬 빠름 디스크 방식은 디스크에 저장된 데이터를 대상으로 쿼리를 수행하지만, 인메모리 방식은 메모리상에 인덱스를 넣어 필요한 모든 정보를 인덱스를 통해 빠르게 검색 단점은 매체가 휘발성이라 DB서버 전원이 갑자기 꺼지면 안의 데이터가 삭제되기 때문에 날아가도 상관 없는 임시 데이터에 주로 사용 (로그인 세션) 지속성을 보장하기 위해 입력/수정/삭제된 값은 모두 디스크에 로그로 기록하며, 디스크로부터 로그 파일을 읽어와 메모리에서 재구축 하기도 함 Redis, H2 … Redis NoSQL에 속하는 데이터 방식이며, key-value 구조 key-value 구조이기 때문에 별도 쿼리 없이..

프론트엔드 성능 최적화

웹 페이지 로드 최적화 (1) 브라우저 상에서 최적화 - HTML, CSS 파싱할 때, js를 만나게 되면 파싱을 중단하고, js 파일을 파싱한 후에 마저 진행 됨 (블록 차단 리소스) # 방지하려면? - CSS의 경우 태그 안에 import 해야 하며, 태그로 실행되는 js는 맨 하단에 위치 - CSS의 경우 media 속성으로 어떤 단말기 유형인지에 따라 해당 CSS를 적용할지를 명시하면 불필요한 블로킹 방지 가능 - JS의 경우 defer, async 속성을 사용하여 비동기로 다운로드 하도록 명시 - link 요소의 rel 속성의 preload 사용하여 css 먼저 로드 - 는 JS 사용이 불가능해도 style 로드할 수 있게 함 (2) 리소스 용량 최적화 - 리소스 용량을 줄임으로써, 리소스 다운..

AWS, Azure를 GCP와 비교

카테고리 유형 GCP 제품 설명 AWS 제품 Azure 제품 개발자 도구 클라이언트 라이브러리 Cloud SDK Google Cloud 제품 및 서비스와 상호작용하기 위한 도구 및 라이브러리입니다. AWS SDK Azure SDK 개발자 도구 Cloud 개발 IDE 플러그인 IntelliJ용 Cloud Code IntelliJ, VS Code 또는 모든 브라우저용 클라우드 기반 애플리케이션을 작성, 디버그, 배포합니다. IntelliJ용 AWS Toolkit IntelliJ용 Azure Toolkit 개발자 도구 Cloud 개발 IDE 플러그인 VS Code용 Cloud Code IntelliJ, VS Code 또는 모든 브라우저용 클라우드 기반 애플리케이션을 작성, 디버그, 배포합니다. Visual S..

ETC

SpringBoot + Prometheus + Grafana

소개Helm: Kubernetes의 패키지 관리 도구로, yaml 파일의 모음Prometheus: 대상 시스템으로부터 각종 모니터링 지표를 수집하고 저장하는 오픈소스 모니터링 도구Grafana: Prometheus의 시각화 부분이 빈약하여 시각화 기능을 보강하기 위해 사용하는 오픈소스 시각화 도구Spring Actuator: Spring Boot Application의 여러가지 정보를 쉽게 모니터링 할 수 있게 도와주는 도구Metric: 현재 시스템의 상태를 알 수 있는 측정값Minikube: Kubernetes 환경을 로컬에서 간단하게 구축할 수 있는 도구Kubectl: Command로 Kubernetes 리소스들을 관리할 수 있는 도구설치# minikube brew install minikube # ..

Git 계정 분리

하나의 컴퓨터에서 개인, 회사용 git을 분리해보자. 1. 원하는 계정의 SSH key-gen 생성 $ cd ~/.ssh $ ssh-keygen -t rsa -b 4096 -C "${개인 계정}" $ ssh-keygen -t rsa -b 4096 -C "${회사 계정}" $ ssh-add ~/.ssh/personal $ ssh-add ~/.ssh/company 2. 생성 시 키페어 저장 위치 물어보는데, 식별 가능한 값 입력 ex) personal, company Generating public/private rsa key pair. Enter file in which to save the key (/${userPath}/id_rsa): 엔터를 누르면 비밀번호 입력할건지 물어보는데 엔터 누르면 된다. 만..

Git

Nest.js 사용법

nest cli 사용을 위해 글로벌로 설치$ npm i -g @nestjs/cli nest cli 사용하여 폴더 생성 후 프로젝트 구조에 맞게 수정하여 사용Documentation | NestJS - A progressive Node.js frameworkhttps://docs.nestjs.kr/cli/usages// crud 구조 생성 $ nest g resource ${RESOURCE_NAME} $ nest g res ${RESOURCE_NAME} // 컨트롤러 생성 $ nest g controller ${CONTROLLER_NAME} $ nest g co ${CONTROLLER_NAME} // 서비스 생성 $ nest g service ${SERVICE_NAME} $ nest g s ${SERVIC..

TypeScript 프레임워크 비교

종류 Express Fastify Nest Koa LoopBack Express 프레임워크 중 점유율 1위 대규모 커뮤니티, 많은 문서 MVC 패턴 지원 소규모 개발에 적합 내부적으로 발생하는 비동기 관련 오류를 잡아내지 못해 try/catch문 사용 필요 내장되어있는 모듈, 미들웨어가 많고 외부 모듈 붙이기 힘듦 express-validator로 간편하게 유효성 검사 unit test는 jest, mock… 필요 주간 다운로드 수 - 13,895,038 샘플: GitHub - hjkang1217/express: express framework Nest Spring Framework와 유사 cli를 사용하면 초기 프로젝트 구성 쉬움 typescript 지원, javascript도 가능 OOP(Object..