学生の備忘録なブログ

日々のことを忘れないためのブログです。一日一成果物も目標。技術系はQiitaにあげるように変更しました。

やる気が起きない

本は読んでいる。

しかし、その読書メモはまとめていないので、実質読んでいないのと一緒<-ネガティブすぎ

まあ、最悪7回読んでからでもいいかな、と考えることにする。

締め切り駆動をやめる。

exaをQiitaにあげてない。

無事、exaリーディングは終わった。

実際は講義の終わりのあとに、一人にzoomで聞いてもらいながら意見をもらいながら読んで理解を説明したので実質それで十分だとは思うが、もったいないとも思う。

Rustの学習すすまない。

いや、かなり進んではいる。 Haskellを勉強したときはなにもわからないまま終わって身につけることを諦めたが、Rustはなんだかんだいいながら勉強を続けられている。

地頭がいい人への嫉妬

これが拭えない。

Twitterでちょっとしか学んでいない人がすぐにプログラミンをサクサク始める。

3週間で(OJT?)業務で使えるレベルまで使えるようになる。

caddi.tech

嫉妬してもしょうがない。

実際頭がいい人はいるし、学習の速度は異なる。

しかし、それが自分が勉強をやめたり、より効率的な習得方法を探し実践することをやめることとは関係がない。

なぜならICTの世界は自分のようなものでも生きていける程度には広そうだからだ。

ここで自分は向いていないからICTから離れようと結論づけるにはICTは広く浸透している。

実際、学習が早い人には理由がある。実際に書くことだ。

3週間で学んだ人も、Twitterを拝見するとRustの前にHaskell等多言語をやられていたようである。

読書をするコツと同じで既知の情報は早く飲み込めるのだ。

そして、Blogからより詰まりにくい勉強方法も学ぶことができた。

  1. 「The Book」 で基礎を学ぶ
  2. 雛形ソースコードでプロダクトの実装を理解する
  3. API を自分で書く
  4. ペアプロ

基本的な文法を学び、雛形で業務でつかっている外部ライブラリの使い方を学び、実際に一人でAPIを書いてみる。

Rust オンボーディングの観点でいうと1つめが重要です。TRPL では基礎的な crate しか使わないため、業務で扱う crate の学習が別途必要になってきます。一例を挙げると、ORM のdiesel、 grpc サーバーの tower-grpc 、 シリアライズ・デシリアライズの serde などです。いきなりプロダクトのソースコードを読むと知らない crate や記法の多さに困惑する可能性があるため、この雛形でワンクッション置く形にしています。

ここが意外だった。いきなり全部を読むとやはり困惑するのだなと思った。雛形を作るのは結構面倒だと思うのだが、それでも動作を確認するために動くサンプルプログラムは有用なのだ。