タグ

rustに関するcraftoneのブックマーク (15)

  • これからRustを勉強したいエンジニアにおすすめしたい参考書や教材を紹介します

    こんにちは、加藤(@tomo_k09)です。 PharmaXではバックエンド・フロントエンド開発やスクラムマスターなどをやっています。 PharmaXが提供しているサービスでは、バックエンド開発に主にRuby on Railsが使われていますが、一部の機能はRustで開発されています。 このような理由からRustの経験が浅かった私もコツコツとRustの勉強をしており、 少しずつ学習方法に関する知見が溜まってきました。 そこでこの記事では、Rustをこれから学びたいという方向けに、おすすめの書籍や教材について紹介します。 新しいプログラミング言語はどのように学ぶと良いか 私は新しい言語を学ぶとき、まず基的な文法やどんな特徴を持った言語なのかをひと通り勉強しています。 そしてその言語の概要をつかんだあと、実際に簡単なアプリケーションの実装をはじめて、分からないことがあったらリファレンスを読ん

    これからRustを勉強したいエンジニアにおすすめしたい参考書や教材を紹介します
    craftone
    craftone 2024/04/10
    こういうので O'Reillyの「プログラミングRust 第2版」が出ないのが謎。しっかり分かる
  • 会計システムのアーキテクチャとモデリング ~会計というドメインを Rust で表現している話~ - CADDi Tech Blog

    はじめに こんにちは。 バックエンドエンジニアの松です。今回は、会計システムの開発を通じて、 CADDi におけるプロダクト開発の様子を紹介します。 2024年3月現在、CADDiでは2つのサービスを提供しています。1つは図面データ活用クラウド「CADDi Drawer」で、もう1つは加工品製造サービス「CADDi Manufacturing」です。 今回、後者の加工品製造サービス「CADDi Manufacturing」向けに、 会計システムを構築しました。これは、生産管理システムや拠点管理システムから取得した各種情報を基にして、会計仕訳データを生成し、経理部門に公開する役割を持ちます。 はじめに 会計システムのアーキテクチャとその狙い 計算処理を少しずつ進める 会計数値の妥当性をダッシュボードに表示する 会計システムのモデリングと最初の開発 仕訳の流れを整理して、ドメインモデル、デー

    会計システムのアーキテクチャとモデリング ~会計というドメインを Rust で表現している話~ - CADDi Tech Blog
  • 🐇 RabbitMQ TutorialsをRustでやってみる | Happy developing

    記事ではRabbitMQ TutorialsをRustでやっていきます。 RabbitMQはAMQP 0-9-1というプロトコルの実装という位置づけなので、登場するコンセプトについてはAMQPに基づいて理解していきます。(以降AMQPはAMQP 0-9-1を前提にします) Tutorialsは以下の7つから構成されているので順番にみていきます。 "Hello World!"Work queuesPublish/SubscribeRoutingTopicsRPCPublisher Confirms準備Tutorialに入る前にRabbitMQをlocalに立ち上げて接続できるようにしていきます。 docker-compose.yamlversion: '3' services: rabbitmq: image: rabbitmq:3.9.13-management-alpine ports

    craftone
    craftone 2024/01/05
    素晴らしい
  • Rust使いは要注目! WebAssemblyのコンポーネントモデルを知る by chikoski@

    ここ1、2年の間で話題になることが多かったWebAssemblyのコンポーネントモデルについて、その背景やWasmとの関係、コンポーネントの作り方などについて紹介していきます。 記事は、TechFeed Experts Night#9 〜 Rust/WebAssemblyの「いま」を探る のセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 セッションの登壇者 セッション動画 よろしくお願いします。今ご紹介いただきましたchikoski@です。 Rustにはコミュニティ的な関わり方が多くて、Rust.Tokyoというカンファレンスの運営をやっています。WebAssemblyは出たときからずっと仕様を追っていて、コロナの始まる前はWebイベントもやっていたのですが、最近はできていませ

    Rust使いは要注目! WebAssemblyのコンポーネントモデルを知る by chikoski@
    craftone
    craftone 2022/12/24
    なるほどエッジでWASMは良いな
  • Rustのトレイトは「高カインド多相のない型クラス」である - なんか考えてることとか

    Rustのトレイト(以降Rustトレイトとつなげて呼ぶことにする)は一体何なのか、様々な他言語の概念を通して調べていたが、やっと(「やはり」でもあるのだが)結論が出たので書いていこうと思う。 また、Rustトレイトはインターフェースなのか、MixInなのか、はたまたトレイトなのかということについて書き直したかったのでそれもついでに書く。 Rustのトレイトにおける否定 前置き Rustのトレイトはインターフェースではない RustのトレイトはJavaのインターフェースではない RustのトレイトはC#のインターフェースではない RustのトレイトはMixInではない Rustのトレイトはトレイトではない Rustのトレイトは「高カインド多相のない型クラス」だった 根拠1: 型クラスと用法が同じである 根拠2: 重複する関数があった際の挙動も同じ Rustのトレイトでは高カインド多相ができな

    Rustのトレイトは「高カインド多相のない型クラス」である - なんか考えてることとか
  • Rustで少しずつリバーシを作ってみた

    はじめに Rustの学習目的でリバーシを作ってみたいと思います。最初からすべての機能を作るのではなく、少しずつ機能を追加しながら解説していきます。また、できるだけよいコードを目指すために機能追加の度にリファクタリングをします。 最初の開発 仕様策定 まずはリバーシとして最低限遊べるうえで最も工数がかからなさそうな仕様を策定します。 cuiアプリ 矢印キーでカーソル移動 Wキーで白石を置き、Bキーで黒石を置き、Backspaseキーで石を取り除く Escキーでアプリ終了 とりあえずこれだけあればリバーシとして遊ぶことはできます。cuiアプリなので実行はWindowsTerminalを想定します。 実装 ソース とりあえずコードの良し悪しは置いといて動くものを作ります 実行結果 解説 cuiアプリとして実装するのでターミナルライブラリを導入します。今回はcrosstermを利用します。Carg

    Rustで少しずつリバーシを作ってみた
  • RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも!|ハイクラス転職・求人情報サイト AMBI(アンビ)

    ハイクラス求人TOPIT記事一覧RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! 安全性に大きな特徴があるプログラミング言語Rustは、C言語やC++に代わるシステム記述言語として注目されてきました。しかし、その安全性とパフォーマンスの高さにより、ビジネスアプリケーションの構築にも採用されています。この記事ではキャディ株式会社による事例を紹介します。 こんにちは。キャディ株式会社バックエンドエンジニアの松田と申します。 キャディ株式会社では、「モノづくり産業のポテンシャルを解放する」をミッションとして、製造業分野に関連するさまざまなソフトウェアの開発を行っています。また、そのための主要な開発言語としてRustを採用

    RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも!|ハイクラス転職・求人情報サイト AMBI(アンビ)
    craftone
    craftone 2022/09/12
    実例。ありがたい
  • プログラミングRust 第2版

    次世代ブラウザ開発用にMozillaによって開発されたRustは、C/C++並みのパフォーマンスと低レベルの制御能力に加え、メモリとスレッドの安全性を担保し、さらに並行性にも優れるといった特徴を持つ、優秀な言語です。書はMozillaで実際にRustを使ってFirefoxを開発している著者らによる、言語の概要と用途について解説する書籍で、Rustのほとんどの機能を詳細にカバーします。Rustのメジャーバージョンアップにより非同期処理が可能となったことに対応し、第2版では新たに非同期処理の章を設け、この機能を詳細に解説しています。Rust 2021対応。 訳者まえがき まえがき 1章 システムプログラマにもっといいものを 1.1 Rustはプログラマの負担を引き受ける 1.2 並列プログラムを飼いならす 1.3 にもかかわらずRustは速い 1.4 Rustでは協調するのも容易 2章 Ru

    プログラミングRust 第2版
    craftone
    craftone 2022/07/31
    名著。しかし翻訳書なのに価格が原書の2/3というのはどういうこと・・?
  • PartialEq と Eq - Rust | nju33

    PartialEq<Rhs>は、演算子==(::eq)と!=(::ne)を実装してます。数値(i32)などで==によって同じ値か確認できるのはこのトレイトをi32が持っているからです。

    craftone
    craftone 2022/07/31
    反射律がないから Partial なのかー。ようやく理解
  • [Rust] モジュールのベストプラクティス

    Rust のモジュールシステムは私の知る中でもトップクラスによくできた仕組みだと思います。特にリファクタリングによってモジュールを再構成するときのやりやすさは他の言語では経験できないものです。例えばそれなりの規模の Python プロジェクトを回帰バグを導入せずにモジュール構造のリファクタリングするのは不可能に近いですが、 Rust ではそのような不安を覚えたためしがありません。 Rust のモジュールシステムがどういうものかは、 The book にも書かれていますし、すでに大量のガイドが書かれていると思います。しかし、どのように使うべきかについては意外なほど情報が少なく感じます。 ベストプラクティスというのもおこがましいですが、数年使ってきて Rust のモジュールシステムを使う上でスムーズに感じる方法をまとめておきたいと思います。 Rust のモジュールシステム 稿の主題はモジュー

    [Rust] モジュールのベストプラクティス
  • Effective Rust

    Release date: April 2024 Page count: 280 pages ISBN: 9781098151409 Available at: 🇺🇸 Amazon.com 🇬🇧 Amazon.co.uk 🇺🇸 Barnes & Noble 🇬🇧 Waterstones and many other book stores.

  • Rustの非同期プログラミングをマスターする - OPTiM TECH BLOG

    こんにちは、R&Dチームの齋藤(@aznhe21)です。 さあみなさん、ついにこの時がやってまいりました。 日2019/11/8にリリースされたRust 1.39により、あらゆる環境で最高速な非同期プログラミングが可能になりました。 新たな時代に乗り遅れないよう、今のうちにRustでの非同期プログラミングをマスターしておきましょう。 なお、この記事は、先日開催したOPTiM TECH BLOG Meetupの内容を大幅に加筆修正した上でエントリに仕上げたものです。 まず最初に伝えたいこと 非同期の歴史 Rustの非同期プログラミングの歴史 Rust 1.0以前 Rust 1.0 〜Rust 1.3 Rust 1.2あたり Rust 1.11あたり Rust 1.26あたり Rust 1.36 Rust 1.39 Rustの非同期プログラミングの特徴 ゼロコスト抽象化 プラットフォーム非依

    Rustの非同期プログラミングをマスターする - OPTiM TECH BLOG
    craftone
    craftone 2021/08/10
    めちゃ良い
  • Rust: Structuring and handling errors in 2020

    I recently started learning the Rust programming language by going through "the book", which does a phenomenal job of explaining the language basics. After working through the book’s main content I got started with my first non-trivial, real-world application. But I soon found myself faced with a question I didn’t yet feel well-equipped to handle: “How should you structure error handling in a matu

    craftone
    craftone 2021/08/02
    thiserror について詳しく書かれている
  • Rust エラー処理2020 - 電気ひつじ牧場

    このエントリは,Rust 3 Advent Calendar 2020の8日目の記事です. はじめに エラー処理の基 Result<T, E> Errorトレイト ?オペレータ ベストプラクティスを支えるクレート anyhow thiserror failureクレートについて まとめ 追記 はじめに Rustを書いている時にアプリケーション固有のエラー型を定義したい場合があります.この辺のベストプラクティスは今まで何度か変化*1しており,今年の9月にエラーハンドリングのプロジェクトグループが発足*2したことからも分かるとおり,今後も変化していく可能性が濃厚です. この記事では,エラー処理まわりに関する基的な内容と,現時点でのベストプラクティスとされているanyhowとthiserrorを用いたエラー処理について紹介します. エラー処理の基 Result<T, E> Rustには例外

    Rust エラー処理2020 - 電気ひつじ牧場
  • Rustのライブラリ管理は「mod.rs」が大事(Rust 2015)|Marupeke-IKD

    僕はC++畑な人でして、他の多くのC++erの方達同様に自分が作った再利用できるライブラリ(.hと.cpp)を特定のフォルダの下に次のように保存しています: (上のはイメージです(^-^;) C++はヘッダーファイル(.h)に関数やらクラスの定義が記述されていて、#includeでそのファイルの相対パス指定すると、それらを使えるようになります: /* mian.cpp */ #include "oxlib/oxmath.h" int main() { int a = OX::Math::add( 100, 200 ); // ライブラリ内の関数を使用 return 0; }この「ライブラリを定義したヘッダーファイル名を指定する」という感覚はC++erの体には染みついているわけですが、同じ感覚をRustに持ってくるとある種の混乱を招いてしまいます。Rustでの内外のライブラリは、定義されたフ

    Rustのライブラリ管理は「mod.rs」が大事(Rust 2015)|Marupeke-IKD
  • 1