개발/etc
-
Docker-for-desktop 대체하기 (Vagrant 를 활용한 docker)개발/etc 2022. 2. 10. 00:05
구성도 필수설치 Oracle VitualBox 설치 하이퍼바이저 끄기 window > cmd (관리자 권한) bcdedit /set hypervisorlaunchtype off 하이퍼 바이저를 실행시키면 Intel VT-x 또는 AMD-V 를 사용할수 없다 바이오스진입 후 가상화 켜기 Vagrant 설치 Vagrant 플러그인 설치 vagrant plugin install vagrant-docker-compose VagrantFile 만들기 Vagrant.configure("2") do |config| config.vm.box = "ubuntu/bionic64" config.vm.network "forwarded_port", guest: 443, host: 443 config.vm.network "for..
-
RabbitMQ 지연큐 만들기개발/etc 2020. 6. 19. 16:00
개요 지연큐를 만들게 된 계기는 다음과 같다 해당 시퀀스 다이어그램에서는 사용자가 이미지 OCR 을 요청하게 되면 비즈니스 로직에서 데이터베이스에서 해당 이미지 값을 초기화 썸네일을 생성 상태값을 변경 과정이 트랜젝션으로 묶여있다. 썸네일을 만들다가 만약 실패할경우 Rollback 이 될수도 있기 때문이다. 그리고 OCR 같은경우는 메세지큐에서 작업을 관리해서 별도로 처리하고 있다. 그런데 여기서 문제는 OCR 컨슈머에서 데이터베이스 Commit 전에 메세지를 받아서 처리하려고 DB 조회를 한경우에는 데이터가 존재하지 않게된다. 이럴때 유용하게 쓰일수 있을거 같아 지연큐를 만들었다. Qeueue 생성 일반 큐 생성 딜레이큐 생성 exchange 설정 UI 샘플 test-queue.delayed 에서 Pu..
-
RabbitMQ 실패 재시도하기 (NACK 처리 php code sample)개발/etc 2019. 10. 2. 16:00
1. Queue 생성 queue-delivery 프로퍼티 x-dead-letter-exchange : test.exchanger x-dead-letter-routing-key : delivery.failed UI queue-delivery.retriable 1. 프로퍼티 x-dead-letter-exchange : test.exchanger x-dead-letter-routing-key : delivery x-message-ttl: 3000 2. UI 2. exchanger 생성 3. excahnger bind queue 4. CODE
-
github 블로그를 jekyll 를 통해 관리해보자개발/etc 2018. 11. 9. 17:45
환경 centos71.필수패키지 설치yum install gcc-c++ patch readline readline-devel zlib zlib-devel yum install libyaml-devel libffi-devel openssl-devel make yum install bzip2 autoconf automake libtool bison iconv-devel sqlite-devel2.RVM 설치curl -sSL https://rvm.io/mpapis.asc | gpg --import - curl -L get.rvm.io | bash -s stable source /etc/profile.d/rvm.sh rvm reload3.Verify Dependenciesrvm requirements run4.r..
-
MongoDB 를 docker로 세팅해보자개발/etc 2018. 11. 9. 17:42
몽고디비를 로컬환경에 설치를 해야하는데 라우트서버와 샤드서버 콘피그서버를 설치하려니까 이것저것 해야할 부분들이 너무많아서 docker 로 설치하는 방법이 제일 빠를거 같아 docker 를 올려보았다.기본 세팅#docker 설치 yum -y install docker #docker compose 설치 sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose docker-compose --version docker-compose ve..
-
tcpdump 와 wireshark 를 이용해 디버깅 하기개발/etc 2018. 11. 9. 17:36
서버를 운영하다보면 A 서버에서 B 서버로 API 를 호출하는데 기대값이 아닌 엉뚱한 값이 나오는 경우가 있다. 보통 이경우에는 A 서버의 application layer 에서 input 값을 변환하기 때문에 실제로 B 서버에 요청하는 값은 달라질수가 있다. 이럴때 디버깅을 하기위해서는 디버깅코드를 심어서 배포를 하거나 로그코드를 심어서 배포를 하는경우가 있다. 이럴때 유용하게 사용할수있는 tcpdump 와 wireshark 를 이용해보자.단 ssl 적용시 내용 확인 불가하다.tcpdump 설치[root@localhost ~]# yum install tcpdump노드서버 디렉토리생성 및 세팅[root@localhost ~]# mkdir /home/node [root@localhost ~]# cd /hom..
-
css aysnc load개발/etc 2018. 11. 9. 17:35
어느날 웹페이지로딩이 느려 확인해해보니까 css 로드될때까지 화면이 로딩이 되지않는다. 찾아보니 다음과 같은 이유가 있다.FOUCCSS 가 로드되기 전에 스타일 없이 페이지가 로드 되는경우가 있다. 이런 경우를 FOUC(Flash Of Unstyled Content) 라고 부른다고 한다. 이를 다루기 위한 방법은 `rel="stylesheet"` 방식을 사용하여 페이지 렌더링 차단으로 로드한다. DOM 렌더링 및 JavaScript 실행은 모든 렌더링 차단 `rel="stylesheet"` 리소스가 로드되고 CSSOM (CSS Object Model) 로 변환된다고 한다. FOUC 란?chrome 렌더링 과정해결우선순위를 지정하는 방식이지만 rel 옵션이 preload 로 변경되면서 페이지 렌더링 차단이..