일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- mariadb
- Redux
- Node
- Backbone.js
- React
- nginx
- laravel
- 기초 수학
- Switch
- python
- nodejs
- Go
- 블레이드 템플릿
- fastapi
- webpack
- php
- docker
- phpredis
- Babel
- Redis
- deep learning
- NCP
- CentOS
- javascript
- SQL
- For
- linux
- rabbitmq
- AWS
- Machine Learning
- Today
- Total
목록분류 전체보기 (183)
개발일기
RabbitMQ의 큐에 메시지를 전달할 때, exchange 타입에 따라 저장할 큐를 선택하여 해당되는 큐들에 메시지를 보낼 수 있다. Laravel의 라우트와 비슷한 개념으로 큐 이름을 지정하거나 와일드카드로 패턴을 지정하여 설정할 수 있다. 1. Binding Exchange에 라우팅 키를 지정하는 것을 binding이라 한다. 즉, 정해진 타입에 규칙을 추가하는 것을 의미한다. 라우팅 키는 Exchange 타입에 상관없이 지정할 수 있지만, 타입에 따라 라우팅 패턴이 다르기에 매칭되는 큐가 달라질 수 있다. 2. Exchange Type exchange 종류에는 fanout, direct, headers, topic이 있다. fanout : 바인딩된 모든 큐에 동일한 메시지를 전달한다. 즉, 문자열..
1. 설치 1-1. amqplib 설치 npm install amqplib -D yarn add amqplib -D # rabbitmq에 연결하기 위해 amqplib를 설치한다. 1-2. dotenv 설치 npm install dotenv -D yarn add dotenv -D # RabbitMQ연결 정보가 저장된 .env파일을 사용하기 위해 설치한다. 2. .env파일 생성 # .env RABBITMQ_HOST=ip RABBITMQ_ID=아이디 RABBITMQ_PASSWORD=비밀번호 RABBITMQ_PORT=포트번호 # 기본은 5672포트 RABBITMQ_VHOST=가상호스트 루트 폴더에 .env파일을 생성하여 RabbitMQ 연결에 필요한 정보들을 입력하여 저장한다. 3. RabbitMQ 연결할 i..
1. erlang설치 RabbitMQ는 erlang이라는 언어로 만들어졌기에 먼저 erlang을 설치해야 한다. wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm rpm -Uvh erlang-solutions-2.0-1.noarch.rpm yum install erlang -y wget을 통해 erlang 패키지를 다운로드 한 후, erlang을 설치한다. 2. RabbitMQ 설치 wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.8/rabbitmq-server-3.8.8-1.el6.noarch.rpm wget으로 RabbitMQ 패키지를..
RabbitMQ의 연결, 채널, 큐 등을 관리하고 모니터링하기 위해 RabbitMQ Management Plugin을 사용한다. 채널을 관리하기 위해 채널 탭을 클릭했을 때, 'Stats in management UI are disabled on this node' 라는 내용이 있는 모달창이 나오며 채널 목록이 안나오는 경우가 있다. 해결법 vi /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf nano /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf management_agent.disable_metrics_collector.conf 파일을 편집기를 통해 ..
find와 grep은 리눅스 파일 시스템에서 일치하는 컨텐츠를 찾아내는 공통점을 가지고 있다. 하지만 find와 grep은 타겟팅하는 컨텐츠에 큰 차이점을 가지고 있다. find : 이름을 기반으로 일치하는 파일 또는 디렉터리를 찾아낸다. grep : 해당 텍스트를 포함한 파일을 찾아낸다. 1. find 명령어 find [경로] [옵션] [이름] # 이러한 순서로 find 명령어를 입력하여 실행한다. find / -name "resources" # resources라는 이름을 가진 파일 또는 디렉터리를 찾아낸다. find / -type -f -name "fruit.log" # fruit.log라는 이름을 가진 파일을 찾아낸다. find / -type -d -name "public" # public이라는 ..
Backbonejs는 SPA 방식으로 처음 페이지를 서버에서 불러온 후, 이후에 변경되는 페이지 내 요소들은 클라이언트를 통해 부분 요소만 그려낼 수 있다. 이러한 방식을 사용하면 서버에 주는 부담을 최소화 할 수 있으며 최소한의 새로고침으로 사용자들이 해당 웹을 이용할 때, 자연스럽고 빠른 성능의 화면 변경 요소를 확인할 수 있다. SPA 방식으로 검색 페이지를 구현하고 검색 결과를 공유하기 위해 다른 사용자에게 URL를 공유하면 검색 결과가 나온 페이지가 아닌 검색을 처음부터 진행해야하는 페이지가 불러와지는 것을 확인할 수 있다. SPA 방식이지만 다른 사용자에게 공유할 수 있는 URL을 Backbonejs의 Router로 생성하여 공유할 수 있다. 1. Backbonejs의 Router // ind..
1. on() 이벤트 import Backbone from 'backbone'; const FruitModel = Backbone.Model.extend({ defaults: { name: 'melon', price: 5000 } }); const fruitModel = new FruitModel(); fruitModel.set({ name: 'water melon', price: 20000 }); // 속성 변경 fruitModel.on('change', function(e) { // 모델 속성 변경 이벤트 console.log(e.toJSON()); }); on() : 모델에 발생하는 이벤트에 따라 콜백함수를 연결해주는 메서드이다. 여기서 과일 모델의 속성을 이름은 수박, 가격을 2만원으로 수정하면 ..
1. Collection에 Model 추가 import Backbone from 'backbone'; const FruitModel = Backbone.Model.extend({ defaults: { id: '', name: '', price: '' } }); const FruitCollection = Backbone.Collection.extend({ model: FruitModel }); // 컬렉션 생성 const fruitCollection = new FruitCollection(); // 객체 생성 fruitCollection.add({ id: 'mangoId', name: 'mango', price: 1000 }); // 모델 추가 fruitCollection.add({ id: 'orangeI..