개발자의 노트
서버 시간을 UTC로 변경하기

글로벌 서비스를 위해서는 서버 시간을 KST 나 EST와 같은 지역시간이 아닌 UTC로 맞춰서 하는게 좋음.. KST 로 설정이 되어있다면 아래와 같이 KST 가 표시된다. # date Wed May 28 13:34:41 KST 2014 우선 rdate로 시간을 동기화한 후 시스템 시간을 UTC로 변경해보자. (time.bora.net 도메인 인식을 못할 경우에는 rdate -s 203.248.240.103) # rdate -s time.bora.net # vi /etc/sysconfig/clock UTC=true # ln -sf /usr/share/zoneinfo/UTC /etc/localtime UTC로 변경되었다. # date Wed May 28 04:40:37 UTC 2014 추가로... 하드웨어..

Mosquitto 1.3 버전 make 에서 ares.h: No such file or directory 에러
소프트웨어개발/MQTT 2014. 5. 23. 13:07

Mosquitto 1.3.1 버전을 설치하는데 make 에서 에러가 발생.. "mosquitto_internal.h:51:20: error: ares.h: No such file or directory" # make set -e; for d in lib client src; do make -C ${d}; done make[1]: Entering directory `/usr/local/mosquitto/lib' cc -Wall -ggdb -O2 -I. -I.. -I../lib -fPIC -DWITH_TLS -DWITH_TLS_PSK -DWITH_THREADING -DWITH_SRV -c mosquitto.c -o mosquitto.o In file included from mosquitto.c:46: mo..

HAProxy 설정 예제 (haproxy.cfg)
소프트웨어개발/HAProxy 2014. 5. 21. 11:17

참고용 global log 127.0.0.1 local0 chroot /usr/local/haproxy maxconn 4096 daemon uid 99 gid 99 defaults log global mode http # Add x-forward-for header. option forwardfor option http-server-close option httplog option dontlognull option redispatch option contstats retries 3 backlog 10000 # Timeout. timeout client 25s timeout connect 5s timeout server 25s # Long timeout for WebSocket connections. ti..

[델파이] 메신저 같은 프로그램의 자리비움 체크
소프트웨어개발/Delphi 2014. 5. 21. 11:00

예전에는 자리비움 (키보드/마우스를 일정시간 사용하지 않고 있는 상태) 기능을 구현하기 위해 훅 (HOOK) 을 이용한 DLL을 만들어 체크하였으나... 윈도우 2000 이후로 지원하는 GetLastInputInfo 덕분으로 여러모로 간단하게 자리비움 기능을 처리할 수 있다. uses Windows; class function GetSecondsIdle: DWORD; var LII: TLastInputInfo; begin LII.cbSize := SizeOf(TLastInputInfo); GetLastInputInfo(LII); Result := (GetTickCount - LII.dwTime) div 1000; end; 이 함수를 이용해서 컴퓨터의 유휴시간을 초로 구해서 자리비움을 구현하자. (간단하게..

article thumbnail
[JAVA] Serialization, Externalizable 속도 비교
소프트웨어개발/Java 2014. 4. 4. 19:07

http://java-is-the-new-c.blogspot.kr/2013/10/still-using-externalizable-to-get.html 위 링크에 Serialization와 Externalizable의 처리 속도에 대한 좋은 글이 있어서 공유한다. 그리고 추가적으로 fast-serialization를 사용해서 더 좋은 속도 향상을 꾀할 수도 있는 듯.. https://github.com/RuedigerMoeller/fast-serialization

Redis를 이용한 Tomcat 세션 클러스터링

톰캣에서 Redis를 통해 세션을 공유해보자. 톰캣 설치 폴더의 lib 폴더에 아래 세개의 파일을 추가한다. commons-pool-1.6.jar / jedis-2.1.0.jar / tomcat-redis-session-manager-1.2-tomcat-7.jar tomcat-redis-session-manager는 톰캣 버전에 따라 다운로드 받으면 된다. (본인은 톰캣7 사용) https://github.com/jcoleman/tomcat-redis-session-manager 톰캣 설치 폴더의 conf 폴더에 있는 context.xml 에 아래 부분을 추가한다. 톰캣 재시작!!

Delphi에서 Chrome Browser 사용하기
소프트웨어개발/Delphi 2014. 3. 26. 15:39

델파이 기본 웹브라우저 컴포넌트는 TWebBrowser인데. 이놈이 Internet Explorer를 맵핑해놓은거다. 기존에는 델파이로 응용프로그램을 구현할 때, 내부에 웹뷰가 필요하면 이 녀석을 사용했는데.. 아무래도 표준도 잘 안지키고, 버전별로 표준 구현의 차이가 심하여.. Chrome 브라우저를 웹뷰로 사용해보기로 함. 검색을 해보니. Delphi Chromium Embedded (DCEF) 라는 놈이 있는데, 이게 DCEF 1, DCEF 3 이렇게 나눠져있더라는... DCEF 1를 진행하다 개발이 중단된 거 같고, 그걸 포크해서 DCEF 3을 다시 개발한 거 같은데.. 잘은 모르겠고... 소스를 대략 보니 DCEF 3이 완성도가 더 있는 듯.. (찾아보니 DCEF 3은 multi-process용..

Javascript에서 mongodb objectid 구하기

mongodb의 objectid에 대한 설명은 http://docs.mongodb.org/manual/reference/object-id/ 12byte의 길이를 가지며 507f1f77bcf86cd799439011 형식의 값을 가진다. 각 byte는 아래와 같이 구해진다. a 4-byte value representing the seconds since the Unix epoch,a 3-byte machine identifier,a 2-byte process id, anda 3-byte counter, starting with a random value. 자바스크립트 상에서 구현하기 위해 아래 사이트를 방문하자. https://github.com/justaprogrammer/ObjectId.js 이곳에서 ..