22
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

TypeScript:ブルーベリー本写経してみたけど、力ついた?

Last updated at Posted at 2023-06-11

はじめに

TypeScriptの理解深めねばと思い、ブルーベリー本を購入。
ただ読んでいくのもな〜と思ったので、写経してみることにしました。

結論

理解は深まる。初めてTypeScriptに触れる方は写経も1つの方法になりそう。

良かったこと

  • 進んでいる感覚があるのが精神的には良かった
  • TypeScriptについて一定話せるようにはなった気がする

悪かったこと

  • 分かっていたけど効率は悪い

進め方 と 期間

進め方

  • ブルーベリー本に書かれているコードを写経
  • 進めたところまでの要約をcommitメッセージに追加

都度、実行してログ出してみたり、確認を挟みつつ、ひたすら進めました。

期間

対象期間 ページ数 commit数
2023/04/25~2023/6/4 387ページ 61commit

平日毎日がなかなか難しかったので、主に土日に20ページずつぐらい進めていました。

※「ブルーベリー本」は「プロを目指す人のためのTypeScript入門」を指しています

良かったこと

  • 進んでいる感覚があるのが精神的には良かった

不具合調査や開発で詰まったとき、
今日1日使ったのに何も進んでないのでは、、? というときありますよね(あります)

(気持ち的にはこんな感じ)

こういう時にも、「今日ブルーベリー本進めたから何も進んでないことはない」 という
メンタルになるので、ちょっとだけ心穏やかになります。
これは写経でなくても獲得できるものだと思うので、引き続き何か継続できればと思ったり。

  • TypeScriptについて一定話せるようにはなった気がする

実務で使ってはいたのですが、これまでは何となくの理解だったなと思いますが、
今はそれぞれ理由も含めて一定は理解して話せるようになったのかなと思います。
やはり手を動かすことは大きいです。

例えばany型について
これまではany=型何でも許容しちゃうからダメぐらいだったのが
なぜダメなのか、利用ケースはあるのかなど理解できたかなと
↓結局悪なのかどうか、自分なりにまとめてみたので見てみていただければと思います。

その他、特に非同期、Promise型も今回を通して理解が深まったなと。
このあたりは、また言語化できればと思います。

悪かったこと

  • 分かっていたけど効率性は悪い

進める前から分かっていたことではありますが、勉強という意味での効率性は悪いなと思います。
既に知っていることや実務で出てくることはないので頭の片隅に、、というレベルの部分にも
頻繁に使うようなものと同じだけの時間をかける必要があったり。
もうこのページとばしてしまうか、、 という悪魔のささやきが何度も聞こえてきました(危なかった)

まとめ

興味本位+半分趣味のような感じで始めましたが、楽しかったです。

初めて取り扱う言語に対して、
基本のきを理解のためにやってみるというのは良さそうかなと思いますが
効率的な面で、個人的には1冊まるごと写経することはもうなさそうです

次はブルーベリー本に書いていたことを思い出しながら
TypeScript使って自分で動くものを作ることで理解を深めていけたらなと思います

参考

進め方含め参考にさせていただきました、ありがとうございました。

22
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?