본문 바로가기

분류 전체보기358

아마존 클라우드 네임서버, AWS Route 53 설정하기 개인적으로 운영하고 있는 서버에 지난 밤 8시부터 DNS DDos 공격이 발생하였습니다.(자체 DNS를 생성해서 쓰고 있거든요.) 별볼일 없는 서버에 이게 무슨 날벼락인지... ㅠㅠ 새벽에 IDC 에서 차단 조치를 한것 같았습니다. 서버호스팅을 받고 있던 터라 OS 는 CentOS 5.x ... Bind 9.10 이상 버전의 RRL(Response Rate Limiting)을 설정할 수 없는 상태인지라 일단 네임서버를 종료하고 대응법을 찾아보았습니다.(소스 설치는 귀찮....) http://blog.naver.com/thehogam/70181137457 http://www.dailysecu.com/news_view.php?article_id=4640 가장 확실한 방법은 Anycast 기반의 분산대응인거 .. 2014. 7. 22.
XE6, 파이어몽키 그리고 TWideMemoField 버그 수정 델파이 XE6 버전 이후, 처음으로 파이어몽키를 사용해볼 생각을 하게되었습니다. 일단, 과거 2006년경 작업했던 프로그램을 재작성해보고 있는데요. 여기저기 문제점들이 터져나오네요. ^^ 기존 프로그램 구성은 홈페이지 + 웹서비스 미들웨어(ISAPI) + 클라이언트 입니다. DB 는 MySQL 입니다. 과거 델파이 2005 에서 작업한 프로그램인데요. 일단, 새로이 추가된 DataSnap Server 로 미들웨어를 구성하고 파이어몽키로 다이내믹한 UI 작업을 해보고 있습니다.(추후, 정리해서... 별도 포스팅하겠습니다.) 일단, Frame 으로 별도 창을 만들어 사용해보았는데요. 탭키로 컨트롤 간 이동이 되지 않더라구요. 관련 버그는 Update 1 에서 고쳐졌다고하는데 아직 확인해보지 못했습니다.(12.. 2014. 6. 30.
node.js, express 파일 업로드 처리하기 보통 node.js 로 파일 업로드를 처리할 때, bodyParser 를 많이 사용합니다. 하지만, 아래 포스팅을 읽어보면 별 생각없이 사용한 이 방법에 문제가 있다는 것을 알 수 있습니다. http://andrewkelley.me/post/do-not-use-bodyparser-with-express-js.html 실제~ 서버 임시 디렉토리에 모든 POST 요청에 대하여 쓰레기 파일들이 생성되어있음을 확인할 수 있습니다. 하여, 기존 소스를 변경해보았습니다. 이전app.use(express.bodyParser()); 이후app.use(express.json());app.use(express.urlencoded()); 그리고, multipart 처리를 위하여 formidable 을 사용하였습니다. npm.. 2014. 6. 30.
64비트 윈도우에서 32비트 ODBC 설정하기 64비트 윈도우의 경우 제어판의 ODBC 관리 프로그램을 사용하면 64비트 라이브러리들과 연결됩니다. 32비트 ODBC 를 등록하려면 Windows > SysWOW64 디렉토리의 odbcad32.exe 를 실행하면 됩니다. 간단하지만 모르면 삽질~ ^^ 2014. 6. 2.
대전역(KTX, 기차) 성심당 튀김 소보로 대전역에 성심당이라는 유명한 빵집이 하나 있더군요. 평일 낮인데도 긴 줄이 서 있어~ 분점임에도 꽤 인기가 있구나하고 생각했습니다. 같이 줄을 서서 창 너머 빵들을 찍어보았습니다. 튀김 소보로를 사시는 분이 아니라면 줄을 서지 않고, 직접 매장에 들어가 빵을 고르시면 됩니다. 슬슬 줄의 끝이 보입니다. ^^ 튀김소보로 6개와 부추빵 6개가 든 일석이조 세트로 결정~ 차 안에서 잠시 박스를 살펴봤습니다. 못참고 개봉~ ^^ 갓나온 빵인지라 따끈따끈하고 맛있었습니다. 일단, 부추빵은 호불호가 갈리는 것 같습니다. 저는 그냥 무난한 느낌이었지만... 특별히 줄서서 사 먹을 정도란 생각은 들지 않더군요. 다만 속 외에 빵은 달달하고 촉촉한 느낌이 나서 빵만 뜯어먹는다면 괜찮습니다.ㅋㅋ 하지만 튀김 소보로는 확실.. 2014. 5. 25.
Ghost 블로그에 댓글 기능을 추가하기 node.js 를 사용한 블로그 Ghost 를 설치(2014/05/01 - [프로그래밍/서버관리] - CentOS, node.js - Ghost 설치하기)한 후, disqus 의 댓글 기능을 추가해보았습니다. http://disqus.com 초기화면에서 "Add Disqus to Your Site" 버튼을 클릭합니다. 아직 가입을 하지 않은 상태라 회원 가입을 하였습니다. 중간에 가입 확인을 위한 이메일이 전송됩니다. 인증을 위해 수신받은 메일의 링크를 클릭합니다. 다시 disqus 홈페이지로 돌아와서 댓글을 사용할 사이트의 정보를 입력합니다. 카테고리의 경우 애매하면 Auto 를 선택하면 됩니다. 등록이 끝나면 플랫폼을 선택하게 되는데... 댓글을 달 홈페이지 혹은 블로그의 종류를 선택합니다. Ghos.. 2014. 5. 16.
미동운대 구매~ 바가지 쓰지 말자 본 포스팅의 제품 가격 등은 2014년 5월 기준이며 가격 비교 사이트를 통한 정보입니다. 그 동안 포터블 적도의를 사용하며 다소 크고 무거운 경위대를 사용하고 있었습니다. 백패킹시 몇 번 들고다녔는데 정말 어깨가 끊어질 거 같더군요. ㅠㅠ 하여 적당한 크기의 미동운대를 구매하기로 마음먹고 검색해보았습니다. 가격 편차가 심한 반면 제품 이미지가 동일합니다. 제품 설명 등을 살펴보니 모두 동일 제품으로 대만 회사인 롱펑의 제품이더군요. 그러다 각종 검색 신공을 통해 5만원에 동일 제품을 판매하는 곳을 찾았습니다. 기쁜 마음에 냉큼 주문하였습니다.(지금은 해당 사이트에서 품절이더군요.) 그리고는 좀 더 정확한 스펙을 알기 위하여 롱펑 사이트를 살펴보았습니다. 사진만 올라와 있고 아무 정보도 없더군요. 그때 .. 2014. 5. 13.
백패킹 코펠, 스포크 저렴하게 구매하기 본 포스팅의 제품 가격 등은 2014년 5월 기준이며 가격 비교 사이트를 통한 정보입니다. 백패킹을 하다보니 여행의 성격에 따라 장비를 취사선택하게 되는데요. 만약, 성야사진이라도 찍을 계획이라면 삼각대, 포터블 마운트, 미동운대, 볼헤드 등... 제법 무게가 나가는 장비를 수납하고 가야만 합니다. 원래 제 목표는 사진 촬영이 주이고 백패킹은 광해가 없는 곳에 머물기 위한 부수적인 것이었습니다. 그러나 최근 주, 부가 바뀌게 되는 경향이있어 원래의 목적을 달성키위해 장비의 무게를 줄여가고 있습니다. 기존 제가 사용하던 코펠은 코베아 하드23 으로 3만원 초반대 가격에 814g 의 무게를 가지고 있습니다. 비교적 가볍고 가성비도 좋은 제품이지만 무게를 줄이기 위해 티타늄 제품으로 교체해야겠단 생각이 들더군.. 2014. 5. 13.
CentOS mongodb 2.6.1 업데이트하기 예전에 yum 을 통한 패키지 설치 방법을 포스팅한 적이 있습니다. 2011/11/17 - [프로그래밍/서버관리] - CentOS 에서 MongoDB 패키지 설치하기 금일 별 생각없이 yum update 를 실행하였더니, mongodb 의 업데이트가 진행되었습니다. 헌데, 아래와 같은 에러가 발생하더군요. 패키지 충돌 오류인 것 같아... 관련 내용을 구글링해보니, 크게 두 가지 방법이 있더군요. 1. 기존의 패키지를 삭제하고 설치한다. yum erase mongo-10gen mongo-10gen-serveryum install mongodb-org 2. 캐쉬를 생성하고 설치한다.yum makecacheyum install mongodb-org 헌데, 두 가지 방법 모두 문제 해결이 되지 않았습니다. 그.. 2014. 5. 8.
CentOS 5, supervisor 설치 및 설정하기 node.js 로 개발할 때 편리한 모듈이 node-supervisor 입니다. 소스가 수정되거나 오류가 발생할 때 재시작하는 기능을 제공하는 놈이죠. 처음엔 별 생각없이 사용하고 있었는데... 프로세스를 관리하는 supervisor 란 놈이 따로 있다는 것을 알게되었습니다. http://supervisord.org/index.html 아무래도 개발이 끝나고 홈페이지를 배포 및 운영할 때 node-supervisor 만으로는 부족함을 느끼고 있던 차, supervisor 의 기능 등을 살펴보니 꽤 쓸만해 보였습니다. 하여 supervisor 를 직접 설치하여 사용해보기로 마음먹었습니다.(이하 모든 과정은 루트 계정에서 실행한 것입니다.) 우선, CentOS 5.x 버전의 서버를 사용하고 있는 관계로 일단.. 2014. 5. 5.
CentOS, node.js - Ghost 설치하기 운영하고 있는 홈페이지에 간단한 블로그 기능을 추가하기 위하여 쓸만한 node.js 모듈들을 검색해보았습니다. CMS 모듈 등도 있었지만... 현재 많은 이들의 지지를 받는 놈으로 Ghost 가 있더군요. 일단, 이 녀석을 설치해보기로 마음 먹었습니다. 먼저, node.js 및 npm 이 설치되어 있어야 합니다. 2014/02/11 - [프로그래밍/서버관리] - node.js 설치하기 - CentOS 5.x 2014/02/07 - [프로그래밍/서버관리] - node.js 설치하기 - CentOS 6.5 소스를 다운로드하기 위하여 http://ghost.org 사이트에 접속한 후, 로그인 합니다. 만약, 계정이 없다면 회원 가입을 하여야합니다. 소셜 계정을 통한 가입 및 로그인은 아직 지원하지 않는 것으로.. 2014. 5. 1.
FPC 로 OS 커널 만들기... - 3 - 다른분들처럼 저 또한 세월호 참사로 인해 대부분 작업이 중지된 상황입니다. 지금 시점에서 무언가 집중해서 한다는 것이 많이 힘드네요. 부디 삼가 고인의 명복을 빌며... 일단, 지난 커널 작업에서 조금 개선되거나 수정된 내용이 있어 정리해봅니다. 먼저, GRUB 이랑 연동하는 부분인데... 부팅이 완료된 후의 시스템 상태는 다음과 같습니다. CS : 코드 세그먼트 디스크립터를 가리킴. Base Address 0, Limit 4G - 1 DS, SS, ES, FS, GS : 데이터 세그먼트 디스크립터를 가리킴. Base Address 0, Limit 4 G - 1 A20 : 활성화 됨. Paging : 사용안함. 인터럽트 : 중지. IDT : 등록되지 않음. GDT : 크기 및 위치, 셀렉터의 값이 정해지.. 2014. 4. 30.
A20 게이트 포트 I/O(2014/04/18 - [프로그래밍/OS] - 포트 I/O)에 이어 A20 게이트 또한 인텔 프로세스의 특징입니다. 사실, 지저분한 유산이지요. 인텔의 8086 CPU 핀을 보시면, A0 부터 A19 까지 어드레스(주소) 핀이 존재합니다. 즉, 20비트 주소 체계를 가지고 있다는 얘기입니다. 2진수 11111111111111111111 => 2^20 = 1048576 즉, 1048576 번지까지 주소 지정이 가능하며, 이를 KB 로 환산하면 1024KB 즉 1MB 가 됩니다. 하지만, 다들 아다시피 8086, 8088, 80286 은 16비트 CPU 입니다. 레지스터에 담을 수 있는 것은 16비트이며 이 레지스터를 통하여 주소 접근을 하여야합니다. 4 비트가 모자란 셈이죠. 그래서 나온 개념.. 2014. 4. 20.
포트 I/O 포트 I/O 에 대한 내용이 자세하지 않아 여기저기 자료를 찾아보았습니다. 아래는 시스템 버스(어드레스 버스, 컨트롤 버스, 데이터 버스) 를 나타낸 그림입니다. 보시면 아시겠지만 I/O 어드레스가 별도 존재합니다. 입출력 장치의 컨트롤러는 시스템 버스와 연결되는데 이때 메모리 영역처럼 고유한 주소를 가지게되며 이를 I/O 어드레스라 부릅니다.(메모리 어드레스와 구분해야합니다.) 예를 들어 Port I/O 에서 0x60, 0x64 번지의 경우 키보드와 관련되지만... 메모리(램) 에서 해당 번지는 전혀 다른 공간에 위치하고 있습니다. 이와 같이 분리된 형태를 Port I/O 라고 부르며 인텔 프로세서들이 주로 사용하는 방식입니다. 반면, 메모리의 특정 공간에 I/O 주소를 매핑하여 사용하는 방식(I/O .. 2014. 4. 18.
x86 CPU 메모리맵 참고 http://wiki.osdev.org/Memory_Map_(x86) Low Memory (1MB 미만) 아래의 설명 중 사용할 수 없다는 뜻은 코드를 배치하거나 임의의 데이터를 배치하는 등의 용도로 사용할 수 없다는 뜻입니다. 0x00000000 부터 0x0009FFFF 까지의 640KB 는 Conventional Memory 라고 불립니다. 앞 부분의 0x00000000 부터 0x000003FF 까지의 1 KB 의 영역에는 IVT 가 존재하며, 0x00000400 부터 0x000004FFh 까지의 256 바이트는 BDA 로서 사용할 수 없습니다.(리얼모드에서 IRQ가 활성화된 경우, BDA 영역의 일부 값들을 overwrite 하기 때문. 하지만 보호 모드로 넘어간 후~ IVT 와 BDA 영역을.. 2014. 4. 17.