We recently integrated new functionality into our CrowdStrike Falcon® sensor that was implemented in Rust. Rust is a relatively young language with several features focused on safety and security. Calling Rust from C++ was relatively straightforward, but one stumbling block we’ve run into is how Rust deals with out-of-memory (OOM) conditions. Let’s start by defining what we mean by “out of memory”
This book is an introduction to building performant software we can justifiably trust. That means having sufficient data to support confidence in our code's functionality and security. Trustworthiness is a hallmark of high assurance software. With assurance as our driving concept, we'll take a hands-on, project-based approach to two fundamental but often inaccessible topics in software development
かとじゅんさんのお誘いで、私塾匠真堂にて登壇させていただき、Rust に関する話をさせていただきました。ありがとうございました。 今回のセッションを通じて Rust を始めたくなった方向けに、Rust をはじめるための資料をいくつかリストアップしてます。よかったらどうぞ。 プログラミング言語の学習方法について Rust についてまず概観を掴む 文法を学ぶ 何かアプリケーションを実装してみる ちょっと突っ込んだ話を知りたい コミュニティの力を借りる 仲間を見つける 更新履歴 プログラミング言語の学習方法について みなさんは新しいプログラミング言語を学ぶ際、どのように学びますか? 私は、軽く制御構文やデータ型の作り方などを学んだ後は、すぐにアプリケーションを作ってみて、詰まったらリファレンスを参照するといった学び方をしていることが多いです。 逆に、リファレンスをまず眺めて、文法をしっかり把握し
When WebAssembly was first shipped it was an MVP which, while minimal, has spawned a huge number of exciting projects which work today across all major browsers. Rust has capitalized on the wasm MVP’s success as well with tools like wasm-bindgen and wasm-pack by making the MVP feel less minimal. WebAssembly is yet more ambitious, though! Since inception it’s always been intended to extend the WebA
Rust 🦀 and WebAssembly 🕸 This small book describes how to use Rust and WebAssembly together. Who is this book for? This book is for anyone interested in compiling Rust to WebAssembly for fast, reliable code on the Web. You should know some Rust, and be familiar with JavaScript, HTML, and CSS. You don't need to be an expert in any of them. Don't know Rust yet? Start with The Rust Programming Lang
κeenです。少し前の話になりますがRustの関連型を駆使してHigher Kinded type Trait(高階型トレイト)を実現してしまったものが出回ってたのでそれについて。 本来RustはHKTをサポートしていませんが不思議なことに実装出来てしまっているのです。 HKTについて微塵も知らない方にも分かるように解説していきます。 map 可能なトレイト Option、Result、etc 色々なトレイトが map メソッドを実装しています。 それぞれ型シグネチャを抜き出してみましょう。 Option: map<U, F: FnOnce(T) -> U>(self, f: F) -> Option<U> Result: map<U, F: FnOnce(T) -> U>(self, op: F) -> Result<U, E> 驚く程似てますね。これを抽象化して「mapメソッドを持つ」
10 Jul 2015 Part 1: Implementing WebSocket. Introduction. In this series of articles we’ll follow the process of creating a scalable, real-time chat service. The objective is to learn more about practical usage of the emerging language Rust and to cover the basic problems of using system programming interfaces, going step by step. Part 1 covers the project setup and the implementation of a bare bo
Cookin' with Rust This Rust Cookbook is a collection of simple examples that demonstrate good practices to accomplish common programming tasks, using the crates of the Rust ecosystem. Read more about Rust Cookbook, including tips for how to read the book, how to use the examples, and notes on conventions. Contributing This project is intended to be easy for new Rust programmers to contribute to, a
The Rust Programming Language by Steve Klabnik and Carol Nichols, with contributions from the Rust Community This version of the text assumes you’re using Rust 1.76.0 (released 2024-02-08) or later. See the “Installation” section of Chapter 1 to install or update Rust. The HTML format is available online at https://doc.rust-lang.org/stable/book/ and offline with installations of Rust made with rus
Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く