最近の技術的な勉強について

入社して恐しいことにもう5ヶ月(!!)経とうとしていますが、Web開発にも段々慣れてきたかなと思います。この5ヶ月で勉強したことや復習したこと、これから勉強が必要そうかなと思う技術について、忘れないうちに書きとめておこうと思います。

サーバーサイド

  • 担当しているサービスが大きめなこともあり、自分で全部把握できる小さいアプリがあると何かと勉強がはかどる
  • はてなの教科書を参考に日記サービスを作って、色々拡張して遊んだ
    • [余談]これを1週間でやってもらうインターン、やっぱりなかなかタフだなー
  • 仕事ではすでに運用されているサービスの改善をやることが多いので、プライベートでは0から自分で一気に作るのも刺激があって面白い
    • サーバーサイドはAPIだけ提供して、domの構築はフロントエンド側で、というのが自分としてはしっくりきている。パフォーマンスの問題とか色々ありそうだけど...
  • dbのschemaの定義とかも考えるの面白い

フロントエンド

  • 最も自分に経験が足りていない領域。仕事でもちょこちょこ触り始めた
    • そして経験の足りなさを実感する...
  • 仕事でtypescriptを触った
    • jsをそんなに書いたわけじゃないからあんまり比較はできないけど、typescriptは結構書きやすい
    • 特に型があり、エディタでの補完が出るのでmethod名をあまり知らない段階だと助かる
  • Vue.jsとかreactとかの概要を知った。データを変更すると、対応するdomの要素を変更してくれたりして便利そう
    • reactはちょっとやるにはコード量が多くなりそうなので、Vue.jsとかから入門したい
  • jsやtypescriptを軽く勉強したいときにサーバーサイドの準備をするのが面倒
    • apiのエンドポイントだけ役割を担ってくれる外部サービスはないのかと探したらfirebaseが便利そうだった
    • RDBMSとかではないけど、そこそこやれそう。特にjsのライブラリが気持ち悪くて(褒めてる)、サーバーサイドのデータをいじるとフロントエンドの値も変更してくれる(逆もやってくれる)すごい世界観だった

ミドルウェア

  • 趣味でelasticsearchを触っていたが、データをbulk insertしてkibanaで検索くらいしかやっていなかったので、仕事でやるには知るべきことが色々ある
  • kibanaが内部でやってくれているクエリーの構築を自分でやらないといけないが、同じように見えること(実は違う)で色々やり方があったり、思った方法だと検索に引っかからなかったりする
  • 同僚のid:shiba_yu36さんが最近elasticsearchを勉強されているようなので、後追いしたい

その他気になり事

  • scalaも勉強しないといけないけど、本を読んだくらいであんまり進んでない
    • 前に勉強したhaskellのこととかclojureの知識はscalaをやる際にもかなり役に立ちそうだなという感じだった
  • 最近論文が読めていないので、社内論文読み会を開いて強制的に機会を作りたい

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ