にわかプラス

にわかが玄人になることを夢見るサイトです。社会や国際のトレンド、プログラミングや電子工作のことについて勉強していきたいです。

ソフトウェアエンジニアの育休振り返り

sponsor

育休を終えて

悲しいことに3ヶ月の育休が終わる。
仕事という生活に組み込まれたルーティンがなくなったという体験がものすごく新鮮だった。 控えめに言って最高だった。
同僚が育休を取るときは全力でサポートしようと決めた。

子育てはもちろんだけど、ソフトウェアエンジニアとしても色々勉強できるタイミングだったので空いた時間てちょこちょこと勉強もできた。 以下は勉強したことについて所感をまとめていく。

育休中の積み上げ

WEB+DB PRESS Vol.128

WEB+DB PRESS Vol.120

WEB+DB PRESS Vol.131

興味のありそうなWe+DB Pressの本を適当にメルカリで買ってきた。
特にブラウザの仕組みはとても良かった。一番興味のあるところだったし、著者のhikaliumさんの解説が初心者の自分にもわかりやすいレベルまで深ぼってくれているので感動を覚えた。

Webフロントエンドハイパフォーマンスチューニング

最近Web開発を始めた身として、必読本と思う。ブラウザのレンダリングの仕組みを元に、パフォーマンスの出る書き方を学べた。
ブラウザのレンダリングといえば、このブログ様でも詳しく記載されていた。感謝。 Webブラウザのレンダリングの仕組みを理解する

機械学習スタートアップシリーズ Pythonで学ぶ強化学習 入門から実践まで

Kaggleの強化学習のコンペに参加してみたかったので、強化学習の入門としてこの本を選んだ。
このブログ様で紹介されていたので。
kaggleで強化学習をやってみた - 機械学習 Memo φ(・ω・ )

初心者にはいい内容だったと思う。流石に1週しただけではそこまで大脳に定着しないが、
辞書的に繰り返し使っていこうと思う。
使っているFWはKeras。

松尾研の強化学習講座

Twitterで流れてきてエントリーしたら受講できた。学生向けの講座だったけど放送大学に籍があるからか、育休中だからかわからないけど受講できた。マジでありがたい。
講義は強化学習の基本から最新までの動向の流れや、各手法の数式的な説明、実際のコードを用いた演習など、非常に充実したものだった。
途中数式が苦手すぎて、おのれのアタマの良さに絶望しながらも、最終課題をやりながら理解が進んでいき、なんとなく強化学習の入口には立てた気がする。
はじめは「強化学習?知ってる知ってる、DQNでしょドヤァ」という感じだったが、今は「DQNっすか・・・(真相強化学習の始まりの手法だけど今はもっと進化した手法がいくらでも・・・)。いやぁ、自分何もわかってないっす。」と謙遜できるようになった。 これで自分もAI人材()だ。

ISUCON11過去問演習

ISUCON11 まとめ : ISUCON公式Blog

やろうと思ったができなかった。

毎日LeetCode

LeetCode - The World's Leading Online Programming Learning Platform

毎日とかできるわけないよね。5問くらい解いた。

WasmEdgeコントリビュート

WasmEdge

初OSSコントリビュート。なにか1つくらいコントリビュートしてみたいと思ってましたので嬉しい。
内容はgoogle testを用いて本当に簡単なテストを追加しただけ。
だけどコントリビュートする手順など全く知らなかったためコミットまではかなり時間がかかった。

WASMに興味があって、Wasmのプロジェクトを選んだのだけど、有名所でWasmの標準実装であるWasmtime(Rust)、Wasmer(Rust)、最速を謳うWasmEdge(C++)とどれが今後一番ライジングするだろう。各特徴を見ると、WasmEdgeが一番ポータビリティ製と速度に注力している感じで良さそうだったが、言語がC++なのでコントリビューターはWasmtimeやWasmerより少なかった。

NESエミュレータ作成動画を見る

www.youtube.com

プラスウイングTVさんのRustでNESエミュレータを作る動画を毎日見てた。
すっごく丁寧作る過程を見せてくれるので、めっちゃおもしろい。
途中、あれ?動かないぞ、とかなってデバッグしているところもリアルタイムに見せてくれる。あんまり人がデバッグしてるとこって見れないよね、一番勉強になる部分だけど。
いまはフンフンと見てるだけだけど、そのうち自分も写経しようかなと思ってる。

ゲームで学ぶ探索アルゴリズム実践入門

探索のアルゴリズムを学ぶには最高の本だった。自作のゲームと、それをとく各手法の解説なので、ゲームを作ってそれを解くという探索アルゴリズムの楽しさを味わうことができた。
自分で編み出したThunderサーチとか計算を高速化するためのビット演算の解説があり、世界1位は恐ろしいなと思った。

ちょうぜつソフトウェア設計入門

設計の考えがしっかりと網羅的に書いてあってとても良い本だった。
初心者〜中級者向けということもあり、最初の設計の本として読んでおくのがいいと思う。
コードサンプルも多いけど、日本語での解説も多い。挿絵が可愛い。

良いコード/悪いコードで学ぶ設計入門

実際の業務のように、悪いコード例を良いコードにリファクタする本。
全体的な設計というよりは局所的な改善のTipsがある感じ。

nix 入門

https://nixos.org/guides/nix-language.html

開発環境の整備の方法として、Dockerではなくnixが軽量でおしゃれで良いんじゃないかと思い入門。
結果難しすぎて挫折。公式のドキュメントはちゃんとしてるけど、自分がクソ雑魚初心者すぎて入り込めなかった。
結局Rustの開発環境のテンプレートを動かしてみて終了。
HERPはNixを本番環境にも適用してるみたいだけど、変態すぎだろ(尊敬)。

HERP における Nix 活用 - blog.ryota-ka.me

HTML解体新書

Webをやるようになってから、HTML、CSSわからなさすぎワロタ、ってなってたので超ありがたい本だった。
公式のHTML Standardを見てもなんだかよくわからないし、英語おおいし、うーんって思っていた。そんなところにそのHTML Standardの日本語解説がてくれたのでめっちゃありがたかった。
HTML仕様ってこんな感じなのね、ということが理解できた。これのCSS版もほしいんだよなぁ。

毎日英語

できるわけないよね。ネイティブキャンプ3回やっただけでした。

Rustに入門

LeetCodeのEasyならギリかけるかもくらいになった。
Borrow Checkerうざすぎてあああああってなる、よく流行ったなこんな言語。
CLIはRustで書こうと思っているのでもう少し習得したい。
ただしCargoやtomlでのエコシステムはマジでいいはマジで良い。

その他

  • 近所のカフェめぐり
  • 近所の児童館訪問
  • 近所の小児科訪問
  • ガンダムオリジン読破
  • ドラクエ4クリア
  • ハルとナツ 届かなかった手紙(ドラマ)
  • ハサン中田のイスラム教の本

平日に時間があるのでできるだけお散歩した。
児童館とか神施設すぎるわほんと。なんで子供の時行かなかったんだろう。ハイキュー全巻あって震えた。
ガンダムオリジン面白すぎて震えた。というか児童館もガンダムオリジンもDQ4もハルとナツもハサンも全部最高で震えすぎて超伝導。

おわりに

3ヶ月もあったので、計画を立てればもっとたくさんできたかもしれないけど、心の赴くままにやりたいことやったので満足。
特に強化学習やRustは0->1にできたので普段のスキマ時間だと大変だったろうなと思う。

振り返るとプログラミング系ばっかりに時間かけていて、別の趣味っぽい趣味あんまり持ってないことに気がついた。なにか新しい趣味を身に着けたい な。

とりあえず

英語やろう。