読者です 読者をやめる 読者になる 読者になる

UTALI

書き溜めておいた技術記事や旅行記のバックアップです。

保津峡の船曳道を歩く

京都の観光の定番ルートと化しているのが保津川の川下りですね。上流の亀岡側から保津川の急流を小さな船で下っていくのはスリリングな体験です。船の終点は嵐山の船着場ですがそこに着いた船はどのように出発地点に戻るのでしょうか?今ではトラックを使って上流まで船を戻していますが、昔は人の力でロープで引っ張りながら船を上流までひいていました。今回紹介するのはかつて船を上流にあげるのに使われていた船曳道です。地形図をみると破線ルートが確認できます。今回は初めて歩いてみましたがハッキリ言って全くおすすめできません。観光気分で行ったら大ケガすること必至な廃道と化していました。とても危険です!

f:id:mochizuki_p:20170527183847j:plain

保津峡の船曳道に入ります。

今回の探検の始まりは毎度お馴染みの嵐山から始まります。渡月橋の阪急嵐山側から桂川(保津川)沿いの遊歩道に入ります。しばらくは観光客と一緒に歩きます。アップダウンを経てしばらくすると開けた河原に出ます。その突き当たりに温泉旅館があります。川沿いギリギリにあるのでここで行き止まりのように思えますがそのまま川沿いの船着場の方に進んでみると・・・

崩れかけた階段が見えました。ここを上がっていきます。しばらく温泉旅館の軒下を歩いていきます。もうすでに怪しい雰囲気の道です。

さてしばらく獣道を歩いていきます。もはや遊歩道なんて甘い表現は全く使えない状態です。さっそくすごい橋が・・・

f:id:mochizuki_p:20170527183833j:plain

危険度100%の橋

欄干すらありません・・・うっかりしたら板を踏み抜いて谷底に落ちてしまいそうな危うさです。死にこそしませんが確実に骨は折りそうな高度感。冷や汗を流しながら渡ります。この先もこんな感じの橋を3〜4回くらい渡った気がします。

もう見るからにやばそうな感じです。なんか秘境感すら漂っています。それでも引き返すのも惜しいのでこのまま進むことに。こんな感じの花がたくさん咲いていました。

f:id:mochizuki_p:20170527183906j:plain

すばらしい景色

f:id:mochizuki_p:20170527183829j:plain

次にあったのはもはや板すらない最低限の機能しかない橋です。これはひどい。

f:id:mochizuki_p:20170527183842j:plain

開けた場所に出ました。

対岸にはトロッコ列車の線路が見えます。しばらくするとトロッコ列車が通りかかります。確実に注目浴びてるだろ。

あと結構な頻度で保津川下りの船と遭遇するので観光客の視線が痛いです。なんでこんなところに人がいるんだ?という目で見られています。しばらく歩くとコンクリート製の堤防があります。

f:id:mochizuki_p:20170527183858j:plain

年季の入った堤防

その上を慎重に歩きます。足元をみるとなんか蛇がいます・・・マムシでした。

噛まれることはなかったですがかなり驚きました。このあたりになるとかなり道が悪くなってきます。慎重に進みます。

頭上に大きな鉄橋が、これはJR嵯峨野線の鉄橋ですね。

f:id:mochizuki_p:20170527183855j:plain

嵯峨野線の鉄橋を特急が走る。

特急が通りました。しばらく進むとトロッコの鉄橋が見えてきます。

f:id:mochizuki_p:20170527183903j:plain

トロッコの鉄橋が見えてきました。

広い河原を進んでいきます。あれ?道がない。河原が途中で途切れて先に進めません。崖があるだけです。もうこれでおしまいかと諦めかけてしまいましたが、左側に道があることを表している黄色いテープがありました。おいおいまさかこの崖を登っていけと?

そのまさかでした。結構な角度の崖を登っていきます。正直これで正解なのかかなり悩みました。下を見ると即死できそうな高度ですし。

結果を言えば正解でした。しばらく進むと黄色いロープが、結構新しかったということは・・・この岩を登ってからまた降ります。こんな道を通るとはまさか想像していなかった。やっとのことでここを通り抜けるとトロッコの鉄橋にたどり着きます。

f:id:mochizuki_p:20170527183842j:plain

トロッコがちょうど通りかかる。

ちょうどトロッコが通りかかります。乗客から自分が見えているのか気になります。見えていたら絶対ネタにされていそうです。結構古そうな橋脚、なんと明治時代に建設されたものだそうです。

f:id:mochizuki_p:20170527183838j:plain

煉瓦製の橋脚

しばらく岩だらけの河原を歩いていきます。そうすると杉林に入っていく道があります

f:id:mochizuki_p:20170527183914j:plain

怪しい雰囲気の杉林を進んでいく。 ちゃんとした幅のある道になっていますが足元はかなり柔らかく、ほとんど歩かれていないことが推測されています。しばらくすると2手に分かれています。一回下の方の道を行ってみますが何か看板がありました。なんだか掠れてて何が書いてあるかわかりません。

目を近づけてみると・・・「ススムナキケン」?! 怖すぎです。無人の山中でこんな看板をみると何か人外の恐怖を感じます。

上の方の道を進みます。道の形ははっきりしてますがくもの巣がはっていたり通る人の少なさをひしひしと感じます。あれ?なんだろう?赤い物が見えます。道の途中に薄汚れた赤いリュックサックが置いてある?!・・・しばらくの間意図的に視界を広げないように気をつけました。

 やった保津峡駅が見えるぞ!と安心したのもつかの間でした。なんと道がありません。大きな崖があって保津川に落ち込んでいます。どうすればいいんだ・・・もう今更引き返せないし・・・結局保津川の崖沿いの水深の浅い部分を歩いて渉るしたありませんでした。もし増水していたら完全に詰みでした。おまけにその光景を思いっきり川下りの観光客にみられたし・・・やっとのおもいでそこを乗り切るとそこは人間界でした。

f:id:mochizuki_p:20170527183851j:plain

生還しました。

保津峡駅に到着、でもトロッコの運賃は高いので道路を歩いてJRの保津峡駅で嵯峨嵐山まで戻りました。

追記・このルートを辿ることは絶対にやめた方がいいです。なぜなら

  • JRの鉄橋より先は廃道化している。
  • マムシやスズメバチが生息している。
  • 落ちたら死ぬ!(酷道の看板風に)
  • トロッコや川下りの船からの視線が痛い

それでも行きたい!!という物好きな方は自己責任の元、完全装備でよろしくお願いします。

ffmpegを使って、mp4やmov形式の動画からGIFアニメを作成する手順について

Gifアニメはお手軽におもしろコンテンツを作るのに便利ですよね。

動画ほど重くないし、わざわざプレイヤーを訪問者にクリックしてもらわなくても勝手に再生されるという利点があります。

今回はmp4形式の動画から1MB以下のGifアニメを作成するデモを実行します。

利用するソフトウェアはオープンソースのffmpegです

f:id:mochizuki_p:20170526203656p:plain

インストールは

MacOSの場合であれば以下で一発です。

brew install ffmpeg

今回利用する例の動画として

Pen-Pineapple-Apple-Pen_PIKO-TARO.mp4

を用意します。

この動画ファイルが置いてあるのと同一ディレクトリに移動して任意の箇所を切り出します。

ここで重要なオプションは

オプション 説明
-i 入力データを指定 Pen-Pineapple-Apple-Pen_PIKO-TARO.mp4
-ss 切り出したい箇所の開始時間を{時間}:{分}:{秒}で指定 00:00:15
-t 切り出したい動画の長さを{時間}:{分}:{秒}で指定 00:00:10

入力データに関してはffmpegが対応している形式は全て大丈夫なようです。ここではmp4を利用していますが、他の記事ではmovを利用している例が多かったです。

そして最後に出力ファイルの名前を指定します。

ffmpeg -i Pen-Pineapple-Apple-Pen_PIKO-TARO.mp4 -ss 00:01:04 -t 00:00:8 cut.mp4

すると同一ディレクトリに切り出された動画ファイルが出力されます。

2.動画ファイルをGIFアニメに変換

次にこの切り出した10秒間の動画をGIFアニメに変換します。

オプション 説明
-i 入力データを指定 cut.mp4
-v 変換処理に関する詳細情報を指定 warning
-vf ビデオフィルター・ファイル変換についてのオプションを指定 scala=300:-1
-r フレームレート・1秒あたりのGIF画像の枚数を指定、数値が多いほどアニメが滑らかになるが、その分重くなる 30
-y 出力ファイルの名前と拡張子を指定 PPAP30.gif

この時、特に重要になるのは-rで指定できるフレームレートで、実際にこの値を変更することで、どのようにGIFアニメの滑らかさが変わっていくのか見てみよう

上から順にそれぞれ30,15,8,5のフレームレートで変換してみた

PPAP30.gif: 2.2MB

ffmpeg -v warning -i cut.mp4 -vf scale=300:-1 -r "30"  -y PPAP30.gif

f:id:mochizuki_p:20170526202538g:plain

PPAP15.gif 1.2MB

ffmpeg -v warning -i cut.mp4 -vf scale=300:-1 -r "15"  -y PPAP15.gif

f:id:mochizuki_p:20170526203006g:plain

PPAP8.gif 669KB

ffmpeg -v warning -i cut.mp4 -vf scale=300:-1 -r "8"  -y PPAP8.gif

f:id:mochizuki_p:20170526202922g:plain

PPAP5.gif 427KB

ffmpeg -v warning -i cut.mp4 -vf scale=300:-1 -r "5"  -y PPAP5.gif

f:id:mochizuki_p:20170526202853g:plain

実際に見てもらえればわかるがアニメの滑らかさとファイルの容量はトレードオフになっている。

つまり、綺麗なアニメを作ろうとすれば、必然的にファイルは重くなるというわけだ。

本当は怖いスーパーマリオ | マリオと共産主義にまつわる都市伝説

f:id:mochizuki_p:20170526182928j:plain

出典:imgur.com

スーパーマリオブラザーズといえば、日本を代表するテレビゲームであり、世界累計、4000万本を売り上げるなど、空前の大ヒットとなり、ゲーム大国日本が最初に世界に羽ばたくこととなった記念碑的作品として知られている。

30周年記念盤 スーパーマリオブラザーズ ミュージック

30周年記念盤 スーパーマリオブラザーズ ミュージック

しかし、その世界観について、ある恐ろしい陰謀が隠れているとの噂がある。

それは、

「スーパーマリオは共産党が共産主義を宣伝するために作られたゲームであるという説」

である。

一体何を根拠にこのような荒唐無稽な説をでっち上げているのだろうと不思議に思う読者も多いと思う。しかし、何の理由もなくこのような説を唱えているわけではない。スーパーマリオの制作チームに共産主義者がいて、秘密裏に共産主義的なメッセージをゲームに織り込んでいることは明らかなのである。

それでは順を追ってその理由を説明してみようと思う。

最初に共産主義とはなんなのだろうか?

簡単にいえば、人々の貧富の差に反対して、平等な世の中を主張する考え方のことである。これだけならば随分まともな考え方に思えるが、共産主義の危険なところは、その実現のためなら暴力的な方法をも辞さないことである。つまり、武力を使って、貴族や資本家など、人々の富を不当に奪っている人間を暴力でやっつけて仕舞えばいいという考え方が、共産主義の特徴である。

暴力を使って資本家から労働者を解放することを一般的に「革命」と呼ぶ、共産主義の目標は革命を実現することである。実際に20世紀のロシアでは従来のロマノフ王朝を倒して、共産主義政権が誕生した。それが俗にいう「ソ連」、つまりソビエト社会主義共和国連邦である。

この知識は後に役に立つ、覚えておいてほしい。

それでは本題に入る。それはスーパーマリオの世界観に隠された共産主義的メッセージのことである。

1. マリオのトレードカラーは赤色、赤は共産主義を象徴する色である

マリオのテーマカラーといえば「赤」である。 これは初代マリオから一貫して変わっていない。彼の帽子とオーバーオールは赤色と相場が決まっているし、マリオカートでも、彼の愛車は赤色に塗装されている。

f:id:mochizuki_p:20170526182723j:plain

一方で、共産主義のテーマカラーも赤色である。

f:id:mochizuki_p:20170526182633p:plain

例をあげれば、日本共産党の機関紙の名前は「赤旗」である。ソ連の軍隊も「赤軍」と呼ばれていた。日本でも右翼団体など、共産主義に反対する立場の人間は、共産主義者を蔑視して「アカ」と呼ぶことがある。

つまり、マリオと共産主義は、そのテーマカラーという点で共通しているのである。

2. マリオの職業は配管工、つまり労働者階級の人間である。

これもマリオに詳しい人間の間では周知の事実であるが、マリオの職業は配管工である。これは彼の作品に頻繁に土管が現れてくることでもわかることであるが、これが共産主義とどのような関わりがあるのだろうか?

共産主義の思想では、労働者が主役である。彼らは日々労働に汗を流す一方で、彼らの働きに応じた対価を十分に得ることができず、貧困に喘いでいることになっている。これは彼らをこき使って金儲けをしている資本家たちが不当に彼らを搾取しているからとされている。

共産主義は資本家による労働搾取から労働者を解放するために、暴力革命を起こすべきだと主張する理論である。つまり、共産主義の世界観においては労働者が主役なのである。

これはスーパーマリオの世界観とある意味では整合的である。なぜなら主人公のマリオは配管工であり、労働者であるからである。

3. マリオのずんぐりとした体型、大きな鼻、立派な口ひげはソ連共産党の指導者スターリンと共通している。

マリオは背が低く、ずんぐりとした体型であり、かつ大きな鼻と口ひげがトレードマークとなっている顔が特徴的である。

しかし、この特徴は共産主義の指導者として、当時世界中の共産主義者からの尊敬を集めていたソ連の指導者、「ヨシフ・スターリン」と酷似しているのである。

この写真を見てほしい、左がスターリン、右側がマリオである。どことなく似ているとは思えないだろうか?

f:id:mochizuki_p:20170526182009j:plainf:id:mochizuki_p:20170526182004j:plain

f:id:mochizuki_p:20170526182023j:plainf:id:mochizuki_p:20170526182031p:plain

f:id:mochizuki_p:20170526182049j:plainf:id:mochizuki_p:20170526182055j:plain

ちなみにスターリンの身長は165cm、当時としても決して大きい方ではない。そしてマリオの身長は公式には155cmとされている。

少なくとも私にはマリオのデザインはスターリンを参考にしたものに見える。あなたはどうお考えだろうか?

4. スーパーマリオのステージクリア時には赤い星が描かれた旗が掲げられる。赤い星は共産主義のシンボルの一つで、これは革命のモチーフである

スーパーマリオのステージをクリアすると、マリオはお城の中に侵入して、白地に赤い星が書かれた旗を掲げる。

f:id:mochizuki_p:20170526180521g:plain

このことを不思議に思ったことはないだろうか?

f:id:mochizuki_p:20170526174939j:plain

実は赤い星は共産主義と深い関わりがあるのである。

以下はwikipediaにある、ズバリ「赤い星」からの引用である

f:id:mochizuki_p:20170526174028p:plain

五つの頂点は、ヒトの頭や脚や腕を、花冠の五つ弁を、 労働者の手の五本の指を、また世界の五大陸を表す。その他の解釈としては、五つの頂点がそれぞれ共産主義を指導する五つの社会集団(青年、兵士、産業労働者、農業労働者、インテリゲンチャ)を表す。一般的に、赤い星は、共産党の支配と指導の下での社会の新秩序の正しさを表す象徴とされていた。

決定的なのは、スーパーマリオがステージをクリアする際に行う一連の行動である。マリオがステージをクリアするときには、ポールに掲げられている旗を引き摺り下ろした後に、城に侵入して例の「赤い旗」を掲げるのである。

実は、これは共産主義にまつわるある歴史的事実と整合的なのである。

それはロシア革命における「クレムリンの赤い星」についての歴史的事件である。

1917年に起こったロシア革命によってロマノフ朝が断絶し、新たに共産主義政権が樹立した。

かつての王宮であり、ソビエト政権の中心であった「クレムリン」には、ロシア帝国の象徴であった「双頭の鷲」が掲げられていた。

f:id:mochizuki_p:20170526173922p:plain

しかし、1930年代になると、革命を記念して、従来の帝国の象徴であった「双頭の鷲」を共産主義を象徴する「赤い星」に付け替える事になったのである。これが「クレムリンの赤い星」である。

f:id:mochizuki_p:20170526173817j:plain

これがマリオの世界においてはどのような意味を持っているのであろうか?

それはマリオがステージをクリアする際には、そのステージにおける革命が完了し、共産化を成し遂げたという解釈が可能なのである。その象徴として、従来の旗を下ろした上で、お城に「赤い星」を掲げるのである。

5. 宿敵クッパは強大な軍隊を持ち、巨大な城に住んでいる。これは莫大な資金を持った資本家の象徴である。

共産主義での悪役は資本家である。

f:id:mochizuki_p:20170526181248j:plain

彼らは豊富な財力を持つ一方で生産手段である資本を独占し、労働者を搾取している。彼らを革命を通じて暴力で打ち倒すのが、共産主義の目標である。

実は、この世界観はしっかりとマリオに反映されている。マリオでは最終的に姫を攫ったクッパを倒し、姫を取り戻すことがゲームの目標とされている。一見すると、このストーリーは中世のヨーロッパを舞台にした「囚われの姫君」を助けるストーリーを踏襲しているように思われる。

しかし、クッパ=資本家、姫=資本と捉えてみるとどうであろうか?

そうやってマリオの世界を捉えてみると共産主義と全く同じストーリーに変わるのである。

つまり、資本家たるクッパから独占された資本(姫)を取り戻すために、各地を転戦して、革命を実現するプロレタリアート(マリオ)の物語である。

6. マリオでは土管を通って地下面に進む事ができる。実はこれはマリオが共産党員であることの隠喩である

共産主義は、その暴力的な側面から世界中で非合法化され、弾圧されてきた。実際日本では、共産党員であり、共産主義をモチーフにしたプロレタリア文学を数多く発表していた「小林多喜二」は激しい拷問によって命を落とした。このような弾圧のために、共産主義者たちは公には活動できず。偽名を使うなど、身分を隠しながら活動することを余儀なくされてきた。このように、当時非合法であった共産党へ入党することを、俗に「地下に潜る」と表現することが一般的だった。ちなみにこれを英語で表現すると「go underground」である。

一方で、スーパーマリオは時々、土管に入って地下ステージに進むことがある。

f:id:mochizuki_p:20170526180838g:plain

このように物理的に「地下にもぐる」ことも、やはり英語で「go underground」という。

このことから、「土管に入る=地下に潜る」ことは、マリオが共産党員であることを暗喩していると言えるのである。

7. 共産主義の創始者マルクス(Karl Marx)の頭文字はM、マリオの頭文字はMで共通している。

ご存知の通り、共産主義を最初に世の中に知らしめたのは、思想家の「カール・マルクス」である。

f:id:mochizuki_p:20170526182226j:plain

このマルクスの名前は英語では

Karl Marx

である

一方でマリオの名前は英語では

Mario

であり、帽子にもMの文字がある。

f:id:mochizuki_p:20170526182723j:plain

この2人の頭文字はMで共通している。これは何かの偶然だろうか?

8. スーパーマリオを世に出した任天堂の創業地は京都、京都は共産党が非常に強い土地柄である。

ご存知の通り、スーパーマリオを考案し、最初に世の中に広めたのは、京都で創業し、現在では世界的ゲームメーカーとして知られるあの「任天堂」である。

しかし、京都は共産党が非常に強い土地として知られている。そして当然ながら共産党員も数多く京都に住んでいる。例をあげれば、参議院議員の有田芳生氏も京都の出身であり、20代の初め頃まで共産党員として活躍していた。

このような土地柄であるので、スーパーマリオの開発チームに共産党員が紛れ込んでいてもおかしくないのである。そしてその共産党員が、他のメンバーにわからないように、こっそりと共産主義的なメッセージをゲームに織り込んでおいた。そんな背景があったのではないのだろうか?

まとめ

スーパーマリオのストーリーの背景には共産主義思想が隠れている。

それは労働者であり、共産主義者の共産党員であるマリオが、各地で革命を遂行し、時には弾圧を避けて地下に潜りつつ、最終的に資本家であるクッパを打倒して、共産主義政権の樹立を試みるストーリーである。

無料のプログラミングスクールでIT業界に転職しよう | フリーター、既卒でもOK

今回は無料でプログラミングを学んでIT業界に就職できるプログラミングスクールを紹介したいと思う。

f:id:mochizuki_p:20170525140229p:plain

無料の理由

最初に無料である理由をしっかりと説明したいと思う。

万が一怪しいスクールで、これを見て受講された人に被害が出たら大変だからだ。

慢性的なIT業界の人手不足

最初にあげられる理由はIT業界の慢性的な人手不足がある。

この資料を見て欲しい、

f:id:mochizuki_p:20170525135139p:plain

これは経済産業省が発表した資料であるが、2030年代に至るまで、ITエンジニアの人手不足が続くと予想されている。

この背景には機械学習やフィンテック、IoTなどの普及でIT技術の一般化がより進む一方で、IT人材の供給が一向に増えないという背景があるのだろう。

若いプログラマを何としても確保したい企業の戦略

このような慢性的な人材不足に悩んでいるIT業界が、例え、自前で費用を負担してでも人材を確保したいという話はもっともに思える。そして、その一環として、今回紹介する無料のプログラミングスクールに協賛して、その費用を肩代わりしてくれているというのは、当然のように思える。

このプログラミングスクールはIT企業が提供する協賛金によって運営されている。つまり、IT企業が人材養成にかかる費用をアウトソーシングした結果として、このスクールが運営されているといえる。

JavaとPHPの2つの言語に対する大きな需要

このプログラミングスクールが受講者に教えているのはJavaとPHPという2つの言語だ。この言語に関しては、前者は主にSI業界、後者はWeb業界で高い需要がある。

f:id:mochizuki_p:20170422180722p:plain

もちろん、どちらの言語も業界に限定せず使われている。Web業界でもJavaを使用している企業は多いし、SI業界でもPHPを使うことは普通にある。

実際にJavaが実社会でどのように利用されているかの例を挙げると、スマートフォンのOSであるAndroidは、Javaを使って動作しているプロダクトの代表例だ。

そして、普段使っている銀行のATMの裏側でも、Javaが仕事をしていることが非常に多い。

そして、PHPは普段あなたがネットサーフィンをしていて閲覧する場合、背後でPHPのプログラムが動作している。例えば、会員登録をして、その人に合ったコンテンツを振り分けて配信するときなどである。

例を紹介すると、Facebookのような巨大なSNSも膨大な量のPHPコードで動いている。

このスクールではこの2つの言語のどちらかを選択して、最終的に1つのECサイトやアプリを作成することで実務に通用するプログラマになることを目指す。

ここで作成したアプリやサービスは就職の時にポートフォリオとして役に立つので、全力で取り組むべきだろう。

無料だが受講には制限もある。

もちろん無料であるからには一定の制限もある。

このスクールを受講するには以下の条件を満たしている必要がある。

  • 正社員としてIT業界への転職を考えている

  • 年齢は19歳以上、30歳未満
  • 東京、神奈川、埼玉、千葉に住んでいる

これはこのスクールが首都圏のIT企業に対する人材養成を担っているために、当然の条件だと思われる。しかし、このほかには一切の制約はない、例え、業界未経験でも、フリーターでも、もちろん既卒でも、大丈夫だ。

学習の進め方も柔軟

このスクールの優れた点は、利用者の都合と好みに合わせて様々な受講方法を用意してくれていることだ。

このスクールが提供しているのは次の3つの受講形態で

  • テレビ電話を使用した個別研修

  • 通学個別指導
  • 通学授業実践形式

で受講者はこの3つの形式から自分の好きな受講形式を選択することが可能だ。

f:id:mochizuki_p:20170525134134p:plain

就職先の企業も充実、有給のインターンも

受講を修了したとき面接を受けることができる提携先の企業も充実している。

f:id:mochizuki_p:20170525134100p:plain

  • サイバーエージェント

  • ソフトバンク
  • 楽天 

  • LINE
  • リクルート
  • KDDI
  • NTTデータ
  • 伊藤忠グループ

などである。

そして希望者にはクルーズ株式会社での有給のインターンで実務経験を積むことができる。

f:id:mochizuki_p:20170525134117p:plain

就職率は96.2%

これだけ充実した内容であるため、卒業生の就職率は96.2%になっている。

それもそのはずだ。このスクールは単純にプログラミングを教えるだけではなく、エントリーシートの指導や模擬面接、マナー研修などの就職対策まで手取り足取り指導してもらえるからだ。

それだけではない、この表を見ればわかるように講習の内容も、他のプログラミングスクールに比べてとても充実していることがわかるだろう。

f:id:mochizuki_p:20170525134324p:plain

途中でやめても大丈夫

プログラミングに対して難しそうだという先入観を持っている方も多いと思うし、それゆえにプログラミングスクールの受講に尻込みしている人も多いと思う。

しかしこのスクールでは心配する必要はない。もし、授業が理解できず、先に進むことができなくなっても、リスタートという仕組みによって、次の学期の講習を受けることができる。

f:id:mochizuki_p:20170525134437p:plain

それでもプログラミングの適性がない人間も中にはいる。どんなに努力してもコードが書けない人間は一定割合存在するものだ。

自分に適性がないことに気づいてやめてしまっても、心配する必要は一切ない、どうしても授業について行けなくてやめてしまっても、怒られたり、お金を要求されることは一切ない。

f:id:mochizuki_p:20170525134631p:plain

解約金のような金銭を要求されることは一切ないと断言しておこう。

つまり、あなたが負担するリスクはゼロというわけだ。

企業の信頼性について

最後にこのスクールの信頼性について、会社の登記情報などからしっかりと調査をしておいた。

このスクールを主催している企業は、「インターノウス株式会社」

f:id:mochizuki_p:20170525135421p:plain

資本金は1000万円で、本社は東京都千代田区霞ヶ関にある。

会社の設立は2005年12月、つまり10年以上存続していることになる。

主にIT業界への人材紹介を手がける企業だ。

おそらく、この企業はITの仕事の斡旋を長年続けていることで勝ち取ったユーザ企業との信頼から、プログラマの養成事業をやっているのだろう。

説明会に参加するだけでクオカードをプレゼント

今なら説明会に参加するだけで、クオカード1,000円分をもらうことができる

f:id:mochizuki_p:20170525134008p:plain

これもIT業界が深刻な人材不足に悩んでいる証拠だろう。

当然ながら、無料体験に参加したからといって、必ず本番の講習を受けないといけないわけではない。1000円を貰いに行くつもりで、まずは話を聞いてみてはいかがだろうか?

人生を変えるチャンスかもしれない

あなたは今の仕事に満足しているだろうか?

そして、今のままで自分の人生は大丈夫なんだろうか?

別の道を探すべきではないのだろうか?

と考えているのかもしれない。

ITの仕事は、これからもますます需要の増えていく分野である。そして何より重要なのは学歴や経験ではなく実力が1番重視される世界であるということだ。

それに加えて、ITの仕事の素晴らしい点は、一度、実務経験を積めばフリーランスとして独立が可能であるという点である。

この資料を見ればわかるが、フリーランスになれば年収600万以上を稼ぐことは難しいことではない。

f:id:mochizuki_p:20170422180708p:plain

そして、うまくいけば会社に通う必要もなく、リモートワークで自宅から仕事ができるかもしれない。これは他の業界では難しいことだろう。

申し込みは以下のリンクから

申し込みは以下のURLから可能だ。

登録は30秒で程度で完了する。

名前と年齢、メールアドレスなどを登録するだけだ。

基本的に申し込んだ翌月から講習を開始することが可能である。

【完全無料プログラミング研修&就活塾】

同サイトには、このスクールに入学して無事IT業界への転職を果たした卒業生のインタビューも載っている。

f:id:mochizuki_p:20170525135948p:plain

とりあえず目を通しておくのも良いかもしれない。

やっぱり弱者男性には微塵も同情できない。いや、してはいけないと思った

平成27年11月の江戸川区の女子高生殺害事件を受けて思ったことを書き散らす。

その犯人であるは相当不幸な人生を歩んでいたようだ。

headlines.yahoo.co.jp

 弁護側の被告人質問に対し、青木被告は「人生で友人は1人しかいなかった。彼はアニメやゲームに相当傾斜していたので気が合った」などと話した。また、中学生時代には同級生から無視される“いじめ”を受けたとした。両親が別居して母親と同居したが、母親からは愛されず、高校卒業後に専門学校に入学後に独り暮らしを始めたという。

しかし、その動機については本当に身勝手としか言いようがない

「バイトでは生活費などが足りず、消費者金融から100万円以上の借金があった。高血圧や、それによる心筋梗塞(こうそく)などの病気もあった。自暴自棄になり、自殺か連続殺人をして死刑になろうと考えた」

しかも殺害の対象を選んだ動機も

「たまたまバイト先の同僚の中で一番話しやすかったためで、恋愛感情などはなかった。次の事件までの生活費として金品を盗んだ。しかし、事件を起こして“すっきり”したので、(自殺も別事件も起こさず)自首した」

この事件には様々な意見がある。彼の不幸な生い立ちに注目して、彼にも同情されることがあるという意見も数多く目にした。

例えばこの増田のようにである。

anond.hatelabo.jp

彼はごく普通の人間として生まれた。社会的な意味でも普通な人生を、本来は送れたはずなのである。多くの者が彼などの犯罪者の境遇、犯罪者を生み出す起因について鈍感であるように思われる。もし彼が両親から愛され、周囲から適切に親しみを持って接してもらっていたら、彼は今回のような犯行を犯しただろうか。彼の自尊心は両親の愛によって確立され、適切な社会との接触により、健全な精神が養われていれば、今回のような結果は起きなかったはずである。

この意見はもっともに思える。この事件に限らず凶悪犯罪者の多くは幼少期に虐待やネグレクト、いじめなどを経験していることが多い、その経験が彼らの人格形成に多大な悪影響を与え、凶悪犯罪を犯す素地を作り出しているということは事実なのだろう。

秋葉原の歩行者天国にトラックで突入した上で、ダガーナイフを振り回して、合計17人を死傷させた凶悪犯罪者の「加藤智大」を覚えているだろうか?

gendai.ismedia.jp

やはりというか、加藤も幼少期から青年期にかけて母親からの執拗な虐待に遭っていたようである。

これは事件後自殺した加藤の弟の証言である。

〈小学校時代から友人を家に呼ぶことは禁じられていた〉 〈テレビで見られるのは『ドラえもん』と『まんが日本昔ばなし』だけ〉 〈作文や読書感想文は母親が検閲して教師受けする内容を無理やり書かされた〉 〈兄は廊下の新聞紙にばらまいた食事を食べさせられていた〉

加藤の母親は人格障害者で、自分が絶対正しいと信じて疑わない人間であり、子供に一切の反抗を許さなかった。

自分も知り合いにその手の育て方をされた人間がいたのでわかるのだが、この手の人間は自分の感情を表現することが非常に苦手な人間に成長することが多い、それは自分の意見を主張したり、怒りや反発などの感情を表したりすると

「言い訳ばかりしてる」

「わがままな子」

とされて、虐待がエスカレートするからだ。

このように育てられた子供はコミュニケーション能力が低い上に、自分に対する攻撃に対して鈍感な性格になる。バカにされたり小突かれても反抗しないため、いじめの格好のターゲットになるからだ。

家庭では虐待に遭い、学校ではいじめに逢う、このダブルバインドで卑屈で歪んだ人格を形成するのは自明の真理だろう。

そして当然のごとく、進学や就職も上手くいかない。立派な負け組の出来上がりである。

このような惨めな人生を歩んできたことに同情することはもちろん当然のように思える。しかし、自分は決して同情はしてはいけないと考える。

最初の理由としては、彼らの深層心理にある動機にある。もちろん、それを表面的に口に出すことはないが、彼らの多くは世間からの同情を集めたくて、凶悪な事件を起こすのである。もちろん、世間からの反応の大半は凶行への非難である。しかし、その中には必ず彼らの不幸な生い立ちに注目して、「犯人にも同情されるところがある」という主張が必ず混じるからである。

実はこの手の無差別殺人を犯す犯人は、このわずかな同情が欲しくて、この手の暴力的な行動に出るのではないか?と考えている。

これは女性で言えば、リストカットを繰り返す「メンヘラかまってちゃん」と変わらないだろう。違いと言えば、攻撃が自分に向かうか、他人に向かうかの違いでしかない。

それは男性特有の攻撃衝動の所為なのかもしれないが、どちらにしろ、その背景にあるのは歪んだ自己顕示欲と自己愛の表現であり、そこには他者への気遣いや思いやりは見られない。

そこにあるのは自分の弱さと情けなさを正当化するルサンチマンの発露であり、同情の余地は全くないのである。

冷静に考えてみれば当たり前のことだ。自分が不幸だからといって無関係の他人を巻き込むことは無条件で許されないことであり、そこに一切の同情を挟んではいけない。

もしここで世間がほんのわずかの同情を彼らに見せてしまえばどうなるだろうか?

それは世間から黙殺され、虐げられる一方で、自分への同情を集めたくて凶行に走る第二、第三の加藤、青木を生み出すことになるだろう。

心苦しいことであるが、彼らには微塵も同情してはいけない、徹底的に糾弾するほかないのである。

自らの弱さを理由に他人を攻撃して構わないのか?

思えば、自分への同情を集めたいがために、他者を攻撃する人間というのは思いの外、多いと思われる。

例えば、ネット上で女叩きや在日差別などを繰り返すネット右翼なども、同じような哀れな人種なのだろう。

彼らも本当は、

「もうダメだ」

「助けて」

と叫びたいのだろうが、世間一般の

「男は強くなければいけない」

「男は泣き言を言ってはいけない」

という価値観に染まっているので、それができないのだろう。

代わりに他者に理不尽な攻撃を加え、自分への注目を集める。その中でたとえ1人でも、自分に同情してくれる人がいれば、目論見通りである。

とりあえず現状の世の中で僕が彼らに言えるのは、

「自分の弱さを正当化するな、強くなれ」

「そして、ニーチェを読もう。」

としか言えない。

超訳 ニーチェの言葉 エッセンシャル版(特装版)

超訳 ニーチェの言葉 エッセンシャル版(特装版)

  • 作者: 白取春彦
  • 出版社/メーカー: ディスカヴァー・トゥエンティワン
  • 発売日: 2015/11/19
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

ニーチェ入門 (ちくま新書)

ニーチェ入門 (ちくま新書)

でも、やっぱり弱い男も許される世の中の方がいいのだろうね。難しいけど(涙)

WordPress.comがNode.jsをCalypsoプロジェクトに導入

以下はWordPressプロジェクトのリーダーであるMatt Mullenwegのブログからの紹介です。

世界一のシェアを誇るブログエンジンのWordPressを管理しているWordPress.comの新規プロジェクトCalypsoにNode.js + ReactのフルJSスタックを採用したことが話題になりました。

Calypsoプロジェクトの概要を説明すると

  • WordPress.comに参加しているブログを見たり、フォローすることが可能
  • 高速に動作
  • Node.jsとReactの100%JSスタックで製作
  • APIに経由してデータを取得
  • 「いいね!」や通知機能などが実装されている
  • リスポンシブデサイン
  • 気軽に記事を投稿できる、ドラッグアンドドロップでファイルをアップロード可能
  • 複数のブログを管理することが可能
  • オープンソース

このプロジェクトは通算20ヶ月、127人のコミッタによる26000のコミットによって完成することとなりました。

APIの概要は:

REST API Resourcesdeveloper.wordpress.com

このCalypsoは、Windows,Mac,Linuxの各OSで動作可能なデスクトップアプリとして配布され、以下のサイトで利用することが可能

Desktop Appsapps.wordpress.com

間違えやすい点としてはあくまでCalypsoプロジェクトはクライアントアプリを作成したに過ぎないこと、WordPressのコアは未だにPHPのままです。(当たり前だけど)

参考:

ma.tt

フィン・エアーが機内のシステム用サーバーにNode.jsを採用

f:id:mochizuki_p:20170519153805p:plain

フィンランドのナショナルフラッグであるフィン・エアーがエアバスのA350を導入した際に人工衛星を使ってフライト中に機内WiFiを利用して手持ちのスマートフォンやPCで、インターネット閲覧したり、映画やニュースなどが利用できるようになったことが話題になりました。

フィン・エアーを利用する客は特に追加料金などを払う必要なく飛行中にもWiFiに接続してコンテンツを楽しむことができます。(但し、インターネットの接続には追加料金が必要)

参考:

72本の映画、150本のテレビ番組、各種の音声番組、本、新聞、雑誌、漫画、ゲームをさまざまな言語でお楽しみいただけます

機内Wi-Fiは、フィンエアーのすべての新型A350機および大半のA330機でご利用いただけます。エコノミークラスでは、フルインターネットアクセスの利用料金は、1時間7.95ユーロ、3時間11.95ユーロ、フライト中常時接続19.95ユーロになります。フィンエアープラスのゴールド会員のお客様は、インターネットを1時間無料でご利用いただけます。フィンエアープラスのプラチナ会員のお客様は、このサービスをフライト中常時無料でご利用いただけます。

https://www.finnair.com/jp/jp/economy-class-economy-comfort-intercontinental-flights

例えばフィンランドの放送会社であるYleのニュース(十分ごとに衛星経由で新しいニュースが配信される)などです。

A350の機内でコンテンツを提供するためのサーバーとして採用されたのがNode.jsです。これはフィンランドの首都であるヘルシンキから中国の上海へのロングフライトにA350が導入されることにあたり、新しいコンテンツ配信システムを開発する際に、慎重な技術的議論の末に選択されました。

このシステムでは単純にエンターテイメント(映画やドラマなど)だけではなく、フライト中のイベントや機内食のオプション、座席の照明の調整など、様々な役目を果たしているのです。

このシステムでは衛星経由で地上から取得したコンテンツを機内のサーバーを経由して、そのコンテンツを座席背面のディスプレイに配信します。ユーザーは端末を操作して、好きなコンテンツを楽しむことができます。またフィン・エアーのクルーは手持ちのタブレット端末を利用して、どのようなコンテンツを配信するかを選択することが可能です。

開発チームが自分たちが開発したシステムの威力を実感したのは、フィン・エアーのとあるプロジェクトでフランクフルトに往復した際のことです。そのときYleのニュース配信システムにトラブルが発生したのです。開発チームはフライト中にも関わらず、地上チームとSlackで連絡をとり、即座にトラブルを解決したのです。

クリティカルなシステムではないとは言え、一国のナショナルフラッグの機内システムにNode.jsが採用されたことで、Node.jsの信頼性がより一段と高まった感じがします。

参考:

www.reaktor.com

人には触れられたくない過去があるという事実と思い遣りの大切さについて考える

一時期ハマって過去作品をすべて見た作品に倉本聰の「北の国から」がある。そこで今でもエモいエピソードが純の恋人だった「小沼シュウ」についての話だ。

北の国から 95 秘密 [DVD]

北の国から 95 秘密 [DVD]

シュウは上砂川の炭鉱夫の娘で、ひょんなきっかけから、純と出会い交際することになる。一時期東京で働いていたことがあるという共通点から、意気投合したようだった。しかし交際を続けていくうちにある「噂」を耳にするようになる。

それはシュウが過去にAVに出演していたという噂である*1

最初は信じなかった純も、結局好奇心か怖いもの見たさかビデオを見つけ出し、それが事実であるということを確認してしまう。

これを本人に問い詰めると、話の背景が明らかになる。一人で上京して金銭的に行き詰まっていたシュウは、割りのいい仕事があるという話に騙され、撮影を強制されたという話だ。*1

いろいろ紆余曲折はあったけど、結局これがきっかけとなって二人の関係は終わってしまうというストーリでエモかった記憶がある。

この物語を見て思ったのは、事の重大さ大小はあるにせよ、人には触れられたくない過去があるという事だなぁ。ということと、その事実に触れた時、周りの人間がどのような態度を取るかによって、そいつの人間性が試されるものなんだろうということだ。

結局「北の国から」では純は彼女を信じきることができずに、彼女との関係を終わらせてしまったわけだけど。

この物語の「AV出演」のように、人は思わぬきっかけで十字架を背負ってしまうことがある。それは本人に責任がある場合もあれば、そうでないこともある。運命のいたずらが、悪魔の気まぐれで、人に足枷をはめてしまう。

たとえどんな過去があったにせよ、現在の彼、あるいは彼女の人間性と人となりを見て、そいつを評価してやるのが大事なんじゃないだろうか?

あいつは昔こんな悪いことをしていた。こんなに痛いことをしていたと言って、相手の人間性を否定してしまうよりも、それをきっかけにどれだけ人間性を成長させたかを見てやるべきではないだろうか?

過去を知っただけで彼、あるいは彼女を見限ってしまう人間は、所詮はあなたをうまいこと利用してやろうと考えていた人間なんだから。

僕は「それでもあなたを信じるよ」、「だからなんだよ、そんなのどうでもいいじゃないか」と言ってやりたい。

人間は長い人生の過程で必ず失敗を犯すものだ。もちろん個々のエピソードや事の重大さについては大きな違いがある。

「あなたがたの中で罪を犯したことのない者が、まず、この女に石を投げなさい」

という聖書の言葉があるが、無条件で他人の罪を問い詰めることができる聖人君主のような人間が、世の中にどれだけいるのだろうか?

少なくとも自分には他人を責める資格があるとは思わない。

[1] - そういえば、宮沢りえもSanta Feで10代にも関わらずヌード写真集を公開してたけど、りえママに強制されたんだろうなと思っている。

紙の月

紙の月

【翻訳】Web開発セキュリティチェックリスト

安全で頑健なウェブアプリケーションをクラウドで構築するのは実に大変です。 もし簡単だと考えているのなら、きっとあなたは相当高いスキルを兼ね備えているか、あとで痛い目を見るかの2択でしょう。

もしも奇抜なアイディアが思い浮かんで1ヶ月でそれをプロダクトとして発表したいと考えているのなら、何度もアイディアを練り直した上でプロトタイプを先に製作することをおすすめする。

以下のチェックリストをみなおした上で、多くの重要なセキュリティ問題を無視しようとしている可能性について認識してほしい

最低でも、あなたの作ったサービスに正直に、完全なものではなく、セキュリティに問題のあるプロトタイプであることを伝えるべきだろう。

このチェックリストはシンプルで、全く完全ではない。それはウェブアプリケーションを作成する上で、重要な問題であると、だけ言っておきます。

データーベース

  • 暗号化を利用する - 特にユーザーの個人情報やメールアドレス、アクセストークン、取引の履歴など
  • もしデーターベースが低コストの暗号化を提供していたら、それを有効化した上で、全てのバックアップも同様に暗号化されるようにする。
  • データーベースにアクセスするユーザーの権限は最小限に止める。rootユーザーは利用しない
  • 秘密鍵は専用のキーストアに分散して保存しておく、アプリケーションにハードコードしてはいけない
  • SQLインジェクションを予防するために、SQLのプレペアドステートメントを利用する。Node.jsでの例を挙げるとnpm-mysqlではなくnpm-mysql2を利用するなど

開発

  • ソフトウェアのすべてのバージョンについて脆弱性の検査を行う。これはO/S、ライブラリやパッケージ、またCI-CDプロセスに組み込むべきである。
  • プロダクション環境と同レベルで安全な開発環境を利用する。ソフトウェアを安全で隔離された開発環境で行う

認証

  • すべてのパスワードは適切なアルゴリズムを利用してハッシュ化を行う。決して自作のアルゴリズムを使ってはならない、もし暗号化に適切な初期値を与える必要がある場合はその初期値の与え方にも注意する。
  • ユーザーに安全で十分な強度を持ったパスワードを設定させるようにする。
  • 二段階認証を利用するなど安全なログインができるようにする

Dos攻撃

  • サービスに障害を発生させるようなDoS攻撃対策を万全にする。最低でもログインやトークンの発行などにはレイトリミットを設定して、短時間に大量のアクセスができないようにする。
  • 送信できるデータのサイズに上限を加えたり、特定のデーター形式以外は拒否するなどのサニタイズを万全にする
  • CloudFlareなどのグローバルキャッシングプロキシを利用してDDos攻撃に備える。これはDDOS攻撃を受けた時に被害を軽減することにつながる。

Webトラフィック

  • TLSをサイト全体で利用する。ログイン用フォームだけでは、TLSをフォーム単体で利用すべきではない
  • CookieはhttpOnlyで利用した上で、パスとドメインを限定する。
  • CSPを危険なバックドアを許可しないために利用する。この設定は面倒だが、見合う価値がある。
  • X-Frame-Optionを有効化する。X-XSS-Protectionヘッダをクライアントのレスポンスに設定する。
  • HSTSレスポンスとTLSアクセスに限定するために設定する。すべてのHTTPリクエストをHTTPSにリダイレクトする。
  • すべての入力フォームでCSRFトークンを利用する。そして新規の同一ドメインCookieを利用して、CSRFを一度だけ利用するようにする。

APIs

  • 公開APIで不用意にデータをアクセスさせないようにする。
  • すべてのユーザーが認証済みで、適切な権限を与えるようにする。不必要に大きな権限を与えない

検証

  • ユーザーの素早いフィードバックのためにクライアントサイドでのバリデーションを実行する。サーバーでも2重のバリデーションを行う
  • サーバーサイドでホワイトリストやスキーマを利用してユーザーの入力したデーターのバリデーションを行う。決してユーザーの入力したデータを直接利用してはいけない。当然SQL文をそのまま利用することなど論外

クラウドの設定

  • どのサービスも最低限のポートを開けておく、曖昧さによるセキュリティは何の対策もしていないことと同じ、通常とは異なるポートを利用すると攻撃者に少々やりづらくさせる。
  • グローバルな環境からはアクセスできないプライベートVPC内にバックエンドのデータベースやサービスを配置する。特にAWSでセキュリティグループを設定してピアとなるVPCを設定する時には注意する。これはうっかりバックエンドを公開する危険性があるからだ。
  • アプリケーションのロジックとなるサービスは隔離されたVPC内で利用する。ピアとなるVPCはサービス内通信を利用する。
  • すべてのサービスはアクセス可能なIPアドレスを制限する。
  • 通信可能なIPアドレスとポートを制限する。
  • AWS IAMを常に利用してrootクレディンシャルを利用しない
  • 各データにアクセスできる開発者スタッフに制限を設ける
  • 定期的にパスワードとアクセスキーを変更する

インフラ

  • サービスを停止させることなくアップグレードができるようにする。ソフトウェアを自動的にアップデートできるようにする。
  • Terraformのようなツールを利用してインフラを構築する。クラウドのコンソールを使ってはいけない。基本的にコードで構築するようにして、シェルスクリプトなどを利用して一発で再構築できるようにする。
  • すべてのサービスのログを収集するサービスを別に構築する。SSHなどで直接ログを取得するのは得策ではない
  • SSHを偶発的な診断ではなく、定期的な診断のために利用すべきではない。それは基本的な仕事を自動化できていないことを意味するからだ
  • 22ポートをAWSのあらゆるサービスグループに対して開くべきではない
  • イミュータブルホストを作成して、自分自身で更新、パッチを当てるサーバーの代わりに利用する
  • SenseDeepのような侵入検知サービスを利用する。

オペレーション

  • 利用していないサービスやサーバーは停止する。もっとも安全なサーバーは稼働していないサーバーであるから

テスト

  • 設計と実装について監査を行え
  • 侵入テストを行え、自分自身で構築したサービスにクラッキングを試みる。もし可能なら第三者にも実行してもらう。

最後に、プランを立てる。


* 事故が発生した場合の対処法を考える。考えられる脅威とその対抗策を考えておく
* インシデントが発生した場合のプランを考えておく、将来必要になるかもしれないから

simplesecurity.sensedeep.com

Ubuntu16.04にRedisの最新版をインストールしたい

sudo apt-get redis-server
  

で一発だが

これは少々バージョンが古いので、最新の安定版をソースからコンパイルしたい

まずは依存関係をインストール

sudo apt-get update
sudo apt-get install build-essential tcl wget

最新版のソースを入手

wget http://download.redis.io/redis-stable.tar.gz

解凍

tar xzvf redis-stable.tar.gz  

解凍済みのディレクトリに入ってMakeでビルド

cd redis-stable 
make

ライブラリが次々とコンパイルされていくのでしばらく待つ

そしてテスト

make test

数分程度と結構時間がかかるのでコーヒーでも準備して休憩

テストが通ったら

以下のようなメッセージで終わるはず

...
  133 seconds - unit/obuf-limits

\o/ All tests passed without errors!

最後にインストール

sudo make install  

この時点でredisを起動できる

redisのサーバーを起動

$ redis-server
13022:C 16 May 11:25:50.231 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
13022:M 16 May 11:25:50.231 * Increased maximum number of open files to 10032 (it was originally set to 1024).

redisのクライアントを起動



$ redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Could not connect to Redis at 127.0.0.1:6379: Connection refused

次に設定ファイルを配置する

sudo mkdir /etc/redis
mv redis.conf /etc/redis

この設定ファイルを読み込ませるには起動時にパスを指定すればよい

redis-server /etc/redis/redis.conf

実運用で利用する場合はsystemdでプロセスを管理することになると思うので、その設定も追記する。