keno, a small sawagani/The opinions stated here are my own, not those of my company./❤️ math, 松村の次元論, coffee, Emacs, Lisp, Rust, Splatoon, MtG/インターネット雑用係
パワーユーザーを近くに置け。rust-jp.rs とか Twitter で話を振ると優しい人たちが答えてくれます。Rust 使ってる会社に就職するのもオススメ。
2024-04-02 21:47:01まず最初に CI でビルドと cargo fmt と clippy とテストを強制しろ。(興味があれば just はいいぞ!僕はターミナルで cargo watch してる。)
2024-04-02 21:47:31log を吐け。tracing crate が良い。(気持ちがなければ log crate でもいいかもだが…) アプリケーションでは env_logger 相当の仕組みを入れること。(tracing_subscriber の設定でできる。)
2024-04-02 21:49:02あなたが初学者なら何も考えずに clone() しまくって良い。clone() のコスト、どういう場面で参照を使いたい/使うべきか、使う場合に負債になりにくいのはどのくらいまでかの感覚を掴んでからもう一度やり直したり修正したりすれば良い。
2024-04-02 21:49:19できれば async/await は所有権とライフタイムのエラーにある程度慣れるまで避けるのがオススメ (エラーから正しい解決方法に辿り着くのが相対的に難しいケースが多いため)
2024-04-02 21:54:45twitter.com/namnium_01/sta… (コンパイル言語だから難しい、ではなくコンパイル言語だから易しいし楽。但し別の形でコストを支払う必要がある。それでも楽なことが多い。)
2024-04-02 21:58:26文脈: twitter.com/keno_ss/status…
2024-04-02 22:13:53@sifyfy それはそうなんですが、自分は better Python くらいのつもりで使い始めて沼に嵌まってからそのへんの知識を Rust で学べばいいと思ってるんですよねぇ。C/C++ やってからじゃないと Rust 使えないということは全然ない。
2024-04-02 22:11:09文脈2: twitter.com/keno_ss/status…
2024-04-02 22:15:10Rust の好きなところ: 程度の差こそあれ大体のアプリケーションに env_logger 相当の仕組みが入っている。(logging を使っているはずなのに logging.basicConfig を呼んでいないので今日も print で見るね…)
2024-04-02 15:39:21twitter.com/helloyuki_/sta… もう一歩踏み込んで、「気になったライブラリはじゃんじゃん git clone してきて眺めてみよう」とかかなぁ。あと Rust のリリースノートに目を通すとか。細かいテクニックは他人のコード見たり勉強続けてると身につくので。
2024-04-02 22:20:41実はパターンマッチが結構いろんなところで使える。普通にmatchだけじゃなくて、let A { foo, bar } = a;とかfn a(A { foo, bar }: A)みたいに変数束縛や引数の中にも登場させられるのを知ると、余計なclone等を回避できることがある、とかどうでしょ? x.com/keno_ss/status…
2024-04-02 22:16:23twitter.com/saba1024/statu… Categories for the Working Mathematician is for the working mathematician みを感じる… 「自分が興味あるやつを Rust でやってみよう」?
2024-04-02 22:31:54正直Rustに足りないのは作って覚える系じゃないかなぁと思う。 所有権とか借用とかそれだけそれだけ解説されても理解できるわけがない(俺も未だにちゃんとは理解できてない。。。) Yewでフロントエンドを作って学ぶRust Bevyでゲームを作って学ぶRust RocketでAPIサーバを作って学ぶRust とかほしい x.com/keno_ss/status…
2024-04-02 22:22:20viewsourcecode.org/snaptoken/kilo/ way-cooler.org/book/wayland_i… 僕はこのふたつをやった。(エディタは C で解説されてるのを Rust で書いた。Wayland compositor はこれを読んだ上で smithay で書いてる。)
2024-04-02 22:32:04@keno_ss Rustに限らないですが - プログラムがどの様に実行されるか - スタック領域とヒープ領域の違い - データ競合とは何か とか知ってると便利だと思います。
2024-04-02 22:07:41@sifyfy それはそうなんですが、自分は better Python くらいのつもりで使い始めて沼に嵌まってからそのへんの知識を Rust で学べばいいと思ってるんですよねぇ。C/C++ やってからじゃないと Rust 使えないということは全然ない。
2024-04-02 22:11:09@keno_ss C/C++やった方がいいという意図は全く無くて、Rustの安全装置な部分を理由も分からず強制されるのをストレスに感じるタイプの人は軽くググって出てくる範囲で良いのでこの辺を先に理解しておくと楽なんじゃないかなーってくらいです
2024-04-02 22:24:16