タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

rustに関するmihyaeru21のブックマーク (12)

  • はじめに - Rustで始める自作組込みOS入門

    このは組込みシステムやOSのような低レイヤーシステムの開発経験がないプログラマーのような人が、自作OSをはじめるため解説です。 著者自身、職はウェブプログラマーですが、趣味で組込みOSの自作をしています。このはそのノウハウ集のようなものです。 このような低レイヤーシステムはC言語で開発されることが多いのですが、今回はRustを使います。 RustはC言語と比較して、様々なモダンな機能やツール郡を取り揃えている上に、C言語の長所である直接のメモリ制御ができ、パフォーマンスも高いとして組込みシステム開発でつかえるとして注目されています。 Rustそのもの解説は控えめですが、低レイヤーシステム開発特有のテクニックは必要に応じて解説します。 想定読者 ある程度はプログラミング経験があることを前提としています。 また、レジスタやメモリなどコンピュータアーキテクチャに関する基礎用語の説明もちゃ

  • Rust IDE に化ける VSCode - OPTiM TECH BLOG

    初めまして.社内の好きなエディタアンケートで Visual Studio Code (VSCode) に 1 票を投じた R&D チームの久保です.普段は深層学習を用いた画像解析やその周辺の研究開発を行っています. アンケートでは惜しくも Vim 勢に敗れてしまいましたが,2015 年にリリースされてからというもの,ものすごいスピードでユーザを増やしているこの VSCode を使って Rust の開発を行いたい人向けの記事を書いてみました.この記事を読むまで Rust (rls) と CodeLLDB拡張機能を知らなかったという人がいれば今すぐインストールしましょう.私がこの 11101 文字を使って言いたいのはそれだけです. 「Rust って何?」という方はぜひ以下の過去記事にも目を通してみてください. 必修言語Rustの他己紹介 Rust カテゴリーの記事一覧 - OPTiM TE

    Rust IDE に化ける VSCode - OPTiM TECH BLOG
  • Rustのモジュールを詳細に理解する(1) モジュール入門 (この回は簡単です!) - 簡潔なQ

    概要: Rust2018以降、Rustのモジュールシステムは入門しやすく、かつマスターしにくくなりました。そこで記事では、その両方を達成することを目指しました。 モジュール入門 名前解決の役割と用語 モジュールグラフの構造 インポート解決 可視性 パス解決 名前解決とマクロ 記事は2017年に書いた記事 (https://qnighy.hatenablog.com/entry/2017/03/27/070000, https://qnighy.hatenablog.com/entry/2017/04/24/070000 ) と同じテーマで、Rust2018を考慮して改めてまとめ直したものです。 モジュールとは モジュールはRustのプログラムを分割する単位のひとつです。ワークスペース・クレート・モジュールという単位になっていると考えてください。 ワークスペースは関連するライブラリ(クレ

    Rustのモジュールを詳細に理解する(1) モジュール入門 (この回は簡単です!) - 簡潔なQ
  • do-while loops in Rust

    mihyaeru21
    mihyaeru21 2019/01/04
    使うことは無いけどなるほど
  • Rustで写経、デザインパターン23種 - Qiita

    Rust力を高めたいけれども、特に作るものが思い当たらなかったのでデザインパターンを真似して書いてみようと思った. 解釈間違い、表現間違い、などなど、コメントお願いします. Githubにも同じコードを上げています Github - mopp/CodeGarage/rust/design_patterns/ 追記 κeenさんが大変良い記事を書いてくださいましたのでリンクを貼らせていただきます Rust風にデザインパターン23種 以下の例では不十分な部分を補足、修正してくれています。 ありがとうございます。 結論 真似して書いてみました。が理解できたという実感が伴っていない おそらく格好のマサカリの的であろう 何かを作るときに実際の問題を考えながら使わなければ覚えられないし、体に馴染まない パターンがあるから覚えるのではなく、問題を解決したいからパターンを参照する、ではないと駄目だなと思っ

    Rustで写経、デザインパターン23種 - Qiita
  • Rust風にデザインパターン23種 | κeenのHappy Hacκing Blog

    κeenです。 GoFのデザインパターンは有名ですが、言語機能によっては単純化できたりあるいは不要だったりするのでRust風に書き換えたらどうなるか試してみます。 発端はこのツイート。 デザインパターン、古いJavaの機能の足りなさのワークアラウンド的なテクニックも含まれてるからあまり宜しくないんだよね。enumやクロージャで十分なのもいくつかある。 Rustで写経、デザインパターン23種 - Qiitahttps://t.co/MhpS3Z2OlF — κeen (@blackenedgold) 2017年5月5日 一応誤解のないように説明しておくと、該当のQiitaの記事に不満がある訳ではなくてGoFのデザインパターンついての言及です。 リンク先のコードで十分な時にはここでは流すのでリンク先も同時に参照下さい。 また、比較しやすいようにサンプルコードはリンク先のものに則って書きます。

    Rust風にデザインパターン23種 | κeenのHappy Hacκing Blog
  • Rust で DI する時の小技 · ryym.log

    最近 Rust に触るのがすごく楽しいです。 で、書いているうちに Rust ではどんな風に DI するのが良いか気になったので、 試したり調べたりした事を簡単にまとめておきます。 Rust の DI に関しては次の記事がとても参考になりました。 https://keens.github.io/blog/2017/12/01/rustnodi/ なお、以降では DI の対象となるコンポーネントをざっくり「サービス」と呼んでいます。 概要 Rust で DI するには。 struct ベースで DI する方法 trait ベースで DI する方法 trait ベースだと他の trait への依存関係があるとモックしづらい。どうするか? struct ベースの DI サービスのインターフェイスを trait で定義し、 実装は struct で行う。 struct はフィールドに依存関係を持ち

  • RustのDI | κeenのHappy Hacκing Blog

    κeenです。Rustその2 Advent Calendar 2017が空いてたので小ネタをば。1日目の記事です。 Dependency Injectionの話。 例えば3層アーキテクチャで組む時には以下のような依存関係が発生します。 [user interface(web)] | V [logic(service)] | V [database access(dao)] これを他の実装に依存せずにそれぞれの層を書きたい、どうしようという問題設定です。 ナイーブな実装 簡単に考えたらRustならトレイトで抽象化してあげればよさそうです。 コードにするなら共通インターフェイスにトレイトを定義してあげて pub trait UserDao { fn find_user(&self, id: i32) -> Result<Option<User>>; }

    RustのDI | κeenのHappy Hacκing Blog
  • 最速で知る! プログラミング言語Rustの基本機能とメモリ管理【第二言語としてのRust】 - エンジニアHub|若手Webエンジニアのキャリアを考える!

    最速で知る! プログラミング言語Rustの基機能とメモリ管理【第二言語としてのRustRustは、新しいシステムプログラミング言語です。稿では、基的な構文に加えて、所有権、参照と借用、ライフタイムといった特徴的な機能によるメモリ管理を解説します。 κeen(@blackenedgold)です。Rustの入門を担当することになりました。基的な文法と使い方を説明しつつ、Rustの特徴的な機能と、なぜその機能が必要かというモチベーションを紹介していけたらと思います。 Rustは非常に高機能であり、この記事ですべてを紹介できません。興味を持った方は、ぜひ公式ドキュメントを読んでみてください。私が管理している和訳もあります。 The Rust Programming Language プログラミング言語Rust Rustはシステムプログラミング言語 Rustのインストール Hello W

    最速で知る! プログラミング言語Rustの基本機能とメモリ管理【第二言語としてのRust】 - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • Announcing Rust 1.15 | Rust Blog

    The Rust team is happy to announce the latest version of Rust, 1.15.0. Rust is a systems programming language focused on safety, speed, and concurrency. If you have a previous version of Rust installed, getting Rust 1.15 is as easy as: $ rustup update stable If you don't have it already, you can get rustup from the appropriate page on our website, and check out the detailed release notes for 1.15.

    Announcing Rust 1.15 | Rust Blog
  • Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研

    Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿

  • Why Rust?

    Read it now on the O’Reilly learning platform with a 10-day free trial. O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers. While systems programming languages have greatly evolved since the introduction of C more than 40 years ago, our capacity for dumb mistakes with enormous consequences has remained unch

    Why Rust?
    mihyaeru21
    mihyaeru21 2016/10/12
    とりあえずダウンロードした
  • 1