Rath World » 2012 » February

Archive

Archive for February, 2012

집단과 광기

February 28th, 2012 Comments off

음미해볼만한 내용이라 그대로 옮긴다.

 인류는 집단을 형성하는 동물이지만, 그것은 일반적으로 생각되듯이 군거본능 때문은 아니다. 개인의 정신이란 수많은 온갖 사적환상의 소굴로써, 인류의 개체는 홀로 내버려둔다면 개인으로서의 일체성과 일관성을 보유할 수 없으므로 현실에 적응할 수가 없다.

인류가 연명할 수 있기 위해서는, 각 개인의 사적환상을 부분적으로나마 어느 정도 공동화해서 공동환상을 만들고, 그 공동환상을 마치 현실인 양 간주하여, 이 의사현실에 적응하는식의 우회로를 취하지 않을 수가 없다. 작게는 가정의 일에서 크게는 국가에 이르기까지, 인류가 형성하는 집단은 공동환상에 기반을 두고 성립되어 있는 것이다.

어떠한 집단이건, 집단의 문화/도덕/이상/규범/풍속/상식/제도 등을 비롯한 그 밖의 일체의 것이 환상의 산물이다. 어느 집단 속에서 현실로 간주되던 것조차 환상에 지나지 않는 것이며, 어느 집단에서의 냉정한 현실주의자는 다른 집단에서는 열기에 들뜬 망상광의 범주에 들는지도 모른다.

집단이라는 것이 어떤 합리적 기반 위에 서 있다는 생각은 큰 잘못이다. 집단은, 어떤 불행한 조건 아래서 간혹 미쳐버리는 수가 있는 것이 아니고, 또 기본적인 면에서는 정상이나 표면의 말초적인 점에서 때때로 미쳤다는 것도 아니고, 집단이 집단인 한 본질적으로 미쳐 있는 것이다.

집단의 공동환상이 환상임을 깨닫지 못하는 것은, 그 공동환상에 자기의 사적환상을 공동화하고 있는 자 – 곧 집단의 구성원뿐이다. 우리들에게 있어서, 우리가 소속되어 있는 집단 이외의 집단은 필연적으로 괴상하고 광적인 것으로 보인다. 하기는, 개인이 자기 속마음은 좀체로 밝히지 않고, 일상생활에서는 일반적으로 통용하는 외면을 몸에 걸치고 몸단장을 하고 있는 것처럼, 집단도 여느 집단에게 수상쩍게 보일 부분은 보통 숨기고 있으므로 이것은 반드시 명백하진 않지만, 어떤 기회에 집단의 본심이라든가 실태가 드러나면, 그 집단의 구성원 이외의 사람들은 곧장 아연해진다.

어떠한 집단에서도, 다른 곳에서는 결코 통용할 것 같지 않은 일이 많건 적건 상식이니 관례니 해서 통용되고 있다. “어찌 그런 바보스럽고 가혹하며 어처구니 없는 일이 태연하게 통용되는 것일까. 바보천치들만 모여 있는 것도 아닐텐데, 말리는 사람은 없었던가” 하고 곁에 있는 사람들로서는 불가사의 하겠지만, 집단 안에 있는 자들로서는 알지 못한다.

몇년전부터 예스24에서 일시품절로 표시되어있어 지인들에게 추천도 못하는 책, 기시다 슈가 쓴 게으름뱅이 정신분석 2 의 ‘집단과 광기’ 파트에 있는 내용 일부분이다. 게으름뱅이들의 정신은 도대체 어떤가-를 다루는 내용이 아니라 저자인 기시다 슈가 자신을 게으름뱅이라 칭하여 ‘게으름뱅이가 해본 정신분석’이 이런 제목으로 출판된 것이다.

Categories: Books, Life Tags:

개발자용 가상키보드가 절실하다

February 27th, 2012 1 comment

사용하던 안드로이드 가상키보드를 바꿨다. 그리하여 원활할리는 없으나 짜증이 치솟지 않을 정도의 수준에서 쉘질과 빔질이 가능해졌다.

빔질이 현실적으로 가능해졌으므로 코딩을 한다. 인텔리센스가 없어서 빡치긴 하지만 프로토타이핑은 가능한 수준.

폰에서 코드 고치고 빌드하고 apk 설치해서 확인하는게 되니 좋다. 꽤 자동화 해봐야 스크립트 파일명과 argv 입력하는 수고를 피할 수 없어서 안드로이드용 통합개발환경을 만들면 좋겠다 싶었으나 5초만에 정신 차림.

가상키보드앱 언어에 한국어, 영어, 독일어 같은거 말고 자바스크립트, 씨샵, 배쉬 그런게 필요하다. 사용하는 특문 거기서 거긴데 비프로그래밍 언어 키보드로는 전환이 많아 피곤하잖아. 세팅에서 vi 옵션 켜면 esc 키 따악- 생기고 그래야지.

Categories: Daily, Development, Personal Tags:

Amazon EC2 사용시 주의사항

February 15th, 2012 4 comments

특정 주제에 대해 잘 모르는 사람을 아는 사람으로 교화시키는 작업은 대단히 어렵다. 모르는 사람을 위해 친절한 문장들을 만들다보면 전달하고자 했던 의도조차 희석되므로 아는 자, 모르는 자 모두를 잃을 수도 있다. 모르는 자가 충분한 개념탑재 없이 관련글을 읽을 경우 수박 겉 핥기식 지식이 되어 그들의 미래를 망칠 가능성도 농후하다. 그래서 이 포스트에서는 EC2가 뭔지, AWS가 뭔지 모르는 사람을 조금도 배려하지 않겠다. 될 놈은 도와주지 않아도 된다. 될 놈을 애써 도와주려한다면 그들의 에고에 상처나 내게 될 것이다.

Instance Types

default 인스턴스 타입이 Small Instance (m1.small) 이다. 대부분의 인스턴스 타입(t1.micro, c1.medium은 32bit 가능)이 64bit 인데 얘는 32bit 다. 멋모르고 m1.small로 시작했다가 다른 64bit 전용 인스턴스 타입으로 절체가 안되서 빡치는 일이 없으시길.

가장 저렴한 인스턴스 타입인 t1.micro를 사용할 경우 시간당 $0.025 (EU 기준) 이다. 24/7 돌리는 서버라면 한달에 $18 다. 1년 내내 사용할 경우 $219 이나, Heavy Utilization으로 선금 $62를 지불할 경우, 선금포함 1년에 $132면 된다. 한달에 12,000원 꼴이다. 한달에 두 끼 식사값이면 서버 하나를 배치해둘 수 있는 것이다. 그러나 t1.micro에는 함정이 있다.

Up to 2 EC2 Compute Units (for short periodic bursts)

반짝- 할 찰나 정도동안 2 EC2 코어를 사용할 수 있다. 그럼 반짝이 아니라 바아아아안짝이라면 어떨까? vmstat로 확인해보면 Xen 위에서 도는 서버에서나 볼 수 있는 추가 필드를 하나 볼 수 있다. 바로 st(steal time) 이다. t1.micro 인스턴스가 오랫동안 시스템 자원을 full로 쓰고 있다면 가상화 레이어에서 일시적으로 자원을 빼앗는다. 중간 이상 규모의 C++ 프로젝트를 컴파일해보면 이 현상을 확실히 목격할 수 있다. 중간중간 5~10초 정도 아예 시스템이 거의 멈추면서 st가 100으로 치솟는다. 예를들어 얼마전 0.1 릴리즈된 모질라 재단의 새 프로그래밍 언어인 Rust 컴파일러를 t1.micro로 빌드할 경우 5시간이 넘게 걸리지만, m1.large로 빌드하면 30분 정도면 된다. 5시간동안 꾸물 꾸물 컴파일되는게 아니라 뜨문 뜨문 컴파일 되는 것이다. 5시간동안 그 서버에서 도는 모든 프로세스들이 병신된다고 보면 된다.

그러니 싼 맛에 t1.micro 쓰면 안된다. 중대형 C++ 프로젝트를 컴파일하려면 m2.xlarge 처럼 코어당 프로세스 파워가 최고인 애들을 1시간동안만 빌려서 잽싸게 컴파일하고 terminate 해버리는 것을 추천한다. 컴파일 신나게 빨리 하고 500원~($0.57) 이면 할만하지 않은가. ㅋ

Prices 

EC2 Prices 페이지 가장 상단에 있는게 instance 사용료 테이블이다. instance 사용료는 최소 단위가 1시간이다. 10분 쓰고 버려(terminate)도 1시간 비용은 내야한다. 그 다음 주의깊게 봐야할 것은 Data Transfer 다. 매달 1GB는 무료인데 1GB도 안쓰면 잉여 서버라고 봐야하니 무료인 것이 별 의미가 없다. 1TB 를 쓰면 매달 $120가 나간다. 결코 저렴하지 않다. 매달 1TB를 쓰려면 한달내내 1초도 쉬지않고 385KB/s로 데이터 서빙을 하는거다. 여태까지 말한 트래픽 비용은 모두 아웃바운드 비용이다. 인바운드는 어떨까? 무료다. 서버에 미친듯이 쉬지않고 업로드를 하더라도 트래픽 비용이 공짜다. 하지만 별 의미가 없다. 디스크 비용이 필요하기 때문이다. 물론 crawler 같은 거 돌리기엔 안성맞춤.

디스크는 EBS(Elastic Block Store)라고 불리우며 1GB 당 한달에 $0.11이다. 인스턴스 생성시 기본으로 생성되는 EBS가 8GB이므로 매달 88센트가 나간다고 생각하면 “껌 값이네 ㅋ” 할지 모르지만, 우리가 일반 서버에 붙여놓던 디스크의 사이즈를 생각해보면 비싼거다. 300GB 정도는 붙였다고 친다면 매달 $33를 지불해야 하는거다. 물론 EC2를 쓰면서 300GB 짜리 EBS 블럭 하나를 통으로 잡는 또라이는 없겠지만 숙지해야할 내용이다. EBS는 시간당이 아니라 매월 결제되는 것을 잊지마라. 50분동안 잠깐 쓰기 위해 t1.micro 인스턴스 하나를 올렸다 내릴 경우, 인스턴스 비용 $0.025 + EBS 비용 $0.88이 나간다. 8GB EBS를 1시간 썼다 할지라도 t1.micro 인스턴스 35시간에 맞먹는 비용이 지출되는 것이다. 연습삼아 300GB짜리 EBS를 만들었다가 5초만에 지우더라도 $33가 나간다.

One shot  

서버 한대 추가하기가 그렇게 편할 수가 없다. 러닝중인 서버에 downtime 없이 새 EBS를 만들어서 동적으로 마운트 할 수도 있다. 정말 매력적이다. 그러나 그만큼 쉽게 서버를 지울 수도 있다. Stop 한다는게 실수로 Terminate 해버리면 끝장이다. 돌이킬 수 없다.

마치며 

서비스가 잘될지 안될지 한 치 앞을 내다볼 수 없는 내게 EC2는 축복이다. 더 쓰고 싶은 내용이 많지만 SNS에 적응된 내게 이런 장문의 글은 익숙치 않으므로 나머지 내용은 다음 기회에.

Categories: Development Tags: