2015년 1월 31일 토요일

freeciv #4 - 약소국으로서 할 수 있는 것?


빨리 무역해야 되는데 33턴 남았다.


지난 번에 러시아랑 전쟁을 하다가 많이 져서 영토 대부분을 잃었고,

지금의 예멘 위치에 새 도시를 지었었다.



그리고 해양 무역을 해서 돈을 벌고 복수를 할 계획이었으나, 당장 무역하는 것만 33턴 이상이 드네.


만리장성을 무력화하려면 야금술을 배워야한다...
인도와 함께 러시아를 공격하기도 어려운 게, 러시아가 불가사의인 만리장성을 갖고 있어서 도시를 점령하기가  어렵다.


만리장성을 무력화하려면 야금술을 배워야 되는데, 그건 그림에서 보듯이 한~~~참 멀었다.



일단 버티는 걸 목표로 해야된다.


화약까지 개발한 러시아...

1150년. 러시아가 화약을 개발해서  만든 머스킷 총병이 보인다.


실제로 화약으로 만든 화기는 (연대가 명확한 것은) 1356년에 만들어졌다고 한다. 화약은 9세기부터 만들었다고 한다.


게임에서 좀더 빨리 만들었구나(이러니까 normal이 아니라 easy난이도를 해야 됐다고. ㅋ)



행복도 창. 노란색 시민 그림이 불행한 시민 1 단위다.

 문명이라는 게임이 전쟁만 할 수 있는 게임이 아닌 게, 도시가 점점 성장할수록 행복도 관리도 해야 한다.

freeciv에선 도시가 5레벨이 되면서부터 불행한 시민이 한 단위씩 생긴다.

이걸 막으려면  행복도를 올려주는 건물(사원, 콜로세움, 극장 등)을 지어주거나, 복지 지출을 통해 행복도를 올려주거나, 군대를 늘려 계엄령을 이용하는 수밖에 없다.


다만 계엄령의 경우, 민주주의 정부나 공화제 정부에서는 불가능할 수 있다.





1200년. 볼고그라드, 투르크메니스탄 근처에서 크고 작은 전투가 계속되고  있다.




 와!!!

화면 오른쪽의 인도 기마대... 숫자가 엄청 많다.


하지만 #3 - 손자병법으로 보는 패인 분석 에서 봤듯이, 공성전은 최하의 방법이고, 수많은 병력을 쏟아붓고도 이득을 전혀 못 볼 수 있다는 걸 배웠기 때문에 이젠 별로 기대 안 한다. ㅋ



그냥 야금술 나오기 전까지 견제정도 하는 거라 생각하자;





우르르 몰려가 우리 땅에 들어온 러시아 군대를 밟고 지나가는 인도 기마대... 멋있긴 하네....


하지만 공성전은 쉽지 않을 것이야... ㅋ



인도가 러시아랑 싸우려는 의지가 있을 때 우리는 이 기회를 잘 이용해야 한다.


그러니까 좀더 군대의 이동이 용이하도록 도로를 놓아주자.



일단 투르크메니스탄과 타지키스탄을 잇는 도로 건설.


이이제이(以夷制夷)라고나 할까 ㅋ





테헤란에서 Thiru....어쩌고 하는 도시까지도 도로를 놓자.


인도 애들은 대신 싸워주고, 우리는 기반시설 만들어주고. 이이제이보다 상부상조라고 생각하자.



1320년. 무역 연구 완료!


이제 바다로 나가기 위해 배를 만들어야 한다.



배를 만들기 전에 일단 적은 수입이라도 버는 게 좋으니까
예멘에서는 아프리카에 있는  우리 동맹국인 이집트와 일단 교역을 하고,




테헤란과 투르크메니스탄에서는 인도의 도시인 바라나시(실제 위치는 저기 아님)까지 대상들을 보내자.



테헤란에서 바라나시까지 12턴... 히말라야 산맥을 넘어서... ㅋ




예멘에서 이집트로 대상을 보냈는데 중간에 러시아 창병 둘이 길을 가로막았다.



결국 다시 예멘으로 후퇴;



이집트 도시 Behdet에 있던 탐험가로 얘들이 갔나 계속 정찰을 하는데 안 가고 주변을 어슬렁거린다.

이 상태로는 무역을 할 수 없다....



그러는 사이 투르크메니스탄에서 출발한 대상은 인도의 콜카타에 도착, 18골드와 '지도 제작'(배 만들게 해주는 기술) 연구를 얻음.


한번 무역로를 연결해주면 매 턴당 골드 수입이 생긴다.




예멘에서 배를 만들어서 영국으로 보내야지.

거리가 먼 곳에 무역로를 연결하면 수입이 더 많이 생긴다.




저~~~ 멀리 리버풀(실제 위치랑 다름)로 보내고 싶다.

다음으로 연구하는 건 '항해술'을 목표로 한다.


'지도 제작'을 통해 얻을 수 있는 '갤리선'은 얕은 바다만 다닐 수 있어서 다른 대륙으로 배를 보낼 수 없다.

'항해술'을 배우면 깊은 바다로 갈 수 있는 배가 생기니까, 이걸 목표로 하였다.


어라.

예멘에 해적 출몰.


다행히 성도 쌓아 뒀고, 병력도 방어하기엔 충분할 것이다.

이제 전쟁은 거의 인도가 대신 해주고 있고, 지금은 내정에 충실해야 할 때인 것 같다.


수도가 러시아 영토 한복판에 있는 볼고그라드로 되어 있었는데, 지금쯤 테헤란으로 바꾸어주자.

궁전을 지으면 수도가 바뀐다.



수도에서 거리가 멀면 부정부패가 생겨서 세금 수입이 줄어드므로, 수도는 되도록이면 영토 중심부에 두는 것이 좋다.


















오늘은 여기까지!


지금은 많이 털려서  꼴등 국가지만, 빨리 돈을 많이 벌어서 이 위기를 극복해야겠다.


내 계획이 순조롭게 잘 진행될지는 미지수지만,


딱히 묘수가 없다.




어쩌면 우리 나라도 수출 주도 공업화를 한 이유가 저런 게 아닐까?

"딱히 묘수가 없다"는 것?


힘 없는 나라는 무역을 하는 게 나라 재건하는 가장 좋은 방법일 것 같다.





끝.

2015년 1월 26일 월요일

Lubuntu 14.04 - Battle for wesnoth 설치 시 의존성 오류 해결

전문가가 쓴 글은 아니니 혹시 보는 사람은 참고만 하시길







Lubuntu 14.04에서 wesnoth를 설치할 때 의존성 문제가 생겼다.


lubuntu software center를 통해 wesnoth를 설치했으나 몇 개의 패키지가 불완전하게 깔린 건지 의존성 문제가 생긴 것.
 

오류 내용은 다음과 같다.

 
installArchives() failed: Selecting previously unselected package libboost-iostreams1.54.0:i386.
(Reading database ... 
(Reading database ... 5%%
(Reading database ... 10%%
(Reading database ... 15%%
(Reading database ... 20%%
(Reading database ... 25%%
(Reading database ... 30%%
(Reading database ... 35%%
(Reading database ... 40%%
(Reading database ... 45%%
(Reading database ... 50%%
(Reading database ... 55%%
(Reading database ... 60%%
(Reading database ... 65%%
(Reading database ... 70%%
(Reading database ... 75%%
(Reading database ... 80%%
(Reading database ... 85%%
(Reading database ... 90%%
(Reading database ... 95%%
(Reading database ... 100%%
(Reading database ... 189437 files and directories currently installed.)
Preparing to unpack .../libboost-iostreams1.54.0_1.54.0-4ubuntu3.1_i386.deb ...
Unpacking libboost-iostreams1.54.0:i386 (1.54.0-4ubuntu3.1) ...
Selecting previously unselected package libboost-program-options1.54.0:i386.
Preparing to unpack .../libboost-program-options1.54.0_1.54.0-4ubuntu3.1_i386.deb ...
Unpacking libboost-program-options1.54.0:i386 (1.54.0-4ubuntu3.1) ...
Selecting previously unselected package libboost-regex1.54.0:i386.
Preparing to unpack .../libboost-regex1.54.0_1.54.0-4ubuntu3.1_i386.deb ...
Unpacking libboost-regex1.54.0:i386 (1.54.0-4ubuntu3.1) ...
Selecting previously unselected package libboost-system1.54.0:i386.
Preparing to unpack .../libboost-system1.54.0_1.54.0-4ubuntu3.1_i386.deb ...
Unpacking libboost-system1.54.0:i386 (1.54.0-4ubuntu3.1) ...
Selecting previously unselected package libsdl-net1.2:i386.
Preparing to unpack .../libsdl-net1.2_1.2.8-4_i386.deb ...
Unpacking libsdl-net1.2:i386 (1.2.8-4) ...
Selecting previously unselected package wesnoth-1.10-data.
Preparing to unpack .../wesnoth-1.10-data_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-data (1:1.10.7-1) ...
dpkg-deb (subprocess): decompressing archive member: internal gzip read error: '<fd:4>: incorrect data check'
dpkg-deb: error: subprocess <decompress> returned error exit status 2
dpkg: error processing archive /var/cache/apt/archives/wesnoth-1.10-data_1%%3a1.10.7-1_all.deb (--unpack):
 subprocess dpkg-deb --fsys-tarfile returned error exit status 2
No apport report written because the error message indicates an issue on the local system
Selecting previously unselected package wesnoth-1.10-core.
Preparing to unpack .../wesnoth-1.10-core_1%%3a1.10.7-1_i386.deb ...
Unpacking wesnoth-1.10-core (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-httt.
Preparing to unpack .../wesnoth-1.10-httt_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-httt (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-tsg.
Preparing to unpack .../wesnoth-1.10-tsg_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-tsg (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-trow.
Preparing to unpack .../wesnoth-1.10-trow_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-trow (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-ttb.
Preparing to unpack .../wesnoth-1.10-ttb_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-ttb (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-ei.
Preparing to unpack .../wesnoth-1.10-ei_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-ei (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-utbs.
Preparing to unpack .../wesnoth-1.10-utbs_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-utbs (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-did.
Preparing to unpack .../wesnoth-1.10-did_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-did (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-nr.
Preparing to unpack .../wesnoth-1.10-nr_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-nr (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-sof.
Preparing to unpack .../wesnoth-1.10-sof_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-sof (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-sotbe.
Preparing to unpack .../wesnoth-1.10-sotbe_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-sotbe (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-l.
Preparing to unpack .../wesnoth-1.10-l_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-l (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-aoi.
Preparing to unpack .../wesnoth-1.10-aoi_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-aoi (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-thot.
Preparing to unpack .../wesnoth-1.10-thot_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-thot (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-low.
Preparing to unpack .../wesnoth-1.10-low_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-low (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-dm.
Preparing to unpack .../wesnoth-1.10-dm_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-dm (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-dw.
Preparing to unpack .../wesnoth-1.10-dw_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-dw (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10.
Preparing to unpack .../wesnoth-1.10_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10 (1:1.10.7-1) ...
Selecting previously unselected package wesnoth-1.10-music.
Preparing to unpack .../wesnoth-1.10-music_1%%3a1.10.7-1_all.deb ...
Unpacking wesnoth-1.10-music (1:1.10.7-1) ...
Processing triggers for hicolor-icon-theme (0.13-1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Processing triggers for mime-support (3.54ubuntu1.1) ...
Processing triggers for desktop-file-utils (0.22-1ubuntu1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/wesnoth-1.10-data_1%%3a1.10.7-1_all.deb
Error in function: 
Setting up libboost-system1.54.0:i386 (1.54.0-4ubuntu3.1) ...
dpkg: dependency problems prevent configuration of wesnoth-1.10:
 wesnoth-1.10 depends on wesnoth-1.10-data (= 1:1.10.7-1); however:
  Package wesnoth-1.10-data is not installed.

dpkg: error processing package wesnoth-1.10 (--configure):
 dependency problems - leaving unconfigured
Setting up libsdl-net1.2:i386 (1.2.8-4) ...
Setting up wesnoth-1.10-music (1:1.10.7-1) ...
Setting up libboost-iostreams1.54.0:i386 (1.54.0-4ubuntu3.1) ...
Setting up libboost-program-options1.54.0:i386 (1.54.0-4ubuntu3.1) ...
Setting up libboost-regex1.54.0:i386 (1.54.0-4ubuntu3.1) ...
dpkg: dependency problems prevent configuration of wesnoth-1.10-core:
 wesnoth-1.10-core depends on wesnoth-1.10-data (= 1:1.10.7-1); however:
  Package wesnoth-1.10-data is not installed.

dpkg: error processing package wesnoth-1.10-core (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of wesnoth-1.10-low:
 wesnoth-1.10-low depends on wesnoth-1.10-core (>= 1:1.10); however:
  Package wesnoth-1.10-core is not configured yet.
 wesnoth-1.10-low depends on wesnoth-1.10-core (<< 1:1.11); however:
  Package wesnoth-1.10-core is not configured yet.

dpkg: error processing package wesnoth-1.10-low (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of wesnoth-1.10-utbs:
 wesnoth-1.10-utbs depends on wesnoth-1.10-core (>= 1:1.10); however:
  Package wesnoth-1.10-core is not configured yet.
 wesnoth-1.10-utbs depends on wesnoth-1.10-core (<< 1:1.11); however:
  Package wesnoth-1.10-core is not configured yet.

dpkg: error processing package wesnoth-1.10-utbs (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of wesnoth-1.10-thot:
 wesnoth-1.10-thot depends on wesnoth-1.10-core (>= 1:1.10); however:
  Package wesnoth-1.10-core is not configured yet.
 wesnoth-1.10-thot depends on wesnoth-1.10-core (<< 1:1.11); however:
  Package wesnoth-1.10-core is not configured yet.

dpkg: error processing package wesnoth-1.10-thot (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of wesnoth-1.10-ei:
 wesnoth-1.10-ei depends on wesnoth-1.10-core (>= 1:1.10); however:
  Package wesnoth-1.10-core is not configured yet.
 wesnoth-1.10-ei depends on wesnoth-1.10-core (<< 1:1.11); however:
  Package wesnoth-1.10-core is not configured yet.

dpkg: error processing package wesnoth-1.10-ei (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of wesnoth-1.10-sotbe:
 wesnoth-1.10-sotbe depends on wesnoth-1.10-core (>= 1:1.10); however:
  Package wesnoth-1.10-core is not configured yet.
 wesnoth-1.10-sotbe depends on wesnoth-1.10-core (<< 1:1.11); however:
  Package wesnoth-1.10-core is not configured yet.

dpkg: error processing package wesnoth-1.10-sotbe (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of wesnoth-1.10-trow:
 wesnoth-1.10-trow depends on wesnoth-1.10-core (>= 1:1.10); however:
  Package wesnoth-1.10-core is not configured yet.
 wesnoth-1.10-trow depends on wesnoth-1.10-core (<< 1:1.11); however:
  Package wesnoth-1.10-core is not configured yet.

dpkg: error processing package wesnoth-1.10-trow (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of wesnoth-1.10-did:
 wesnoth-1.10-did depends on wesnoth-1.10-core (>= 1:1.10); however:
  Package wesnoth-1.10-core is not configured yet.
 wesnoth-1.10-did depends on wesnoth-1.10-core (<< 1:1.11); however:
  Package wesnoth-1.10-core is not configured yet.

dpkg: error processing package wesnoth-1.10-did (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of wesnoth-1.10-nr:
 

 
시냅틱 패키지 관리자를 열어보면 깨진 패키지가 두 개 나왔다.
 
시냅틱 패키지 관리자에서 깨진 패키지 고치기를 해도 해결이 안 됨. 
 
 
 
 
 
 
위의 경우에 이렇게 해결했다.
 
1. 에러 내용 중 붉은 색으로 표시한 부분의 경로와 파일명을 복사해둔다.
 
2. pcmanfm을 통해 /var/cache/apt/ 폴더로 간다. archives 폴더를 우클릭 후, '터미널 열기'
 
3. 이제 오류가 났던 파일인 wesnoth-1.10-data_1%%3a1.10.7-1_all.deb를 찾아 삭제하고 다시 설치할 것이다.
 
   터미널에 sudo rm wesnoth-1.10-data_1%%3a1.10.7-1_all.deb를 명령어를 입력하고, 파일을 삭제해준다.
 
4. 다 됐으면 시냅틱 패키지 관리자로 들어가서 깨진 패키지 고치기를 해주면 정상적으로 wesnoth가 설치된다. 
 
 
 
 
 
 
 
 
참고한 글 


* 우분투 터미널 명령어 정리(티스토리 블로그)

2015년 1월 23일 금요일

입대 약 10일 전에 쓰는 느낌 - 우주여행이라도 가는 것 같음

아아아아아ㅏ...........

아아아아아아아아아아아아아아아아아아아아아아아아아아아아앙앎;ㅣ나얼미ㅏ널이ㅏ;넏 ㅏ리더널 뱆더레벋쟈러냗랴농ㅁ러ㅏ노얼ㄴ;마어라미넝라미넝리ㅏ더ㅑ게댜겨ㅔ배댜러랴어눌
ㅇㅁ라아아아아아ㅏ아아아ㅏ아알먼ㅁ라ㅣ너아리먼아리ㅓㅣ남얼민 ㅇㄹ


찌발...(아주 완곡하게 욕한번만 하자) ㅠ 내 운명이 짠하다. 딱 이 사진의 감정상태라고 하면 맞다...




곧 군대에 간다.

한달 전엔 별로 아무렇지 않았다.

장난스럽게 '남들 다 갔다 오는 건데 엄살 부리지 말자. 한국 남자들은 (거의) 누구나 하는 건데.'라고 생각하기도 할 정도로.


겁나지도 않았다. '가면 거기서 적응해서 잘 살겠지' 했다.




그런데 지금은...


약 10일 남겨둔 지금은... 기분이 아주 찡하고 나 자신이 불쌍하다.






지금 기분이 어떻냐 하면, 몹시 이상하게 들리겠지만,


영화 <인터스텔라>에서 주인공이 여태껏 살던 지구에 모든 것을 놔두고 떠나서, 행여 돌아오지 못할 수도 있는 우주 여행을 떠날 때의 기분....
 







"지구와 교류가 불가능한 거리로 보내질 그들은, (...) 다시는 지구로 돌아올 수 없을 것이며 그럴 필요도 없을 것이고, (...) "   - 인용한 글




몹시 거창하게 표현한 거라고 볼 사람도 있겠지만, 앞으로 21개월 간 내 인생에 이빨 빠진 것처럼 텅 빈 공간이 생기는 것 같아서 되게 허무하다...


내가 좋아하는 것들, 내가 해야할 일들, 내가 하고싶은 일들, 만났던 좋은 사람들... 기타 등등 다 놔두고 훌쩍 떠나니까... 되게 외롭게 느껴진다.

내 인생은 일시정지지만 다른 사람들은 다들 열심히 살고 있겠지..




엄살부리면 안 되는데.
(라고 하고 사실은 부리고 싶음)



ㅋ 그런데 난 이상하게

갈 때 그냥 조용히 가고 싶다. 주변 사람들로부터는 그냥 잘 갔다오라는 말 한마디면 충분하게 느껴진다. 진심으로.

남들 다 가는 건데 주변 사람들 성가시게 하는 것도 싫고, 괜히 정들면 곤란하니까. 부담되기도 하고.

그래서 갔다가 왔을 때, "아, 벌써 제대했냐? 세월 참 빨리 가네!"라는 말 들으면서 마치 중간에 사라진 내 세월이 인생의 공백이 아닌 것처럼 느껴졌으면 좋겠다.

밤에 잠시 눈을 붙였다가 뜨면 아침이 오는 것처럼 그랬으면 좋겠다.







ㅋㅋ
무슨 전쟁나서 끌려가는 것도 아닌데 되게 심각하게 얘기하네?








가만있어봐.



나는 그냥 혼자인데도 이러는데 여자친구 있는 사람들은 군대갈 때 진짜 암담하겠네.


흠 역시 혼자라서 개이득..................................................



.......................



................ㅠ








ㅋ 빨리 별탈없이 군 생활 마치고 제대해서

오늘 쓴 글을 다시 열어보면서,

'ㅋㅋㅋㅋㅋ 이땐 이런 생각을 했었네'하고 회상하는 날이 왔으면 좋겠다.






며칠 안 남았는데, 마무리 잘 하고...... 군대 가서도 내 나름 잘 살아보기로 하자.




(아 왜이렇게 유서쓰는 것 같지? ㅋㅋ 시한부 인생같네)




군대 일기 목차로 가기

2015년 1월 21일 수요일

freeciv #3 - 손자병법으로 보는 패인 분석




터키 #2 - 러시아가 터키를 싫어합니다!

에 이어서.




<손자병법>을 보다가 느낀 점이, '지는 쪽은 이유가 있구나'라는 것이다.



단지 게임일 뿐이지만,  내가 처음엔 이기다가 왜 나중엔 졌는지 이유를 몇 가지 알게 되어서 적어보기로 한다.



알고는 있었지만, 그렇게 와닿지 않았던 것들


1. 오래 끌면 불리하다

"싸움을 오래 끌면 병사들이 피로하여 날카로움이 꺾이게 되고, 성을 공격할 때 군사력이 크게 소모되며, 군대가 오랫동안 나라 밖에 주둔하면 나라의 재정이 부족해진다."

손자병법 2편 '작전' 편에 나오는 말이다...


전쟁 초기엔 이렇게 고무적이었지만...


섣불리 공성전을 하고 싸움이 길어지면서 공격자가 불리한 쪽으로 전세역전

정말 딱 저 말이 맞다는 걸 체감했다.

적 도시에 성벽이 있는데 성급하게 포위공격을 하고(적 도시 하나를 이미 쉽게 점령한 것 때문에 다음번도 쉬울거라 생각하고 자만함),


계속 군대를 바깥으로 내몰고, 내 도시들에선 그만큼 내정을 제대로 하지 못하고 생산만 해서 기술적으로 추월당함.


수적으로 분명 처음엔 우월했는데 공성전이 계속 실패하면서 장기국면으로 진입하자 방어자가 더 유리해졌다.


왜 한국사를 보면 수나라, 당나라 애들이 고구려를 치겠다며 대군을 끌고 왔을 때 고구려 측은 성 안에서 농성하면서  버티니까 결국 이기는 그런 거랄까?


'수 양제는 막대한 비용과 시간을 들여가면서 고구려를 여러 차례에 걸쳐 공격했지만, 속전속결하지 못하여 결국 진퇴양난에 빠졌다. 여러 해동안 계속된 전쟁으로 수나라 백성들은 피폐한 삶을 살았고, 나중엔 수나라 각지에서 농민 봉기, 반란 등이 일어났다. 양제는 결국 수나라 왕조에 반대하던 이들에게 살해당하고, 얼마 지나서 수나라는 멸망했다.'(글 맨 아래 참고한 책 2번 36-39p.)


장기전이 되면 공격자는 성급해지고, 그러면서 지는 싸움을 걸어서 결국에 지는 것 같다.


가만보면 롤(LOL)도 비슷한듯. 역전이 나오는 경우는  장기전 상황에서 유리한 쪽이 조급하게 공격했다가 마무리 당하고, 결국 넥서스를 내주는 상황이 많으니까.







2. 최하의 방법은 공성전

"전쟁에서 최상의 전법은 적의 모략을 깨뜨리는 것이며, 그다음이 적의 외교를 끊어놓는 것이며, 그 다음이 적의 군대를 치는 것이며, 최하의 방법은 적의 성을 공격하는 것이다." - <손자병법> 제3편, '모공(謀攻)'

1번에서 다뤘던 내용이다.


나는 특별한 전략 없이 무작정 밀고 들어가는 방법을 택했다.

아무 생각 없이 '그냥 적 성에 병력을 쏟아부으면 이기겠지' 했던 거다.



공성은 "네 가지 방법 중 가장 하책이어서 손무마저도 '정말 어쩔 수 없는 경우에 부득이하게 쓰는 방법'이라고 덧붙였다"고 되어 있다.(글 맨 아래 참고한 책 1번 144p.)

또한 "공격을 오래 감행했음에도 승리하지 못하면 장수는 초조함과 분노를 느끼게 된다."

"이렇게 하고도 성을 무너뜨리지 못할 수도 있으니, 어찌 하책이라 하지 않을 수 있겠는가"

라고 하고 있다.



정말 딱~~ 내가  지고 나서 느끼는 점 중 하나다.





"손무의 이러한 전쟁 철학은 전쟁의 손실을 최소화해야 한다는 바람직한 방향을 기본 관점으로 (...) 하고 있다는 점에서 의미가 크다. 진정한 승리란 무엇인가?" (참고한 책 1번 145p.)








3. 한 번 이긴 전술을 다시 사용하지 않는다


처음 Volgograd를 점령할 때는 물론 공성전을 했다.

그런데 그때는 운이 좋게도, 상대방이 해당 도시에 병력을 배치하지 않은 상태여서 가능했다.



나는 두 번째 도시를 공격할 때도 첫 번째와 같은 방법을 사용했다.



'컴퓨터는 단순할테니까 똑같이 하면 되겠지 ㅋㅋ'하다가 망한 거다.


"한번 승리한 방법은 다시 쓰지 말고, 적의 형세에 따라 끊임없이 변화를 주어야 한다." -<손자병법> 제 6편 '허실(虛實)'편

이긴 전술을 다시 쓰지 말아야 하는 이유는 '완벽하게 같은 상황이 재현되기도 어렵기 때문'이다.(참고한 책 1번 265p.)









정리

크게 지고 나서 느끼는 점이, 그냥 이건 게임에 불과하지만, 지도자가 결정을 잘못 내리면 얼마나 많은 돈과 시간과, 목숨이 낭비되는지 알게 됐다는 거다.



"전투에서 승리해 적군의 영토를 점령했다고 해도 전쟁의 성과를 공고히 하지 않으면 매우 위험하다. 이러한 상황을 '비류(費留, 괜한 국가의 인력과 재산을 소모하여 군대를 외지에 머물게 한다는 뜻)'라고 부른다. (...) 전쟁을 피할 수 없는 상황이 아니라면 이득이 있을 때 전쟁을 하고 이득이 없을 때는 군사를 일으켜서는 안 된다. 군주는 일시적인 감정에 사로잡혀 전쟁을 일으켜서는 안 되며, 장수는 한때의 원한으로 적과 싸워서는 안 된다." (2번 책, 292쪽)

돌이켜 보면, 러시아가 먼저 선전포고를 했다고 바로 공격하는 건 너무 성급했다는 생각이 든다. 국경지대에 성벽을 쌓아두고 방어만 하면서, 영토를 동쪽으로 확장했어야 됐는데, 러시아가 내 공격을 막으면서 북쪽으로 영토를 늘려가면서 성장할 수 있었다는 걸 간과했다.


러시아가 내 공격을 막으면서 북쪽으로 영토를 늘려가면서 성장할 수 있었다는 걸 간과했다



처음엔 상위권이었는데... ㅠ "군대가 오랫동안 나라 밖에 주둔하면 나라의 재정이 부족해진다."

뭐 앞으로는... 새로 정착한 아라비아 반도에서 그냥 처음 시작한다는 느낌으로 살아야지...

앞으로는 뻘짓하지 말고 신중해져야겠다... ㅋ









참고한 책

1. <손자병법>, 이현서 평역, 청아출판사(2014)
2. <그림으로 읽는 손자병법>, 마이푸 편저, 김영경 옮김, 봄풀출판(2012)

2015년 1월 7일 수요일

한국어 위키백과 문서수 30만 돌파

오늘 위키백과에 들어가보니까 왼쪽 상단 아이콘 위에 300,000 표시가 생겼다.

무슨 일인가 했더니 한국어 위키백과 문서 수가 30만 개를 돌파한 것.

한국어 위키백과 문서수 30만 개 돌파!


위키백과는 전 세계 여러 사람들이 함께 만드는 지식 공유 프로젝트이다.

언어별로 위키백과가 있는데, 그중 한국어는...



한국어 위키백과의 문서수 순위


순위가 이 정도 된다. ( 위키백과 통계 )

그래도 아래에 한참 많이 있으니 위안을 삼는 게 좋겠다.





위키백과는 자원봉사자들이 만들어 가기 때문에 개인 시간을 할애해서 만드는 만큼, 발전 속도가 갑자기 빨라질 수는 없다.

문서수를 늘리는 것도 좋은 일인데, 설명이 아주 적은 '토막글' 문서들은 보강할 필요성이 많다.


교정과 편집도 중요하지만, 내용 보강을 가장 우선으로 해야할 것 같은데, 그게 귀찮은 작업이라서 개인적으로 많이 하고 있진 않은 상태다.



어쨌든 짧은 설명이라도, 추가할 게 있다면 수시로 하는 게 좋겠다.






2015년 1월 4일 일요일

컴퓨터 CD드라이브 제거(ODD 제거)

10년 된 컴퓨터에 Lubuntu 리눅스만 깔아놨는데,

CD 드라이브(ODD)가 안 열리는 고장이 발생해서 그냥 떼어 버렸다.



요즘 CD 쓸 일이 없어서 떼어내도 괜찮다고 생각했음.




방법은 간단하다. 그냥 열고 떼버리면 된다. 컴퓨터를 켤 필요도 없음. (윈도우 사용자는  모르겠는데 리눅스는 일단 그렇다)





1. 준비


우선 컴퓨터에 연결된 전원 코드를 빼버린다. 중요하다.

전원을 빼지 않고 하면 감전이 되거나 컴퓨터 부품이 손상될 수 있다.
( 짧은 참고글 : [팁]컴퓨터 내부 만질때 주의점. )



그리고 본체를 연다.


2. 디스크 거치대 분리


하드디스크가 붙어있는 거치대(?)의 십자 나사를 풀어준다.



위 사진 오른쪽부분에 회색 널따란 철판이 그것.


이 컴퓨터는 나사 네 개로 고정되어 있다.


하드디스크 거치대를 떼어냈다.

전선이  망가지지 않도록 조심해서 다루자.


하드디스크에 충격을 주지 않게 조심한다.


위 사진에서 거치대 아래쪽에 붙은 회색 커다란 박스가 CD 드라이브(ODD)고, 그 위에 있는 검은 납작한 것은 하드디스크다.


3. CD드라이브(ODD) 연결선 제거


우선  CD드라이브(ODD) 뒤에 연결된 전선 두 개를 뽑아준다. 힘을 좀 줘야지 뽑힌다. 하나는 파워 선인 것 같고, 하나는 메인보드에 연결된 데이터 전송하는 선인 것 같다.



CD 드라이브(후면)의 선 두 개를 제거했다.


4. CD드라이브(ODD) 고정 나사 찾기

다음으로 CD드라이브(ODD)를 거치대에 고정하고 있는 나사를 찾는다.


처음에는 거치대에 달린 원형 구멍이 있는 나사를 풀어야 하나 생각했다. 하지만 그건 '리벳'으로, 풀 필요가 없다.

(짧은 참고글 : 이 나사 푸는 방법좀... )


이 나사는 푸는 게 아니다


내 경우, CD 드라이브(ODD) 고정 나사는 거치대를 이리저리 돌려봐도 보이지 않았다.

그러다가 혹시 거치대 안쪽에 붙은 하드디스크에 가려져 있는 게 아닐까 하는 생각이 들었다.


왼쪽의 CD드라이브(전면 사진)의 오른쪽에 하드디스크가 하나 또 붙어있다

이 컴퓨터는 하드디스크 두 개로 구성했다. CD드라이브(ODD) 위 칸을 보면 하드디스크가 또 있음.




거치대 오른쪽의 하드디스크 옆면에 붙은 십자 나사들을 풀어서 하드디스크를 떼어 본다.

그러면 CD드라이브(ODD) 고정 십자 나사를 찾을 수 있다.
빨간 동그라미 친 부분에 CD드라이브(ODD) 고정 십자 나사가 숨겨져 있다

5. CD드라이브(ODD) 제거 후 마무리

이제 찾은 나사를 풀고 CD드라이브(ODD)를 앞쪽으로 밀어내어 분리한다.

떼냈던 하드는 다시 제 자리에 붙여준다.


떼낸 CD드라이브. 1kg정도로 무겁더라

거치대 나사를 다시 조여주고, 케이스를 닫으면 끝.



참고글

*HP 고객지원 - CD, CDRW, DVD 드라이브 설치 또는 교체