과정 글을 안올리는 동안 했던 프로젝트 과정을 적을려고 한다. Mongoose Model 분리 저번 글에서는 스키마를 생성해서 모델을 생성 후 모델 안에다가 데이터 처리하는 로직을 넣었었다. 분리하는게 낫겠다고 판단하여 Controller 디렉토리를 만들어서 데이터 처리 함수를 넣어 놓는 목적으로 분리를 했다. 수정된 model **models/admin-category.js const mongoose = require('mongoose') const { Schema } = mongoose const admin_sub_categorySchema = new Schema({ name : String, router_path : String }) const admin_categorySchema =..
express + quasar axios 통신 이번에 쓸 글은 back인 express와 front인 quasar간의 통신이다. 전글에 작성한 내용과 달리 proxy설정이 살짝 변경되었다. /frontend/quasar.conf.js의 devServer 부분 devServer: { server: { type: 'http' }, port: 8080, open: true, // opens browser window automatically proxy:{ '/':'http://localhost:3000', changeOrigin: true, pathRewrite:{ '^/':'' } }, historyApiFallback: true }, /api를 없애고 '/'을 넣었다. historyApiFallback은 ..
Express JS, Quasar, MongoDB 구조 사용 툴 : VSCode, GitHub(형상관리, 프로젝트 개발 들어갈 때 GitLab으로 변경할 예정) DB : MongoDB(Docker) project 폴더 생성 mkdir quasar 프로젝트 생성 quasar create cd npm install vue-router@4 npm install vuex@next quasar new boot axios/boot/axios.js로 이동 후 수정 import { boot } from 'quasar/wrappers' import axios from 'axios' // Be careful when using SSR for cross-request state pollution..
이딴식으로 logstash_1가 error가 나서 내 시간을 잡아 먹게 됬다. 에러 메시지를 확인해본 결과 for logstash Cannot start service logstash: Ports are not available: listen tcp 0.0.0.0:5000: bind: address already in use 이런 메시지가 나온것을 확인 할 수 있다. 많은 시간을 찾아본 결과 내 OS에 문제가 있음을 알 수 있었다. MacOS Monterey(버전 12)는 5000포트를 사용하고 있는 것을 발견할 수 있었다. 해결책 맥을 사용하다보면 왼쪽 상단에 사과모양을 클릭하면 나오는 시스템 환경설정을 클릭해준다. 거기에 있는 공유를 클릭 Airplay가 5000포트를 사용하고 있으므로 Airplay..
정의 AMQP를 구현한 오픈소스 메시지 브로커 특징 신뢰성 안정성, 영속성, 메시지 도착 유무 확인, 고가용성 유연한 라우팅 메시지는 큐에 도착하기 전에 exchange를 통해 라우트 된다. 여러가지 exchange 타입이 존재. 클러스터링 지역 네트워크 상에서 여러개의 RabbitMQ 서버들이 함께 클러스터링 되어 단일한 논리적 브로커를 생성 고가용 큐 큐는 클러스터내의 여러 머신들에 걸쳐 복제될 수 있는데, 이는 하드웨어 결함시에 메시지의 안전을 보장한다. 관리 UI 관리가 가능한 UI를 제공한다. 흐름 Producer와 Consumer의 결합이 느슨해진 것을 볼 수 있다. 각자의 역할만 하면 되기 때문이다. Producer가 메시지를 보내고 Exchange가 받아서 바인딩 된 Queue에 적재, 그..
build.gradle에 dependency 추가 //redis implementation 'org.springframework.boot:spring-boot-starter-data-redis' application.properties #Redis set spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.cache.type=redis 따로 캐시 기능을 사용할 것이므로 캐시 타입을 redis로 설정 Config 클래스 생성 config 패키지를 생성해서 config 클래스 생성 여기서 만든 config 클래스는 총 2개 RedisConfig.java @Configuration public class RedisConfig { @Value("${spring..
Gradle 사용. dependency https://mvnrepository.com/artifact/org.slf4j/slf4j-api implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30' logback-spring.xml 파일 생성 (파일 위치 src/main/resources/) logback-spring.xml 내용 %d{HH:mm} %-5level %logger{36} -%msg%n C:\{log 파일을 저장할 폴더 위치}\access-%d{yyyy-MM-dd}.log 30 %d{HH:mm} %-5level %logger{36} -%msg%n 실행 시키면 정해줬던 위치에 log가 저장되는 것을 볼 수 있다.
Comment