やわらかテック

興味のあること。業務を通して得られた発見。個人的に試してみたことをアウトプットしています🍵

【Rust】for文でiter関数を使う時に&(参照)をなぜ書くのか

rustの公式ドキュメントであるThe Rust Programming Language 日本語版を読み進めていると、第10章のジェネリックなデータ型の章で、以下のコードが記載されていました。

fn largest_i32(list: &[i32]) -> i32 {
    let mut largest = list[0];

    for &item in list.iter() {
        if item > largest {
            largest = item;
        }
    }

    largest
}

処理内容はシンプルで引数に与えられたスライスから最大値を線形探索して返すというものです。

しかし、for &item in iter()と書くのはなぜでしょうか。for item in iter()ではダメなのでしょうか。
結論としては参照外しと呼ばれる機能を上手く使うために、for &item in iter()としていました。参照外しが行われることで&itemは参照が消えて&i32ではなくi32型となるのです。

続きを読む

OSSのコードを読んでたらコードの書き方が変わった

最近はRubyとRubyOnRailsを使って仕事をしています。RubyやRailsは日本語の情報量が特に多く、やりたいことの多くはGoogleで調べると既に誰かがやっていたり、ライブラリがあったりと誰かが作ったありがたい...コードを使わせて頂くことがよくあります。

しかしながら、時にはサンプルコードを元に少し手を加えてみたり、見たこともない書き方が使われているようなことがあります。今まで、そういったコードを見た時、スケジュールの都合や関心の無さから、深掘りして「これ、どういうコードなのかな」ということをサボっている時がありました。

最近では、以前のような無茶なスケジューリングが減り、友人との会話を通して興味を持たなくなること、どんなことでも関心を持ってやってみることの重要性を感じており、分からないこと、知らないことについては時間の許す限り調べてみるという動きをしていました。

それがタイトルにもあるOSSのコードを読んでみるという行動につながりました。

続きを読む

Rustの標準でプライベートとする考え方に感銘を受けた

Rustを学び中のこと...

最近、ぼちぼちをRustを書き始めました。とはいったものの、まだFizzbuzzを見ずに書ける程度で理解はまだまだの状態です。

doc.rust-jp.rs

上記の公式コミュニティが運営しているドキュメントを見ながら学習を進めているのですが、非常に驚いたことがありました。それはRustは関数、モジュール、構造体の定義など、あらゆるものを標準でプライベートにしている点です。

続きを読む

【書評】メンタルが弱い人こそ「いい人戦略」を読むべきだと思った

こちらの書籍は現在(2023年11月)、Amazonプライムの会員であれば無料で読むことが出来ます。以下のリンクからぜひ、ご一読ください。 プライム会員ではない方はこちらから。

「書籍を読むのは苦手...」という方でも大丈夫です。時間は45分と少し長めですが、著者の岡田斗司夫さんが自身のyoutubeチャンネルに解説動画を投稿されているので、そちらからご覧ください。

www.youtube.com

続きを読む

【書評】「リーダーの作法」は当たり前のことを当たり前にやろうという本だった

リーダーの作法ってどんな本

2022年6月にオライリーから「リーダーの作法 ささいなことをていねいに」という書籍が発売されました。表紙はミツバチです。

www.oreilly.co.jp

元々、海外では「The Art of Leadership small things, done well」という名前で発売されていた書籍の訳書です。Netscape->Apple->Slackでエンジニアのマネジメントを担当したロップさんが自身の経験から得た30のエッセンスをまとめた書籍です。

www.oreilly.com

いかにしてチームの中に信頼を生み出すかのかという点にフォーカスが当てられており、チームの心理的安全性を構築したい自分にとって「これは!」となった書籍だったので、またまた衝動買いをしました(またか...)。

www.okb-shelf.work

続きを読む