並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 3416件

新着順 人気順

Rustの検索結果361 - 400 件 / 3416件

  • 世界のプログラミング言語(44) シンプルで現代的なZig言語、RustやC++が複雑すぎると嘆く人の福音となるか

    Zigは2015年に登場した新しいオープンソースのプログラミング言語です。Go言語やRust言語のように、C言語の置き換えを目標にしたコンパイラ言語です。その最大の特徴はシンプルであることです。確かに、マクロもプリプロセッサもありませんが、現代的な言語に仕上がっています。最近話題になることが増えてきたので試してみましょう。 ZigのWebサイト Zigとは Zigはアンドリュー・ケリー氏によって2015年に登場した新しいプログラミング言語です。コンパイラ基盤のLLVMを利用しており、幅広いOSに対応した実行ファイルを生成することができます。 Zigはシンプルをモットーとしています。Zigのマニュアルでは、C++やRust、D言語など多くの機能を持つ言語を挙げて、それらとは異なりシンプルであることを名言しています。 そして、その構文は、C言語と似ているのですが、遅延処理のdefer構文や型推

      世界のプログラミング言語(44) シンプルで現代的なZig言語、RustやC++が複雑すぎると嘆く人の福音となるか
    • なぜRustを学ぶべきなのか 〜 5年経った今改めてまとめてみる - Qiita

      Rust 1.0がリリースされたのは2015年の5月で、5年前のこととなります。自分は1.0 betaのころにRustを始めたので、なかなか感慨深いものです。この5年の間に、いくつもの企業でRustを採用、もしくはその検討がされるようになり、ゆるやかであるもののRustの普及が進んでいると感じます。 そこで、1.0から5年経ち、だんだんと普及しつつあるこの時期に、なぜRustを使うべき、学ぶべきなのか、改めてまとめてみようかと思います。Rustを簡単に紹介する場合、メモリ安全とパフォーマンスの両立、高い生産性をもたらす言語機能などが挙げられることが多いですが、自分なりにRustを学ぶ意味を掘り下げてみようと思います。 なお、以下の文章はほとんど個人的な経験に基づいて書かれたものですので、その点はご注意下さい。 Rustはほどよい機能を提供する言語である 世の中には様々なプログラミング言語が

        なぜRustを学ぶべきなのか 〜 5年経った今改めてまとめてみる - Qiita
      • 高速なPythonの静的コード解析ツールを作った話

        TL;DR pylyzerというPython向けの静的コード解析ツールを開発した。 pylyzerは既存の静的解析ツール(e.g. pytype, pyright)よりも細かいコードの欠陥を指摘でき、エラー表示が丁寧であり、更に高速である。コードによっては100倍以上速く検査できた。 pylyzerはcargo(Rustのパッケージマネージャ)がインストールされている場合は以下のコマンドでインストール出来る。

          高速なPythonの静的コード解析ツールを作った話
        • WebAssemblyを用いてBERTモデルをフロントエンドで動かす - OPTiM TECH BLOG

          はじめまして。R&Dチーム所属、20.5卒の伊藤です。 普段の業務では自然言語処理と格闘していることが多いです。 今回は自然言語処理モデルとして有名なBERTをWebAssemblyを使用してフロントエンドで動かしてみた話になります。 最近、自然言語処理ライブラリとして普段お世話になっているHugging Face社のTransformersのTokenizerがRustで実装されていることを知り、それならばWebAssemblyにコンパイルして動かせるのではないかと試したみたのがきっかけです。 Tokenizerのみ動かしても実用性に乏しいため、Tokenizerから得られた結果からBERTを用いた推論をブラウザで動作させるまでを行い、備忘録がでら手順をまとめました。 どなたかの参考になれば幸いです。 8/26追記 本記事内のコードを含むリポジトリを公開しました!Dockerを使用してブ

            WebAssemblyを用いてBERTモデルをフロントエンドで動かす - OPTiM TECH BLOG
          • Facebook、次期ビルドシステムの開発でRust言語の採用を明らかに

            Facebookは同社のソフトウェア開発において、同社が主導して開発しているオープンソースのビルドシステム「Buck」を利用しています。 Backは高速なビルドが可能な点を大きな特徴としており、もともとAndroidアプリケーション向けのビルドシステムとして登場しました。 その後対応する言語やプラットフォームが拡張され、現在では15種類以上のプログラミング言語と、さまざまなスマートデバイス、VRヘッドセット、そしてサーバアプリケーションにまで対応しています。 次期ビルドシステムの開発を決断 しかしこうした拡張を重ねる中でBuckの複雑さは増していき、新機能の追加がどんどん難しくなってきたと、Facebook Developersのブログに投稿された記事「The future of Buck」で吐露されています。 同社の開発チームは約4年前から、Buckのアーキテクチャの改善を段階的に行う取

              Facebook、次期ビルドシステムの開発でRust言語の採用を明らかに
            • A half-hour to learn Rust

              Contents Variable bindings The let keyword Type annotation Uninitialized variables Throwing values away Shadowing bindings Tuples Destructuring tuples Statements Functions Blocks Blocks are expressions Implicit return Everything is an expression Field access and method calling Modules, use syntax Types are namespaces too The libstd prelude Structs Struct update syntax Destructuring structs Pattern

                A half-hour to learn Rust
              • RustのWebフレームワークで実現する“爆速アプリ開発” 「こういうのやりたい」がすぐできる、actix-webの活用

                ウェブアプリケーションをRustで開発している、株式会社estie。今回開催された「Rust、何もわからない…」では、実サービスで活用されているRustについて、その活用方法の事例を紹介しました。estieでアルバイトとしてRustを用いたウェブアプリの開発に取り組んでいるkenkoooo氏。「actix-web」の活用について発表しました。 アジェンダの紹介 kenkoooo氏:では僕、kenkooooが「actix-webで快適Webアプリ生活」というタイトルで発表します。よろしくお願いします。 (スライドを示して)今日発表したいことは、actix-webというRustのWebフレームワークが、どれだけ使いやすいかということです。それから、これは立ち入った話なのですが、actix-webのミドルウェアという機能があって、それも今estie(株式会社estie)でけっこう使っているので、

                  RustのWebフレームワークで実現する“爆速アプリ開発” 「こういうのやりたい」がすぐできる、actix-webの活用 
                • Graydon HoareのCompiler講義資料が面白かった話 - Arantium Maestum

                  Graydon Hoareが2019年にカナダのブリティッシュ・コロンビア大学でコンパイラ関連のゲスト講義した時の資料21 compilers and 3 orders of magnitude in 60 minutes - a wander through a weird landscape to the heart of compilationを読んだら大変面白かったのでメモ。 作者 Graydon HoareはMozillaでRustを開発したことで有名。その後Rustの開発もMozillaも離れて(というかRustの開発からは2013年に離れたようだ)、一時期AppleでSwift開発チームに所属していたらしい。(ソース:Reddit: I wonder, why Graydon Hoare, the author of Rust, stopped contributing in

                    Graydon HoareのCompiler講義資料が面白かった話 - Arantium Maestum
                  • GitHub - nushell/nushell: A new type of shell

                    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 - nushell/nushell: A new type of shell
                    • Starship: Cross-Shell Prompt

                      Compatibility FirstWorks on the most common shells on the most common operating systems. Use it everywhere! Rust-PoweredBrings the best-in-class speed and safety of Rust, to make your prompt as quick and reliable as possible. CustomizableEvery little detail is customizable to your liking, to make this prompt as minimal or feature-rich as you'd like it to be.

                        Starship: Cross-Shell Prompt
                      • Rust concepts I wish I learned earlier

                        This past month, I have been enthralled by the Rust programming language given its unique edge for writing memory-safe, modern programs. Over the years, several languages have emerged as the most preferred by engineers to write resilient, backend software. The tides have shifted from Java/C++ into Go and Rust, which combine decades of programming language theory to build tools that are effective i

                          Rust concepts I wish I learned earlier
                        • I'm porting tsc to Go

                          I’m porting the TypeScript Type Checker tsc to Go, and not Rust. As the creator of SWC, an extensible Rust platform, this might sound strange. Let me explain. Why port tsc?# As TypeScript continues to rise in adoption, large projects are facing a dilemma: type checking is one of the slowest parts of their workflow. Developers want type safety without the tradeoff of slower iteration cycles. The Ty

                            I'm porting tsc to Go
                          • TypeScriptやGoやRustでWebAssemblyウォークスルー - SMARTCAMP Engineer Blog

                            みなさん、WebAssembly聞いたことありますよね? スマートキャンプでエンジニアをしている瀧川です。 私が初めてWebAssemblyを目にしたのは確か2018年、VimをWebAssemblyに移植してブラウザで動くようにしたという記事だったかなと思います。 https://github.com/rhysd/vim.wasm 当時は「はー、なんだか未来を感じるけど、どう使われてくんだろう」くらいな認識で、最近までほとんど注目していませんでした。 しかし、少し前にffmpeg.wasmについての記事がバズっているのを見かけたときビビっときましたね。 ブラウザ上でffmpegが動かせるのはWebアプリケーションを作る上で可能性が広がりますし、何よりWebAssemblyのポテンシャルが活かされていると感じました。 そこで今回、WebAssemblyの世界観を味わうために、代表的なWeb

                              TypeScriptやGoやRustでWebAssemblyウォークスルー - SMARTCAMP Engineer Blog
                            • GitHub - bensadeh/tailspin: 🌀 A log file highlighter

                              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.

                                GitHub - bensadeh/tailspin: 🌀 A log file highlighter
                              • グーグル、Rustで書かれたセキュアなOS「KataOS」を発表

                                Googleが「KataOS」を発表した。これはオープンソースの「RISC-V」チップで動作する組み込みシステム向けに、新しいセキュアなOSを模索する初期段階の試みだ。 KataOSは「ほぼ完全にRustで」書かれているという。Rustは「Androidオープンソースプロジェクト」やLinuxカーネルプロジェクトで採用されているプログラミング言語だ。 Googleのオープンソースチームは、「KataOSはほぼ完全にRustで実装されており、Off-by-oneエラー(OBOE)やバッファオーバフローのようなバグのクラス全体を除去することで、ソフトウェアセキュリティの強力な出発点になる」と説明している。同チームは、インテリジェントなアンビエント機械学習(AmbiML)システムの構築を進めている。 プロジェクトのGitHubページでは、KataOSとそれを包含するプロジェクト「Sparrow」

                                  グーグル、Rustで書かれたセキュアなOS「KataOS」を発表
                                • Rustで作るLinuxデバイスドライバ

                                  だれでもできるシリーズとして、Rustでカーネルモジュールを実装しながら学んできましたが(役に立たないキャラクタデバイスドライバなど)、そろそろ実際に使える機能を実装したいころですよね! 今回は、筆者が実装したネットワークPHYドライバが、Rustで実装された初めてのデバイスドライバとしてLinuxカーネルに採用された話を紹介します。 誤解:LinuxカーネルがRustをサポート「LinuxカーネルがRustをサポートした」というニュースを見て、Rustのコードがどんどん採用されていると誤解している方もいるようです。このニュースは、「LinuxカーネルをRustでも書けるようになりましたが、実際に何かを実装するかどうかは未定」という意味です。Linuxカーネルは、メモリマネージメント、ネットワーク、暗号など、数多くのサブシステムで構成されており、それぞれのメンテナが、コードの採否を判断しま

                                    Rustで作るLinuxデバイスドライバ
                                  • Zig で簡単な JSON パーサを書いてみた。

                                    #include <stdio.h> int main(int argc, char* argv[]) { int i; for (i = 1; i <= 100; i++) { if (i % 15 == 0) puts("FizzBuzz"); else if (i % 15 == 0) puts("FizzBuzz"); else if (i % 3 == 0) puts("Fizz"); else if (i % 5 == 0) puts("Buzz"); else printf("%d\n", i); } return 0; } fn main() { let mut x = 1; while x <= 100 { if x % 15 == 0 { println!("FizzBuzz"); } else if x % 3 == 0 { println!("Fizz"); } e

                                      Zig で簡単な JSON パーサを書いてみた。
                                    • 並行プログラミング入門

                                      複数のプログラムを同時に実行する「並行プログラミング」は、処理速度を飛躍的に向上させる手法で、タスク管理、プロセス管理、スレッド管理をはじめ、複雑な仕組みについての幅広い知識とテクニックが必要となります。本書はRustとアセンブリ、そして一部Cを用い、CPUのアトミック命令、グリーンスレッド、アクターモデル、π計算、ソフトウェア・トランザクショナルメモリ、async/awaitなど、並行プログラミングに関する理論的な背景から実装までをカバー。さらに、アセンブリ実装の理解を深めるため、AArch64とx86-64アーキテクチャの説明も付録として収録。一歩一歩、着実に理解できるように、その仕組みから順を追って詳しく説明します。GitHub上で公開されているソースコードを実際に動かしながら、並行プログラミングの知識と理解を深めることができます。 関連ファイル サンプルコード 正誤表 ここで紹介す

                                        並行プログラミング入門
                                      • Meilisearch

                                        The next generation of searchMeilisearch is a flexible and powerful user-focused search engine that can be added to any website or application. Lightning fastSearch-as-you-type returns answers in less than 50 milliseconds. That's faster than the blink of an eye!

                                          Meilisearch
                                        • RustにおけるGitHub Actionsベストプラクティス - paild tech blog

                                          こんにちは大櫛です。Travis CIがオープンソースプロジェクトで使いづらくなったり、Azure PipelinesからGitHub Actionsになった途端*1爆発的な流行が生まれたりと、CIサービスにおいてもここ数年で色々な動きがありました。 特に技術記事・ブログのトレンドや企業のリクルート向け資料を見ていると、GitHub Actionsの利用が進んでいるような印象を受けます。 今回はそんなGitHub Actionsについて、Rust projectで使う際に知っておいた方がいいことやactionを紹介していきます。 以下の情報は執筆時点(2023-02-19)のものに基づいています。閲覧時には無効・誤ったものになっている可能性がありますので、必ず最新の情報・状態を確認するようにしてください。 actions-rs(非推奨) まずはじめに、執筆時点では使用を控えた方がいいact

                                            RustにおけるGitHub Actionsベストプラクティス - paild tech blog
                                          • Lambda Web Adapter でウェブアプリを (ほぼ) そのままサーバーレス化する Lambda Web Adapter - 変化を求めるデベロッパーを応援するウェブマガジン | AWS

                                            開発者の皆さまこんにちは!AWS Japan で Prototyping Engineer として働いている友岡です。 今日は AWS Lambda Web Adapter というソリューションをご紹介します。VM やコンテナ用に実装されたウェブアプリを、ほとんどそのまま Lambda でも動かせるようにするツールです。(なお、ここで言うウェブアプリとは HTTP を話す任意のウェブサーバーアプリを指します。) Lambda を初めて触る方がまず戸惑うのが、実行方法が Lambda 特有のものになることではないでしょうか。以下は TypeScript の例ですが、Lambda アプリケーションは基本的にこのようなインターフェースの関数 (ハンドラー) を実行する形になり、また外部からの入力はハンドラーの第 1 引数 event として渡されます。

                                              Lambda Web Adapter でウェブアプリを (ほぼ) そのままサーバーレス化する Lambda Web Adapter - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
                                            • Zig 言語のファーストインプレッション

                                              Bun を読むにあたって、まずZigを抑える必要があると思ったので数時間学習してみた。チュートリアルを一通りやったのと、ちょっと手を動かした程度で、正直エアプの域は出てない。 自分の動機として wasm を吐くのに使う言語をずっと探していて、Rust も悪くないが正直学習コスト高すぎでしんどく、Zig がそれに足るか調査していたという感じ。 この記事を書くにあたっての細かい作業はこちら https://zenn.dev/mizchi/scraps/287b4414da2b29 Zig 言語自体のスタンス まず Zig 言語自体がなぜ D や Rust ではないかはこの記事がわかりやすい https://ziglang.org/learn/why_zig_rust_d_cpp/ 以下 Deepl で訳してちょっと修正したもの nostd 指向 標準ライブラリなしでもファーストクラスでサポート

                                                Zig 言語のファーストインプレッション
                                              • Writing a container in Rust

                                                Just writing about Rust stuff, Python automation, random tech subjects, and anything related to the world, virtual or not, dreamt or real. Website moved to litchipi.site, nothing new will be published there. All the articles can be read from the new website

                                                • gRPCが遅すぎる?eBPFでカーネル内で動かす!

                                                  gRPCの高速化への飽くなき追求(具体的な目標や目的なし)を続けてきましたが、まだ、遅すぎる!今回は、安全にLinuxカーネルに機能を追加できるeBPFという仕組みを使って、カーネル内で動作するgRPCサーバを実装しました。その結果、前回実装したRust版よりも2倍高速になりました! eBPFで安全なユーザコード実行eBPFを使えば、システムコール、パケットの受信など、カーネルで発生する様々なイベントに対して、私たちユーザが実装したコードを、カーネル内部で実行することができます。同じようにカーネルに機能を追加できるカーネルモジュールと違って、eBPFは、データ破壊など、システムの安定性に深刻な影響を与える危険なコードの実行を防ぐことができます。 eBPFで検索すると、たくさんの日本語の情報が見つかるXDPは、ネットワークインターフェイスのドライバのパケット受信時に、ユーザコードを実行する仕

                                                    gRPCが遅すぎる?eBPFでカーネル内で動かす!
                                                  • Rustベースのモダンなterminal 、 Warp | DevelopersIO

                                                    Introduction Warpは、生産性と使い勝手を考えて再設計されたRust製のterminalです。 先日パブリックベータが開始され、誰でも使えるようになりました。 ※現在はMacのみ。他のプラットフォーム近日対応予定とのこと 完全Rustネイティブのアプリで、GPUでレンダリングするので高速です。 いまの開発に適した、モダンな機能をそなえたterminalになっています。 Why Warp? ここに、なんでいまさらterminal? の理由が書いてます。 かんたんにまとめると、 開発者ならコードエディタとターミナルは絶対使う コードエディタはどんどん進化してるがterminalは昔から変わってないから再開発した Warpの入力は最新のテキストエディタみたいに使える。出力はnotebookみたいに使える。 よく使うコマンドをsuggestionしたり、ワークフロー機能でコマンド入力

                                                      Rustベースのモダンなterminal 、 Warp | DevelopersIO
                                                    • GoCLIツール職人のためのRust入門

                                                      三連休中にこんなツールを作った。 普段はGoでCLIツールを書いているけど、このツールで初めてRustを本格的に使ったのでその際に得た知見を元にGoでCLIを作っている人向けにとりあえずRustでツールが作れる状態になれることを目指して、CLIツールを作るときによく使っている処理やRustならではの構文などを中心に書いてみた。 この記事を通して「なぁ~んだ。案外Rustでもサクッとツール作れそうじゃん」とか「Rustにも意外とツール向けのライブラリとかあるんだなぁ」とか思って貰えると嬉しい限り。

                                                        GoCLIツール職人のためのRust入門
                                                      • 「Rust」言語向けの“ビジュアルタイムトラベルデバッガー”「FireDBG」が公開/関数の呼び出しを「コールツリー」として可視化、自由に時間を移動してエラーを特定

                                                          「Rust」言語向けの“ビジュアルタイムトラベルデバッガー”「FireDBG」が公開/関数の呼び出しを「コールツリー」として可視化、自由に時間を移動してエラーを特定
                                                        • WebAssemblyランタイム「Wasmtime」がバージョン1.0に到達、本番利用に対応。Bytecode Allianceによる事実上の参照実装

                                                          Bytecode Allianceがオープンソースで開発しているWebAssemblyランタイム「Wasmtime」がバージョン1.0に到達し、本番利用にも対応した正式版としてリリースされました。 Bytecode AllianceはWebAssemblyの標準化を推進する団体であり、同団体が標準化を進めているWASI(WebAssembly System Interface)は、WebAssemblyにファイルやネットワーク、メモリなどのシステムリソースへ安全にアクセス可能にするAPIの標準仕様です。 WASIは、WebAssemblyアプリケーションからOSのAPIを抽象化することになるため、WASI対応のWebAssemblyアプリケーションは基本的にOSに依存せずに実行可能なアプリケーションとなります。 WasmtimeはこのWASIを策定しているBytecode Alliance

                                                            WebAssemblyランタイム「Wasmtime」がバージョン1.0に到達、本番利用に対応。Bytecode Allianceによる事実上の参照実装
                                                          • Rustで扱える機械学習関連のクレート2021 - Stimulator

                                                            - はじめに - 本記事では、Rustで扱える機械学習関連クレートをまとめる。 普段Pythonで機械学習プロジェクトを遂行する人がRustに移行する事を想定して書くメモ書きになるが、もしかすると長らくRustでMLをやっていた人と視点の違いがあるかもしれない。 追記:2021/02/24 repositoryにしました。こちらを随時更新します github.com 追記;2021/07/26 GitHub Pagesでウェブサイトにしました vaaaaanquish.github.io - はじめに - - 全体感 - - 機械学習足回り関連のクレート - Jupyter Notebook Numpy/Scipy Pandas 画像処理 形態素解析/tokenize - scikit-learn的なやつ - 各ライブラリと特徴比較 - Gradient Boosting - XGBoos

                                                              Rustで扱える機械学習関連のクレート2021 - Stimulator
                                                            • Rust の嬉しさをより多くの日本語話者に知ってもらうためには、スタンフォードで強く敷かれている educational benefit の概念を Rust コミュニティが抱くことが大事なのではないか、という私見

                                                              Rui Ueyama @rui314 スタンフォードの授業で「え、ここまでそれわかってなくて聞いてたの?」という質問をしてる生徒はかなりいたし、教える方は驚くこともなく普通にそういう基本的な質問に答えていたので、ああいうのは見習いたい(どちら側も)。 2021-08-14 21:55:14 Rui Ueyama @rui314 こういうの、難しい問題とかではなくて本当に簡単なやつで、逆に具体的な例を思い出せないけど、例えば集合論で「∅と書いてあるのは数字の0ってこと?」みたいな。ここまで何十分も空集合がわからずに聞いてたのか〜みたいな。 2021-08-14 22:15:32

                                                                Rust の嬉しさをより多くの日本語話者に知ってもらうためには、スタンフォードで強く敷かれている educational benefit の概念を Rust コミュニティが抱くことが大事なのではないか、という私見
                                                              • 開発者がもっとも好きなプログラミング言語は「Rust」、Stack Overflow「2020 Developer Survey」より

                                                                調査結果のうち、言語またはその技術を使用して開発を行っており、継続的に利用したいプログラミング言語を尋ねた質問(複数回答)では、Rust(86.1%)が1位となった。その理由としては、パフォーマンス、制御のしやすさ、安全にメモリを利用できること、システムプログラミングに適した同時実行性の高さ、マクロなどが挙げられている。オープンな開発プロセスを採用していることもあって、(利用していない人を含む)多くのプログラマから高い評価が寄せられた。 2位はTypeScript(67.1%)で、WebフロントエンドおよびNode.jsコードベースにおけるサイズと複雑さの増大と相まって、TypeScriptの静的型付けによるコードの正確性が、プログラマの信頼感を高めている。また、TypeScriptのpolyfillによって、ECMAScriptにおけるアロー関数や非同期処理、クラスといった変更との高い互

                                                                  開発者がもっとも好きなプログラミング言語は「Rust」、Stack Overflow「2020 Developer Survey」より
                                                                • VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に

                                                                  VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に マイクロソフトは、オープンソースで開発しているコードエディタ「Visual Studio Code」(以下、VSCode)の最新版となる2023年9月版(バージョン1.83)で、JavaScriptデバッガがWebAssemblyのデバッグにも対応したことを明らかにしました。 The JavaScript debugger can now debug code compiled into WebAssembly if it includes DWARF debug information. For example, C++ code compiled using Emscripten can be debugged: pic.twitt

                                                                    VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に
                                                                  • 第1回 Rust Hands-On

                                                                    2021/02/17 に、サイバーエージェント社内向けに開催した Rust ハンズオンの資料です。第1回は、Rust の概観を掴んでもらうことを目的にプレゼンテーションを行いました。

                                                                      第1回 Rust Hands-On
                                                                    • 書き捨てるためのRust - Qiita

                                                                      はじめに Rustは「きちんとしたプログラムを書く時にはいいけど、書き捨てのプログラムを書くには向いていない」と言われることがあるようです。「一般論としては全くその通り」と思う一方で、自分自身を振り返ってみると、これまでPythonで書いていたような書き捨てに近いプログラムも全部Rustで書くようになっています。 なぜ書き捨てのプログラムもRustで書くのかを考えてみると 最初は書き捨てだと思っていても、手直ししながら使い続けることは意外と多い コンパイラが割と多くのエラーを捕捉してくれるのでデバッグの時間が短くて済む 記述量の多さはエディタの補完があってあまり気にならない といったあたりが理由になっています。 そうはいってもRustがいろいろと面倒な言語であることには違いないので、書き捨てるときは普段のRustプログラミングとは少し違った書き方をした方がより早く書けるのではないかと思いま

                                                                        書き捨てるためのRust - Qiita
                                                                      • https://foundation.rust-lang.org/posts/2021-02-08-hello-world/

                                                                          https://foundation.rust-lang.org/posts/2021-02-08-hello-world/
                                                                        • Rustは銀の弾丸となり得るか 新しいOS開発を実現する可能性

                                                                          Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。garasubo氏からは、「Rust」で新しいOSの設計を試みる3つのOSについて発表がありました。 「Rust」で新しいOSの設計を試みる論文を紹介 garasubo氏:よろしくお願いします。「RustはOS界の銀の弾丸になりうるか 論文で見るRustで変わるOS設計」というタイトルでgarasuboが発表します。内容を詰め込みすぎちゃったので、けっこう駆け足の発表になると思いますが、ご了承ください。 Rustは、OSを書くにあたってC言語の代わりになるんじゃないかといろいろと注目されてきていて、今回は3つの論文を紹介します。論文はRustを使って新しいOSの設計を模索するというものです。 1つ目がSOSP2017(Symposium on Operating Sy

                                                                            Rustは銀の弾丸となり得るか 新しいOS開発を実現する可能性
                                                                          • フルスクラッチでQEMU型自作エミュレータはどう作る? Rustを使った自作バイナリ変換型シミュレータ

                                                                            Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。msyksphinz氏は、自作エミュレータで得た学びについて発表しました。全2回。前半は、自作エミュレータの実装とその結果について。 実機が存在しなくてもエミュレータを使えば動きの中身が見える msyksphinz氏(以下、msyksphinz):「Rustで作るフルスクラッチQEMU型エミュレータ」と題して、発表をします。 簡単に自己紹介をさせてください。Twitterだとこういうアカウントでいろいろと活動しています。趣味で「FPGA開発日記」というブログを書いていて、RISC-V、FPGA、CPU、低レイヤプログラミングなど、興味のあるものの記事を書いています。本業はハードウェア開発エンジニアをしていて、汎用CPUの設計などの仕事をしています。 今回はRustとい

                                                                              フルスクラッチでQEMU型自作エミュレータはどう作る? Rustを使った自作バイナリ変換型シミュレータ
                                                                            • 多コピーの原罪

                                                                              Rust 分かんないッピ ・ε・ Rust の文字列周りのプラクティスを基礎から勉強してみようと思って勉強したのでそのときのメモをまとめます。 Rust は GC を持たない なぜ Rust の文字列周りの型があんなに大変なことになっているかは、Rust のメモリモデルと Copy の仕組みを学ぶことで理解できた気がしたので、メモリの話から始めます。 FYI: https://www.reddit.com/r/rustjerk/comments/ovx0uq/the_two_major_ways_rust_changed_my_life/ GC とは まずは GC からです。 GC とは Wikipedia をそのまま引用すると ガベージコレクション(英: garbage collection; GC)とは、コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に

                                                                                多コピーの原罪
                                                                              • The technology behind GitHub’s new code search

                                                                                To perform a search, we intersect the results of multiple lookups to give us the list of documents where the string appears. With a trigram index you need four lookups: lim, imi, mit, and its in order to fulfill the query for limits. Unlike a hashmap though, these indices are too big to fit in memory, so instead, we build iterators for each index we need to access. These lazily return sorted docum

                                                                                  The technology behind GitHub’s new code search
                                                                                • Introducing Turbopack: Rust-based successor to Webpack – Vercel

                                                                                  Vercel's mission is to provide the speed and reliability innovators need to create at the moment of inspiration. Last year, we focused on speeding up the way Next.js bundles your apps. Each time we moved from a JavaScript-based tool to a Rust-based one, we saw enormous improvements. We migrated away from Babel, which resulted in 17x faster transpilation. We replaced Terser, which resulted in 6x fa

                                                                                    Introducing Turbopack: Rust-based successor to Webpack – Vercel