avatar
tkat0.dev
Published on

Weekly Report 2021/05/10-05/16

今週の振り返り。

Table of Contents

振り返り

続けたいこと

  • やりたいことをやりたいように学んでる
    • Learn Betterにも書いてあるように、自分にとって直近で学ぶ意義を見いだせるものは学ぶのが苦じゃないなと実感した
      • 学ぶのが苦でないし、集中力も続く、気がする
      • なので、これからの勉強はあまり手を広げず、自分にとってメリットがあると強く思えるものを優先的に学ぶ、あるいはやる気はでないけど学ぶ必要があるものはモチベーションをどうにかつくろうと思った
    • やるほどにどんどん疑問が生まれてきてそれを解決していくと理解が深まっていってさらに楽しい
    • この本はまだ読みかけなので来週までに読む予定

改善したいこと

  • たぶん5月病
    • 週の前半はやる気が出なくてしょうがなかった

その他トピック

 Unity の教科書

Unity の教科書 Unity 2020 完全対応版 | SB クリエイティブ

  • SAGO mini のアプリに娘ちゃんがハマっている
  • 私もこういうの作れるようになって作ってあげたい
  • このアプリはUnity で作っていそう
  • ということで Unity を学んでいる
  • Unity は初めてだが、GUI でキャラクタなど配置してアニメーションや物理演算をつけたりするだけで、スクリプトを書かなくてもだいたい形になっちゃうのすごいと感動した
  • この本は非常にわかりやすく、8 時間もあれば一通り全部ゲームを作れて、達成感と学びがあるので初心者には非常におすすめ
    • Rust でBevyでやるぞ、と最初思ってたけど、まずは Unity でゲーム開発に入門してよかったと思う。たぶん挫折してた。

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

Web フロントエンド ハイパフォーマンス チューニング | 久保田 光則 | 工学 | Kindle ストア | Amazon

ブラウザの仕組みを踏まえて、HTML、CSS、JS それぞれで何をするとなぜ遅くなるのかが書かれていて良かった。

SVG でのアニメーション、やったことないのでやってみたい

本書で参照されていたページ。これらも合わせて読みたい。

Bazel x Swift x Rust

複数の言語で書かれるリポジトリ、Bazel で扱うととても楽だなあと思っている。 それぞれスクリプトを書いて Make のようなものでビルドパイプラインを作る必要がなく、すべて Bazel で完結するので、慣れるとわかりやすい。

今回は、Rust と Swift を Bazel で build するのを試してみた。

Rust は、以下の rules_rust を使う。試してみたけど非常に簡単だった。

bazelbuild/rules_rust: Rust rules for Bazel

Swift は rules_swift

bazelbuild/rules_swift: Bazel rules to build Swift on Apple and Linux platforms

同様にexamplesを見ればだいたいわかる

Swift から C を呼ぶ例

TensorFlow Lite の Swift binding も同様に、C API を直接 Swift から呼んでいる。

https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/swift

応用で、Swift から Rust を呼ぶのを Bazel で build するには、こうなるのかな?

  • Rust で C API として実装(no-mangle, extern C, static lib)
  • rust_library で Rust を build
  • cc_library で wrap し、Swift における ModuleName を指定する
  • Swift からその ModuleName で import する

あとでやってみよう。