並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 5006件

新着順 人気順

Rustの検索結果81 - 120 件 / 5006件

  • 動かして学ぶ! Rustの言語仕様

    はじめに 本連載では、Webフロントエンド開発において注目されているバイナリ形式のプログラムファイルWebAssemblyを、Rustで実装して活用する方法を説明しています。前回記事では、WebAssemblyに至るまでのWebフロントエンド高速化の歴史を紹介するとともに、RustでWebAssemblyを実装する大まかな流れを説明しました。 本記事では、WebAssemblyの実装で必要となるRust言語の基礎を説明していきます。 対象読者 話題のRust言語について学びたい方 動的なWebページにさらなる速度を求める方 WebAssemblyに興味があるが、Rustのハードルが高いと思っている方 必要な環境 本記事のサンプルコードは、以下の環境で動作を確認しています。 Windows 10 64bit版 rustup 1.24.3 cargo 1.55.0 サンプルコードを実行するには

      動かして学ぶ! Rustの言語仕様
    • YouTubeにあるライブコーディング動画を見て Rust を学ぼう

      この記事は Rust Advent Calendar 2020 2日目の記事です。 1日目は Rust で競技プログラミングの作問支援ツールを作った話 (@kobae964 さん) 3日目は Rustの日本語書籍紹介 (@dalance さん) ライブコーディング動画の良さ こんにちは、@magurotuna です。 みなさん、ライブコーディング動画はご覧になりますか?僕は結構頻繁に見ていて、たとえば寝る前、例えば作業用BGM代わりに垂れ流す、といった感じで視聴しています。 熟練のエンジニアによるライブコーディングを見ることで、彼ら/彼女らが 何を考えながらコーディングをしているのか どのような順番で順番でコーディングするのか エディタ、ターミナルをどのように操っているのか ドキュメントをどのように読んでいるのか など、数多くのことを学ぶことができます。 もちろん上記に加えて、取り上げられ

        YouTubeにあるライブコーディング動画を見て Rust を学ぼう
      • 関数型プログラマのためのRust | POSTD

        この投稿はEdward Z. Yangが2010年に書いた OCaml for Haskellers 、私自身が今年頭に書いた Haskell for OCaml programmers の流れに沿っています。 目次 プロローグ なぜRustを学ぶべきか 直接対応が可能なもの トレイト:Rustの型クラス アドホックなオブジェクトとメソッド 安全な参照 寿命と記憶域、そして管理オブジェクト オブジェクトの共有:RcとArc マクロとメタプログラミング リテラル 謝辞 参照 Copyright and licensing 注 : この記事の最新版は下記サイトで見られます。 http://science.raphael.poss.name/rust-for-functional-programmers.html 他のフォーマット: Source , PDF プロローグ C言語プログラマのための

          関数型プログラマのためのRust | POSTD
        • Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に

          Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、同社自身がRust製のHTTPプロキシである「Pingora」を開発し利用していることを明らかにしました。 Pingoraはすでに同社のCDNに採用され、毎日1兆回以上のリクエストを処理し、性能向上や数多くの新機能の提供を実現しつつ、従来と比較してCPUとメモリリソースの消費はいずれも3分の1程度に収まっているとのこと。 Pingoraは現時点でコードなどは公開されていませんが、いずれオープンソース化の計画についても明らかにするとCloudflareは説明しています。 Today we are excited t

            Cloudflare、NGINXに代えて自社開発のRust製HTTPプロキシ「Pingora」をグローバルCDNに採用。性能向上しつつCPUとメモリ消費を3分の1に
          • Rust + Yew = WebAssembly でかんばんライクなタスク管理アプリを作ってみました。 | 株式会社ヌーラボ(Nulab inc.)

            Rust + Yew = WebAssembly でかんばんライクなタスク管理アプリを作ってみました。 YewはRustで書かれたフロントエンド向けのフレームワークです。 書かれたコードはWebAssemblyに変換されて、ブラウザ上で実行することができます。プロジェクトのREADMEに「ElmとReactに影響を受けた」と書かれているように、JSX風のHTMLを書けるようなマクロが用意されていて、Rustのコード内にHTMLっぽく表現でビューを書くことができます。 また、Elmアーキテクチャのように、モデルとビューがあり、メッセージによって状態の更新がされるようになっています。 というわけで、以前、このブログでsakiが書いた「Vue.js でかんばんライクなタスク管理アプリを作ってみました。」という記事を参考に、見ためがほとんど同じようなかんばんライクなタスク管理アプリ (タスクボード

              Rust + Yew = WebAssembly でかんばんライクなタスク管理アプリを作ってみました。 | 株式会社ヌーラボ(Nulab inc.)
            • Rust は何が新しくないのか - ろじかるんるんものがたり

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

                Rust は何が新しくないのか - ろじかるんるんものがたり
              • Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run

                KOBA789 です。みなさん DBMS は好きですか。私は好きです。 最近、自作 DBMS をずっと作っていて、ようやく最低限の機能ができたので公開をしました。 (とはいえコードを書いていたのは正味2日ほど。設計と勉強に2週間かかった) github.com この記事ではこれを作った目的と、そのちょっとした詳細についてご紹介します。 目的 Disk-Oriented DBMS の学習に適している Rust で書かれた実装が欲しかった、というのが理由です。 DBMS の勉強に適している実装というのは意外と多くありません。 MySQL や PostgreSQL といった有名な実装は実用的である一方でコード量は非常に多く、また細かな最適化によって教科書的なアルゴリズムと実際のコードの差が大きくなっているため、初学者にとっては構造を把握しづらくなっています。 教科書的な実装の Disk-Orie

                  Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run
                • RustでJSONパーサーをフルスクラッチで実装する - Qiita

                  この記事はRust Advent Calendar 2021 カレンダー2の1日目の記事です。 はじめに エンジニアは一度はJSONパーサーをフルスクラッチで実装したほうが良いという天啓を受け、RFC 8259を読みつつRustでJSONパーサーを実装してみました。パーサーの実装は面白く勉強になり満足しましたが折角なのでhands-on形式の記事にしようと思いこの記事を書きました。 Rustの基本的な文法が分かる方向けに記事を書きましたが、これからRustを勉強してみたい方にもぜひ挑戦してほしいです。 複雑な機能は使っていないので、分からない文法や標準ライブラリは公式ドキュメントを読めば十分補完できると思います。 The Rust Programming Language 日本語版 Rust by Example 日本語版 monkey-json 本記事ではRustでJSONパーサー(mo

                    RustでJSONパーサーをフルスクラッチで実装する - Qiita
                  • 「ゼロからのOS自作入門」を Rust でやる (第1章~第4章) - gifnksmの雑多なメモ

                    ゼロからのOS自作入門 を 一通り写経 したところ、 Rust に移植したくなったのでやっていきます。 次回: 「ゼロからのOS自作入門」を Rust でやる (第5章) - gifnksmの雑多なメモ 関連記事一覧: ゼロからのOS自作入門 カテゴリーの記事一覧 - gifnksmの雑多なメモ github.com Rust で OS なので名前は "錆OS" です。安直です。 "sabios" でざっとググったところ、スペイン語で "賢い" って意味があるようです。 良いですね。 クレバーな実装を目指したいところです。 方針 「ゼロからのOS自作入門」の章立てに沿って1章から順番に実装していきます。 C++ で一通り写経は完了しているので完成形の OS と関係ない節はスキップしていきます。 せっかく Rust で実装するので安全性や抽象化という点で MikanOS との差異を出せたら良

                      「ゼロからのOS自作入門」を Rust でやる (第1章~第4章) - gifnksmの雑多なメモ
                    • 会計システムのアーキテクチャとモデリング ~会計というドメインを Rust で表現している話~ - CADDi Tech Blog

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

                        会計システムのアーキテクチャとモデリング ~会計というドメインを Rust で表現している話~ - CADDi Tech Blog
                      • Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog

                        お手伝いの @helloyuki_ です。今回はポエムです。 今回は、Rust を始めた当時、プログラミング言語は Java しかまともに触ったことがない新米若手 Java エンジニアだった私[*1]が「見たことがなく、使いどころがわからなく理解が難しい」と感じたポイントについて紹介します。対象とするソフトウェアのレイヤーが低いか高いかを問わず、とにかく Rust をやってみて理解するまでに時間がかかり、難しいと感じたポイントについて紹介します。 Rust の「メモリ安全」って、結局何 所有権とライフタイム 参照 スマートポインタ 代数的データ型 関数が第一級である モジュールシステム self 型クラスという側面でのトレイト まとめ 私が Rust をある程度使いこなせるようになるまでの話 「難しい」って何?、の話 Rust の「メモリ安全」って、結局何 そもそも論ですが、Rust が取

                          Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog
                        • JavaScript/TypeScriptの高速フォーマッター「Rome Formatter」リリース。Rust製でPrettierより約10倍高速と

                          JavaScript/TypeScriptの高速フォーマッター「Rome Formatter」リリース。Rust製でPrettierより約10倍高速と JavaScriptのツールチェインを統一的に提供することを目指した「Rome Tools, Inc.」(以下、Rome Tools)は、JavaScriptおよびTypeScriptのコードの書式を高速に整えるフォーマッター「Rome Formatter」をリリースしました。 Release of the Rome Formatter, a super fast formatter for JavaScript, with a focus on Prettier compatibilityhttps://t.co/2iXq5Gm5K3 — Rome Tools (@rometools) April 5, 2022 Rome Toolsは、

                            JavaScript/TypeScriptの高速フォーマッター「Rome Formatter」リリース。Rust製でPrettierより約10倍高速と
                          • ゼロからのOS自作入門をRustで実装した

                            概要 OSを座学・書籍で学ぶだけでなく実際に作ってみたくて、またRustでなにかを作りたくて、 ゼロからのOS自作入門(以下みかん本)で作るMikanOSをRustで実装しました[1]。 先駆者はいくつか見かけましたが、最後まで実装されている方は見つけられず、 もしRustで実装しようとしてハマっている人や途中で諦めてしまった方がいれば参考になるかと思い、記事を書きました。 実装者のレベル 一応、私のレベル感を書いておきます。 OSの開発経験はなく、低レイヤーっぽい開発経験もひとつだけ Nand2tetris Rustは以下のように多少の経験はあるが業務で利用したことはなし the book はほぼ読んで写経した Rustで始めるTCP自作入門 はやった Programming Rust, 2nd Edition は気になるところを読んだ というような感じで、OS開発もRustも経験が浅い

                              ゼロからのOS自作入門をRustで実装した
                            • GitHub - emilk/egui: egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                GitHub - emilk/egui: egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
                              • 【競プロ】Python使いがRustを「完全に理解する」までのTips - Qiita

                                2023年AtCoder言語アップデートにより、Rustの環境は大きく変化しました。そのため、本記事はフリーズさせ、後日、2023年版に対応した記事を新規作成したいと思います。 筆者は、競プロのアルゴはPythonを使いつつ、マラソンはRustを使っております。前者は発想を短時間にコードにすることを重視し、後者はコーディングに時間をかけてでも高速性を確保したいからです。 その際、Pythonでできたアレを、Rustでどう書くんだっけ、と悩むことが多く、悩んだ結果を自分メモを兼ねてTipsにすることにしました。競プロに出てくるパターンを多く収録していますが、競プロ目的以外でも参考になるかと思います。とりありず、ざっと記述してみましたが、そのうち増やしたり、章立てを変えたりするかも知れません。 なお、参照がーとかトレイトがーとか、Rustそのものの入門には言及していませんので、適宜、別の記事や

                                  【競プロ】Python使いがRustを「完全に理解する」までのTips - Qiita
                                • 『基礎から学ぶ 組込みRust』を書きました - 低レイヤ強くなりたい組込み屋さんのブログ

                                  はじめに 2021年4月20日、『基礎から学ぶ 組込みRust』(C&R研究所) を出版します。Rust の文法から組込み Rust でファームウェアを作成するところまでを、片手で持てる (多分!まだ持ったことないけど!) 1 冊の本にまとめた、喉から手が出るほど (私が) 求めていた書籍です。 先日、無事入稿を果たしたので、今の気持ちを徒然なるまま綴ったのが、このエントリです。 基礎から学ぶ 組込みRust 作者:中林 智之,井田 健太発売日: 2021/04/20メディア: 単行本(ソフトカバー) 一番始めに言いたいこととしては、今現在、「組込み Rust がプロダクションレディか?」、と問われると、「ほとんどのプロジェクトに対してそうではない」というのが私個人の見解です。セーフティクリティカルな分野では、機能安全をはじめとする認証の問題があり、そんなにおいそれとプログラミング言語変更

                                    『基礎から学ぶ 組込みRust』を書きました - 低レイヤ強くなりたい組込み屋さんのブログ
                                  • Rustの開発環境を2秒で用意、ローカル環境は汚さず。オンライン開発環境のCodeSandboxがRust言語に対応

                                    ここから「React」や「Vanilla」「Vue 3」などを選択すると、すぐにVisual Studio Code互換環境がWebブラウザ上に立ち上がります。 ここではReactを選択しました。エディタにはReactのテンプレートのコードが表示され、右側のプレビュー画面には結果が表示されています。エディタでコードを書き換えて保存すると、変更内容は瞬時にプレビューに反映されます。 このようにCodeSandboxはローカル環境に依存せず、しかも面倒なフレームワークや実行環境、ビルド環境などのインストールもすることなく、オンライン上ですぐにWebアプリケーション開発に取りかかれます。 また、Webブラウザから利用するだけでなく、Visual Studio Codeから利用するための拡張機能と、iOS用のアプリケーションも提供されています。GitHubとの連係も可能です。 CodeSandbo

                                      Rustの開発環境を2秒で用意、ローカル環境は汚さず。オンライン開発環境のCodeSandboxがRust言語に対応
                                    • Rust開発時の便利ツールたち

                                      前書き Rustを書くときに便利なツールをまとめた記事が無い気がしたので作成。(ちゃんと探してないので既にあるかも) 公式ツール cargo パッケージマネージャ 基本だけどとても便利なツール 一度はThe Cargo Bookを読んでおくことを推奨。 rustfmt フォーマッター cargo fmt でもフォーマットの修正が出来る。(こっちを使うことが多い) clippy lintツール こう書いたほうが良いよという提案もしてくれるので便利。 cargo clippy --fix を使うと自動で直してくれる。 rust-analyzer Language Server rls もあるが、(最近は?) rust-analyzer の方がメジャーな気がする。 追記 : RLSは非推奨になりました。RLS Deprecation 非公式ツール cargo-watch ソースコードの変更を検知

                                        Rust開発時の便利ツールたち
                                      • 他言語ユーザがRust言語をガチめに使っての雑感 - 分散KVSを書いてみて - - Qiita

                                        どうも ryo_grid です。 昨年はRustを覚えたいと思い、題材としてRESTインタフェースを持った分散KVS(実質はいわゆる分散ハッシュテーブル)を書いたりしました。 FunnelKVS: Rust implementation of autonomous distributed key-value store which has REST interfaces この記事では、他言語を使ってきた私が、経験のないRustを用いてそこそこのコード規模・複雑さのシステムソフトウェアを書いてみた上で、Rustについて感じたことを、独断と偏見で述べます。 Rustってなんか流行りそうな雰囲気あるけど難しいとも聞くし、どうなんだろ?と考えている方や、Rustガチ勢の方々に、「初学者はこう感じるんだな」「ここらへんに苦労するんだな」というところを伝えることで、Rustのスムーズな普及に少しでも寄

                                          他言語ユーザがRust言語をガチめに使っての雑感 - 分散KVSを書いてみて - - Qiita
                                        • Rust GUI の決定版! Tauri を使ってクロスプラットフォームなデスクトップアプリを作ろう

                                          Tauri は Rust で書かれたクロスプラットフォーム GUI フレームワークです。 Tauri について説明しながら、 Tauri を使って簡単なアプリケーションを作ってみます

                                            Rust GUI の決定版! Tauri を使ってクロスプラットフォームなデスクトップアプリを作ろう
                                          • トーバルズ氏が考える、LinuxにおけるRustの居場所とは

                                            Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 村上雅章 野崎裕子 2021-03-31 07:30 Linuxはプログラミング言語Cの申し子のような存在だ。しかし時は流れ、状況は変わった。RustをLinuxのシステム記述言語として採用しようという動きが少しずつ支持を集めてきている。例を挙げると、Linuxカーネル開発者のための年次カンファレンス「Linux Plumbers Conference(LPC)2020」において、開発者らはLinuxのインラインコード部分でのRustの採用を真剣に議論していた。その議論は現在どうなっているのだろうか?筆者はLinuxの父と目されるLinus Torvalds氏と、Linuxの安定版カーネルのメンテナーであるGreg Kroah-Hartman氏から考えを聞いた。 これはRustに魅

                                              トーバルズ氏が考える、LinuxにおけるRustの居場所とは
                                            • RustでAPIサーバーを書くのが思ったより良い

                                              最近いろんなところで採用事例が増えてきたRustですが、Webサービス開発でのAPIサーバーを書くのにRustは向いてないと言われたりします。Rustの第一のターゲットはシステムプログラミングでありGCがないためAPIサーバー開発でシビアなメモリ管理はしたくないというのは一理あるのですが、RustでAPIサーバーの開発を実際にやってみるとむしろ開発体験が結構いいなと感じます。パフォーマンスのために難しい所有権を無理にがんばるみたいなマイナスのイメージはほとんど当てはまらなかったです。 Rustの難しいライフタイム、所有権があまり出てこない Rustにおいて難しいとされるライフタイム、所有権といった概念があり私も書く前はかなり身構えていたのですが、これに苦しむことは思ったよりも少ないです。その要因はWebサーバーで扱う処理のほとんどがリクエスト・レスポンスモデルでデータの流れが一方向でシンプ

                                                RustでAPIサーバーを書くのが思ったより良い
                                              • 京大マイコンクラブ (KMC) で開催した「Rust を知ろう」総まとめ - hsjoihs’s diary

                                                概要 京大マイコンクラブ(KMC)の新入生プロジェクト2022という枠組みで、「Rust を知ろう 2022」というのを開催した。先日それがついに完結したので、とりあえずスライドをまとめた。*1 www.kmc.gr.jp 第0回~第7回の8回構成で行った。毎週金曜日の 20:00 開催なのだが、必ず当日にスライドを作り始めるので、スライドが十分出来上がって開催できる自信が発生して初めて開催を告知するという体たらくだった。 注:Rust Playground へのリンクは一部誤っている可能性があります。なんか複数のタブでたくさんリンクを生成したときに上手く行かないことがあるっぽい? 構成の上で意識したこと 「Rust は難しい言語である」という思いを抱かせない そのために、所有権の話とかはギリギリまで先延ばしにし、それまでは全力でごまかす 「Rust は便利な言語である」ということを伝える

                                                  京大マイコンクラブ (KMC) で開催した「Rust を知ろう」総まとめ - hsjoihs’s diary
                                                • Writing an OS in Rust (Second Edition)

                                                  This blog series creates a small operating system in the Rust programming language. Each post is a small tutorial and includes all needed code, so you can follow along if you like. The source code is also available in the corresponding Github repository. Latest post: Async/Await The first step in creating our own operating system kernel is to create a Rust executable that does not link the standar

                                                  • RustでOSを書いた

                                                    はじめに RISC-V CPU を FPGA 上に実装して、マイクロカーネル OS を Rust で書いて動かしてみました。 CPU について RISC-VとChiselで学ぶ はじめてのCPU自作 に沿って RISC-V の CPU を作り、機能をエンハンスしました。 乗除算命令、RVC命令、ビット拡張命令の一部を追加 7段パイプライン化 DRAM コントローラ 4KB命令キャッシュ、8KBデータキャッシュ 2ビット分岐予測 周辺コントローラ実装(SDC、UART、タイマー、割込コントローラ) Arty A7-35T という FPGA ボード上で動作させています。 スーパーバイザーモードは実装していないので、仮想メモリは使えません。みんなで仲良くメモリを共有します。 CPU の実装はこちらに置いてあります。書籍のサポートリポジトリの fpga 実装版を fork して機能追加しています。

                                                      RustでOSを書いた
                                                    • Rustハンズオン@エウレカ社

                                                      エウレカ社にてRustのハンズオンを実施しました。 コード全体は下記で確認できます。 https://github.com/yuk1ty/rust-basic-handson

                                                        Rustハンズオン@エウレカ社
                                                      • Writing NES Emulator in Rustをやった

                                                        Writing NES Emulator in Rustというサイトがある。これはRustでファミコンエミュレータ(通称: NES)を実装する方法をステップバイステップで解説してくれる親切サイトだ。NES初心者でも比較的容易に取り組めるので自力でNESエミュレータの実装するのはちょっと...といった人に特におすすめ。自分は数年前にNESの実装にチャレンジしたが途中で挫折した経験もあったのだけど、このサイトで言われた通り少しずつ進めていくことでなんとか一通り実装をし終えることができた(まぁまだバグだらだけど...)。 今回はその中でも初心者が事前に知っておいたら良さそうと思った知識や概念なんかを雑に書いてみる。 ちなみに各構成要素の詳細な解説や仕様などについては日本語・英語問わず先人の遺産がネット上に大量に存在しているのでググってほしい。とりあえず自分が何回も参照したサイトだけ下記に列挙して

                                                          Writing NES Emulator in Rustをやった
                                                        • GoとRust - 並行プログラミング編

                                                          はじめに こんにちはnasaちゃんです。 goroutine何も分からん!async/await何も分からん!となったのでそれぞれを比較しつつ理解を深めてみよう。という考えのもとGo, Rustの並行プログラミングの解説記事を書いてみました。 ところどころふわっとしているため、補足や指摘を貰えると大変助かります。 今回話すこと goroutineとは結局何なの Goの並行処理の仕組み goroutine(Go)とasync/await(Rust)の比較 Goのランタイム、Rustのランタイムの話 話さないこと 構文の違いについては特に触れない どちらが優れているとい言う話はしない ベースになっている思想については特に触れない TL;DR Goには標準のランタイムがあるよ、Rustではランタイムライブラリを使う必要があるよ Goはランタイムが中断再開を管理するよ、Rustではプログラマーが管

                                                            GoとRust - 並行プログラミング編
                                                          • Rustの実用性が理解できる図を作成してみた 〜C/C++/Java/JS/Python/Go/TS/Elixirとの比較〜

                                                            エディタ支援 言語の公式がエディタ支援(LSP等)を提供しているかを示しています。 自動テスト 言語の公式が自動テスト(ユニットテスト等)を備えているかを示しています。 リンタ 言語の公式がリンタを提供しているかを示しています。 ビルドシステム 言語の公式がビルドシステムを提供しているかを示しています。 パッケージマネージャ 言語の公式がパッケージマネージャを提供しているかを示しています。 フォーマッタ 言語の公式がフォーマッタを提供しているかを示しています。 手続き型 言語のプログラミングパラダイムが手続き型プログラミングを強くサポートしているかどうかを示しています。 オブジェクト指向 言語のプログラミングパラダイムがオブジェクト指向プログラミングを強くサポートしているかどうかを示しています。 関数型 言語のプログラミングパラダイムが関数型プログラミングを強くサポートしているかどうかを示

                                                              Rustの実用性が理解できる図を作成してみた 〜C/C++/Java/JS/Python/Go/TS/Elixirとの比較〜
                                                            • Rustで書いたWebAssemblyでフィボナッチを計算したらJSより3倍速かった - Qiita

                                                              Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are curr

                                                                Rustで書いたWebAssemblyでフィボナッチを計算したらJSより3倍速かった - Qiita
                                                              • Rust製の高性能コマンド3選

                                                                Rustで作られたコマンドラインツールに良いものが多いと聞いて、Rust製の便利なコマンドをまとめてみます。RustがC/C++を置き換える言語というのもありますが、GNUの伝統的なツールをブラッシュアップしたツールがRustでいろいろ出てきているのはとても興味深いです。 findコマンドを置き換える fd fdはGNUの伝統的な検索ツールfindの置き換えです。findよりも簡潔にファイルの検索が可能です。 GitHubのリポジトリはこちらで、インストールも各パッケージマネージャーから使えます。 # mac $ brew install fd # ubuntu $ sudo apt install fd-find # win $ choco install fd 使い方は、検索したりディレクトリでfd キーワードと書くだけです。ポイントはfindと違って特にオプションをしていしなくても良

                                                                  Rust製の高性能コマンド3選
                                                                • 組込みエンジニアのためのRustのよくわからない記号まとめ - Qiita

                                                                  はじめに どうも、レガシー組込みエンジニアの@yagisawaです。 Rustを勉強しているとCでは見かけない言語仕様(主に記号の使い方)に出くわすことがあるので、チートシート的な感じでまとめてみました。 勉強が進み次第都度更新していく予定です。 「RustではXXX等に使います」と曖昧な表現をしていますが、私の勉強が足りていないだけで本記事で紹介しているもの以外の使い方も存在する可能性がある旨、予めご承知おきください。 Cについても私が知らない使い方が存在する可能性がある旨、予めご承知おきください。仕事柄C89の仕様を主に扱っています。また本記事の主眼はRustであるため、Cの情報の充実度については本質ではありません。

                                                                    組込みエンジニアのためのRustのよくわからない記号まとめ - Qiita
                                                                  • Rust言語を推進する「Rust Foundation」設立。AWS、Google、マイクロソフト、モジラ、ファーウェイらが設立メンバー

                                                                    Rust言語を推進する「Rust Foundation」設立。AWS、Google、マイクロソフト、モジラ、ファーウェイらが設立メンバー 設立メンバーは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、マイクロソフト、モジラ、ファーウェイらが設立メンバー
                                                                    • Rustで書かれた、既存のソフトウェアの代替一覧を作った

                                                                      Rustで既存のソフトウェアを再実装することは「Rewrite It In Rust」と言われたりしますが、 最近はfindの代替である fd やlsの代替である exa などといったUnixコマンドのRust実装がよく見られます。 このようなUnixコマンド以外にも、Goで書かれたコンテナランタイム runc のRust実装である youki や既存のNodeバージョンマネージャーである nvm よりも200倍速い[1]とされている fnm や Lemmy というRustで書かれた reddit の代替などがあります。 また、僕自身もRubyのバージョンマネージャーである rbenv のRust実装である frum を作ったりしています。 作ったもの 今回は、こういったRustで書かれた、既存のソフトウェアの代替の一覧を作ってみました。 RustでOSSを作る際にこういった一覧があると、

                                                                        Rustで書かれた、既存のソフトウェアの代替一覧を作った
                                                                      • Why Go and not Rust?

                                                                        What's the role of Go in a universe where Rust exists? Imagine you’re a developer who mainly works with Go. You go to an event and, while chatting with some people, you decide to share with them the news that you wrote a small tool that does something. You claim that since you wrote it in Go, it’s fairly fast, it’s a single binary, etc. The group seems pleased with your recount and you start feeli

                                                                          Why Go and not Rust?
                                                                        • マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え

                                                                          怒田さん*1のこの記事、「CとRustで一から作るマイクロカーネルOS」のおかげで、マイクロカーネルとRustが今ホットです。そこで、技術書典6, 7に出展したYabaitech.tokyoにて連載している、"Writing a (micro)kernel in Rust in 12 days"から、マイクロカーネルとL4についての話を書いた"1日目"の記事の一部冒頭を、いい機会なので再編集してご紹介します。「マイクロカーネルってタネンバウム教授とリーナスの論争のあれだよね?」とか、「L4ってなに?」って方に読んでいただいて、L4ファミリーとマイクロカーネルについて簡単にご紹介できればなと思います。 ちなみに抜粋元の上述の記事は、僕が怒田さんと同じようにRustでマイクロカーネルを書いてみよう、という趣旨の企画です。なので、Yabaitech.tokyoの方もよろしくお願いします!ただし、

                                                                            マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え
                                                                          • Rust で SQLite を再実装している - kawasin73のブログ

                                                                            セキュリティを盾に一点突破。どうもかわしんです。最近 Rust で SQLite を実装してます。 以前の記事で HTTP Parser を Rust で実装しようとしたものの、すでに実装されていたので断念しましたが、いい題材を見つけました。SQLite です。開発中のリポジトリはこれです。 github.com 今の時点では、Read Only で1つの WHERE 句を持った SELECT 文しか処理できないですが、以下の機能を実装しています。 sqlite3 で生成された database ファイルの読み取り (cursor.rs, btree.rs, record.rs) SQL 文の解析 (token.rs, parser.rs) テーブルとインデックスのメタデータのパース (schema.rs) 動的なファイルの読み込み (pager.rs) SQL クエリとスキーマ情報を元に

                                                                              Rust で SQLite を再実装している - kawasin73のブログ
                                                                            • Rustプログラムのデバッグ辛すぎ問題 - Qiita

                                                                              この記事は Rust Advent Calendar 2023 シリーズ2 の1日目の記事である。 Rustは良くも悪くもシステムプログラミング言語なので、何も工夫しなければデバッグの体験がC言語と同じレベルになってしまう。例えば「rust lldb」でググると上位に Debugging Rust programs with LLDB is a nightmare というスレッドが出てきてしまう。 使うべきツールを知っていれば幾分かマシな体験にできる。Rustコンパイラはデバッガとして LLDB, GDB, WinDbg/CDB をサポート していて、僕はWinDbGは10年くらい触ってないので、この記事ではLLDBとGDBについて書く。 LLDB Apple SiliconのMacだとGDBが使えないので、必然的にLLDBを使うことになる。 CodeLLDB GDBと同じく、LLDBにも

                                                                                Rustプログラムのデバッグ辛すぎ問題 - Qiita
                                                                              • Rust で SQLite を再実装した 2023 - kawasin73のブログ

                                                                                気合いで実装、どうもかわしんです。 この記事は Rust Advent Calendar 2023 の6日目 兼 情報検索・検索技術 Advent Calendar 2023 の 6 日目です。 Rust で SQLite をフルスクラッチで実装しています。 github.com なぜ SQLite を Rust で再実装しようと思ったのかについては以前の記事で紹介しています。一言で言えば、誰も Rust で SQLite を書いている人がいなかったからやってみたのですが、そもそも SQLite が強すぎるということが再実装しているうちにわかってきて絶望しています。 kawasin73.hatenablog.com 4 ヶ月前にこの記事を書いたときは簡単な SELECT 文しか実行できなかったのですが、現時点では SELECT, INSERT, DELETE 文をサポートし、express

                                                                                  Rust で SQLite を再実装した 2023 - kawasin73のブログ
                                                                                • とほほのRust入門 - とほほのWWW入門

                                                                                  「ラスト」と読みます。 Mozilla に従事するグレイドン・ホアレが個人的に開発していましたが、のちに Mozilla の公式プロジェクトとなりました。 2021年には、AWS, Google, Huawei, Microsoft, Mozilla がメンバーとなる Rust Foundation に権利が委譲されました。 Rust は「錆(さび)」を意味します。開発チームに自転車乗りが多く、ロゴも自転車のさび付きチェーリングを元にしています。 C言語やC++に変わる言語として開発されました。 Stack Overflow で2016~2019年の間「最も愛されているプログラミング言語」として1位を獲得しています。 Firefox の Servo(HTMLレンダリングエンジン)も Rust で開発されています。 if ... や while ... なども式として評価することができます。