groooovin'

ログという名の溝を彫ります

【ネタバレあり】ゼルダの伝説 ティアーズオブ ザ キングダムの感想

先日、ようやく「ゼルダの伝説 ティアーズ オブ ザ キングダム」(以降TotK)をクリアした。
発売してから、1ヶ月以上経過してのクリアとなる。
ソフト自体は、発売日に購入済みだったが、数時間プレイしたあと、当時ハマっていたスプラ3ばかりやっていて、手を付けられずにいた。
この、オープニングをやってから、しばらく期間を置いてから再開するという行為をとても後悔している。一度始めたて、そのままクリアまで進めるべきだった。

この記事では、TotKをプレイした感想を書く。
最初に感想を一言でいうと、「少なくとも自分にとっては、最高傑作となったタイトル」である。
ゲームの自由度や操作性などは、すでに世間でも言われている通り、最高レベルだ。
まさに、BotWの正統続編という感じで、BotWから更に自由度を拡張することに成功していると思う。
しかし、私には、ゼルダ姫というキャラクターを通して紡がれるストーリー、美麗なグラフィックや音楽を用いた演出がとても刺さった。
なので、ゲームの自由度や操作性などの観点からではなく、一つの映像作品という観点からの感想になると思う。

以下が目次となる。

前提

  • 初回クリア時のプレイ時間は60時間程度
    • ちょいちょい寄り道はしつつも、FF16の発売日が迫っていたので、終盤は若干急いでクリアした
  • 前作のBotWはプレイ済み
  • ゼルダ作品は、ムジュラの仮面風のタクトなど複数の作品をプレイしてはいる
    • しかし、全作品をプレイしているわけではない
    • なので、そこまでゼルダの作品に詳しいわけではない
  • TotKは、初回クリア時は、龍の泪は最初の一つのみ見ただけ
    • 全クリ後に、改めてすべての龍の泪のムービーを見た
    • (このことは相当後悔している)

ラスボス戦からエンディングまでの映像と音楽と演出

いきなりだけど、ラスボス戦からエンディングまでの感想を書く。
もりろんオープニングから素晴らしかったが、オープニングはエンディングまで理解してから見返すことによって、その真意に気づくことができるという仕組みになっていると思う。
ちなみに、私のオープニングでの感想は、「うわぁ、やっとゼルダ姫と2人で冒険することができる!最高じゃん!ゼルダ姫がショートカットにしていて超似合っていて、超可愛い」だ。 (その後すぐにゼルダ姫とは別れてしまう。私の希望はあっという間に裏切られてしまったのはとても辛かった。)

ショートカット似合い過ぎでは?

話を戻す。ラスボス戦が始まってまず思ったのは、ガノンドロフが超カッコいいということだった。
これまでのガノンドロフとは違うし、前作のガノンとも全然違う。これについては、別項で書く。

今作では5人の賢者が仲間にいる。その仲間ともラスボス前に分かれているので、今回もまた、一人でラスボス倒すのか、と思っていたら、途中でその仲間たちが助けに入って来てくれたシーンはとても胸が熱かった。
ゲームのラスボスを1人で倒すというのは、よくあることだし、それはそれで全然構わないんだが、いざ仲間が助けに来てくれた時の頼もしさと安心感はとても良かった。
苦労して仲間を集めてよかったと思わされた。

シーンは進んでガノンドロフ黒龍化するシーン。この黒龍化したシーンから、ラストのエンディングのムービーまでの流れが本当に映画といっても過言ではないほど素晴らしいできだったと思っている。
まず、黒龍に噛まれて身動きが取れないリンクを救おうと、北龍が助けに来てくれるシーン。ここは本当に最高だった。
最初、鳴き声が聞こえた時は、「なんだ?」と思ったが、この白龍が来てくれたタイミングと、その見た目を見た瞬間にこの白龍がゼルダ姫であるということを理解できた。
(前提にも書いているように、龍の泪をほぼ見ずにここまで進めたから、恥ずかしながら全然白龍とゼルダ姫が紐づいていなかった。にも関わらず、一瞬で理解させられたことで、ここの演出がとても印象に残っている)
さらにこの白龍がゼルダ姫であるということは、あのシーンのあのセリフはこういうことか?という理解が頭の中で一気に進んで、衝撃がすごかった。今でもこのシーンを見るたびに涙ぐんでしまう。

リンクのピンチに駆けつける白龍

黒龍戦が進んでくると赤い月が出てくる。さっきまで明るかった周りが、一気に暗くなり、さらに、月は赤くなっていて、クライマックスだということを表現していて、とても良かった。
黒龍にトドメを刺すシーン。これはゼルダ姫が、その額でマスターソードを守っていたことの対比になっていると理解している。ゼルダ姫はマスターソードを額で守る。カノンドルフはマスターソードで額を打ち砕かれるという対比になっている。

そこからシーンはさらに進んで、ガノンドロフを倒した後。まず、白龍からゼルダ姫に戻ったことがとても嬉しかった。本当に戻ってくれて良かった。
で、落下するゼルダ姫をリンクが救うに行くシーン。このシーンは、少しだけではあるが、プレイヤーが操作する。プレイヤーの操作をほとんどないが、「ゼルダ姫を何としても助ける。俺がゼルダ姫を助ける」と思わさせる演出だった。
で最後に手を伸ばすシーン。オープニングではつかめなかった手を今回は掴むことができたという、オープニングとの対比になっていると思う。
また、この時に流れる音楽も最高だった。まさにここしかないというタイミングでの音楽だった。
さらにそこから、水の上に落下するシーン。もちろん現実世界だったらあの高さから水に飛び込んだら無事では済まないが、これはゲーム。ゼルダの世界だったら、どんな高さからであっても水に飛び込めば、ダメージを受けることなくノーダメージで済むという設定を活かしている。

そして最後。ゼルダ姫が目を覚ましてリンクに話しかけているシーン。最後の「ただいまリンク」というセリフを聞いたときは、「本当にお帰りゼルダ姫。本当に良かった。本当に戻ってきてくれて良かった。本当におかえりゼルダ姫!」と思わされた。とても泣いた。
で、「ゼルダを探して」というチャレンジのコンプリートが表示される。「ガノンドロフ討伐」は、黒龍を倒した時にコンプリートされていたが。この時点で、「ゼルダを探して」というチャレンジのみ、コンプリートされていない。
ガノンドロフという巨悪を倒してクリアというわけではなく、オープニングから離れ離れになっていたゼルダ姫を見つけて、物語を閉じる、というゼルダの伝説というタイトルに相応しい締めくくりだったと思う。

キャラクターデザイン

キャラクターデザインは、主にガノンドロフについて書くことになる。
恐らく前作からプレイしている人にとって、一番衝撃を与えたのがガノンドロフのデザインだと思う。
ゼルダ姫とリンクは、当然前作から登場しているが、前作のガノンドロフは、人間の時の姿が描かれていなかった。なので、今作のガノンドロフのビジュアルは、初登場となる。
で、上にも書いたが、そのガノンドロフがとにかくかっこいい。ここまでかっこいい悪役を見たのは、久しぶりかもしれないと思わされる。
まず、見た目から「この男は確実に強い」と思わせてくれる。肉体は、筋骨隆々、服装は、和を思わせるテイスト、で、武器は日本刀を思わせる武器。
まさにラスボスにふさわしいビジュアルをしていて、ラウルが言う、「益荒男」という表現がぴったりと合うようなヴィジュアルだった。
声優さんの声と演技もぴったりで、まさに魔王を表現することができていたと思う。
作品が違っていたら、戦国時代に生まれた、偉大なる王という設定でも、違和感を感じないほどにかっこいいヴィジュアルだった。
また、ネットでも話題になっていた、ガノンドロフのゲス顔もとても良かった。あのワンシーンで、こいつは人の心を持たないとんでもない悪党であるとプレイヤーに確信させることに成功したと思う。

最高のゲス顔

ゼルダ姫は、とにかくかわいかった。前作でももちろんかわいかったが、今作のかわいさは異常だった。
前作からの主な変更点は、ショートカットにしたことなんだが、驚異的に似合っていた。
研究家気質で、自ら国中を回って遺跡の調査をするほどの行動力を持っているというゼルダ姫という設定的にも、ショートカットというのは合っていると思う。

ゼルダ姫の人物描写・前作との対比と連続性

このゲームには、多種多様なキャラクターが登場する。人物図鑑には、22人のキャラクターが登録されている。
しかし、このゲームでのムービーを使っての人物描写の7割から8割は、ゼルダ姫の描写に割かれている。残りの3割程度でラウル・ソニア・ミネル・ガノンドロフなどを描写している。
実際に割かれている時間がそのとおりなのかはわからないが、そう思わせるほどにゼルダ姫の描写が多い。
で、そのムービーは、今作では龍の泪と呼ばれるチャレンジだが、これは、前作のウツシエというチャレンジと同じようなものだ。

前作のウツシエのなかで描写されるゼルダ姫は、封印の力に目覚めることができず、小さい頃から苦悩し続けていて、結局、封印の力に目覚めることができたのは、終盤だった。
更に、ゼルダ姫にとってリンクは一種のコンプレックスみたいな存在で、ゼルダ姫は、リンクに対して嫌悪感すら抱いていた。
なので、前作のウツシエでは、苦悩し続ける姫、世界を救いたいという気持ちはあるが、力に目覚めることができていないので、頼りのない姫という描写がされていた。
この描写は、個人的にはとても良かったと思っている。
封印の力を手に入れるために、努力をする姿。その努力を長年続けているが実ることがなく、父親からも責められ、苛立ちを見せる姿。自分が持っていないものを最初から持っていると思わせるリンクへの嫉妬と苛立ちを見せる姿。
そういった描写が、プレイヤーに「ゼルダ姫に人間らしさを感じさせる」ことに成功したと思っている。
ゲームの中のキャラクターにとどまらず、一人の人間の女の子と思わせてくれる。

理不尽なキレ方をするゼルダ

今作では、前作とは違って、「どうすれば力に目覚めるか」ではなく、「自分の力をこの世界のためにどう使えるか」という描写がされていた。
そこに、前作のような頼りなさはなく、自分の役割を確信して、とても重い決断を自ら下す姿が描かれている。
この決断に胸を打たれたという人はとても多いと思う。もちろん自分もその一人だ。
前作の時点で、とても身近に感じられるようになった、一人の女の子。その女の子が、世界のために、自分が人間であることを捨てるという決断を見せつけられる。
そんなものを見せつけられたら、その期待に応えたい、この女の子をなんとか救いたい、そのためにもさっさとガノンドロフを倒さなければ、と思わせてくれる。
今作の龍の泪というチャレンジは、プレイヤーにそう思わせるという重要な役割を持っていて、その役割を十二分に果たしてくれたと思う。

ハテノ村での、ゼルダ姫の日記や子どもたちから聞くゼルダ姫の話も、ゼルダ姫の人物描写に一役買っている。
日記には、ゼルダ姫が学校を創設したことが書かれている。ゼルダ姫が子どもたちを大切に思っていていることがよく分かる。
ゼルダ姫の人物像的にも全く違和感はなく、うんうん、そうですよね、とより一層ゼルダ姫を好きになる。
自宅と学校に、子どもたちが描いたゼルダ姫の絵が飾られていて、ゼルダ姫が子どもたちと交流していること、子どもたちがゼルダ姫を慕っていることが伝わる。
また、子どもとの「ゼルダ姫まだ帰ってきてない。」としょんぼりしている会話もあり、より一層早くなんとかせねばと思わせてくれる。
ゼルダ姫を直接登場させることなく、日記や子どもたちを通して、ゼルダ姫の人物描写をしている。

ハテノ村の子どもが描いたであろうゼルダ姫の絵

まさにゼルダの伝説

今作は、まさにゼルダの伝説という内容だった。これまでの作品は、ゼルダの伝説とは言うけど、実際はリンクの伝説だよね、という声が多かったと思う。なんなら自分もそう思っていた。
しかし、今作は、まさにゼルダの伝説というタイトルにふさわしい内容だった。
ティアーズオブ ザ キングダムというサブタイトルも素晴らしい。「なるほどなるほど、ガノンドロフによって苦しめられた人たち(=国)の涙を意味しているんだな」とか思っていた、浅はかな発売当時の自分に「任天堂を舐めるなよ」と言いいながら、ぶん殴ってやりたい。
様々なゼルダの伝説のシリーズの作品があるが、今作こそまさにゼルダの伝説だと思わされた。今作は、ゼルダの伝説史上最高傑作だと思うし、少なくとも私にとってはは、ゲーム史上最高傑作でもあると思う。
こんなに素晴らしい作品を作ってくれた任天堂には、感謝しかない。本当にありがとうございます。

あとがき

こんなに長文のレビューを書くのは初めてだけど、今作をやってから、「これは感想を書き残しておかなければ」という謎の使命感に駆られて、書いてしまった。
最初は、amazonのレビューに書こうと思っていたけど、ガンガンネタバレ書きまくりたいし、amazonのレビューに書くのはやめておくか、という判断は正解だった。

今作は、前作のBotWをやってからプレイしたほうがいいか?という質問をたまに見かけるが、確実にやってからの方がいいと思う。
前作をプレイしてなくても今作は楽しめる作りになっているが、前作をプレイせずに今作をプレイするのは、とてももったいないと思う。
せめて、ウツシエのムービーをすべて見て、ゼルダ姫がどういう人生を歩んできたか、どういう人物なのかを理解してからプレイすることをおすすめする。

この記事では、手放しでTotKを褒めまくっているが、1つだけ不安がある。それは、今後ゼルダの伝説シリーズで、この作品を超えるようなモノを果たして作ることができるのだろうか、という不安だ。
そんな不安をしてしまうくらい、今作は素晴らしかった。できれば杞憂に終わってほしい。

この作品のスピンオフ作品を作るのならば、ぜひともゼルダ姫と一緒に冒険させてほしい。ゼルダ姫と一緒にハイラルを回って、人々の困りごと解決するとか、そういうのがやりたい。
ゼルダ姫と、人々が交流する姿を見てみたい。困っている人を助けて、人々からありがとうと言われるゼルダ姫から、ありがとうと言われたい。
そういう作品を作ってくださいお願いします任天堂様。

数年後、ゼルダの伝説の新作が出たら、またこの感想を読み返そうと思う。

「学力の経済学」を読んだ

(なぜ下書きのままにしているのかは忘れたのだが、2年ほど前に書いた下書きがあり、今更ながら公開してみる)

先日同僚からすすめられた?というか、他の人に勧めているのをSlackで見かけたので、読んでみた。その書評のようなものを書いてみる。
形式は、先日のブログでも書いたように質問形式で記載する。
以下のような感じね。

質問1:購入の経緯は?
質問2:本の対象読者は?
質問3:著者の考えはどのようなものか?
質問4:その考えにどのような印象を持ったか?
質問5:印象に残ったフレーズやセンテンスは何か?
質問6:類書との違いはどこか?
質問7:関連する情報は何かあるか?

1. 購入の経緯は?

  • 同僚から勧められたから
    • 正確には同僚が他の人に勧めているのを見かけて、面白そうだったので購入した
  • 業務に関連する内容だったから
    • 教育関連のサービスに携わっており、内容がバッチリ関連しているから
  • 久しぶりに何かしら本を読みたかったから
    • 最近あまり本を読むことができていなかった。分量もそんなに多くなく、1週間もあれば読了できそうだったので

2. 本の対象読者は?

  • 教育に興味がある人
  • 親の立場にある人
  • 教育関連の仕事に携わっている人
  • 恐らく少しでも教育に興味を持っている人は、全て対象読者になるだろう。教育をテーマに掲げて、専門の知識がない人でも読めるような内容になっている

3. 著者の考えはどのようなものか?

  • データは個人の経験に勝る
    • 日本の教育専門家が述べていることは、科学的根拠に基づいているものではなく、個人の経験などに基づくものが多い
    • e.g. ・子どもをご褒美で釣っては「いけない」という考えがあるが、適切な実験をした結果、逆の結果が出ている
  • 教育にエビデンス
    • 日本の教育への政策は、科学的根拠に基づく形で実施されていない。また、実験による教育政策の効果測定もほとんど行われていない
    • 日本も海外のように、効果測定によるエビデンスに基づいて教育政策のあり方を議論していくべきである

4. その考えにどのような印象を持ったか?

  • データは個人の経験に勝るに対して
    • まさにそのとおりだと思う。個人の経験に基づくものは、基本的に属人的な要素が必要だと、個人的に思っている。様々なデータを取ることができるようになった現在、データに基づく考え方をしていく必要があると思う
  • 教育にエビデンスに対して
    • 大いに賛成である。そもそも日本の教育が、科学的根拠に基づいた形で実施されていないということ自体が驚きだった。というか、あの「ゆとり教育」というものも、誰かの根拠のない考えに基づく政策だったのかと思うと、大分辛いものがある

5. 印象に残ったフレーズやセンテンスは何か?

kindleで結構な量の線を引いているため、各章ごとに抜粋して記載する。

  • 1章 他人の "成功体験" はわが子にも活かせるのか?
    • => 日本ではまだ、教育政策に科学的な根拠が必要だという考え方はほとんど浸透していないのです。
  • 2章 子どもを "ご褒美" で釣ってはいけないのか?
    • => アウトプットにご褒美を与える場合には、どうすれば成績を上げられるのかという方法を教え、導いてくれる人が必要であることがわかります。
  • 3章 "勉強" は本当にそんなに大切なのか?
    • => ヘックマン教授らは、学力テストでは計測することができない非認知能力が、人生の成功において極めて重要であることを強調しています。また、誠実さ、忍耐強さ、社交性、好奇心の強さ―これらの非認知能力は、「人から学び、獲得するものである」ことも。
  • 4章 "少人数学級" には効果があるのか?
    • => 国民の税金を投じて収集されたデータは政府の占有財産ではありません。国民の財産であるべきものです。
  • 5章 "いい先生" とはどんな先生なのか?
    • => 遺伝や家庭の資源など、子ども自身にどうしようもないような問題を解決できるポテンシャルを持つのは、「教員」だということです。

6. 類書との違いはどこか?

  • 類書は今までに読んだことない、、、はず。ただ、一般的なビジネス書の中ではとても読みやすい部類に入ると思う。

7. 関連する情報は何かあるか?

  • 特になし。

上にも書いた通り、教育に少しでも興味がある全ての人におすすめする。 内容・読みやすさともに読者のことをよく考慮してくれていると思う。

「学力」の経済学

「学力」の経済学

  • 作者:中室 牧子
  • 発売日: 2015/06/18
  • メディア: 単行本(ソフトカバー)

備忘(+etc)のため書評を書いてみる

(なぜ下書きのままにしているのかは忘れたのだが、2年ほど前に書いた下書きがあり、今更ながら公開してみる)

本を読んで新しい知識や考え方を得るのは好きだ。しかし、読んだら読みっぱなしになって、数ヶ月も経てば読んで得たものの90%程が抜け落ちてしまう感覚があり、あまり効率よく読書することができていない気がする。
対象の本が小説のように、読むことそのものが目的の場合であればあまり気にしない。が、ビジネス書や技術書などのように、何かを得るために読んでいるのに、そのうちの90%が抜け落ちてしまっては、ただただ、時間やお金などの資源を消費するだけになってしまう。

そこで備忘のために読書ブログを書いてみることにする。
(まぁ、実際は備忘のためだけではなく、文章力の向上や人へのおすすめ力の向上などもあるが)

ブログあまり自体書いたことないし、読書感想文は小学生の頃から大の苦手だったので 書評 ブログ 書き方 でググってみたら、いい感じに書評の書き方がまとめてある以下のサイトを見つけることができた。

いくつか今までに見たことがあるブログが紹介されている中で、この方法だったら自分でも書けるかもと思った。

ココで紹介されている方法は、とても簡単で幾つかの7つの質問事項に回答するだけである。

質問1:購入の経緯は?
質問2:本の対象読者は?
質問3:著者の考えはどのようなものか?
質問4:その考えにどのような印象を持ったか?
質問5:印象に残ったフレーズやセンテンスは何か?
質問6:類書との違いはどこか?
質問7:関連する情報は何かあるか?

とりあえず、つい先日同僚からおすすすめ?された「学力の経済学」について書いてみる。

『実践Ruby on Rails 4』① Chapter9

2017-06-18 『実践Ruby on Rails 4』を実施中。

実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング

実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング

Chapter9authenticator_spec.rbを書くところでかなり詰まったので、その時の対応などを記録する。

uninitialized constant Authenticator (NameError)

一旦authenticator関連のファイルを全て書き終えたので、rspecを実行する。 が、rspecを実行しても、以下のエラーが出てしまう。
uninitialized constant Authenticator (NameError)

ググってすぐに見つかったのが、specファイルのrequire spec_helperrequire rails_helperに書き換えるという内容のものだった。 書き換えて試してみたが、エラーの内容は変わらない。 更にググっていったら以下の記事を発見した。
RSpec/Rails: uninitialized constant が出たら bin/spring stop を実行してみると吉
このアプリケーションでもspringを使っているので、もしやと思って記事に書いてある、以下のコマンドを実行したらすぐに解決することができた。
bin/spring stop

ちなみにこのブログは『実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング』の著者のブログらしい。問題を認識して解決策を出していてくれて助かった。

undefined method build'

で、やっと先にすすめるかと思ったら、また違うエラーが発生。。。
undefined method build'
buildがどこにも定義されていないとのこと。 ググってみたら、buildといのは元々FactoryGirlが提供しているメソッドらしい。一般的にspec_helperに書いて読み込んでおくもの。で、本にもそのように書いてあったので、spec_helperには読み込んでいたが、バージョンの問題などでspecファイルに読み込むのは、上にも書いたとおりrails_helperである。なので、spec_helperに記載されているFactoryGirl関連っぽいコードをrails_helperに移動させてrspecを実行したら、エラーはなくなった。

大量の警告

がしかし、今度は大量の警告。。。しかもそれぞれ内容が違う。。。が、テスト自体は実施できているっぽい。これもググってみたら、まずはこの記事を発見。
2重に require すると以下が出る
二重にrequireしているようなコードがあったので、削除したら確かに大量の警告は消えた。

しかし本当に不要なのかが現時点では不透明なため、もう少しググる。 今度は、Rspecのバージョンが新しいと大量の警告が出てくる旨の記事を発見。
RSpecを実行するとWarningがたくさん出る場合
.rspec内の-waringsというコードを削除するという内容で、無事大量の警告が表示されなくなり、テストも通ったので、今回はこちらの解決策を採用することにした。

元々もっと早く進める予定だったのに、結構つまずいていて辛い。。。

転職しました

2017年5月一杯を持って前職を退職し、6月1日から新しい職に就きました。

特に人に言いふらすようなことではなく、またオンライン上にも全然知り合いは居ないので、備忘録的な感じで書きます。

と言ってもまだ、転職後の企業に入社してから2日しか経っていませんし、ほとんど書くようなこともないので、ホントに所感って感じになると思います。

入ってからの所感

  • GitHubとSlackを使ってのオープンなやり取り
    基本的に業務上のやり取りの殆どがGithubもしくはSlack上で行われています。やり取りがオープンなので自分が気になるtopicなどがあったらいつでも見ることができます。また、ログも残されているので、あとから入ってきた人もそのやり取りの全てを見ることができます。ブログなどでそのことを知ってはいましたが、ホントにオープンにやってるんだなーと、改めて感動しました。実は自分が知らないところでオープンじゃないやり取りがあっているかもしれませんが(笑)。

  • 使っている殆どの技術スタックが今まで触ったことがない
    これは入社前から覚悟していましたが、サービスで使用している殆どの技術が今まで触ったことがない技術です。入社したばかりなので、アカウントの作成などをしたのですが、見たことがないサービスの多さに正直ビビりました。。。将来的にこれらを使いこなす必要があるので、キャッチアップにどれだけの時間がかかるのか。。。

これからについて

  • 触ったことがない技術がほとんどという現場でどのようにキャッチアップしていくか
    これが目下一番の課題だと思っています(技術力のないエンジニアってなんなんだ。。。)。ただ、複数の技術を会得する必要があるとは言っても、一気に全ての技術を会得できるなんて思っていません。優先順位やコストを鑑みて一つ一つ会得して行こうと思っています。焦りはいい結果を生みませんしね。ただ、なんとなくやっていては色々と中途半端になりそうなので、計画を立てるなどの工夫はしていこうと思います。

  • 外国人とのやり取りについて。要は英語の勉強について
    現場には、少ない人数ですが外国人もいます。日本の企業で数年働いたことがあるので、普通に日本人感覚で話せる人から、まだまだ日本語が苦手で英語でのやり取りをする必要がある人。幸いこれからやり取りしていく外国人は、日本語が上手なので、少なくとも直近で英語でやり取りする必要はなさそうです。ですが、せっかくのチャンスですので、業務に慣れてきたら英語の勉強なども始めようと思います。不純な動機ではありますが、やはり業務で英語でのやりとりをするするのって昔からかっこいいと思っていて、憧れを持っています。

  • 技術的なスキルがない自分が組織にどのようにして貢献していくか
    まだ入って2日しか出社していませんが、間違いなく私が組織の中のエンジニアの中で技術力が最も低い人間です。業務でRubyRailsも触ったことありませんし。しかし、面談でその辺は話していて、コーディングテストでRoRを使ってのアプリケーション構築能力は把握されているはずです。エンジニアなのに技術力が低いとわかっている人間だと認識していても採用されたということは、 私の持っている何かしらを評価された結果、採用されたと思ってもいいでしょう。その何かしらというのが何なのかをしっかりと認識して自分のValueを出して、組織に貢献していきたいと思います。なので、まずはその何かしらというものを明確にしたいと思います。

終わりに

ここまでざっと書きました。あまりまとまりがないように思いますが、日頃文章を書く習慣がないので、こんなもんでしょう(笑)。

技術的なところについてはネガティブな記載が多くなっていて、ビビっているところもありますが、同時にワクワクする気持ちもかなり大きいです。まさに自分が望んで居た世界に入ってきたなっていうのを既に感じ始めています。何度も書いてますが、まだ2日しか出社してないのに(笑)。

というか、なんかこの感覚前にも感じたことがあるなーと思いましたけど、前の会社で初めて客先のプロジェクトに感じた感覚と似ています。あの時は、Webの技術にほとんど触れたことがなかったのに、いきなり基本設計フェーズから突っ込まれて半年ほどかなりきつい思いをしました。。。ただ、以前よりも知識や経験は身についているし、もっとうまくやれるとは思います。

次にブログを書く時は、もう少し詳細な部分について書くことができるようになっていたいですね。以前の会社との違いや、社内の文化等について書けたらいいなと思います。 このブログは、一応自分の中では技術ブログ的な位置を含めているので、技術について書くことができるようなことがあったら都度書いていくつもりです。

それでは。

Webサーバを実装してみました

タイトルの通り、Webサーバを実装してみました。

と言っても全てを自分で考えたわけではなく、以下の本に記載されているソースコードの写経をしました。

ソースコードを全て実装しつつ、ソースコードの意味を解釈しつつ、本の本文を読みながら進めていったので、なかなか時間がかかりました。年末ということもあり、色々な行事も重なっていたので、確か二週間ほどかかったと思います。

動機

動機は、以下の通りです。

  • 仕事でWebアプリケーションに携わる機会が多くなり、Webの仕組みなどに興味を持った。
  • 時の試練に耐えている技術なので、一度学ぶことにより長い間活用することができると思われる。
  • ソースコードjavaで1000step程とのことなので、ちょうどいい量だと思った。※特に最近は、ゴリゴリコードを書く機会が乏しかったので。

感想

結論から言うと、とても勉強になりました。

Webアプリケーションに携わるうえでは、欠かすことのできない、HTTPの仕組み、CookieやSessionの実装などについて、とても丁寧に解説されています。

今まで概念レベル、利用する側としての利用方法などは知っていましたが、実装をしたことがなかったので、割と曖昧な理解しかしていませんでした。 しかし、この本を読みながら、記載されているソースコードを自分で実装することによって、ソースレベルで理解することができるようになったと思います。

特に理解できたこと

特に以下のことが理解できて、とてもスッキリしました。

  • 簡単なTCPサーバとTCPクライアントの実装
    TCPによるアクセスをログに出力するような簡易なサーバと、TCPサーバを叩くだけのクライアントであれば、javaでソケット(Socket)ライブラリを使用することで、数行の実装で実現することができる。

  • アプリケーションでのSessionの実現方法
    アプリケーション内で複数のSessionを管理するSessionManagerと、SessionとCookieの関連を実装レベルで知ることができた。なんとなく実装だとこうだろうなというイメージは浮かんでいたが、実際に実装をしたことはなかった。 実装を見たときに、おおよその方針は間違っていないということを確認できたことで、自分の自信になった。

  • サーブレットの実現方法
    doGetというメソッドをOverrideしていい感じに書けば動く、という程度の認識だった。今回実装したことで、アクセスされたURLを解析して、対応するサーブレットのクラスをClassLoaderで読み込むという詳細な動き、web.xmlの記載がどのように使われているのかを知ることができた。

私は、「"知っている"と"できる"の間には、大きな隔たりがある」、という言葉を普段から意識しています。今回の実装でWebアプリケーションについて、少しだけ"できる"側に近づいたのではないかと思います。

苦労した点

本の通りに実装していく中で苦労したのが、eclipseで実装した時とそれ以外の時の挙動の違いでした。この本は、特にIDEの指定などはなく、さくらエディタ等のシンプルなエディタで実装することを想定しています。しかし、私は普段コードを書く時eclipseを使っているので、eclipseを使って実装しました。なので、クラスパスやパッケージ等を意識することがほとんどありません。そのことが原因でいくつかの箇所で詰まりました。まぁ、それも含めていい勉強になりましたが。。。普段eclipseがどれだけのことを隠ぺいしているのかを実感するいい機会になりました。

自分の興味の再認識

自分が面白いと思えるものを再認識することができました。それは、「普段何気なく存在しているものの、裏側の仕組み」です。 Web開発者にとって、Webサーバというのは、正に「普段何気なく存在しているもの」に当てはまるものだと思います。その「普段何気なく存在しているもの」の「裏側の仕組み」について書いてある本を面白がりながら読むことができたことで、自分が物事の仕組みに興味があるということを再認識することができました。これは、自分にとって結構大きな気づきでした。

Web開発者にとてもお勧めします

Webアプリケーションの開発者にとてもお勧めします。想像以上に学びが多い本でした。Webの開発に携わって半年から一年した頃に読むととても学びがあるのではないでしょうか。特に、画面側の設計や実装はいくつも経験しているけど、CookieやSessionの仕組みはよく理解できていないという人。FWが普段隠蔽しているので、ほとんど意識することがない人などは、この本を読むことでとてもすっきりすると思います。 私ももう少し早く、できれば二年目の春頃にこの本を読んでいたら、もう少し当時の苦労を減らせただろうなと思います。

以上が、簡単な感想などです。後日、面白いと思ったところやなるほどと思った箇所を部分的に抜き出して詳細を書くつもりです。 (一周しただけだと知識の定着が弱いと思いますので。。。)

ブログを書きます。

ブログを書きます。

主に技術的なことについて書くつもりですが、たまに本や映画、音楽のことについても書くことがあると思います。

/**
 * 人生のログを彫る。
 */
public static void main(String[] args) {
    System.out.println("groooovin'");
}