발생일: 2013.12.17 키워드: 크롬, 단축키, 본문 문제: 난 마우스보단 키보드로 네비게이팅하는 걸 선호하고, 크롬에서 Vimium(http://goo.gl/m4XUa)이라는 익스텐션을 쓰고 있다. vi 커맨드로 웹서핑을 할 수 있는 아주아주아주 유용한 도구다. 헌데, Command + L 로 주소창으로 간 후 특정 페이지로 이동한 다음엔, 꼭 한 번은 마우스로 본문을 클릭해줘야 한다. Vimium은 자바스크립트로 구현되어 있어서, 일단 본문에 포커스가 들어가야 동작하기 때문이다. 마우스 말고 키보드로 본문에 포커스를 줄 수 있는 방법은 없을까~? 해결책: 별도의 단축키가 존재하진 않는다. 찾아보니 몇 가지 꼼수가 있긴 하다. 1번 꼼수: - 주소창에 `javascript:`를 입력하면 바로 본문..
발생일: 2013.12.13 키워드: CPU, 코어, core 문제: 서버 프로세스를 현재 장비의 코어 개수만큼 생성해서 운용하려고 한다.코어 개수 어떻게 가져오지...? 해결책: 요약하면, $ sysctl hw | grep cpu 참고:https://www.ibm.com/developerworks/community/blogs/brian/entry/linux_show_the_number_of_cpu_cores_on_your_system17?lang=en 맥에서는http://osxdaily.com/2011/07/15/get-cpu-info-via-command-line-in-mac-os-x/ 맥에서 코어 개수 가져오기http://stackoverflow.com/questions/1715580/how-to-..
발생일: 2013.10.10 키워드: forward proxy, reverse proxy, 포워드 프록시, 리버스 프록시 문제: 리버스 프록시란 용어를 많이 듣긴 했는데, 그냥 프록시와 리버스 프록시의 차이가 뭔지 모르겠다.뭘까? 해결책: 짧고 간결하게 잘 설명해놓은 포스트가 있다.http://idess.tistory.com/6 포워드 프록시 클라이언트가 타겟 서버의 정보를 요청할 때,프록시로 타겟 서버의 주소를 전달해 프록시가 데이터를 가져오는 방식 예) http://proxy.com/?url=target.com 리버스 프록시 클라이언트는 프록시로 요청하고,프록시가 배후(reverse)의 서버로부터 데이터를 가져오는 방식 예) 클라이언트는 http://proxy.com/로 요청 --> (proxy는 t..
발생일: 2013.04.18 문제: 수 개월 전에 아래 링크의 글을 보고 정리했던 내용이다.http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/ 노트를 정리하다 다시 읽어보니 꽤 괜찮은 내용인 것 같아 옮겨둔다. 해결책: 소켓의 종류 중 주요한 두 가지가 있는데, 하나는 TCP이고 다른 하나는 UDP이다. TCP/IP에서 TCPs는 transmission control protocol 의 약자이고, IP는 internet protocol 을 의미한다. TCP 소켓은 신뢰할 수 있는 프로토콜이다.두 머신에서 데이터를 주고 받을 때, 파일에 쓰는 것처럼 한 쪽에서 쓰고 다른 쪽에서 읽을 수 있다.연결은 신뢰할 수 있고 순차적이다.즉, 한 ..
발생일: 2013.07.11 키워드: nginx, https, ssl, 자가서명 인증서, localhost ssl, localhost https, nginx https, 로컬 ssl, ssl_certificate, ERR_CERT_COMMON_NAME_INVALID 문제: 노드로 https 서버를 띄우려는데, key.pem 과 cert.pem 이 필요하다고 한다. 지금은 프로토타이핑 용도라 테스트용 인증서만 있으면 된다.위 두 파일이 의미하는 것과, HTTPS의 인증 과정, 테스트용 인증서를 만드는 방법이 궁금하다. 해결책: SSL은 TCP/IP를 사용하는 두 개의 통신 애플리케이션 간 프라이버시와 무결성을 제공하는 프로토콜. RSA 알고리즘을 암호 키 교환 및 디지털 서명에 사용한다. 디지털 인증서 디..
발생일: 2013.06.24 문제: 한 달 전 즈음, 자바스크립트 스터디를 하면서,K과장님이 BSON을 쓰는 경우가 있었냐는 질문을 하셨더랬다.당시에는 BSON이 Binary JSON의 약어라고만 알고 있었고,실제로 써본 적도 없었기에 '잘 모른다'고 대답하고 말았다. 그리곤 잊고 있다가,얼마 전에 사내 위키에서 'BSON으로 인코딩해서 보낸다'라는 문구를 만나게 돼서,이 참에 자세히 한 번 살펴봤다. BSON 스펙을 정의한 사이트와 자세한 설명은 아래 링크에서 확인할 수 있다. http://bsonspec.org/http://en.wikipedia.org/wiki/BSON 간단히 정리해보면, 다음과 같다. BSON 은 Binary JSON의 약어로, JSON 문서를 바이너리로 인코딩한 포맷이다.최초에 ..
발생일: 2013.06.22 문제: 이제 라즈베리 파이를 막 시작해보려고 하는데,..이럴 수가~ 우리집 모니터에 HDMI 포트가 없다. -_-;작년에 샀던 모니터라 없을 거라곤 생각 못했는데,.. 싼 게 비지떡이라는 말이 맞나보다. -,.- 젠더를 사와야 하나~ 이참에 작은 모니터를 사볼까~ 검색하다가,라즈베리 파이에 기본적으로 ssh 포트가 열려있다는 소식을 들었다. 오우! 기쁜 소식을 듣고, 랜선을 꽂아서 접속해보려는데.라즈베리 파이에 할당된 아이피를 모르겠다. -_-; 집에선 공유기로 타임캡슐을 쓰고 있어서,맥북에서 에어포트 유틸리티(Air Port Utility)로 접속해봤는데... 타입캡슐에 접속한 무선 장비들에 대한 목록만 있고,이더넷으로 접속한 디바이스에 대한 목록이 없다. 어떻게 알아낼 수..
발생일: 2013.06.20 문제: 며칠 전 라즈베리 파이를 구입했다!오늘 SD 카드도 하나 사왔다~ 이제 OS를 깔아야지! ^^ 어떻게 시작하면 될까? 해결책: 라즈베리 파이에 적합한 리눅스 버전의 이미지 파일은, 라즈베리 파이 공식 사이트에서 다운로드 받을 수 있다. http://www.raspberrypi.org/downloads SD 카드에 압축만 풀면 자동으로 설치되는 NOOBS(New Out Of Box Software) 버전을 추천하고 있는데,난 가벼운 게 좋아서 라즈비안 "wheezy" 버전을 다운로드 받았다. NOOBS 의 용량이 2GB 정도인 것에 반해, Wheezy Raspbian 은 500MB 정도이다. 다운로드 받은 이미지 파일을 SD 카드에 쓰려면 아래 방법대로 실행하면 된다. ..
발생일: 2013.06.17 문제: 국제 표준시를 표기하는 방법에 대해 대충 알고는 있었지만,지금까지는 직접적으로 처리할 일이 없어서 자세히 살펴보는 건 늘 미뤄왔었다. 오늘 잠깐 여유가 있어, 궁금하던 차에 처음부터 자세히 살펴보고 정리했다. 해결책: 협정 세계시(UTC) 협정 세계시(UTC)는 1972년 1월 1일부터 시행된 국제 표준시이다. "UTC"는 보통 "Universal Time Code"나 "Universal Time Convention"의 약어로 사용되기도 하는데,이는 틀린 것이라 한다.실제로 국제 전기 통신 연합은 통일된 약자를 원했지만,영어권의 사람들과 프랑스어권의 사람들은 각각 자신의 언어로 된 약자를 사용하길 원했다.영어권은 CUT(Coordinated Universal Time)..
발생일: 2013.05.22 문제: 개인적으로 진행하는 프로젝트에서 ImageMagick 으로 이미지를 처리하고 있다.이미지를 처리할 OS는 Unix 기반이라, Unix용 바이너리를 받아서 `convert` 명령을 실행했다. 헌데, jpg 확장자를 가진 이미지는 정상적으로 처리되지 않고,아래와 같은 에러메시지가 출력됐다. convert: no decode delegate for this image format `test.jpg' @ error/constitute.c/ReadImage/532 음.. 뭐가 문제일까? 해결책: JPEG 형식의 이미지 디코더가 ImageMagick 바이너리 안에 포함되어 있지 않는 게 문제였다.JPEG 뿐만 아니라, PNG 형식도 마찬가지로 디코더가 존재하지 않는다. 이와 같이..