[작성자:] 이대원

  • 중국지

    중국지

    isbn:9788996767565

    내가 본 책이 2권으로 편집 되었는데, 지금 서점을 보니 절판되었다고 나온다. 3권으로 개정한 의도가 궁금하다.설마 책이 무거워서는 아니겠지.

    내용도 많고, 할 말도 많다. 이런 엄청난 일이 불과 100년전에 중국에서 있었다고 생각하니, 가슴이 뛴다. 간단하게 말하면, 지금이 초한 전쟁이 끝난지 한 70년 정도 지난 시각이다.

    마오쩌둥이 책에서 자세히 설명되었다. 그와 동료, 라이벌을 알면서, 현대 중국이 어떤 과정으로 만들어졌는지 자연스럽게 알 수 있다. 이 책이 내가 전에 그냥 그런 저런 인물로 생각한 마오쩌둥을 유방, 진시황제 정도의 인물로 묘사했다. 뛰어난 공산주의 이론가, 시인, 게릴라전의 창시자, 엄청난 인려력의 소유자 등 멀티 플레이어이다. 1900년대 초 중국 상황이 전국시대 저리가라 할 정도로 막장이었는데, 이를 정리했다면 보통 사람은 확실히 아니고, 정말 능력자임이 확실하다. 삼국지의 조조에 버금가는 인물 정도?로 생각된다.

    마르크스-레닌이 제안한 이상적인 공산주의를 이해하고, 수정?보완하여 중국에 적용했다. 과거 중국을 발랐던 나라에서 만들어진 공산주의 이념을 채택한 중국이, 지금 그들을 경제력 – 선전 포고만 안했지 하는짓은 거의 전쟁 수준-으로 압박하고 있는 현실을 보면, 참 아리러니 하다.

    다수의 국민당군에 맞서기 위해 게릴라 전을 만들었다. 열심히 도망 다니다가, 몇 개? 사단을 아작냈다고 한다. 마오쩌둥이 16자로 정리한 전쟁 개념이 현재 중국 인민군에게도 적용 된다고 한다. 대장정때 보여준 엄청난 의지력은 한니발의 알프스 등반을 소풍 정도로 만들었다.

    중국 인민 공화국 건국 후, 판단 실수로 약 2,000만 명을 굶겨 죽였는데, 나라가 스케일이 커서 그런지 별 티도 안나나 본다. 문화 혁명 때, 구체적으로 몇 %를 제거하라고 수치를 제시 했다고 한다. 4인방에 휘둘려, 능력있는 개국 공신들을 많이 숙청했다. 이런 점들을 보면 참 잔인한 인물이고, 예사롭지 않다.

    공산당이 중국 통일할 때, 조선인 무정이 큰 역할을 했다고 한다. 마오쩌둥이 이 의리로 6.25 전쟁에 참전했다고 생각된다. 국.공 내전을 거친 만렙 군대를 한국에 파견했으니펑더화이 지못미, 미군이 어려움을 맞은점이 이해 된다.

    장제스가 마오쩌둥의 라이벌로 나오나, 능력치로 보면 마오가 월등하다. 사람, 전략, 첩보전, 인내력 등 모든 면에서 마오가 우세하다. 미국이 마오에 투자 했어야 했다!

    얼마전에 시진핑이 새로운 길을 가겠다고 선언했는데, 그 말이 무슨 말인지 이 책을 보고 이해된다. 다만 마오가 장기/1인 집권으로 국가를 말아 먹을 뻔 했는데 시진핑이 다음 세대에 어떤 중국을 넘겨줄지 궁금하다. 게다가 100년 전에는 능력있는 인물들이 당(공산주의)에 가입하여 어드벤티지가 있었는데, 지금은 그렇지 않아 보인다. 건륭제가 겪은 청나라 전성기가 국가 시스템의 한계로 외세에 침략당해 지속되지 않았음이 겹쳐진다.

  • 지중해의 역사

    지중해의 역사

    isbn:8935656372

    “한 액체 공간을 중심으로 이뤄진 역사 연구에는 무한한 매력이 있다”

    페르낭 브로델. p18, “펠리페 2세 시대의 지중해와 지중해 세계”

    이 책이 너무 너무 길다. 크게 지중해 시대를 5개로 나누었다.

    1장, 고대 지중해 혹은 단일성의 모색.~ 4세기.

    고대 그리스부터 로마의 지중해 장악까지를 설명한다. 알렉산드리아가 지중해의 중요한 항구가 되었다. 포에니 전쟁, 악티움 해전으로 로마가 지중해의 주인이 되었다. 마지막 소챕터 제목이 “우리의 바다”인데, 우리가 로마를 지칭한다.

    2장, 다양성에서 단일성으로. 5세기 ~ 15세기.

    이민족의 이동으로 유럽 서쪽을 이민족이, 동쪽을 비잔틴 제국이 장악했다. 동로마 제국의 유스티니아누스가 알렌산드리아의 조선소를 중심으로 지중해를 다시 장악했다. 그 후, 아랍 세력과 기독교 세력이 충돌했고 십자군 원정이 있었다.

    이탈리아가 지중해 무역을 완전히 독점했다. 아랍 세력이 서서히 지중해에 나타났다. 서쪽은 이탈리아를 중심으로 르네상스가 일어났다. 대항해 시대의 상업을 효과적으로 운용하기 위한 자본가가 나타났다. 흑사병 또한 지중해를 중심으로 퍼졌다. 몽골 제국의 공백을 새로운 오스만 투르크 제국이 채웠다.

    3장, 지중해, 주연에서 조연까지. 16 ~ 18세기.

    오스만 투르크의 슐레이만 1세가 제국을 확장했다. 인구가 증가했고, 대륙간 인구 이동이 활발했다. 제국이 지중해를 장악하는 동안, 몰타 섬을 중심으로 기독교 세력이 이슬람 교도들과 충돌했다. 아래 그림이 제국의 영역을 확실하게 보여준다.

    19세기까지 노예 무역이 지중해에 있었다니 깜짝 놀랬다.

    4장, 유럽, 지중해에 새로운 가치를 부여하다. 1815 ~ 1945

    오스만 투르크 제국이 각 지역을 강압하여 지배했으나, 세력이 약해지며 각 지역의 민족주의가 발생했다. 그리스 독립 운동이 있었고, 영국 시인 바이런이 이 독립 전쟁에 참전했다. 증기선이 조금씩 다녔고, 수에즈 운하를 건설했다. 제국주의가 생겼고, 오스트리아, 이탈리아, 독일의 3국 동맹이 있었다. 오스만 투르크의 쇠락과 세계 1,2차 대전으로 각 지역에 분열의 원인이 아직까지 이어진다.

    5장, “우리의 바다”에서 대륙 이동까지. 1945 ~ 현재

    공산주의와 민주주의가 지중해에서 충돌한다. 이스라엘이 건국되나, 주변국들과 심각한 마찰을 겪는다. 4차 이스라엘-중동 전쟁으로 이스라엘이 그 위치를 확고히 한다. 석유에 의존하는 몇 개의 국가들이 발전할 수 있는 기회를 놓쳤다. 지중해 북/남간 발전의 정도 차이가 많이 나게 되었다.

    아직도 지중해 근처의 아랍과 기독교간의 충돌을 보면, 그 골이 몇 백년 전까지 올라간다.  오스만 투르크 제국의 급작스런 붕괴?가 현대까지 영향을 준다. 그들이 너무 오랜 기간 그 땅의 사람들을 억압했는지도.  암특 역사가 긴 만큰, 복잡한 동네다.

  • 개인 전자 액자 만들기(with 삼성 노트1)

    개인 전자 액자 만들기(with 삼성 노트1)

    Sorry you have no rights to view this post!

  • gtx 1060 6gb+tensorflow gpu 버전 세팅 후기

    gtx 1060 6gb+tensorflow gpu 버전 세팅 후기

    Tensorflow, CUDA toolkit, cuDNN 버전.

    이것 설치한다고 이틀을 날렸다. 메뉴얼을 제대로 안 읽은 내탓도 있지만, Nvidia가 별다를 설명없이 기존 버전을 숨겨버린 탓도 있다. 멀쩡한 OS도 한번 날리고.

    Tensorflow 인스톨 사이트에 아래와 같이 써있다.

    NVIDIA requirements to run TensorFlow with GPU support

    If you are installing TensorFlow with GPU support using one of the mechanisms described in this guide, then the following NVIDIA software must be installed on your system:

    • CUDA® Toolkit 8.0. For details, see NVIDIA’s documentation. Ensure that you append the relevant Cuda pathnames to the LD_LIBRARY_PATH environment variable as described in the NVIDIA documentation.
    • The NVIDIA drivers associated with CUDA Toolkit 8.0.
    • cuDNN v6. For details, see NVIDIA’s documentation. Ensure that you create the CUDA_HOME environment variable as described in the NVIDIA documentation.

    CUDA toolkit : 필히 8.0!! Nvidia 다운로드 사이트에 가면 9.0이 딱 있다. 8.0을 찾을수가 없다. 8.0은 여기에..

    cuDNN도 CUDA toolkit 8.0에 맞는 버전을 설치한다.

    나는 그래픽 드라이버를 384.81 버전을 설치했다. Nvidia 사이트에 최신 드라이버가 있는데, 그 버전 사용하려다 OS를 다시 설치했다. 저장소를 추가하고,  sudo apt-get install 이렇게 쉽게 드라이버를 인스톨하면 된다. CUDA toolkit이 드라이버를 업데이트 한다.

    비교!

    CPU 버전으로 5,000[초/횟수]에 걸쳐하는 작업이, GPU를 사용하면 500[초/횟수]로 0이 하나 줄었다!!

     

     

    GPU 선정.

    싼 GTX 1060 6gb를 사기로 했다. 3gb 메모리 제품이 더 싼데, 사용하는데 문제 된다고 한다. 초심자에겐 값싼 gtx 1060이 최고다.

    게다가 PC 케이스가 작아, 1070 이후 제품을 넣으려면 케이스를 뜯어내야 한다. 1060 길이가 260mm인데, 자로 한번 케이스를 재어 보니 좀 여유있게 들어 갈 수 있어 보인다.

    겨우 넣었다. 간섭으로 대각선 삽입!!.

    메인보드
    description: Motherboard
    product: GA-MA785GT-UD3H
    vendor: Gigabyte Technology Co., Ltd.
    pciE 2.0 * 16 지원

    메인보드를 한 8년 사용하는데, pciE 2.0과 3.0 차이가 없다고 보고, 그냥 사용하기로 했다.
    GTX 1060 6gb와 호환 가능

    후기.

    8년전 PC 살 때, 리누스가 Nvidia에 뽀큐를 날렸다는 말을 듣고, AMD 그래픽 카드를 샀는데….AMD 병신 카드였다. 제품을 만들었으면 드라이버도 좀 신경을 써야 하는데, 영 신경을 안쓴다. 윈도우에서도 그닥이고..내 인생에 다시 AMD 제품을 구매할 일이 없다. Gtx 7이나 8시리즈만 되었어도 그냥 썼을텐데..쩝..

    CUDA 9.0 + tensorflow 1.5 + ubuntu 16.04 + kernel 4.13

    망할..tensorflow 1.5로 업그레이드 하고, cuda 9.0을 쓰려니 망했다. cuda 9.0을 설치하니 화면이 나갔다.

    • cuda 9.0은 드라이버 387부터 지원.
    • 커널 4.13에 cuda 9.0을 사용하려면 드라이버 390 이상 필요.

    이 두 개가 문제였다. 4시간의 삽질 끝에, cuda를 network 버전으로 설치해야 한다고 알아냈다.  업그레이드 할 때마다 난리를 쳐야되니. 역시 최신 버전만 지원하는 nvidia..9.1만 보인다고 설치하면 9.0으로 다시 설치해야 한다.

  • Lego MindStorm EV3 제어기

    Lego MindStorm EV3 제어기

    조종기 다음으로 Lego 마인드스톰으로 모터 제어기를 만들었다.

    기본개념이 아래 그림에 표시되어 있다.

    조종기의 역할

    • 서버.
    • 휴대폰 기울기를 확인하여, 공을 기울기 방향으로 이동.
    • 공이 화면 구석으로 이동하면, 기울기가 공 위치를 변경하지 않음
    • 공 위치를 135도 회전 후, 수평 이동시켜
      “Left;…, Right:…” 형식으로 소켓으로 전송

    Lego Mindstorm의 역할
    (전에 만들었던 부분을 재활용 하여, 지저분함.)

    • 클라이언트.
    • 링 버퍼를 만든 후, Left, Right 이동 위치를 버퍼에 저장.
    • Thread가 Socket으로 안드로이드 폰에 connect, receive, close.
    • 이 과정을 반복
    • 수신 데이터(“Left:….,Right:….”)에서
      “Left:”, “,Right:”의 위치를 찾음.
    • 숫자를 추출, trim 후 integer로 변경.
    • 변경된 integer만큼, Left, Right 모터를 이동.

    EV3를 lejos 베타 버전을 사용해서인지, socket의 utf-8로 데이터가 전송되지 않았다. ascii로 변경, 전송하여 시간 좀 걸렸다.

    중요한 사실이

    • 내가 생각한 만큼 잘 움직이지 않는다.
      차량 바퀴를 4개로 만들다 보니, Left 모터를 -방향, Right 모터를 +방향으로 돌리면, 확 돌아야 되는데, 지 몸체에 걸려 안돈다!!!
      또한 제품이 무거워서인지, 바퀴가 헛도는 경우가 많다.
    • 실행 순서에 따라, NullPointException이 너무 많다.
      try, throw로 도배를 해야 할 듯한데, 시간이 또 한없이 갈 듯하다.
    • 안드로이드 폰의 좌표 설정 문제.
      화면의 공이 디스플레이 중앙에 있는데, EV3이 후진한다.
      보정을 해야 하는데, 귀찮다.
    • 안드로이드 폰 화면이 꺼지면, 동작이 멈춰야 하는데 그렇지 않다. 링 버퍼에서 다 사용하면, 0으로 이동이 맞아 보이는데..계속 움직인다.

    더 중요한 사실이,

    • 애가 별로 재미없어 한다!!
      차가 빨랑 빨랑 움직여야 하는데, 지정 위치로 가다 보니, 너무 느리다. 파워로 수정하려니 귀찮고.

    누가 소켓을 잘 정리하여 인터넷에 올렸다.
    여기여기.
    DataInputStream을 그냥 사용했는데, 별 목적이 없으면 사용하지 않는게 맞아 보인다.
    DataInputStream으로 안드로이드 폰과 EV3이 통신이 되지 않는다.
    누가 이미 작성한 코드를 쓰다 보니, socket을 어떻게 쓰는지 정리되지 않아는데, 위 사이트가 정리하는데 도움을 줬다.