1. 루트 경로에 manifest.json 파일 생성- 익스텐션 이름 및 설명 버전 등 배포시 기본이 되는 설정파일{ "manifest_version": 3, //익스텐션 이름 "name": "마동석 랜덤 사진 콜렉션", //익스텐션 설명 "description": "마동석 배우의 다양한 사진들을 만나보세요", //익스텐션 버전 "version": "1.2", //익스텐션 기본 아이콘 "icons": { "128": "/images/ma.png" }, "action": { //기본으로 렌더링 되는 html파일 "default_popup": "index.html", "default_icon": "./images/ma.png" }}2. 프로젝트 설정 및 작업- mani..
Nest.js 커스텀 파이프 customPipe.pipe.ts 파이프는 PipeTransform 에서 구현해야 하는 메서드를 명시함 transform메서드의 value는 실제로 변환하거나 검증할 값 metadata는 ArgumentMetadata 인터페이스 형태의 메타데이터 객체, value에 대한 정보를 포함함 => 타입, 파라미터 커스텀 파이프를 작성하기 위한 가장 기본적인 형태, transform 메서드에 들어온 value를 조작하여 검증 및 변환 가능 import { Injectable, PipeTransform, ArgumentMetadata } from '@nestjs/common'; @Injectable() export class CustomPipe implements PipeTransfor..
app.service.ts 특정 엔드포인트로 접근발생시 COMMUNICATION, ANALYTICS로 TCP프로토콜 전송 user_created라는 이벤트 발생, 다른 앱 서비스에서 user_created라는 이벤트를 수신하고 상황에 맞는 동작처리 ex)회원가입시 사용자의 email을 저장하고 email로 가입메세지를 전송할 수 있음 import { Inject, Injectable } from '@nestjs/common'; import { CONTEXT, ClientProxy } from '@nestjs/microservices'; import { CreateUserRequest } from './create-user-request.dto'; import { CreateUserEvent } from ..
코드 구조 api-gateway 3000번 포트로 들어온 요청 9092포트로 분산처리 posts.controller.ts transport: Transport.KAFKA : 카프카 클라이언트 설정, 옵션 지정 onModuleInit() : 애플리케이션이 초기화 될떄 실행되는 메서드, kafka 주제인 add.new.post get.posts.list에 대한 응답을 구독하고 클라이언트를 연결함 post : 받아와서 /posts/' 엔드포인트에서 데이터를 받아와서 'add.new.post' 주제로 Kafka에 메시지를 전송 get : GET 요청에 대한 핸들러로, '/posts/' 엔드포인트에서 'get.posts.list' 주제로 Kafka에 메시지를 전송 import {Body, Controller, G..
I/O redirect 출력 결과를 특정 경로, 파일에 저장 저장 내용 > 입력 경로 ls -l의 결과를 result.txt라는 파일에 입력함 ls -l > result.txt 파일내용을 출력함 (미리보기) cat 파일이름 SHELL 커널을 제어하기 위한 명령어 ls,cd,mkdir,rm,echo등 bash, zsh,power shell 등 명령어 프로그램으로 커널 제어를 통해 하드웨어를 조작함 애플리케이션 단과 커널 단 사이에 존재함 echo $0명령어는 현재 사용중인 shell 프로그램이 어떤 것인지 보여줌 echo $0 SHELL Script 연속적인 명령어들을 처리하기 위한 Script (프로그래밍) #!/bin/bash bash라는 프로그램을 사용하기 위한 선언 스크립트 파일 실행 명령어 현재 ..
Microsoft Store에서 리눅스 설치 리눅스 검색 필요한 리눅스 버전 설치 ( ubuntu 설치 ) ubuntu 실행 실행전에 리눅스의 기본 패스워드를 실행하는 창이 나타남 패스워드 지정 우분투 CLI 창이 실행 리눅스 기본 명령어 디렉토리를 이동할 떄 사용 cd 디렉토리명 cd .. cd / 현재 내가 위치한 디렉토리경로를 표시 pwd 현재 위치한 디렉토리에 있는 파일목록을 표시 ls 현재 환경에 있는 모든 파일 목록을 표시 , 숨김 파일 포함 ls -a 현재 디렉토리안에 존재하는 파일의 목록과 파일에 대한 정보를 표시 ls -l 아래 순서대로 정보를 표시함 권한 하드 링크수 소유자 그룹 파일크기 (byte) 수정시간 파일/디렉토리이름 현재 환경에 있는 모든 파일 목록과 정보를 표시함 -l과 -..
구조 index.ts에서는 앱에서 공통적으로 사용할 모듈을 정의함 Jwt 모듈, RabbitMQ, 데이터베이스 모듈 등 Application은 각각의 독립된 컨테이너 환경에서 빌드되고 실행됨 , 의존성을 분리하여 새로운 기능을 추가하거나 유지, 보수하기에 효율적인 구조 특정이벤트게 발생하면 RabbitMQ를 호출하여 데이터베이스 관련 작업을 비동기적으로 처리하고, 지정한 이벤트를 비동기적으로 처리하도록 구현 => 카카오톡 알림, 배송 등 orders orders.controller.ts 주문발생시 createOrder메서드 실행 import { Body, Controller, Get, Post, Req, UseGuards } from '@nestjs/common'; import { JwtAuthGuard..