Rustで"Hello World"を出力できる小さなWasm Runtimeをゼロから実装して、WasmとWASIの動作原理を理解する本です。
In 2017, we wrote a blog post on how we store billions of messages. We shared our journey of how we started out using MongoDB but migrated our data to Cassandra because we were looking for a database that was scalable, fault-tolerant, and relatively low maintenance. We knew we’d be growing, and we did! We wanted a database that grew alongside us, but hopefully, its maintenance needs wouldn’t grow
概要 Rustの形式検証ツールCreusotを触ってみた備忘的まとめ Creusotとは github 論文 CreusotはRustの形式検証、演繹的検証(Deductive Verification)のためのツールです。Rustのソースコード中にプログラムが満たす仕様を記述し、形式的に検証することができます。 形式検証では、proptestなどによるプロパティテストとは異なり、プログラムが仕様を満たすことを数学的に厳密に検証します。したがって、コーナーケースを見落とすようなことがありません。また、同様に厳密な検証を行うkaniなどのモデル検査よりも複雑な命題についての検証ができます。kaniのブログ記事に"subway map"という名前でRustのテスト・検証手法をいくつかまとめた図がありますが、この中ではPrustiと並んで最も右に位置する「重量級」の手法です。 CreusotはR
The latest news from Google on open source releases, major projects, events, and student outreach programs. As we find ourselves increasingly surrounded by smart devices that collect and process information from their environment, it's more important now than ever that we have a simple solution to build verifiably secure systems for embedded hardware. If the devices around us can't be mathematical
ゲームボーイエミュレーター、ゲームボーイアドバンスエミュレーターに続いて、Rustでファミコンエミュレーター"Sabicom"とスーパーファミコンエミュレーター"Super Sabicom"を書きました。 名前にRustっぽさを出してみました。 前回作ったマルチエミュレーターMERUのコアとして実装したので、ステートセーブや巻き戻しなどの機能も使えます。MERUの対応コアはこれで4つになりました。 こちらからWindowsとLinuxのプリコンパイルバイナリがダウンロードできるようになっています。 他のプラットフォームおよびソースコードからコンパイルする場合は ファミコンとスーパーファミコンどちらも一通り本体の機能は実装してあるつもりです。スーパーファミコンは割と細かいところまでちゃんと動くようにしてあるはずなので、動かなかったり表示がおかしかったりするソフトがあればバグですので、ぜひご報
「ついに、RustでLinuxカーネルを実装できる!」 待ち望んだ感を出してみましたが、2年前に記事を書いてから、すっかり忘れていました。LinuxカーネルのRustサポートについての意見を求められたら、「技術的には面白いけど、実用レベルではないね。」と、上から目線の回答でエンジニアレベルの高さをアピールするつもりでしたが、2年間の間、誰にも聞かれませんでした。 近々、LinuxカーネルにRustサポートが取り込まれそう、ということで、デバイスドライバを実装してみました。 Rust対応カーネルのコンパイルまずは、Rust対応を有効にしたLinuxカーネルをコンパイルする必要があります。「カーネルってコンパイルするものなの?」という読者は、ネットの長老たちに叡智を求めましょう。「インストール直後に、メモリ削減のために不要な機能を無効にして、カーネルコンパイルしたんじゃ。」というような、太古の
こんにちは、株式会社カウシェの Architect の伊藤です。 本稿では、カウシェが CDN の構築に利用している Fastly Compute@Edge について、「採用した理由」や「テストやデプロイの方法」などを実装例を混じえてご紹介します。 伊藤 雄貴 / @yuki.ito DeNA を経て 2018 年にメルペイにジョインし、Tech Lead や Architect としてマイクロサービスの開発や組織横断的な技術課題の解決に携わる。カウシェには立ち上げのタイミングから副業として参画し Backend 全般の実装を行う。2022 年 7 月より Architect としてカウシェに正式にジョインし、全社的な技術戦略の意思決定や技術基盤の構築に携わる。 Fastly Compute@Edge とはFastly Compute@Edge は Fastly が提供しているコンピューテ
Two months ago, we open-sourced RisingWave, a cloud-native streaming database. RisingWave is developed on the mission to democratize stream processing — to make stream processing simple, affordable, and accessible. You may check out our recent blog, document, and source code for more information about RisingWave. Rome was not built in a day, and neither are database systems. We started developing
This is a cross-post of the official security advisory. The official advisory contains a signed version with our PGP key, as well. The Rust Security Response WG and the crates.io team were notified on 2022-05-02 of the existence of the malicious crate rustdecimal, which contained malware. The crate name was intentionally similar to the name of the popular rust_decimal crate, hoping that potential
Arti 0.1.0 is released: Your somewhat-stable API is here! by nickm | March 1, 2022 Arti is our ongoing project to create a working embeddable Tor client in Rust. It’s nowhere near ready to replace the main Tor implementation in C, but we believe that it’s the future. Today, we've reached our 0.1.0 milestone: this means that we now consider Arti's high-level APIs to be "mostly stable", and ready fo
なぜ作ったのか これまでRustのGraphQLライブラリはjuniperとasync-graphqlがありました。 これら2つはCode Firstで設計されており、GraphQLのスキーマ定義をRustのマクロを使用して定義します。 以下はasync-graphqlの例です。 use async_graphql::*; struct MyObject { value: i32, } #[Object] impl MyObject { async fn value(&self) -> String { self.value.to_string() } async fn value_from_db( &self, ctx: &Context<'_>, #[graphql(desc = "Id of object")] id: i64 ) -> Result<String> { let co
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
Code at the speed of thoughtZed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter. It's also open source. Stay in FlowProductive coding starts with a tool that stays out of your way. Zed combines the power of an IDE with the responsiveness of a lightweight editor for productivity you can feel under your fingertips. Engineered for performanceZed efficiently le
この記事は Node.jsのカレンダー | Advent Calendar 2021 - Qiita の2日目の記事です。 今回はnapi-rsというNode-APIを使ったNode.js add-onをRustで書けるツールを紹介します。 napi.rs 目次 目次 Node-API とは napi-rsとは napi-rsの使い方 Rust のコードを追加してみる napi-rsを使ったnpm publish 今後試したいこと 著名npmパッケージのセキュリティインシデントとpostinstallの問題点 まとめ Node-API とは napi-rsの紹介をする前にNode-APIについて説明します。 Node.jsは、Node.js自体をネイティブレベルで拡張するためのadd-onをユーザーが開発するためのNode-APIと呼ばれるAPIを提供しています。Node-APIは以前はN
このサイト r7kamura.com の実装言語をRubyからRustに変えてみた。 アプリケーションの概観 このサイトには、大別すると次の6種類のルーティングパターンがある。 GET / トップページ GET /articles/:article_id 記事ページ GET /feed.xml RSSフィード GET /links リンク集 GET /sitemap.txt サイトマップ (Google Search Console等が利用する) GET /* その他の静的ファイル (CSSや画像など) Rubyの実装では、適当なRackアプリケーション + rack-captureという構成で、Webアプリケーションとして実装しつつGitHub Pagesのために静的ファイルも吐き出せるという仕組みになっていた。 Rustの実装もほぼ同じで、適当なHTTPサーバー + 適当なHTTPクラ
Rust is a fast, reliable, and memory-efficient programming language. It's been voted the most loved programming language six years in a row (survey). Created by Mozilla, it's now used at Facebook, Apple, Amazon, Microsoft, and Google for systems infrastructure, encryption, virtualization, and more low-level programming. Why is Rust now being used to replace parts of the JavaScript web ecosystem li
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く