글쓴이 보관물: snowall

snowall에 대하여

onecup, research department

세상 끝까지 너의 꿈을 따르라

내가 나름의 좌우명으로 삼고 있는 문구는 “세상 끝까지 너의 꿈을 따르라. 그것이 오직 세상을 구할 방법이니.” 라는 말이다. 이것은 공각기동대 TV판 Stand alone complex 2기의 오프닝 테마곡인 “rise”의 일부 구절이다.

다른 모든 사람들에 대해 도와주고 싶은 마음은 있지만, 내가 신도 아니고 권력자도 아니다보니 모두를 도울 수 없다. 한명이라도 구할 수 있다면 좋겠지만, 나는 나 하나 살리려고 해도 최선을 다해야 하는 사람이다. 그러니까 내가 할 수 있는건 그냥 내가 뭘 하는 것 뿐이다. 나는 세상 끝까지 나의 꿈을 따른다.

그렇다면 꿈을 따르는 것이 어떻게 해서 세상을 구할 방법이 될까?

이 세상은 공평하지 않다. 어떤 면에서 보면, 종교적 의미의 구원이 필요할 수도 있다. 종교에 대한 나의 개인적 태도와는 무관하게, 이 세상에는 행복하지 않은 사람들이 너무 많다. 그들에게는 구원이 필요하다. 그 사람들을 나는 개인적으로 구원할 수 없다. 내 힘으로는 나 스스로도 구원하지 못하는데 누굴 구원할 수 있을까.

모든 사람들이 자신의 꿈을 갖고, 그 꿈을 이루기 위해 추구하는 세상을 생각해 보자. 나는 이런 세상이 모든 사람들의 꿈이 이뤄진 세상보다 조금 더 행복할 것 같다고 생각한다. 여기서 오해하면 안되는 것이, 사람들이 자신의 꿈을 이루지 못하고 추구하기만 하다가 죽는 것이 꿈을 이룬 것 보다 더 행복하다는 뜻이 아니라는 점이다. 자신의 꿈을 이루기 위해 추구하고, 꿈이 이뤄지면 또 다른 꿈을 꾸고, 그렇게 꿈꾼 또다른 것을 추구하며 자신의 열정을 불태우는 세상이 더 좋을 것 같다는 뜻이다.

나는 어렸을 적의 장래희망이 좌절됐다. 하지만 다시 꿈을 꾸고, 열정을 되살리려고 시도한다. 지금 하는 일과 삶에 지쳐서 열정이 잘 돌아오지 않지만, 나는 기억한다. 예전에 꿈을 추구하며 열정을 불태울 때 얼마나 즐거웠는지, 힘들어서 지쳐도 그 재미에 인생을 불태웠다.

좌절된 꿈은 어디로 갈까? 나는 나의 꿈을 다시 찾아야 한다. 그 때 할 수 있었던 것과 지금 할 수 있는 것들은 달라졌지만, 언젠가 반드시 끝날 나의 인생을 어떻게하면 내 마음대로 살 수 있을지 찾아본다.

향후 인공지능의 인프라化

예를 들어, 휴대전화가 만들어졌을 때 가장 먼저 들어간 부가기능은 전화번호부였다. 모토롤라의 다이나택은 30개의 전화번호를 저장했다가 사용할 수 있었다고 하더라.

지금은 그 전화기가 스마트폰으로 진화해서 모두들 사용하고 있다. 스마트폰은 현대 세계의 모든 인간들이 사용한다고 해도 과언이 아닌데, 이것을 사용하기 위해 사람들은 매달 통신비를 지불한다.

사람들이 통신비를 지불하기 위해 돈을 벌어야 하는데, 스마트폰은 현대의 필수품이기 때문에 통신비는 거의 생존 그 자체의 비용이 되었다. 한국에서는 스마트폰이 없으면 본인인증이 안되는 등, 사람취급을 못 받기도 한다.

스마트폰에 의존하는 사람들이 늘어나면서, 통신사가 통신비용을 얼마로 책정하느냐에 따라 사람들이 벌어야 할 돈이 달라진다.

이제 앞으로 인공지능이 더 발전하여 보급이 되면, 누구나 인공지능을 사용하게 될 것이다. 그리고 인공지능에 의존하는 사람들이 점점 늘어나면 어떤 시점에는 그 인공지능이 필수품처럼 될 것이다. 그럼 지금도 그렇겠지만 인공지능 회사들은 여기에 사용요금을 부과하고, 여기에 의존하는 비중이 점점 커지면 어떤 시점에는 사람들이 인공지능 없으면 살지 못하는 수준이 될 것이다.

그 시점에는 인공지능이 거의 공기나 물과 같아져서, 어떤 수준의 인공지능을 어떤 비용으로 쓰느냐가 중요해질 것이고 그럼 인공지능 서비스 제공 업체들이 사람들의 삶을 좌지우지 할 것이다.

위버멘쉬

대표사진 삭제

AI 활용 설정

사진 설명을 입력하세요.

위버멘쉬, 프리드리히 니체 저.

다들 그 뜻을 아는 슈퍼맨의 독일어 단어가 위버멘쉬다.

내용은 뭐, 좋은 말이다. 오히려 자기계발서나 심리학책을 많이 읽은 사람들에게는 익숙할텐데 이쪽이 오히려 원본이라고 보면 된다. 뭔가 좋은 말씀을 찾는데 종교의 경전은 읽기 싫고, 넘쳐흐르는 자기계발서 속에서 뭘 읽어야 할지 모르겠다면 이 책을 고르면 된다.

니체는 두려워하는 사람에게 두려움을 직시하라고 말한다. 사실 두려움을 직시할 수 있었으면 두려워할 이유조차 없었겠지만.

두려움을 직시하고, 두려움의 본질을 보고, 보이지 않더라도 보려고 노력하면 그 노력 속에서 단 한걸음이라도 발전하며 두려움을 벗어날 수 있을 것이다.

뭐……… 아무튼. 중요한건 여기 나온 문장들 중에 맘에 드는 몇 가지라도 있으면 그걸 꾸준히 실천해 가는 것이다.

열심히 살아보자.

진실과 거짓의 과학사

진실과 거짓의 과학사. 최성우 저.

이 책은 근-현대 과학사를 다루는 책이다. 음모론, 발명, 사이비과학, 틀린 이론들에 관하여 짧은 에세이로 하나하나 쉽게 풀어서 쓴 책이다.

아주 말랑말랑하게 씌여서 배경지식이 전혀 없는 사람들도 과학이나 기술에 대한 호기심만 있다면 술술 읽을 수 있는 책이다. 예를 들면, “과학기술에 관심이 없다고 해도 살다보면 이정도는 들어봤겠지” 싶은 이야기들로 갈릴레이가 피사의 사탑에서 뭘 떨어트렸다는 내용이나, 전화의 발명자가 벨이냐 아니냐, 그리고 몇년 전 유행했던 제로존 이론과 상온초전도체에 대해서도 다룬다.

다 좋은데, 작은 책이지만 가격이 비싸다. 물론 이 책에 그 가격의 값어치가 없다는 뜻은 아니고, 충분히 책값을 하는 책이다. 전공자들에게는 크게 감흥이 없겠지만, 무난하게 과학 내용을 읽어보려는 사람들에게 딱 맞는 책이다. 책값이 비싸다는 이야기는, 그동안 물가가 너무 올라서 이 책이 갖고 있는 대중성과 널리 읽혀야 할 중요성에도 불구하고 비싼느낌이 드는 가격이라 사람들의 접근이 좀 어렵지 않을까 하는 우려 떄문이다. 책이 작은 판형이라 눈에 더 안띄지 않을까 하는 생각도 든다. 아무튼 사람들이 잘 안 사더라도 여러 도서관에 비치되어 많은 사람들이 읽어보면 좋겠다. 이 책은 좋은 책이다.

오늘도 게임하는 화학자

오늘도 게임하는 화학자

장홍제, 강경태 지음

꽤 재미있다. 읽어볼만하다.

이 책의 방점은 화학에 찍혀있다. 즉, 게임은 화학 이야기를 하기 위한 소재와 양념의 제공이고 프로페셔널 화학자가 쓴 책 답게 화학이 어떤 분야인지 쉽고 재미있게 설명해준다. 물론 내가 물리학 전공이라 화학은 깊이있게 아는 바가 없어서 그 내용이 더 흥미롭게 보였을지도.

과학에 관심있는 중고등학생들이 보면 더 좋을 것 같은데, 게임의 규칙과 과학의 규칙이 서로 달라서 말이 안 통할 것 같지만 결국 게임을 잘하는 것도 과학을 잘하는 것도 모르는 규칙을 알아내고 원하는대로 상태를 바꾸기 위해 어떻게 해야 하는지 고민하는 과정에 있다는 점에서 공통점이 있다. 두 분야가 겉보기에는 달라도, 본질적으로는 규칙의 탐색과 적용이라는 점에서 같은 뼈대가 있고, 인간의 여러 추상적 능력 중에 같은 능력을 사용할 수 있다는 점이다.

프로게이머와 직업 과학자라는 두 직업군 사이에는 많은 차이가 있지만, 프로게이머를 노리는 사람중에 그쪽 재능이 없다고 생각이 든다면 과학자를 해 보는 것도 나쁘지 않을 것이다. 반대로 과학자가 되고 싶은데 역시 그쪽 재능이 없다고 생각이 든다면 프로게이머를 의외로 잘 할 수 있을지도 모른다. 물론 그냥 관심만 있고 둘 다 못할 수도 있고, 어쩌면 두 분야에서 모두 성공을 이루는 다빈치적인 인재일 수도 있겠지만. 자신이 잘하는 분야와 즐기는 분야가 다르다고 그대로 버려둘 것이 아니라, 잘하는 분야와 즐기는 분야의 공통점을 찾아서 갈고 닦으면 자신만의 길이 보일 수도 있지 않을까?

기이한 실재론

기이한 실재론

그레이엄 하먼 지음.

​H. P. 러브크래프트의 공포소설들은 매우 기이하다. 예를 들어, 안쪽을 들여다볼 수 없는 어떤 상자 안에 손을 넣었더니, 뭔가 물컹한 것이 잡혔다. 그것이 무엇인지는 모르겠지만, 그 물컹한 촉감이 손에 들러붙을 때 느껴지는 소름끼치는 생각은 그 물컹한 것이 전혀 해롭거나 위험한 것이 아닐 수 있음에도 불구하고 나를 공포에 떨게 만들 것이다.

그의 에세이에 따르면, 인간의 가장 강력한 감정은 공포이며, 그중에서도 미지에 대한 공포가 가장 강하다고 한다. 그런 점에서 러브크래프트의 소설은 독자에게 마치 보이지 않는 상자 속에서 만져지는 물컹한 물체가 위험한 것은 아닐까 하는 상상력을 발휘하도록 만들어서 존재하지 않는 무시무시한 존재를 두려워하게 만든다.

여러 문학비평가들이 러브크래프트의 소설에 대해 높은 평가를 주지 않는 것 같은데, 이 책의 저자인 그레이엄 하먼은 자신의 철학 이론인 객체지향 철학을 사용하여 그의 소설을 분석하고, 어떤 점에서 러브크래프트의 소설이 잘 쓰여진 소설인지 다른 비평들을 반박한다. 아무래도 작가가 러브크래프트의 팬인 것 같다.

이 책은 러브크래프트의 팬이라면 한번쯤 읽어봐도 좋을 만한 내용이다. 러브크래프트가 뭘 어떻게 잘 썼다는 것인지, 아무리 좋아한다고 하더라도 뚜렷히 설명하기 어려웠던 사람들에게 그 이유를 잘 설명해준다. 그렇지만 아무래도 철학책이라고 봐도 좋을 만큼 쉽지 않은 내용이다. 펄프 픽션에 실린 공포소설이라는 아주 저렴한 대중문화에 아주 고상해 보이는 철학의 관점을 들이대서 분석을 하다보니, 두가지 맛이 동시에 느껴진달까. 마치 민트초코 아이스크림을 먹은 다음 곧바로 민트맛 치약으로 양치질을 하는 느낌이랄까.

인권의 우선순위

예를 들어보자.

A라는 사람이 이스라엘이 이란을 공격해서 수많은 사람들이 죽은 것에 대해, 이란의 무고한 시민이 죽었으니 이스라엘이 나쁘다고 주장한다.

여기에 B는 A가 북한, 중국같은 더 가까운 국가에 사는 사람들의 인권은 신경쓰지 않으면서, 이란이나 이스라엘처럼 멀고 먼 중동의 인권만 신경쓰는 것이 불공평하다며, A가 인권에 대해 별 관심이 없고 자신의 정치적 목적을 위해 이란-이스라엘 분쟁을 끌어들였을 뿐이라는 취지로 조롱한다.

이 논리는 무한회귀로 갈 수 있는데, 왜냐하면 B가 북한이나 중국같은 외국 사람들의 인권을 신경쓰자면서 대한민국에 있는 성소수자, 외국인 노동자, 장애인, 가난한 사람들의 인권은 신경쓰지 않는 점을 비판할 수 있기 때문이다. 물론 이 사람들은 대한민국의 무슨 차별금지법이 제정되면 종교의 자유가 없어진다거나, 종교를 믿는 것도 천부인권인데 왜 인권을 말살하느냐고 주장하기도 한다. 하지만 종교의 자유랑 인권중에 뭐가 먼저 발생했고, 뭐가 더 기본권이냐 한다면, 나는 인권이라고 생각한다. 당장 내일 판자촌에서 쫒겨나게 생겼는데 하나님이 날 사랑한다고, 다 계획이 있다고 말해봐야 그게 귀에 들어오겠나.

B는 다시 대한민국의 약자에 대한 인권을 챙기는 사람들에게 이렇게 반문한다. 그럼 약자라는 이유로 그렇게 일방적인 배려와 도움을 받는다면 그건 너무 불공평한 것 아니냐고. 공평, 공정, 평등의 가치도 중요한데 왜 그렇게 불공정하고 불공평한 이야기를 하느냐고. 이 쯤 되면, 그럼 북한사람들 인권과 아프리카 사람들 인권과 이란 사람들 인권에 차이를 두는건 불공평한 것 아니냐고 다시 짚어주고 싶지만, 일단 넘어가자.

A든 B든, 누구든, 약자를 돕자는 취지 자체는 좋지만 다들 거기에 자신의 뜻을 넣고, 거기에 상대를 깎아내리고 있다. 그런데, 약자를 돕고 인권을 챙기자는 이야기를 하면서, 누구의 인권이 더 중요하니까 저쪽이 틀렸다고 말하는 것에는 문제가 있다.

어디에 사는 누구든 인권은 있고, 그중에 돈이 없고 힘이 없는 사람들이 그 인권의 보호를 받지 못하는 경우가 많다. 북한이든 이란이든 아니면 어디든, 누굴 먼저 돕느냐, 그리고 그 누구를 먼저 돕기 때문에 다른 누구가 배제되는가는 윤리의 영역을 넘어간다. 이건 단순히 인간이 가진 자원이 유한하기 때문에 발생하는 분배의 문제일 뿐이다. 예를 들어, 돈이 아주 (충분히) 많은 떼부자가 자신의 전재산을 털어서 한국에 사는 모든 빈자, 약자들을 먹고살 수 있게 해줬다고 하자. 절차적, 법적 문제는 다 때려치고, 그럼 이 떼부자는 북한 사람들을 돕지 않았고 아프리카 빈민을 구제하지 않았으니 나쁜 사람인가? 악행을 저지른 것일까? 그건 아니지 싶다.

그렇다면, 또한, 그 떼부자가 한국에 사는 사람들을 돕기로 결정했을 때 아프리카의 빈민들, 또는 세계에 넘쳐나는 난민들의 존재를 몰랐을까? 그걸 모르고도 떼부자가 되기는 쉽지 않고, 떼부자가 되고나서도 그걸 모르는 것 역시 쉬운 일이 아닐 것이다. 그렇다면, 아프리카 빈민을 한국의 빈민보다 낮춰 본 것인가? 차별한 것인가? 또는, 실제로 그렇게 낮춰보고 차별했다고 해서, 한국의 빈민을 도운 그의 선택이 악행인가? 어려운 문제다.

어려운 사람을 돕기로 한 결정은 윤리적 결정이지만, 그 도움을 누가 받는가 결정하는 것은 윤리적인 기준 외에 다른 가치관들이 결합된다. 비용, 효용같은 객관적인 지표도 있을 것이고, 민족, 인종, 문화, 정치색 같은 주관적인 지표도 있을 것이다. 윤리적 기준 말고 다른 것들을 결합해서 누굴 도와줄지 정하는 것이 비윤리적일까? 나쁜짓일까? 제한된 자원을 갖고, 누굴 먼저 돕고 누구를 나중에 도울지 결정하는 것이, 그 결정에 어떤 기준을 들이대야 하는지에 관한 윤리적 기준이 있을까? 윤리적 기준만으로 도움의 선후를 정할 수 있을까?

심지어, 세상 사람들 중에는 다양한 이유를 들어서 누굴 돕는다거나 하는 것 자체에 반대하는 사람도 있다. 그런 사람들까지 설득해서 약자와 빈자를 돕도록 하려면, 누굴 도울 것인가에 대해 그 사람을 도우는 것이 어떤 효용이 있는지, 어떤 이득이 있는지를 제시해야 한다. 상식적인 윤리로 생각하면, 아무 댓가를 바라지 않고 선행을 베푸는 것이 당연하다. 그렇다면, 선행을 베풀 때 댓가를 바라는 순간 그 선행은 악행으로 변질되는가?

결국 누굴 먼저 돕느냐 결정하는 것은 정치적, 경제적 문제로 귀결되고, 거기서 어떤 결정이 나오든 그것을 악행이라고 비난할 수 없다. 그런 결정과정에서 등장한 정치적, 경제적 논리나 근거가 틀렸다고 비판할 수는 있어도 말이다.

컬트

컬트.

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=337050090

이른바, “사이비종교”의 끔찍한 범죄를 소개하는 책이다. 윤리적 관점에서 볼 때 이런 책을 재미의 관점에서만 소비하면 안되겠지만, 어떻든 이런 사회문제가 있을 때 사람들이 관심을 갖고 어떤 방식으로든 경각심을 갖는 것은 중요한 일이다. 따라서 이 책이 독자의 흥미를 끌기 쉽게 범죄자(=사이비종교 지도자)의 행적을 추적해서 이야기로 엮은 것은 매우 좋은 선택이다.

사람들은 종교에 빠지는데, 이것은 세상이 너무나 혼란하고 삶은 괴로운데 어디에도 마음을 기댈 곳이 없기 때문이다. (…라고 나는 생각한다.) 종교에는 여러가지 의미가 있고, 좋은 부분도 있으며 나쁜 부분도 있다. 기성 종교집단은 종교의 좋은 부분을 강화시키고 나쁜 부분을 줄여서 사회에 더 기여하고자 노력한다. 물론 그것이 그 종교의 교세를 확장하기 위한 노력의 일환이겠지만, 어떤 식으로든 사회에 기여할 수 있다면 그 의도와 이유가 무엇이든 좋은 일이다.

문제는 사이비종교와 멀쩡한 종교 사이의 차이가 크지 않다는 점이다. 종교는 교인들에게 어떤식으로든 희망을 주고 삶의 의미를 부여하기 위해 어느정도 비이성적인 신념과 믿음을 설파한다. 정상종교 역시 마찬가지이며, 정상종교의 이념과 교리가 얼마나 사회에 공헌하는가는 그 신념이 이성적이냐 비이성적이냐보다는 실제로 그 종교를 따르는 집단이 구체적으로 어떤 활동을 하고 어떤 영향을 주느냐가 중요하다.

그 어떤 종교 교리에도 나쁜 교리는 없다. 종교는 기본적으로 사람들에게 삶의 의지와 희망을 주기 위해 만들어졌으며, 사이비종교라 하더라도 그런 목적을 (표면적으로나마) 갖고 있는 것은 마찬가지다. 나는 아직까지 사이비종교의 교리 중에, 직접적으로 세상을 파괴하라거나, 사람을 죽이라거나, 그런 교리는 보지 못했다. 다만 그 사이비종교의 교주들이 사람들에게 그런 교리를 세상에 구현하기 위해 누군가를 죽여서라도, 폭력을 사용해서라도 어떤 임무를 수행해야 한다고 말할 뿐이었다.

그런 종교에 너무나 빠져들어서, 세상을 구원하고 행복해지기 위해 수행했던 자신의 행위와 행동이 실제로 세상과 사회에 어떤 나쁜 영향을 주고 있는지는 인식하지 못하고 오직 교주의 명령만 따르는 신자들이 있다. 그런 사람들이 결국 세상을 파괴하고 자기 자신까지 파멸에 이르게 만든다. 이 책 “컬트”는 어떻게 해서 그런 일들이 벌어졌는지 그 이야기를 하는 책이다.

사이비종교의 교주들은, 여타 다른 집단의 리더(지도자)들과 마찬가지로 카리스마와 리더십이 넘친다. 사람들의 마음을 너무 잘 알기 때문에 다른 사람을 조종하고, 그렇게 해서 자신의 이익을 취한다. 사이비종교의 신도들은 그 길이 세상을 구하는 길이라 믿지만, 그들은 아무것도 구하지 못하며 오직 사이비종교 교주의 매우 사적인, 매우 이기적인 욕망에만 충성할 뿐이다. 수많은 사람들이 사이비종교에 빠져들어서 구원을 찾으려 했겠지만, 아마 그 누구도 구원은 찾지 못한채 가볍게는 좌절을, 심하게는 파멸에 이르렀을 것이다.

사이비종교에 빠지지 않기 위해서는 항상 의심하는 마음을 갖고, 그 의심을 객관적으로 바라보며 늘 다시 판단하면서 자신의 신앙과 신념을 재조정 해야 한다. 문제는, 일반적인 정상종교에 대해서도 이 작업이 필요하다는 점이다. 종교적 신념 그 자체를 필요로 한다는 점은 사이비종교든 정상종교든 차이가 없기 때문에, 어떤 종교든 자신이 종교를 갖고 신앙생활을 한다면 자신의 믿음이 진실되고 진심인지 의심하는 것에 더불어, 자신이 믿는 종교가 정말로 자신이 기대하고 있는 바로 그 종교의 모습인지를 객관적으로도 바라볼 수 있어야 한다.

이 책을 보면서 기성종교의 이름으로 자행된 수많은 범죄, 폭력, 전쟁과, 이 책에서 소개된 사이비종교에서 저지른 범죄와 폭력의 차이를 생각해 보았다. 어떤식으로든 둘 다 종교의 이름으로 벌어진 나쁜짓이라는 점은 같다. 다만 기성종교의 경우, 나쁜짓만 하지는 않았고 좋은 일도 매우 많이 수행했다. 나는 종교인들이 자신이 믿는 신의 이름을 더럽히지 않기 위해서라도 종교인으로서 조금 더 착하게 살았으면 좋겠다. 그렇게 해서 조금 더 좋은 세상이 이뤄진다면, 교인이 몇명 더 늘지 않았다 하더라도 신은 그걸 더 좋아하지 않을까?

Raging Waves

Raging waves (화난 목소리) – by Hayashibara Megumi

花が行き交い 風が吹き 꽃잎이 흩날리고 바람이 불고
色が舞い散り 燈がともる 빛이 퍼지며 등불이 켜지네

季節が何度巡っても 계절이 아무리 바뀌어도
この瞬間は二度とない 이 순간은 돌아오지 않아

たとえ百回願っても 動き出さなきゃつかめないから 설령 백번을 원해도, 스스로 나서지 않으면 잡을 수 없기에
後先考えず 痛い目も時には見るけれど大丈夫 앞 뒤 생각 안하다가, 때로는 나쁜꼴도 당하지만 괜찮아

考えすぎて動けなくて チャンス逃すより向いてるの 너무 깊게 생각하다 움직이지 못해서 기회를 놓치는 것 보단 나아
狙い定めたなら 今 行くだけ行こう 목표를 정했다면 지금 갈데까지 가는거야

誰かに譽められる人生 目指しているわけじゃないの 누군가에게 칭찬받을 인생을 향해서 가는게 아냐
私が喜ぶ生き方 ぶつかりながら見つけてく 내 자신이 행복할 수 있는 삶을 부딛혀가며 찾아내는거야

いきなり强いわけじゃない いきなり出來るわけじゃない 갑자기 강해지는게 않아 갑자기 할수 있게 되는 것도 아냐
繰り返して行く日日から 作り上げてくの 自分を 반복되가는 날들 속에서 자신을 만들어가는 거야

たとえうまくいかなくっても 道は決して閉ざされはしない 설령 쉽게 나아가지 못하더라도 길은 결코 닫히지 않아
そこから また 何かが始まる 探して惱んで求めてれば 거기에서 또 무언가가 시작될 거야 찾고 고민하고 원한다면

やめるのと諦めるのとでは 次の道が變ってくる 그만두고 포기하면 이미 그 다음 길은 달라져있어
想い殘さないで 今 やるだけやろう 아쉬움을 남기지 말고 지금 해볼만큼 해보는 거야

誰かに認められるより まず 自分を認めなくちゃ 누군가에게 인정받기보다 먼저 스스로를 인정해야지
ダメなとこもいいところも 引っ括めて抱きしめよう 단점도 장점도 모두 함께 껴안는거야

樂に步ける道よりも 辛くっても樂しみたい 편하게 갈 수 있는 길보다는 괴롭더라도 즐기고 싶어
忙しい退屈な日日 變えたいなら步き出そう 바쁘고 지루한 날들을 바꾸고 싶다면 걸어 가는거야

誰かに譽められる人生 目指しているわけじゃないの 누군가에게 칭찬받을 인생을 목표로 하고 있는 게 아니야
私が喜ぶ生き方 ぶつかりながら見つけてく 내 자신이 행복할 수 있는 삶을 부딛혀가며 찾아내는거야

いきなり强いわけじゃない いきなり出來るわけじゃない 갑자기 강해지진 않아 갑자기 해내는 건 아니야
繰り返して行く日日から 作り上げてくの 自分を 반복되가는 날들 속에서 만들어가는 거야 자신을

誰かに認められるより まず 自分を認めなくちゃ 누군가에게 인정받기보다 먼저 스스로를 인정해야지
ダメなとこもいいところも 引っ括めて抱きしめよう 단점도 장점도 모두 함께 껴안자

樂に步ける道よりも 辛くっても樂しみたい 편하게 갈 수 있는 길보다는 괴롭더라도 즐기고 싶어
忙しい退屈な日日 變えたいから步いてくの 바쁘고 지루한 날들을 바꾸고 싶기에 걸어가는 거야

인생은 힘들다. 그 중에서도 나를 가장 힘들게 하는 것은 현실과 이상의 괴리다. 내가 바라는 나의 모습과 실제 나의 모습은 다르며, 내가 원하는 삶을 살고 싶어도 현실이 그것을 허락하지 않는다. 그렇기에 인생은 힘들다. 하지만 힘들다고 그냥 포기하기에는 아쉬움이 많다. 지금부터 바꿔나가면 미래는 바뀐다. 그렇게 하기 위해서 나를 먼저 인정해야 한다. 나의 장점과 단점을 모두 끌어안고, 그것이 현실임을 직시하는 것에서 변화가 시작된다.

이 노래에서는 “편하게 갈 수 있는 길보다는 괴롭더라도 즐기고 싶다”고 한다. 쉽게 발전하지 않더라도 길이 막히는 것이 아니다. 갑자기 되는 것도 아니고, 갑자기 잘하게 되지도 않는다. 그냥 노력하다보면 어떻게든 되는 것이다.

지금의 내가 바라던 내가 아니라고 해도 미래의 나를 바꾸려면 지금부터 시작해야 한다. 아쉬움을 남기지 말고 노력해보자. 목표를 정했다면 갈데까지 가보자.

삶은 쉽게 바뀌지 않는다. 현실은 이미 정해져 있다. 지금 바꿀 수 있는 것은 아주 작은 것이다. 하지만 그렇게 작게라도 바꾸지 않는다면 아무것도 바뀌지 않는다. 조금이라도, 아주 조금이라도 바꿔내자.

엑셀과 파워포인트를 파이썬에서

엑셀과 파워포인트를 파이썬에서 연동시켜서 뭘 해보려고 했는데, 찾아보느라 삽질을 좀 했다. 그래서 다음과 같이 요약해 둔다.

from win32com import client # 엑셀이나 파워포인트를 파이썬에서 연결하려면 꼭 써야 하는 명령이다.

xl = client.Dispatch("Excel.Application") # 엑셀을 실행시켜서 파이썬에 연결한다.
xl.Visible = 1 # 엑셀 창을 눈에 보이게 할지 말지를 선택한다. 0은 안보임, 1은 보임.
xl.Quit() # 엑셀을 종료한다. 만약 client.Dispatch에서 xl1, xl2라는 식으로 엑셀을 두개 실행시켰으면 변수에 해당하는 엑셀만 종료된다.

myfile=xl.Workbooks.Open(filename) # 엑셀에 지정된 파일을 열도록 한다. 그리고 그 파일 핸들러를 myfile이라는 변수에 저장해서 쓸 수 있게 한다. Workbook이란 엑셀 파일을 뜻한다.
myfile.Save() # myfile에서 사용하고 있던 파일을 저장한다.
myfile.Close() # myfile에서 사용하고 있던 파일을 닫는다.

mynewfile=xl.Workbooks.Add() # 엑셀에서 새 파일을 연다. 그리고 그 파일 핸들러를 mynewfile이라는 변수에 저장해서 쓸 수 있게 한다.

아래에서, 시트는 워크시트와 차트시트를 포함하는 전체 시트다.

myfile.Sheets(sheet_no) # myfile에 있는 시트 중에 sheet_no를 선택한다. sheet_no는 정수(int)이거나 문자열이어서, 정수라면 그 시트의 번호를 말하고, 문자열은 그 시트의 이름을 말한다.
myfile.Worksheets(sheet_no) # myfile에 있는 워크시트 중에 sheet_no를 선택한다.
myfile.Charts(chart_no) # myfile에 있는 차트시트 중에 sheet_no를 선택한다.
myfile.Sheets(1).Name= "XYZ" # myfile에서 1번 시트의 이름을 "XYZ"로 고친다.

myfile.Worksheets(1).Range("F21").Value = 10 # myfile에서 1번 워크시트에 있는 "F21"이라는 셀의 값을 10으로 고친다.
myfile.Worksheets(1).Range("F21:G25").Value = 10 # myfile에서 1번 워크시트에 있는 "F21"에서 "G25"의 범위에 있는 셀의 값을 10으로 고친다.

myfile.Worksheets("결과").Range("A1:C10").Copy() # myfile에서 "결과"라는 워크시트에서 "A1"셀과 "C10"셀 범위의 셀들을 복사한다. 이것은 Ctrl-C를 눌러서 복사한 것과 같이 클립보드에 복사된다.
myfile2.Worksheets(3).Range("B2:D11").Select() # myfile2에서 3번 워크시트에 "B2"셀과 "D11"셀 범위의 셀들을 선택한다. 이것은 마우스로 드래그해서 선택한 것과 같다.
myfile2.Worksheets(3).Range("B2:D11").Paste() # 방금 고른 범위에 클립보드에 복사된 내용을 붙여넣기 한다 이것은 Ctrl-V로 붙여넣기 한 것과 같다. 복사할 때의 셀 범위의 크기와 붙여넣기 할 때의 셀 범위의 크기가 다르면 오류가 발생한다.

myfile2.Worksheets(3).Range("A1:C10").PasteSpecial(-4163) # PasteSpecial은 붙여넣기에 옵션을 주는 방법이다. 안에 들어간 숫자는 붙여넣기 할 때의 옵션을 정한다. 그 숫자의 의미는 https://learn.microsoft.com/ko-kr/office/vba/api/excel.xlpastetype 에서 찾아볼 수 있다.

myfile.Worksheets(2).Range("A3:R2863").AutoFilter(Field=9,Criteria1=">=400") # 주어진 범위에 필터를 주는 방법이다. Field=9는 가장 왼쪽인 A부터 시작해서 순서로 9번째인 I 열에 필터를 적용하겠다는 뜻이다. Criteria1>=400은 400보다 같거나 큰 값을 골라내겠다는 뜻이다. Criteria2도 지정 가능하다.
myfile.Worksheets(2).Range("A4:R2863").SpecialCells(12).Copy() # 여기서 SpecialCells는 셀 중에 원하는 것만 골라내는 방법이다. 12는 보이는 셀들만 고르겠다는 뜻이다. 숫자의 의미는 https://learn.microsoft.com/ko-kr/office/vba/api/excel.xlcelltype 에서 찾아볼 수 있다.

myfile.Worksheets(3).Range("A4").PasteSpecial(-4163) # 앞에서 설명했던 거라서 생략. 앞의 명령과 조합하면 2번시트에 있던걸 3번시트로 골라서 복사하는 명령이 된다. 단, 범위 선택을 이렇게 한 칸만 해주면, 나머지는 알아서 붙여넣기가 된다.
myfile.Worksheets(2).AutoFilterMode=False # 필터 붙였던걸 끄고 모든 항목이 나타나게 한다. 필터를 걸 때는 Range가 있었는데 끌 때는 없다는 것을 조심하자.

myfile.Worksheets("결과").Range("B4:F2863").Sort(Key1=myfile.Worksheets("결과").Range("B3"),Order1=1) # 정렬시키는 명령어. B4에서 F2862의 범위에 있는 값들을 정렬하는데, 그 기준을 B3의 열에 해당하는 값을 기준으로 삼겠다는 뜻이다. Order1은 1이 오름차순, 2가 내림차순이다. 자세한 것은 https://learn.microsoft.com/en-us/office/vba/api/excel.range.sort 을 참고하자.

이제 차트를 그려보자.

myfile.Worksheets(1).Shapes.AddChart(4,800,420,400,200).Select() # 일단 차트를 그리고 선택한다. Select()를 해주면 아래의 ActiveChart로 쓸 수 있다. Shapes에는 차트만 있는건 아니지만, 아무튼 여기서는 차트를 그릴 것이다. AddChart(차트 종류, 가로 위치, 세로 위치, 폭, 높이) 로 입력한다. 크기의 단위는 "포인트"다. 글자 크기를 이야기할 때의 그 포인트. 차트 종류는 숫자로 지정하는데, 원하는 모양에 따라 https://learn.microsoft.com/en-us/office/vba/api/excel.xlcharttype 을 참고해서 골라주자.
xl.ActiveChart.SetSourceData(Source=myfile.Worksheets("Cal").Range("F4:F20")) # 차트에 그림을 그릴 데이터를 지정한다.
xl.ActiveChart.HasTitle=True # 제목이 생기도록 한다.
xl.ActiveChart.HasLegend=False # 범례는 없도록 한다. True라고 적으면 범례가 나타난다.
xl.ActiveChart.ChartType=75 # 앞에 AddChart에서 아무 숫자나 넣어서 차트를 만들고, 여기서 차트 종류를 바꿔도 된다. 원하는 모양에 따라 https://learn.microsoft.com/en-us/office/vba/api/excel.xlcharttype 을 참고해서 골라주자.
xl.ActiveChart.Axes(1).MajorUnit=50 # X축의 눈금 단위 50마다 하나씩 적기로 한다. 자매품으로 MinorUnit도 있다. Y축을 바꾸고 싶으면 Axes(2)를 쓰자.
xl.ActiveChart.ChartTitle.Characters.Font.Size=12 # 제목의 글자 크기를 12포인트로 정한다.
xl.ActiveChart.ChartTitle.text = myfile.Worksheets(2).Range("F3").Value # 제목 내용을 다른 셀에서 가져올 수도 있다.

xl.ActiveChart.SeriesCollection().NewSeries() # 차트 하나에 그래프를 두개 그리고 싶을 때 쓴다.
xl.ActiveChart.FullSeriesCollection(2).Name = "" # 범례에 들어갈 이름이다. 여기서는 빈칸을 뜻한다.
xl.ActiveChart.FullSeriesCollection(2).XValues = myfile.Worksheets("Cal").Range("A4:A20") # 추가할 그래프의 X축 값들이다.
xl.ActiveChart.FullSeriesCollection(2).Values = myfile.Worksheets("Cal").Range("W4:W20") # 추가할 그래프의 Y축 값들이다.
xl.ActiveChart.FullSeriesCollection(2).Format.Line.Weight=3 # 추가할 그래프의 굵기다.
xl.ActiveChart.FullSeriesCollection(2).Format.Line.Visible=True # 추가할 그래프를 보이게 설정한다.
xl.ActiveChart.FullSeriesCollection(2).Format.Line.ForeColor.RGB=255 # 추가할 그래프의 색을 정한다. 255라고 쓰면 빨간색이다.

myfile.Worksheets(1).ChartObjects(2).Copy() # 1번 워크시트에서 차트 2번을 고른다. ChartObjects는 생성된 순서대로 번호가 붙는다고 생각하면 된다. 즉, ChartObjects(2)는 그 시트에서 2번째로 생성된 차트를 고른다. 다른데 붙여넣고 싶으니까 Copy()를 했다.

myfile.Worksheets(1).Columns("A").ColumnWidth = 8.38 # 워크시트 1번의 A열의 폭을 8.38로 정한다. 단위는 포인트다.

파워포인트를 써 보자.

ppt= client.Dispatch("PowerPoint.Application") # 파이썬에 파워포인트를 연결한다.
ppt.Quit() # 파워포인트를 종료시킨다.
presentation=ppt.Presentations.Add() # 새 프리젠테이션 파일을 생성한다. 원한다면 엑셀에서처럼 Open("파일이름")을 쓸 수도 있다.
presentation.Save() #파일을 저장한다.
presentation.SaveAs() # 파일을 다른 이름으로 저장한다.

presentation.Slides.Add(4,12) # 새 슬라이드를 4번째 위치에 넣는다. 즉, 새로 만들어진 슬라이드가 4페이지다. 12는 레이아웃을 정하는 숫자인데, 그중에서도 12는 빈 슬라이드다. 다른 것도 써보자.

presentation.Slides(4).Shapes.PasteSpecial(DataType=1) # 앞에 엑셀에서 복사한 차트를 붙여넣기 할 수 있다. DataType=1이라는 옵션은 그림으로 붙여넣기 하겠다는 뜻이다. 다르게 붙여넣고 싶으면 https://learn.microsoft.com/en-us/office/vba/api/powerpoint.pppastedatatype 을 참고해서 다른 숫자를 적자.
presentation.Slides(4).Shapes(1).LockAspectRatio=False # 그림을 붙여넣기 할 때, 가로-세로 비율을 고정하지 않고 내 맘대로 정하고 싶을 때가 있는데 그때 False를 쓴다. 고정시키려면 True를 쓴다.
presentation.Slides(4).Shapes(1).Left=20 # Shapes(1)은 1번째로 만들어진 그림을 고른다는 뜻이다. 여기서도 만들어진 순서대로 그림을 고를 수 있다. Left는 그림의 왼쪽 위를 기준으로 한 그림의 가로 위치다.
presentation.Slides(4).Shapes(1).top=50 # Top는 그림의 왼쪽 위를 기준으로 한 그림의 세로 위치다.
presentation.Slides(4).Shapes(1).Width=400 # Width는 그림의 폭이다.
presentation.Slides(4).Shapes(1).Height=200 # Height는 그림의 높이다.

tb=presentation.slides(4).Shapes.AddTextbox(1,50,25,200,50) # 4번 슬라이드에 텍스트박스를 추가한다.
tb.TextFrame2.TextRange.Characters.Text="내용적기" # 방금 만든 텍스트박스의 내용을 적는다.
TextFrame2.TextRange의 뜻은 구글에서 찾아보도록 하자.