목록it (189)
Dharma
최근에 서버가 사망하는 일이 발생했습니다. 내 다시는 LVM 에 데이터랑 OS 를 공존시키지 않으리란 다짐을 하게 만드는 사건이였습니다. 인프라를 다시 갖추는 작업을 한번쯤 정리해 볼 필요가 있을 것 같아서 정리해봤습니다. 12.04 LTS 버젼으로 설치해 주는 것이 편합니다. 12.10 버젼은 Remote Desktop 으로 접속시 D 를 누르면 발생하는 문제가 있습니다. (모든 창이 미니마이즈 가 됩니다) 설치하자 마자 접속하면 '소프트웨어 업데이트'가 뜹니다. 이때 '설정'을 눌러서 다운로드 받는 서버를 'ftp.daum.net' 으로 수정해 줍니다. $ sudo apt-get install ssh shell 접속이 가능하게 ssh 관련 소프트웨어를 설치해 줍니다. 특정 망회사는 ssh 기본 포트를..
'계획-구현'(plan-and-implement) 방법론은 댐을 건설한다던가 국가를 침공하는데에는 훌륭한 방법이 될 수 있지만, 경험상 프로그래밍을 하는데는 좋은 방법론 같지는 않다. 어째서? 아마도 컴퓨터가 너무나 엄격하기 때문일 듯 싶다. 각각의 프로그램들간의 차이가 댐들이나 침공들 끼리의 차이보다 더 심하기 때문일 듯 싶다. 또는 아마도 여분을 남기는 것과 같은 오래된 행태는 소프트웨어 개발에서는 없기 때문에 옛날 방법론은 먹히지 않는다: 댐 건설시 30% 의 콘크리트를 더 가지고 있는 것은 실수에 대비한 방법이지만, 프로그램에서 30% 더 일을 한다는 것은 명백한 실수다. 왜 오래된 방법론들이 실패했는지 말하기는 어려울 수도 있다. 하지만 그 방법론들은 명백히 실패했다. 누구나 실패한 것을 보지 ..
후배가 준 펜티엄 4에 우분투 32비트 버젼을 설치해서 잘 사용하고 있던 서버가 사망했습니다. 몇가지 이유가 있겠지만 자세한 이유는 잘 모르고, 나타난 현상으로 추론해 볼 수는 있습니다. SATA 1번 포트가 맛이 갔습니다. 2번 포트로 (이걸 포트라고 하는게 맞는 건지 잘 모르겠지만..) 바꿔서 하드를 달면 문제 없이 돌아가지만 SATA 1번에서는 하드를 인식 못하는 문제가 있습니다. -> 즉 보드가 맛이 갔다. (정확히는 보드의 특정 부분이 ㅎㅎ) 하드 IDE Secondary SLAVE 가 맛이 갔다. 어떤 방식으로 어떻게든 꼽아도 인식을 못하더군요. 그렇게 그는 가버렸습니다. ㅜ.ㅜ 물론 사양도 안 좋은 컴퓨터에 정말 무리하게 많은 일을 시키면서 혹사시키긴 했지만 이리도 빨리 운명할 줄은 몰랐습니..
두번째 게시물 (게시판 형식으로 변경) 첫번째 게시물 (뼈대를 만들고) Node.js 를 이용해서 열악한 하드웨어 스펙으로도 많은 사용자를 접속 처리를 하며, MongoDB 를 이용해서 엄청난 수의 게시물도 소화가 가능한 말 그대로의 대용량 게시판에 대한 개인 작업입니다. 프로젝트 페이지는 https://github.com/crazia/nodejs-mongodb 입니다. 천천히 천천히 작업중이라 진도가 느리지만 이번 커밋 내용은 소스에 대한 간단한 리팩토링과 README 파일 수정입니다. 다음에는 시나리오에 맞게 회원가입을 만들어 볼 예정입니다.
와우 안한지 1년 가까이 되 가지만 후회는 없네요. 다만 이렇게 계속 되는 걸 보니 왠지 애처롭다는 생각만 가득.. ㅜ.ㅜ 대충 보기에도 재미도 없어보이고, 줄구룹의 재탕 같은 느낌 ..
GIT 은 소스 레파지토리 시스템인데 그 중에 특별히 '분산' 개념이 들어가 있습니다. 다른 레파지토리랑 (cvs, svn) 비교를 많이 하지만 '분산' 이라는 점에서 많은 차별점이 있습니다. 원래 태어날 때도 여타 소스 레파지토리에 '분산' 기능이 없기 때문에 태어났기도 합니다. 조금 쉽게 이해를 하자면, GIT 은 기본적으로 제 Local 에 레파지토리를 가지고 있는 방식이라고 볼 수 있습니다. 즉 중앙 개념이 희박합니다. Local 에서 리비젼 관리가 완벽하게 이루어 집니다. Remote(원격) 개념은 공동 작업을 할 때 필요하다고 보면 될 것입니다. 결국 push / pull 은 원격에만 관여하는 것이고 나머지 기능들은 Local 에서 소스 관리하는 기능이라고 보시면 됩니다. (자질 구레한 것은 ..
무엇이든 지 간에 실제로 짜보기 전에는 공부가 됐다고 말할 수가 없을 것입니다. 그런 의미로 조금 복잡한 프로그램을 만들어 본다면, 거의 할 수 있는 최고의 공부가 될 것입니다. 거기다가 처음부터 차근 차근 만들어 볼 수 있다면? 그런 의미에서 Nethack 이라는 게임을 클로져로 만들어 보는 것이 정말 괜찮은 공부가 될 수 있을 것입니다. 저도 우연히 발견한 사이트 인데 정말 많은 공부가 되고 있습니다. 실전 Clojure 공부라고 볼 수 있습니다. http://stevelosh.com/blog/ 1 부터 차례로 따라하시면 됩니다.
요즘 Protocol 을 사용해서 (defprotocol) 무엇인가 만들어 보는 중인데, 알 수 없는 이상한 버그가 종종 발생합니다. 분명히 돌아가는 코드인데, 코드를 살짝 변경했는데, method 를 찾을 수 없다는 에러. 답답해서 별 짓을 다 해봤지만 원인을 알 수가 없었는데, 우연히 발견한 방법으로 에러를 추정할 수가 있었습니다. target/ 디렉토리 안에 들어있는 class 파일들을 캐싱하다가 definition 을 못 찾는 것으로 추정됩니다. 뻔하게 돌아가야 하는데 안 돌아간다면 project 디렉토리에서 $ lein clean 한 번 실행해 주고 다시 컴파일을 해 준다면 정상적으로 돌아 갈 것입니다. (이 걸 몰라서 몇 주째 고생했음 ㅜ.ㅜ) ps. 명령을 실행하기 전에 clojure 연결은..
맥북을 사용할려는 사람들이 가지는 두려움은 바로 OS 에 대한 두려움 입니다. OSX!! 물론 저는 별 상관없이 쓰지만 부담 되는 사람들은 엄청 부담된다고 합니다. 디자인은 맥북이 좋지만, OS 는 윈도우가 좋다. 또는 리눅스 신봉자니까 노트북에는 리눅스를 깔아줘야지? 이런 분들을 위한 최강의 가성비(가격대 성능비)를 자랑합니다. 바로 인민-에어!!! 생긴건 완전 비슷합니다. 바로 저 별(사과 대신) 마크 때문에 인민-에어 라는 별칭으로 불리고 있습니다. 비슷한 디자인에 가격은 살인적인 국내 대기업 L모사의 노트북하고 비교해도 최강의 선택이라 할 수 있을 정도입니다. (그 노트북은 220만원 대였고 얘는 70만원 이내입니다. 소니가 왜 망했는지 기억하라!! L모사!!) 사양입니다. 와우!! 라는 소리가 ..
원래 의도는 이런게 아니였습니다. 하지만 같은 효능을 가지고 있더군요 쿨럭.. 특정 사이트에 기생하는 충(蟲)분들이 열심히 일러 바쳐서 못 들어가지는 사이트가 있었습니다. 저를 번뇌에 들게 만드는 자료를 주로 구하던 곳(?) 이라 막힌게 가슴이 아팠지만 이 방법을 쓰니 다행히 접근이 되더군요. 완벽한 방법은 아니지만 토렌트 관련 자료들이나 자석 관련 자료들이 몰려 있는 곳이라면 충분히 사용해 볼만 합니다. 방법은 쉽습니다. http://www.google.com/gwt/n?u= 위 사이트에 들어가서 URL 입력하라는 곳에 들어가시고 싶은 주소를 적으면 됩니다. 거듭 말하지만 완벽한 것은 아닙니다. 자매 사이트로 http://www.1proxy.de/ 가 있습니다. 사용법은 동일합니다. (다만 이쪽이 더 ..