48
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Rustの世界に飛び込んでみた。

Last updated at Posted at 2024-01-11

こんにちは、システム開発部門の山本です。
Rustって面白いですね!

概要

新しい技術の習得を積極的に後押ししてくれる、そんな弊社。
Rust未経験の私がRustで構築された業務システムのバックエンド開発を担当した話。

Rust

Webブラウザソフトウェア「Firefox」を開発しているMozillaが支援するオープンソースのプログラミング言語。
ネイティブコンパイラ言語であり、メモリ安全性と高パフォーマンスが売り。
今後、Webシステム開発の主流になる可能性もある。

担当する業務システム

とある企業の業務システムのリプレイス。
パッケージツールから自社開発Webシステムへの切り替えを目指すなか、
弊社が全面的に開発サポートをさせて頂いております。

Rustの仕様に戸惑う1ヶ月目

まずバックエンド開発担当となって最初の作業がバグの改修でした。
そこで必要となるのがRustのコード解析。
これが難しい。。。
CやJavaなどの他の言語の感覚でコードを解析しようとするとRustの独特な構文に戸惑います。
ライフタイム、引数省略、マクロ・・・
分からん・・・

そこでまずはRustの仕様理解に努めました。
その際に参考になったのがこちら。
https://doc.rust-jp.rs/book-ja/
https://tourofrust.com/
公式ドキュメントとオンライン実行環境を提供しているRustのチュートリアルです。

これらのサイトのおかげでライフタイムなどのRust構文の理解を深められ、
コードの解析が捗るようになりました。

Rustを理解する2ヶ月目

Rustに慣れ始めます。
個人的にRustのいいところとしてはつよつよなコンパイラー。
コーディングミスがあれば修正案を提案してくれますし、徹底的にエラー要素を排除してくれます。
コンパイラー性能がメモリ安全性を担保しているようです。

ビルドシステム兼パッケージマネージャのCargoも頼もしい存在です。

ただ1つ難点を挙げるとすれば、unwrap関数。
便利なので使ってしまいがちですが、バグに繋がる可能性もあります。
システムが落ちることも・・・

そして、今(7ヶ月目)

Rustの楽しさに目覚める。
担当した業務システムは運用を開始し、仕様変更や機能追加に対応する日々を過ごしています。

Rustの開発案件、業務システム開発案件等ございましたら、
ぜひ、弊社にお声かけください。

弊社ではエンジニアを募集しています。ご興味ございましたら以下からどうぞ。

48
37
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
48
37

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?