はてぶ・Qiita・Zennのトレンド記事を紹介
derive macro の helper attribute を試す
前回は derive macro を書いてみました 。今回は前回の derive macro の例に helper attribute を追加します。 前回の derive macro の例前回は、これが#[derive(derive1::VariantsFn)]enu
Rust の derive macro を書いてみよう 🔖 1
前回は cargo-expand を使って thiserror crate の derive macro の展開結果を見てみました 。今回は derive macro を書いて derive macro に慣れてみようと思います。 derive macro とはderive
『 Looks Good To Me 』読書会を通じて知った「適切な PR サイズ」ドクターメイト株式会社では読書会を実施しています。最近は『 Looks Good To Me 』を読みました。コードレビューについてのアレコレが書かれています。詳細はぜひ読んでみてほしいです。
cargo-expand を使ってみよう前回は thiserror crate の基本的な使い方について書きました 。今回は cargo-expand の使い方を確認しつつ、 thiserror crate の提供する derive macro の展開結果を見ていきます。
thiserror crate の基本的な使い方前回は Error の downcast について書きました 。今回は thiserror crate の基本的な使い方について書きます。 thiserror crate とはthiserror は std::error::
足を止めて見る #6 〜 RustのSerdeクレート(3) 〜
足を止めて見よう足を止めて見ようシリーズの6つ目です。前回は serde の Attributes という機能を確認し、deriveマクロによって実現されている様子を確認しました。今回は、その derive マクロを使わずに自分で impl してみるとどうなるか、追いかけて
Rust の `Error` の `downcast` で `Box<dyn Error>` からエラーを取り出す
Rust の Error の downcast で Box<dyn Error> からエラーを取り出す前回は Error トレイトの定義を見てみました 。今回は Error の downcast メソッドの挙動を見ようと思います。ドクターメイト株式会社では Err
Error トレイトの定義を確認してみた前々回は Result<T, E> について書き、前回は Result<T, E> のよく使うメソッドについて書きました。Rust の Result<T, E> の T や E は任意の型を使用できま
足を止めて見る #5 〜 RustのSerdeクレート(2) 〜
足を止めて見よう足を止めて見ようシリーズの5つ目です。前回は serde クレートについてでした。構造体を Json 形式にシリアライズして、更にその Json 形式をデシリアライズして、元の構造体に戻る様子を見ました。今回は serde クレートの Attributes
`Result<T, E>` のよく使うメソッドを書いてみる
Result<T, E> のよく使うメソッドを書いてみる前回 は Result<T, E> の基本的な使い方と bool に変換するメソッドと中身を取り出すメソッドについて書きました。今回はよく使うメソッドを書いてみます。以前 Option<T&
はじめに秋も深まり、もうすぐ十五夜。みなさんも一年で最も美しい月を楽しみにしていることでしょう。しかし天候というものは不確実なもので、曇りや雨でせっかくの月が見えないこともあります。そんなときのために、しっかりとプランBを用意しておきたいですよね。 RUST MOON
足を止めて見る #4 〜 RustのSerdeクレート(1) 〜
足を止めて見よう足を止めて見ようシリーズの4つ目です。前回は TryFrom トレイトについてでした。今回は、Rustの定番クレートの1つと言ってもいい serde クレートを足を止めて見てみます。 serde クレートとはとにかくまずは docs.rs で serd
例外代わりの Result<T, E>Rust には Result<T, E> という型があります。だいたいこういう定義です。enum Result<T, E> { Ok(T), Err(E),}Result<T
はじめにまったく涼しくありませんがもう秋ですね。日が短くなり、どこか物悲しい季節には Noise がぴったりです。以前 Node.js で noise を鑑賞するコマンドを作って noise を楽しんでいました。しかし intel mac から Apple Silico
足を止めて見る #3 〜 RustのTryFromトレイト 〜
足を止めて見よう足を止めて見ようシリーズの3つ目です。前回は From トレイトについてでした。 std::convert::TryFrom トレイトを実装しようある型に対して、別の型から変換してその型を作る方法を定義できるのが std::convert::From ト
tokei で行数を測ってみようtokei https://github.com/XAMPPRocky/tokei は Rust で書かれたコードの統計情報を表示するコマンドラインツールです。コードの統計情報を表示するので「統計」かと思いきや「時計」と、リポジトリの READ
気楽に Rust で遊びたい Script 感覚で始める Rust
はじめに僕は Rust がとてもすきです。でも型の制約はキツイし、なんだか覚えることがたくさんあるぞ……TypeScript でよく適当なツールを書いてるのですが、そのくらいの気軽さで Rust で遊べないかな?と思い試してみました。TypeScript でいう以下の機能
足を止めて見る #2 〜 RustのFromトレイト 〜 🔖 1
足を止めて見よう足を止めて見ようシリーズの2つ目です。前回は Display トレイトについてでした。 std::convert::From トレイトを実装しようある型に対して、別の型から変換してその型を作る方法を定義できるのが std::convert::From ト
この記事では、公式の「スクラムガイド」の内容をご紹介します。「スクラムって結局なに?」「なぜスクラムをやるのか?」そんな疑問を持つ皆さんに向けて、スクラムの基礎を丁寧に見ていきましょう。 スクラムとはなにか?スクラムガイドでは、スクラムを「複雑な問題に対応する適応型のソリ
ペアプロじゃない!ドクターメイト株式会社の「ペア」「ペア」と聞くと「ドライバーとナビゲーターに分かれて……」という厳格な「ペアプロ」を想像しませんか? そして実際にやってみて、あるいはやったこともないのに「効果はあるかもしれないけど、拘束される・疲れる」というイメージを持ってい
足を止めて見る #1 〜 RustのDisplayトレイト 〜 🔖 1
足を止めて見よう皆さんは日々仕事をしていく中で、分かっているつもりで利用している技術が一体どのような原理で動いているのか?ちゃんと振り返っていますか?過去を振り返ると、自分のエンジニア力が向上していた時って「分からないことに直面したら分かるまで調べる」を地道にやっていた期間だ
Option<T> のよく使うメソッドを書いてみる前回 は Option<T> の基本的な使い方と bool に変換するメソッドを紹介しました。今回は Option<T> のメソッドのうち、ドクターメイト株式会社のコードベースでよく使われて
小規模プロジェクトのフルスタックな開発はFirebaseがオススメ!
はじめにフルスタックWebアプリケーションの開発において、ソースコードの設計やインフラ管理の複雑さはしばしば開発の障壁となります。しかし、Firebaseを活用することで、これらの課題を大幅に軽減できます。今回は、実際の開発経験を基に、最近のFirebaseのオススメポイント
`null` 代わりの `Option<T>` という基本的なデータ型
null 代わりの Option<T> という基本的なデータ型Rust には Option<T> という型があります。だいたいこういう定義です。enum Option<T> { None, Some(T),}Rust は
せめて5000兆人の分身がほしい - AI開発ツールとの付き合い方
はじめにお仕事をするとき、自分の分身がせめて5000兆人はほしいですよね?僕自身が優秀だから増やしたいわけではなく(優秀ではありますが)、他の方にお願いするのは準備も確認も大変なんです。「一人でできなくもないがけっこう大変」くらいのタスクが積み重なるとしんどい……そういう
Rust をはじめるメンバーに伝えたい「 if より match 」 🔖 1
Rust をはじめるメンバーに伝えたい「 if より match 」ぼくの所属するドクターメイト株式会社では 2023-07 から Rust を使用しています。 Rust の使用を決定した当時から現在に至るまで「メンバー全員が Rust についての知識・経験が豊富だった」なんて