タグ

Rustに関するgigs123のブックマーク (20)

  • はじめに|実用Rustアプリケーション開発

    はじめに|実用Rustアプリケーション開発
    gigs123
    gigs123 2024/05/13
    ]
  • 導入 - The Embedded Rust Book

    The Embedded Rust Bookへようこそ。Rustをマイクロコントローラのような、「ベアメタル」の組込みシステムで使うための入門書です。 組込みRustは誰のためのもの 組込みRustは、Rustの高い抽象度と安全性のもと、組込みプログラミングをしたい人のためのものです。 (Rustは誰のためのものも合わせて見て下さい) スコープ このの目的は、以下の通りです。 組込みRustをできる限り速く開始できるようにします。すなわち、開発環境のセットアップ方法です。 組込み開発におけるRustの現在のベストプラクティスを共有します。つまり、より正しい組込みソフトウェアを書くための、Rustの最善な利用方法です。 いくつかのケースに対するマニュアルを提供します。例えば、1つのプロジェクト内で、C言語とRustとを混在する方法です。 書は出来る限り一般的な事項を取り扱います。ただし、

    gigs123
    gigs123 2024/05/13
  • 世界で最も愛される プログラミング言語 Rust誕生秘話

    How Rust went from a side project to the world's most-loved programming language 世界で最も愛される プログラミング言語 Rust誕生秘話 処理速度が問題になるプログラムや、ハードウェアを直接操作するプログラムを開発するなら、C/C++言語を選ぶのが当たり前だった。C/C++に取って代わる言語は長らく登場しなかったが、最近になってRustが注目を浴びている。 by Clive Thompson2023.06.12 106 27 多くのソフトウェア開発プロジェクトは、思いもよらないところから生まれる。解決しなければならない個人的な問題を抱えたプログラマーが生み出すこともある。 グレイドン・ホアレの身に起きたのも、多かれ少なかれそういう事態だった。2006年、ホアレはオープンソースのWebブラウザー「ファイアーフォ

    世界で最も愛される プログラミング言語 Rust誕生秘話
    gigs123
    gigs123 2023/06/12
  • SOLID - enjoy Development

    トピックス 2022/11/16 プレスリリース: 株式会社サニー技研と京都マイクロコンピュータ株式会社が、 TOPPERSのSafeG-Autoをベースにしたハイパーバイザーで協業 ~車載統合システムのためのソフトウェアの公開と対応デバッグ環境の提供~ 2022/11/14 SOLID for Raspberry Pi 4について、使い方やそのプログラミング(C/C++/Rust)を紹介する連載を始めました。 第四回はこちらから。 2022/11/04 SOLID for Raspberry Pi 4について、使い方やそのプログラミング(C/C++/Rust)を紹介する連載を始めました。 第三回はこちらから。 2022/10/31 SOLID for Raspberry Pi 4について、使い方やそのプログラミング(C/C++/Rust)を紹介する連載を始めました。 第二回はこちらから。

  • 史上最強のデータベース、SurrealDB - Qiita

    SurrealDBというRust製データベースを知ったので紹介します。このデータベースはすごいです。リレーショナル、ドキュメント、グラフ、あらゆる種類のデータ構造を扱うことができ、かつインメモリ、単一ノード、分散環境、全てで動かすことができます。さらにHTTPやWebSocketによるアクセスと柔軟なユーザ認証、認可機能とがDB体に内包されており、ブラウザから直に接続するWebDBとしても使えます。とにかくなんでもできる夢のデータベースといった感じです。 特徴 機能を挙げていたら多くなりすぎたので、特に面白い部分を挙げます。 配列やオブジェクトをネストした複雑なデータ構造を持てるのに、レコードリンクという機能によりリレーションに対応していてしかもSQLやMongoDBより簡潔にクエリが書ける。 スキーマレスで各レコードには任意のフィールドを持てるが、必要ならスキーマを定義することもできる

    史上最強のデータベース、SurrealDB - Qiita
  • Rustでゲームボーイエミュレーターを書いた

    RustでTGB-Rというゲームボーイエミュレーターを書きました。 とりあえずWindowsLinuxで動作確認をしていて、エミュレーションの精度もそれなりに出ているはずです(以下は非公式ROMによるスクリーンショット)。 GameBoy WORDLE 2048gb Hi-Colour Demo Bad Apple!! 名前は、以前私が書いていたゲームボーイエミュレーターの精神的後継だったり、Rustで書いていたりとかでこうなりました。 以前書いたエミュレーターもオープンソースで公開していたのですが、ふと検索してみたら、GitHubプロジェクトができていて、メンテナンスが続けられていました。 私がこれを書いていた時期はGitHubどころかgit自体が存在しないような時代で、サーバーを借りてそこに手作りのアーカイブをしこしこアップロードしていたような、あまりに素朴な開発でしたが、そんな時

    Rustでゲームボーイエミュレーターを書いた
  • Rust初心者殺しの文法10選 - Qiita

    概要 この記事ではRust初心者が驚いたり混乱させられたりするようなRustの文法を10項目集めてみました。 これらの項目は知らないと理解できなかったりコンパイルエラーに悩まされたりする一見厄介なものたちなのですが、そのような直感的でない挙動を敢えてさせているところには重要な意味が込められていることが多いです。 そのため、これらの項目を通してRustが目指しているものや実現したい機能の一部を垣間見ることができると思います。 1. デフォルトの代入がムーブ Rustの最大の特徴が所有権の概念であることは有名ですが、それでもなお初心者殺しになるのがムーブです。 以下のコードがコンパイルエラーになるメジャーな言語は現状Rustくらいしか無いでしょう。 let mut a = vec![1, 2, 3]; let mut b = a; // ここでaの持つベクタの所有権がbにムーブされ、aは無効に

    Rust初心者殺しの文法10選 - Qiita
    gigs123
    gigs123 2021/11/10
  • RustではじめるWebAssembly入門~JavaScriptを超える高速なWebアプリ開発を実践しよう

    連載では、Webブラウザー上でJavaScriptとともに動作できるバイナリ形式のプログラムファイル「WebAssembly」を、Rustプログラミング言語で実装する方法について、順を追って説明していきます。初回となる今回は、WebAssemblyの概要を説明するとともに、Rustを利用した簡単なサンプルで、実装方法のイメージを紹介します。 はじめに 現在、Webフロントエンド開発においては、ページ構造を表すHTML、スタイルを表すCSSとともに、挙動を実装するためにJavaScriptが利用されます。JavaScriptの登場当初はWebページに動きをつける程度の扱いでしたが、その後の言語仕様の拡張や、WebブラウザーでのJavaScript実行速度の向上、Node.jsなどWebブラウザー以外でJavaScriptを動作させる環境の登場などにより、格的なプログラミング言語としてその

    RustではじめるWebAssembly入門~JavaScriptを超える高速なWebアプリ開発を実践しよう
    gigs123
    gigs123 2021/08/05
  • Linuxカーネル開発における「Rust」採用の動き、グーグルとISRGがさらなる後押し

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Linuxのカーネルモジュールは現在、そのほとんどがC言語を用いて開発されているが、最近新たに「Rust」を主要言語の1つとして追加するという提案が出されていた。そして米国時間6月17日、この提案を後押しする形となる発表が、無料の証明書発行サービス「Let's Encrypt」を運営しているInternet Security Research Group(ISRG)とGoogleによってなされた。 Linuxカーネルの開発言語としてRustを採用することを目指すイニシアチブの主な目的は、カーネル内からメモリー関連のセキュリティ脆弱性を一掃するというものだ。Linuxカーネルはインターネットのインフラを支える重要なパーツであり、サーバーか

    Linuxカーネル開発における「Rust」採用の動き、グーグルとISRGがさらなる後押し
  • Rust言語を推進する「Rust Foundation」設立。AWS、Google、マイクロソフト、モジラ、ファーウェイらが設立メンバー

    Rust言語を推進する「Rust Foundation」設立。AWSGoogle、マイクロソフト、モジラ、ファーウェイらが設立メンバー 設立メンバーはAWS、ファーウェイ、Google、マイクロソフト、Mozillaの5社(Rust Foundationの発表、AWSの発表、Googleの発表、Microsoftの発表、ファーウェイの発表、Mozillaの発表)。 Rust Foundationは昨年、設立に向けた動きをMozillaが発表していました。今回それが正式に実現されたことになります。 参考:「Rust Foundation」が年内にも設立。Rust言語のコアチームとMozillaが発表 Rust Foundationへ、Mozillaから商標や資産などを移管 Rust言語は、Mozillaが開発し、コミュニティベースで開発が進められてきた、C言語のように低レベルのシステム開発

    Rust言語を推進する「Rust Foundation」設立。AWS、Google、マイクロソフト、モジラ、ファーウェイらが設立メンバー
  • 2020年以降のプログラミング技術のトレンド予想 - Qiita

    こちらの記事は、2019年7月に公開された Indrek Lasn 氏による『 2020 and Beyond Programming Trend Predictions 』の和訳になります。 記事は著者の許可を得て掲載しています。 Thank you for letting us share your knowledge! 著者に何かメッセージがある方は Twitter までご連絡ください。 また記事は転載であり、記事はこちらになります。 はじめに 2020年は、もうすぐそこです。 2020年はSFの世界のように聞こえますが、そろそろ新しい世界のドアをノックする時期になっています。 すぐそこまで来ている未来のプログラミングの世界に興味をお持ちの方は、この文章をこのまま読み続けて下さい。 これから述べることは、間違っているかもしれませんが、私が将来起こると考えていることです。 未来を

    2020年以降のプログラミング技術のトレンド予想 - Qiita
  • 第二プログラミング言語として Rust はオススメしません Nim をやるのです - 強まっていこう

    これから Rust 触ってみようかなぁと思っている方。やめておきましょう。プログラミングが嫌いになりますよ。 Nim をやりましょう。 すでに Rust に挑んで心ぶち折れた方。 Nim をやって心の傷を癒やしましょう。 Rust がディスられる!小癪な!と思っている方。 Nim をやるのです(天に轟く反響音)。 Nim の魅力を Rust と比較しつつ皆様へお伝えしましょう(両手を広げる)。 さぁ、みんな、Rust なんて捨ててさっぱり人気が無い Nim をやるのです(ドドメ色に輝く)。 行末のセミコロンが必要ない タイプ数がもりもり減ります。 Rust にはもちろん必要です。 main が要らない スクリプト言語感覚でいきなりコードを書けます。 Rust は main が必要です。 標準出力への文字列出力が楽 Nim では echo で改行付きの出力ができます。shell と同じですね

    第二プログラミング言語として Rust はオススメしません Nim をやるのです - 強まっていこう
  • Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研

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

    gigs123
    gigs123 2017/01/29
  • Rust は何が新しくないのか - ろじかるんるんものがたり

    disclaimer 追記で注意書き足すのはどうなんでしょうね。ということで追記です。 別にギョムでガンガン書いてるとかではないです。 ノミコンの方も含めてドキュメント全部読んだ、API 一通り眺めた、型推論というかリージョン推論部分の概要眺めた、関連する論文読んだ、言語触った、程度の人間が書いてます。 正しくない、不正確な部分もあると思います。 雑です、すいません。 TL;DR 的には、C++ 置き換えるための言語として作られたので当然 C++ にあった概念引き継いでますよみたいな話です。 以下追記前の元の全文。 以下の記事が結構人気と聞きました。 Rustは何が新しいのか(基的な言語機能の紹介) - いもす研 (imos laboratory) ここでは、記事中の「新しくない」部分を historical な話を交えて説明する形で何か書きたいと思います。 記事を否定するようなものでは

    Rust は何が新しくないのか - ろじかるんるんものがたり
    gigs123
    gigs123 2017/01/29
  • Rust言語、asm.jsやWebAssemblyをサポートへ。WebブラウザやNode.jsで実行可能に

    Rust言語、asm.jsやWebAssemblyをサポートへ。WebブラウザやNode.jsで実行可能に Mozillaが中心となってオープンソースで開発されている言語「Rust」の最新バージョン「Rust 1.14」がリリースされました。 Rust言語は、C言語のように低レベルのシステム開発向けに作られた言語。不正なメモリ領域を指すポインターなどを許容しない安全なメモリ管理と、マルチスレッド実行においてデータ競合を排除した高い並列性を実現している点が特長です。Mozillaの新型高速ブラウザエンジン「Servo」の開発に使われています。 Rust 1.14ではツールチェーンマネジャーの「rustup」がバージョン1.0となり、Rustのインストールを含む環境構築を司るようになりました。 At its heart, rustup is a toolchain manager for Ru

    Rust言語、asm.jsやWebAssemblyをサポートへ。WebブラウザやNode.jsで実行可能に
    gigs123
    gigs123 2017/01/04
  • Cargoの使い方 | κeenのHappy Hacκing Blog

    この記事はRust Advent Calendar 2015 3日目の記事です。 前 Rustで小さなツールを作ってみる(後編) 次 szkttyさん インデックス構文によるアクセスを実装する κeenです。Rustを使うにはCargoを使う必要がありますが、cargo helpを見てもあまり情報が載っていないので少しばかり書きましょう。 new Create a new cargo package at <path> Usage: cargo new [options] <path> cargo new -h | --help Options: -h, --help Print this message --vcs VCS Initialize a new repository for the given version control system (git or hg) or do

    Cargoの使い方 | κeenのHappy Hacκing Blog
  • docoptでドキュメントとともにコマンドラインツールを作る - Qiita

    はじめに Rustでコマンドライン引数を受け取るのにrust-langは getopts というcrateを提供しています。getoptsはオプションとフラグを定義して、与えられたコマンドライン引数がマッチするかどうかで処理をするというシンプルなものです。 fn main() { let args: Vec<String> = env::args().collect(); let program = args[0].clone(); let mut opts = Options::new(); opts.optopt("o", "", "set output file name", "NAME"); opts.optflag("h", "help", "print this help menu"); let matches = match opts.parse(&args[1..]) {

    docoptでドキュメントとともにコマンドラインツールを作る - Qiita
  • Page Moved

    This page has moved. Click here to go to the new page.

  • Mozillaが開発する「Rust言語」、バージョン1.10が登場。本バージョンからRust自身でRustを実装

    Mozillaが開発する「Rust言語」、バージョン1.10が登場。バージョンからRust自身でRustを実装 Rust開発チームは、プログラミング言語「Rust」の最新版「Rust 1.10」をリリースしたと発表しました。 RustはMozillaが中心となってオープンソースで開発されている言語です。C言語のように低レベルのシステム開発向けに作られた高速に実行できる言語ながら、不正なメモリ領域を指すポインターなどを許容しない安全なメモリ管理と、マルチスレッド実行においてデータ競合を排除した高い並列性を実現している点が特長です。 Rust 1.10はLinuxmacOSWindowsに対応。MozillaはRustを用いて次世代の高速なブラウザエンジンである「Servo」を開発していることがよく知られています。 Rust 1.10では要望の多かった機能の実装として、パニックを起こした

    Mozillaが開発する「Rust言語」、バージョン1.10が登場。本バージョンからRust自身でRustを実装
  • Rust (プログラミング言語) - Wikipedia

    Rust(ラスト)は、性能、メモリ安全性、安全な並行性を目指して設計されたマルチパラダイムのプログラミング言語である。C言語、C++に代わるシステムプログラミング言語を目指しており[2]、構文的にはC++に似ているが[3]、「ボローチェッカー」(borrow checker) で参照の有効性を検証することによってメモリ安全性を保証できる。Rustはガベージコレクションなしでのメモリ安全性を達成しており、必要な場面で参照カウントを使うこともできる[4][5] 。 Rustプロジェクトはオープンソースのコミュニティベース開発で進行しており[6]、言語仕様(検討段階含む)、ソースコード、ドキュメントはオープンソースライセンスで公開されている[7]。2006年の開発初期は、Mozillaの従業員のグレイドン・ホアレ(Graydon Hoare)[8]の個人プロジェクトだったが、2009年にMozi

    Rust (プログラミング言語) - Wikipedia
  • 1