datchの日記

気がついたら社会人。気になる技術的なことについて少しずつ書いていけたらと思っております。

ブログを一年間振り返ってみて

どうも、急用があり現在は実家に帰省している最中です。
同じ焼き肉メンバーの方々が一年間の振り返りを行っているので、自分も振り返りを行っていきたいと思います。

他のメンバーの振り返り



この1年を振り返ってみる - もものふむふむ
ブログ開始から1年(+α)が経ちました. - すこしふしぎ.
この後にもいくつかのメンバーがブログについての振り返りを行ってくれるでしょう。

始まり



きっかけはインターンに参加した後、メンターの方々との振り返りでした。
あるメンターの方が「自分は会社の先輩と技術ブログを一日交代で書いて、掛けなかったら焼き肉を奢るってことをやってたよ!」という話がきっかけでした。
その話を聞き、そこに居た3名で始めたのがきっかけです。

振り返り



自分がどのような変遷をたどって記事を書いてきたかを見返してみた。

開始当初

配列の一次元(リニア)化による高速化とその原理 - datchの日記
メモリ配置が密な動的可変長配列の作成方法について - datchの日記

今見ると一番初めは、はてぶの記事を書き慣れてない感が否めないw
最初は自分のC++を触って知ったデータの取り方による高速化について触れていますね。
こういう知識ってハードウェアとの知識も合わせて理解が必要なので、結構面白い部分だったりしますね。

Let's Canvas

【Wonderfl移植計画】yawarakaBall【1作目】 - datchの日記
この頃はWonderflというFlashのコード投稿サイトをCanvasで再現しようという試みを行っていました。
自分が高校でAS2を使って卒業制作を行ったことや、研究室の勉強会や先輩などの関係で触れる機会も多く、Flashはよく触っていた分野の言語でもあります。
そんな中、スマホFlash非対応や、HTML5の台頭によりFlashが廃れた中で、Adobeが作成したCreateJS(主にEaselJS)というFlashに近い感覚で書くことが出来るJavascriptcanvas操作専用ライブラリが登場しました。
この時はcanvasFlashの代わりになるのでは!?と考えており、過去のFlashの技術を移植させることでJavascriptcanvasに対する理解を深めていってました。

Sunriseの復習

VoyageGroupインターンシップ 「Sunrise」に参加して - datchの日記
【Sunrise2nd 復習】レプリケーション - datchの日記
この頃はちょうどインターンのSunriseに参加した頃でした。
Sunriseは100万人規模のユーザがいるサービスを想定し、どのようなシステム構成・アーキテクトにすればそれだけのユーザのアクセスを捌けるのか?という、非常にレベルの高い技術を学ぶインターンです。
ここでは主にDBのI/Oに関しての知識に深く触れることが出来、その復習なども行ってくれました。
その復習の復習をブログなどでも行っていたりしました。
競技プログラミングをやっていく中で、計算量についての意識は行えてはいましたが、Webサービスでの規模感を見てアプローチを取る方法を知らなかったので、このインターンに参加出来たのは非常に良かったと感じています。

自分に対する振り返り

自分を振り返る 1 - datchの日記
自分を振り返る 2 - datchの日記
自分を振り返る 3 - datchの日記
この頃は就職活動が始まり、自分がどのような道に進みたいのか、ということが分からなくなってきた時期でした。
自己分析もしっかりと行っていなかったせいもあるでしょう。
インターンなどを通して実際に開発で使う技術に触れており、エンジニアのあり方が見え始めてきた頃でもありました。
ただ、自身の先輩たちが就職していた業界最大手のSIであり、IT系の中でも給与がトップの企業のインターンが受かっている中で、エンジニアとしての面白さ、コードを書く楽しさと社会人としての待遇の部分で揺れていた時期。
結果的には、逆求人イベントであった技術者集団の大手SIを受けてみて、面接官として現れたエンジニアが「やらされている感、技術を話す時にまったく楽しくなさそう、トップの意思が下の社員に伝わっていない」等などの印象を受け、現在の自分が内定した会社に決めました*1
記事を書いたことが本当に自分の為になったのか、というのは置いておいて、自分の過去を振り返れたことは良い機会だと思います。

Javascriptの仕様学習

【JavaScript】他言語からJavaScriptへ移行した時のオブジェクト指向での勘所 1回目 - datchの日記
Wonderflをcanvas + Javascriptで再現しようとする中で、Javascriptで擬似クラスを扱う時の難しさと理解の低さを感じ、プロトタイプチェーンや即時関数などのJavascript特有の書き方や機能について触れました。
Javascriptへの曖昧だった仕様の部分に対して理解が深まりました。

デザインパターン

【デザインパターン】何故デザインパターンが必要なのか - datchの日記
研究などでソースコードが汚くなることがあり、綺麗にソースコードを書くためにはどのような知識が必要なのか?
そうだ、デザインパターンを学習しよう!ってなってやり始めたのがこの辺り。
現在も継続中だが、GoFから始まったデザインパターンを学習することオブジェクト指向に対する理解が深まり、デザインパターンを知ることでソースコードの凝集度、依存性についてより一層意識することが出来るようになったと感じています。

まとめ



今見返し見ると、意外に自分が色々な事をやっていたんだな~という事を認識しました。
自分は常に過去の自分よりは、こうなりたい!という自分を見るような傾向があるので、こういった振り返りをして自分がやってきたこと、やる切った事を知ることで自信を深めるのは時には必要ですね。
これからもこのブログを通して様々な技術を身に付けていきたいと思います!

*1:一社で決めるのってどうなの?ってツッコミはなしで