Attach2012/04/06 17:56


게임 회사를 다니다보니 테스트 클라이언트 등 은근히 큰 용량의 파일들을 공유할 일이 종종 생긴다.

지금까지는 가장 단순한 형태인 윈도우즈 공유 폴더를 이용해서 파일을 배포하였는데, 단점이 여럿 보이더라.

그 중 제일 큰 것은 속도. 알다시피 윈도우즈 공유 폴더를 이용한 복사가 빠른 편이 아니다. 

거기에 여러명이 동시에 파일 복사를 시도하면 그야말로 헬.  그래서 뭔가 좋은 방법이 없을까 하다가,

미드나 기타 등등을 받을 때 자주 쓰는 토렌트를 이용해볼까 해서 테스트를 해보았다.

토렌트를 회사에서 사용할 때 주의할 점이.. 다른 외부에서 접근이 안되어야 한다는 것. 

테스트 클라이언트는 어찌보면 회사 기밀스러운 데이터들이기 때문에 회사 내부에서만 돌 수 있게 설정하는 것이 매우 중요하다.


각설하고 Private Torrent Tracker 를 설정하고 운영하는 법에 대해서 알아보자.

구글에서 검색하면 수많은 문서가 나오긴 하지만, 한글로 된 문서가 별로 없어서 이 기회에 정리해 보려는 것이니, 너무 태클걸지 마시길. ㅠㅠ



1. uTorrent 설치( http://www.utorrent.com/intl/ko/ )

서버(Tracker)로 쓸 머신에 uTorrent 를 설치한다.

여러 Torrent Client 를 써보진 않았지만, 다른 걸 써봐야 한다는 생각이 안들 정도로 잘 만들어진 클라이언트. 한글 지원도 제대로!

설치할 때 아래 체크를 꼭 해주는 것이 편하니 주의.



2. Port 확인

Tracker 이므로 다른 Client 들이 접속할 Listening Port 가 필요하다. 

uTorrent 의 경우 디폴트 Port 를 무작위로 설정하는데, 회사에서 쓰려면 고정이 좋으니 적당히 외우기 쉬운걸로 설정.

(옵션 - 설정 선택)



3. Torrent 파일 만들기

얼추 서버 셋팅은 끝났다(?) 이제 배포용 Torrent 파일을 만들어보자.(파일 - 새 토렌트 만들기)


배포하고 싶은 파일/폴더를 선택한다. 그리고 중요한 것이 트래커 주소.

서버의 IP와 아까 확인해 둔 Port 를 가지고 주소를 만드는데, 회사 내부에서만 사용할 것이니까 회사 내부에서만 사용하는 사설망 IP로 설정하면 ok.

(...대부분의 회사는 사설망 IP를 이용한 내부 네트워크를 만든다고 가정하였는데, 아니라면 방화벽 등을 적절하게 이용하자;)

그리고 뒤에 /announce 라고 붙여주면 끝.

기타 체크 항목도 중요하다. 특히 "비공개 토렌트(P)" 항목을 반드시 체크 해제하자. 

체크하지 않아야 망 내에서 다른 Peer 를 알아서 찾고 더 빠르게 받을 수 있다. Private Tracker 라고 아무 생각 없이 체크하면 안됨!

그리고 배포 시작을 체크한 뒤, 생성 및 저장으로 .torrent 파일을 생성한다.



4. Torrent 파일 배포

다양한 방법(이메일 or 메신저 등등)으로 배포하면 끝.

물론 파일 다 받았다고 uTorrent 를 끄지 말고 계속 켜놓는 것이 중요하다.



토렌트를 이용하니 확실히 배포가 빠르다. 배포 속도가 빨라서 압축하고 풀고 하는 게 더 오래 걸린다;;

그래서 압축을 하지 않고 배포해봤더니(파일수가 몇천개정도) 엄청 느려지더라.

다만 아쉬운 건 파일 수가 많아지면 느려진다는 것. 이걸 어떻게 해결할 수 있는 방법이 없을까..?



Creative Commons License
Creative Commons License
Posted by 飛烏
五感의 方向2011/10/23 23:17
나는 세계 일주로 경제를 배웠다 - 10점
코너 우드먼 지음, 홍선영 옮김/갤리온


  애인님 기다리면서 교보문고에서 <나는 세계 일주로 경제를 배웠다> 일독. 빠르게 읽어 나가느라 곱씹으면서 보진 못했지만, 다 읽고 난 직후 처음 든 생각은 '저 사람이니까 할 수 있는 일이구나.' 였다. 기본적으로 "일 100만원 이상 벌었던 능력있는 애널리스트"이자 영어가 완벽한 "아일랜드"인이고, 무엇보다 필요할 때 척척 정보를 제공해주는 수많은 "친구들"이 있었다. 거기에 웬만한 계약서들은 다 처리할 수 있는 "지식인"이기도 하다.

  물론 이런 "기반"은 저절로 주어지는 것은 아니다. 설사 있더라도 무조건 그처럼 할 수 있는 건 아니다. 왕성한 행동력이나 협상력, 원하는 바를 실행하고야 마는 의지가 있어야지만 가능한 일이다. 다만 이런 "기반"들이 당연하게 주어진 것처럼 내용을 풀어나가고 있는 점이 조금 거슬렸던 것 같다.

  책은 거의 완벽한 기승전결 구조를 가지고 완급조절도 좋아 한 편의 잘짜여진 소설처럼 술술 읽힌다. 거기에 시장 논리와 경제 개념들을 체험을 통해 직설적으로 풀어 나가는 것이 이해도 쉽다. 청소년 or 대학 초년생들의 교육도서로도 좋을 듯 하다. 다만 너무 잘 짜여진 "기행문"이라, 읽는 내내 머리 속에 물음표가 계속 뜨는 건 나뿐만은 아닌 듯 하다.



Creative Commons License
Creative Commons License
Posted by 飛烏
분류없음2011/08/01 18:08

http://msdn.microsoft.com/en-us/library/ms686016(VS.85).aspx

아무런 Handler를 등록하지 않으면, default handler 가 호출되고, 이 넘은 ExitProcess()를 호출함.

ExitProcess() :  http://msdn.microsoft.com/en-us/library/ms682658(v=VS.85).aspx

ExitProcess()가 호출되면 thread 들 죽이고, DLL들 detach 되고 현재 프로세스를 죽인다. 

이때 static 객체나 stack 객체의 소멸자 등을 호출해주지 않고 그냥 죽여버린다.

왜냐면, 소멸자는 CRT에서 호출해주는데, CRT가 Windows API로 구현되어 있다.

ExitProcess() 같은 Windows API 로 프로세스를 종료해버리면 소멸자가 뭔가요? 하면서 쌩까버리기 때문;;

실제로 소멸자에 breakpoint를 잡아서 call stack을 보면 exit() -> doexit()에서 asm 으로 소멸자를 호출해준다.



 
Creative Commons License
Creative Commons License
Posted by 飛烏
Attach2011/07/16 19:21

32bit OS에서 유저 프로세스가 사용할 수 있는 메모리 영역은 4GB이다.
하지만 AWE(Address Windowing Extension)을 이용하면 4GB보다 더 많이 쓸 수 있다.

AWE의 원리는, 기본적으로 Virtual address 가 가르키는 물리 메모리 영역은 1byte 인데.
Address Translation mode 를 바꿈으로써 1byte 이상을 가르키게 할 수 있는 방법이다.

AllocateUserPhysicalPages()를 이용하여 AWE로 사용할 물리 메모리 영역을 할당해놓고,
VirtualAlloc()의 MEM_PHYSICAL 로 VA Range(ex: 0x40000 ~ 
0x50000) 에 AWE 물리 메모리 영역을 가르키게 해놓는다.
그러면 기본적으로는 0x40000 ~ 0x50000 이 가르키는 영역은 기본 Virtual Address 영역이지만,
MapUserPhysicalPages() 를 호출하면 VA Range 가 가르키는 영역이 AWE 물리 메모리 영역으로 바뀐다.
즉, MapuserPhysicalPages()를 호출하면 Virtual Address Translation 로직이 다르게 바뀌는 것이다.
원래대로 되돌리려면  
 MapuserPhysicalPages() 에 인자를 NULL을 넣어서 호출한다.

이렇게 하면 물리적으로 4GB 이상의 메모리를 쓸 수 있지만, 
포인터를 이용해서 접근하려면 내가 지금 AWE 용 Address Translation 모드인지 아닌지를 항상 기억해야 한다 -_-
그래서 잘 안쓰는 듯..?
(혹시 잘 쓰시는 분 있으시면 리플 좀 부탁 드립니다 ㅠㅠ)

설명 : http://msdn.microsoft.com/en-us/library/aa366527(v=vs.85).aspx
예제 : http://msdn.microsoft.com/en-us/library/aa366531(v=vs.85).aspx

 

Creative Commons License
Creative Commons License
Posted by 飛烏
Attach2011/04/28 10:10

자주 가는 모 사이트에서 올라온 글인데, 저랑 주장하는 내용이 비슷하기도 하고 잘 정리된 것 같아서 퍼옵니다.
(저자가 무단전제 대허용이라고 하네요 ㄷㄷ)

================================================================================================================

많은 사람들이 셧다운제의 의도와 의지에 대해서 지지를 보낸다. 
게임중독은 술, 약물과 같이 청소년에게서 일단은 멀어져야 할 존재라고. 
그런데 셧다운제를 반대하는 사람들의 전부가 셧다운제의 의도와 의지를 몰라서 그러는 것이 아니다. 
셧다운제 논란의 본질은, 특정한 정책 목적을 달성하는 데에 적합한 정책 수단이 미비한 상황에서, 과연 의도와 의지만으로 정부가 정책을 강행할 수 있는가에 달려있다.

대테러 전쟁을 생각해보자. 대테러 전쟁은 분명 명분이 있는 전쟁이다. 의도와 의지는 누구나 인정할 만 한 것이다. 하지만 대테러 전쟁에는 다음과 같은 문제들이 수반된다. 첫째, 예산이 너무 많이 들어서 다른 정부 사업에 차질을 빚게하지 않는가? 둘째, 대테러 전쟁을 주관하는 부처가 비정상적으로 팽창된 권한을 갖게되지는 않는가? 셋째, 민간인 오폭 등 원래 목표하지 않았던 대상에 피해가 갈 수 있지 않은가? 이런 문제들로 인해 대테러 전쟁은 엄청난 비난에 시달린다. 만약 미래에 엄청난 고등기술이 발명되어 목표된 테러조직의 수뇌부만 정확하게 제거하거나 신병을 확보할 수 있다면 모르겠으나, 일단 부작용이 너무 많은 것이다.

셧다운제도 마찬가지다. 의도와 의지가 중요한 것이 아니다. 게임중독을 근절시키기 위한 정책적 수단이 너무 허술한데, 그것을 억지로 끼워맞춰넣으려고 하니까 문제가 되는 것이다.

셧다운제의 가장 큰 첫번째 문제점은 '무엇을 게임으로 볼 것인가?'에 있다. 흔히들 게임타령하지만 실제로 게임이 무엇인가에 대해서 학계에서 명확한 합의가 이루어진 적은 없다. 이는 미국에서 스마트폰으로 앱을 통해 지상파 영상을 송출하는 것을 둘러싸고 미디어 업계간에 논쟁이 벌어진 것과 마찬가지다. 스마트폰으로 송출된 지상파 영상은 단순히 TV가 작아진 것인가? 아니면 앱으로 프로그램 시청권을 판매한 것인가? (http://biz.heraldm.com/common/Detail.jsp?newsMLId=20101124000614)게임도 마찬가지다. 애초에 이건 누가 어떤 목적으로 정의하냐에 따라서 게임의 폭이 갈릴 수 밖에 없는 것이다. 예를 들어, 교육부에서 학습 성취 동기를 고양하려는 목적으로 사자성어 빈칸 맞추기 프로그램을 개발했다고 가정해보자. 그것은 게임인가? 어떤 회사에서 광고를 위해 하나의 웹페이지에 접속한 모든 사람들이 실시간으로 그 회사 제품들을 형상화한 캐릭터를 가지고 놀 수 있다고 치자.(http://blog.naver.com/asf978?Redirect=Log&logNo=80123113992) 이것은 게임인가? 
일단 뭐라고 게임을 정의해야할지부터 곤란하다. 이는 각 기업체의 흥망을 가르는 것이기 때문에 극도로 민감한 사안이다. 지금도 정부부처에서 동반성장을 장려한답시고 중소기업들만 진출할 수 있는 사업분야를 선정하는 과정에서 엄청난 혼선이 빚어지고 있는데, 도대체 게임은 무슨수로 구분할 것인가?

그래서 결론이 '온라인게임' 셧다운제가 된 것이다. 왜냐하면 정부는 '자신이 규제할 수 있는 것이 전체라고 간주하고 싶기 때문'이다. 스마트폰이 등장하기 이전에 모든 휴대폰에 강제로 깔렸던 WIPI를 기억하는가? (WIPI라는 단어를 듣고 지긋지긋함을 떠올리지 않은 당신은,우리나라 정부가 IT산업을 장려하기는 커녕 옭죄느라고 정신이 없었다는 사실을 모르는 평범한 시민일 것이다) WIPI는 정부가 무선인터넷 플랫폼을 표준화하려는 거창한 시도에서 이루어졌다. 그래서 모든 휴대폰에 매직엔이니 UTO니 같은 것들이 이름만 바꿔서 똑같이 나왔던 것이다. 하지만 정작 정부가 관할할 수 없는 거대 공룡기업, 그러니까 애플이 스마트폰을 내세워서 들이닥치자 너무나도 깔끔하게 정책 전부를 포기해버렸다. 무선인터넷의 '한국형' 표준규격을 만들어 IT시장을 지배하겠다던 의도와 의지는 어디로 갔는가? 셧다운제도 마찬가지다. 게임의 유해성에 관해 한참 떠들고 났더니 정작 무슨수로 웹페이지에 널려있는 플래시기반 게임들, 모바일 게임들, 인터넷을 연결할 필요가 없는 콘솔게임들, 심지어 쌍방향 광고의 일부로 자리잡은 여러 웹페이지 그 자체를 어떻게 할지 막막해진 것이다. 결국 WIPI 때도 그랬듯이 정부가 쉽게 이래라 저래라 할 수 있는 국내 중대형 기업체들만 집합시켜서 '온라인게임'을 규제할 뿐이다. 정말 병신같은 짓이다. 보나마나 거대공룡기업들이 들이닥쳐서 시장개방을 요구하면 다시 금방 폐지할, 그러니까 그동안 한국 기업들만 족쇄채우는 놀음인 것이다. 

게다가 더 코믹한 부분은 정부도 어떻게 오프라인으로 구동되는 게임들, 그러니까 가장 조악한 패미콤이나 게임보이부터 시작해서 PS3, XB360, PSP 같은 매체들을 어떻게 규제할 지 감이 오지 않는 것이다. 집집마다 들이쳐서 막아야 하나? 정부는 한심하게도 예전 WIPI때와 똑같은 방식을 쓰려고 했다. 앞으로 한국에서 팔리는 모든 콘솔과 모바일 기기는 12시 이후 게임프로그램을 실행 불가능하게 만드는, 프로그램을 설치하라는 것이었다. 그것도 청소년에 한해서! 와우! 물론 게임기업체의 사업상 기밀을 알아내야 하는 일이므로 당연히 그만뒀다. 소니가 자사의 콘솔 OS를 해킹하여 분석한 해커를 대상으로 초거액의 소송협박을 하는판에, 한국 정부가 무슨수로 소니에게 콘솔에다 셧다운 프로그램을 깔라고, 깔고 나면 우리가 그 결과를 감수할테니 OS한번 내놔보라고 할 수 있는가?

압권은 이러한 모든 시스템을 개발하는 데에 드는 비용을 기업체가 부담하라는 데에 있다. 기업이 사회환원 겸 하면 되지 않냐고? 방금 위에서도 언급했듯이, 게임 프로그램의 모든 코드와 소스가 어떻게 구성되어 있는가는 사실상 해당 기업체의 기밀이요, 자산이다. 그것을 침해 (물론 지금도 심의라는 명목하에 버젓이 침해하면서 빤히 들여다보기는 하지만) 하면서 까지 막나갈수는 없으니, 지금과 마찬가지로 정부는 직접적으로 손을 대지 않고, 대신 너희들이 개발한 셧다운 프로그램을 우리가 감수하겠다 - 라는 것이다. 

그러니까 결국 정부도 사실 알고 있는 것이다: 셧다운제는 결코 실현될 수 없다는 것을. 그러니까 이런 골치아픈 일은 적당히 하는 시늉만 내야지, 괜히 세게 나가다가는 기업들 줄소송에 휘말려서 행정소송이나 헌법재판소까지 가면 큰일 난다는 것을. 

셧다운제 찬성론자들은 그래도 억지로 한번 우겨본다. 한국의 게임중독의 핵심은 '온라인 게임'이므로 이것만 잡으면 된다고. 이거라도 잡으면 꽤나 게임중독이 안정될 것이라고. 이 사람들은 풍선효과에 대해서는 전혀 생각하지 않는 것 같다. 풍선의 한쪽을 잡으면 다른쪽이 늘어난다. 온라인 게임시장의 빈 자리를 콘솔 과 모바일 게임 시장이 메울 것이다. 그게 전부다. 정부는 비싼 돈과 시간을 투자해서 온라인 게임 기업의 주가를 떨어뜨리고 콘솔 게임 기업의 주가를 올리는 일을 하고 있는 셈이다. 당장에라도 소송이 나지 않는 것은 아직 우리나라 게임 기업들이 이런 소송을 해본적이 없기 때문이다. 

셧다운제의 가장 큰 두번째 문제점은 '그렇다면 누가 셧다운제를 관할할 것인가?'다. 그래, 위의 논점이 다 좋다고 치자. 그렇다면 이제 셧다운제는 누구의 관할이 되어야 하는가? 셧다운제가 이대로 시행되면 계속해서 셧다운제의 장악 범위안에 포함될 게임과 그렇지 않은 게임을 구분해야 한다. 포함된 게임은 셧다운 프로그램이 제대로 포함되어 있는지 검수를 해야한다. 그렇지 않은 기업에는 통제를 가해야 한다. 이 엄청난 권력의 파이를 누가 차지할 것인가? 

여성가족부는 당연히 자신들의 관할이라고 주장한다. '청소년'의 게임중독을 막는 것이기 때문이다. 아, 그렇다면 '청소년'의 무면허 운전을 막는 것은 국토해양부가 아니라 여성가족부가 해야할 일이다. 

여성가족부는 자신이 무엇을 관할할 수 있는지, 자신들이 이에 적합한 인력을 보유하고 있는지 조차 관심이 없는듯 하다. 셧다운제가 실질적인 관리와 규제의 영역으로 넘어오면, '청소년'이 중요한 것이 아니라 '게임'중독이 중요한 것이다. 그 산업에 대한 고도의 이해가 필요함은 두말할 나위도 없다. 하지만 아마도 여성가족부는 PC방 업주들과 게임 기업간에 과금제 양상을 두고 무슨 논란이 벌어졌었는지 조차 이해하지 못할 것이다.

그렇다면 실질적으로 관리가 가능한 부처는 교육과학기술부일 것이다. 왜냐하면 이곳이 과거 정보통신부의 유산을 대부분 계승했기 때문이다. 그러나 교과부는 뒷전이고, 실제로는 여가부와 문광부가 싸우는 형국이다. 문광부는 자신들이 게임 '등급'을 규제하고 있던 원래 부처이므로 게임'중독'도 규제할 수 있다고 믿는 듯 하다. 정말 슬프고 병신같은 형국이다.

셧다운제의 세번째 문제점은 '게임을 하고 있는 대상이 청소년인지를 어떻게 식별하는가?'이다. 이미 이 문제는 망했다는 사실을 누구나 알고 있을 것이다. 이것은 규제가 통할 수 있는 범위를 이미 넘어섰다. 지금도 해외에 서버를 갖고 있는 게임들은 가입시 주민등록번호를 요구하지 않는다. 이제는 주민등록번호 없이 뭘 어떻게 할 것인가? 역시나 말잘듣는 국내 중대형 게임기업들만 규제의 범위에 걸려들 뿐이다. 

정리하자면, 셧다운제는 애초에 의도나 의지를 실현하기에는 거의 불가능한, 그러니까 망상에 가까운 이상론자들의 헛소리일 뿐이다. 이는 과거 자동차 산업의 첨단이었던 영국의 적기조례에 버금가는 병신력 넘치는 법안에 불과하다. 당시 적기조례를 입안했던 정치인들도 많은 꿈과 희망에 부풀어 있었을 것이다. '영국이 자동차 산업의 종주국인데, 우리가 한번 세계 자동차의 주행의 표준형태를 만들어 보는거야! 그것도 과속이나 인명피해 없이!' 그런 병신같은 환호와 열광속에 영국의 자동차산업은 몰락했다. 

이제 한국의 게임산업 차례다. 몇년 안가서 그만 둘것이 너무 뻔한 제도인데, 정치인들은 여기에 영합해서 어떻게든 자신의 업적으로 일구어내려고 정신이 없으며, 공무원들은 자기 부처 권력한번 늘려보려고 정신이 없다.

================================================================================================================

정말 게임업계에 있으면서, 이런 밑도 끝도 없는 정책이 입법 수준까지 가고 있다는 게 참 한심합니다.
무엇보다, 게임 업계와 게임 자체에 대해 무지한 "여성가족부" 사람들이 주장하고 있다는 것 자체가 우숩네요.

 
Creative Commons License
Creative Commons License
Posted by 飛烏