今週やること
-
sindresorhus/ky: 🌳 Tiny & elegant HTTP client based on window.fetch_写経
- 普段利用するだけになっているHTTP Clientの仕組みを知るために、シンプルそうなライブラリを写経してみます
-
-> やりました (テストコードを写経しながら、該当の挙動をライブラリのコードで確認しただけですが)
- ライブラリのコードを写経するよりユースケースに即して、どういう実装をしているかがわかりそうだったので、やり方を変えてみました。ライブラリのコードを読むだけよりも理解が進む感じがあったのと、create-test-serverみたいな便利そうなライブラリも知れたのでよかったです
-
- GUIアプリを作る上で良いとされている、アーキテクチャを知りたいので読みます
-
-> やりました
- さらっと読んでしまったのですが、自分は手を動かした方が理解しやすいので、来週Swiftで書いてみようと思います (Swift書いたことないので、環境とかの準備から...!)
-
Promiseはどう動作するのか – Promiseを実装してみる | POSTD
- Promiseの理解が怪しいなあと思ったので、実装しながら学習できそうなものをやります
-
-> やりました
- 勉強になったと同時に、高階関数を脳内パースするのが苦手ということが露呈したので、今後の課題にします
-
Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る - インプレスブックス_1~4
- Webアプリのベースになる部分をコードを交えて解説してくれてそうなので、読んでみます
-
-> やりました (2章を飛ばして、1, 3 ~ 5を読んだ)
- シンプルな実装でルーティング処理やテンプレートエンジンが使えて、Goは書きやすいなあという印象
- 2章は、3~6章のまとめ的な内容のようだったので斜め読みして、6章まで終わってから実際にコード書きながら読もうと思います
追加でやったこと
-
JavaScript関数型プログラミング 複雑性を抑える発想と実践法を学ぶ - インプレスブックス_1
- 高階関数に慣れたいので、高階関数をバリバリ使いそうな関数型プログラミングを勉強します (関数型プログラミングに興味があったのでちょうどいいかなと思っています)
ふりかえり
kyを読んで、Fetch APIの挙動を掴めたのがよかったです。
今後の課題としては、Vanila JSのスキルを見直しが必要だなと思うので勉強します (Promiseのところで書いたみたいに高階関数だったり、イベントループの理解など)