dev/etc 9

[CentOS] install RabbitMQ

환경 centos 7 Erlang 설치 sudo yum -y install erlang sudo erl -version Rabbit MQ 설치 sudo yum -y install rabbitmq-server sudo systemctl enable rabbitmq-server sudo rabbitmqctl status 웹콘솔 활성화 sudo rabbitmq-plugins enable rabbitmq_management sudo systemctl start rabbitmq-server 관리 명령어 계정 목록 sudo rabbitmqctl list_users 사용자 추가 sudo rabbitmqctl add_user {사용자명} {비밀번호} 사용자 태그 설정 sudo rabbitmqctl set_user_ta..

dev/etc 2020.09.28

php7 캐슁

배경 DB가 느려서 사이트 성능이 안나옴 DB 쿼리 캐싱이 필요한 상황 캐싱 방식 APC(Alternative PHP Cache) / Memcached / SQLite 등등 mysqlnd_qc라는 라이브러리가 있으나, 13년 후로 빌드가 없음 결론은 Memcached를 적용하자. PECL 설치 yum install php-pear php-devel 설치 확인 pecl version Memcached 설치 yum install libevent libevent-devel memcached php-memcached 데몬 실행 memcached -d -m 512 -l 127.0.0.1 -p 11211 -u nobody 실행 및 설정 확인 echo "stats settings" | nc localhost 1121..

dev/etc 2019.10.20

stateless and stateful

무상태 프로토콜(stateless)은 대표적으로 HTTP가 있다.상태 프로토콜(stateful)은 TCP Sock 커스텀 프로토콜 등이다. StatelessPros서버의 수평확장 용이로드밸런싱 용이적은 메모리 사용량연결 지속성이 없음Cons요청 헤더가 큼느리다(DB관련 오버헤드)단방향 통신 StatefulPros요청 헤더가 작음빠르다(메모리에 데이터로 대부분 처리가능)양방향 통신Cons서버의 수평확장이 어려움로드밸런싱이 어려움많은 메모리 사용량(상대적)연결에 지속성이 필요하며, 재접속에 대한 오버헤드가 큼 대략 이런 장단점을 가지고 있다고 볼 수 있다. 구글링을 하면 더 자세한 정보가 있을 것이다. 전통적으로 게임서버는 stateful로, 구현되었으나, 모바일 게임에서는 연결을 유지하는게 어렵기 때문에 ..

dev/etc 2017.03.02

[OAuth 2.0] Store token and re-authentication

목적OAuth 2.0을 사용하여 얻은 토큰의 관리 방법에 대한 내용으로,사용자의 재인증을 피하며, 토큰의 무분별한 발급을 줄여보자는 취지이다. 수많은 외부 서비스 API에서 채용하고 있는 OAuth 2.0사용법은 그리 어렵지 않다.사용자에게 해당 외부 서비스에서 로그인을 요청사용자의 로그인 및 정보제공 동의리다이렉트로 authentication code를 받고이것으로 access token을 발급받는다.access token을 이용해서, API를 사용허나, access token은 고유값이 아니다. 만료시간이 있으며, 만료가 되기전에 갱신을 받을 수 있다.물론, 서버에서는 갱신 프로세스를 자동화시키면, 계속해서 활성화된 access token을 유지할 수 있지만, 보안 문제점을 야기할 것이다. 소셜로그인..

dev/etc 2017.02.15

ubuntu on docker on windows

OS를 통째로 가상화시키는 VM과 비슷한 물건인 docker os에 이것저것 설치하고 이미지로 만드는, snapshot같은거라고 생각 된다. 설치https://www.docker.com/에서 환경에 맞는 버전을 받아서 설치 VirtualBOX와 MSYS를 포함하고 있다. 실행바탕화면에 생성된 "Docker Quickstart Terminal"를 실행하면default 도커머신이 설치되어, VM으로 돌아간다. 윈도 -> 도커머신(VM) -> 도커VM에서 다른 OS를 돌렸다면, 그 대신 도커를 돌린다고 보면 될듯 우분투 설치(?) - Docker 터미널 "Start interactive shell"이 뜬걸 확인 후에 해야된다.$ docker pull ubuntu다운로드가 되던가, network오류가 나던가필자..

dev/etc 2016.05.17

SSD를 위한 Windows 최적화

원글 : https://www.thomas-krenn.com/en/wiki/Optimize_Windows_for_SSDs요약, 정리 간혹 svchost프로세스가 10%이상 시피유를 점유해서, 뭘하나 살펴보니, readyboot.etl r/w를 열심히 하고 있다.하..OS가 스스로 리소스를 갉아먹는 구조인가보다. MS는 대단한 장사꾼 인정 테스트 환경 : MS Windows 7 Ultimate K SP1 64bit 1. 단편화 제거(조각모음) 사용안함내컴퓨터-디스크-속성-도구-지금조각모음-예약사용 해제 2. Prefetch and Superfetch 사용안함시작-실행-regedit HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/SessionManager/Mem..

dev/etc 2016.05.13

코드 최적화의 기초적 근본적 체계

코더라면누구나 최적화를 꿈꾸지 않을까 싶다. 하지만 그게 좀 처럼 쉽지 않다. 더러운 코딩을 보고 욕을 하기 전에니가 직접해봐라! 이런 마인드인데 어떤 소프트웨어가 업데이트가 계속되어오다가 내부 코드가 통째로 바뀌는 현상실로 흔한 이것은 기본적으로처름 코딩을 할때 최적화가 되어있어서 문제가 발생한다. 필요없다고 치부했던것들이 필요해지기 시작하면, 뒤집어 엎어버려야지 별수있나.그럼 이건 업데이트가 아니라, 삭제후 재설치를 해야하는거지 기본적으로 성질이 비슷한 function이라, 한개로 작성하여 사용을 했는데성질이 결국은 달라서 별개의 functions을 작성해야한다면 이걸 어디서 호출하는지 디버깅을 해야한다. 이건 노가다로 찾을 수 있겠지하지만 못찾으면? 그럼 functions을 분기로 수정시켜서 작성하..

dev/etc 2012.07.20