개발일지

개발일지

구글 크롬 익스텐션 만들고 배포하기

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 커스텀 파이프

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..

개발일지

Nest.js MSA 도커파일 , 도커 컴포즈

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 ..

개발일지

Nest.js kafka

코드 구조 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과 -..

개발일지

Nest.js MSA + Docker로 실행

구조 index.ts에서는 앱에서 공통적으로 사용할 모듈을 정의함 Jwt 모듈, RabbitMQ, 데이터베이스 모듈 등 Application은 각각의 독립된 컨테이너 환경에서 빌드되고 실행됨 , 의존성을 분리하여 새로운 기능을 추가하거나 유지, 보수하기에 효율적인 구조 특정이벤트게 발생하면 RabbitMQ를 호출하여 데이터베이스 관련 작업을 비동기적으로 처리하고, 지정한 이벤트를 비동기적으로 처리하도록 구현 => 카카오톡 알림, 배송 등 orders orders.controller.ts 주문발생시 createOrder메서드 실행 import { Body, Controller, Get, Post, Req, UseGuards } from '@nestjs/common'; import { JwtAuthGuard..

개발일지

Nest.js socket.io

클라이언트 코드 socket.emit 메서드로 클라이언트에서 입력된 메세지를 서버로 전송함 socket.emit 으로 전송한 메세지는 서버에서 emit메서드로 다시 클라이언트로 반환함 이때 반환된 메세지는 socket.on메서드에서 처리함, 두번쨰 인자로 메세지를 전달받으면 handleNewMessage함수를 호출하여 전달된 메세지를 처리하는 추가 코드 실행 //socket.js const socket = io("http://localhost:3000/chat") const message = document.getElementById('message'); const messages = document.getElementById('messages'); //메세지를 전송하는 함수 socket.emit 메서드..

index.ys
'개발일지' 카테고리의 글 목록