プログラミングRustは昔一回読んだ 自力で書けなすぎるから写経して学ぼうかと思ったが、中々染み付く感じがしない
プログラミングRustは昔一回読んだ 自力で書けなすぎるから写経して学ぼうかと思ったが、中々染み付く感じがしない
Elixir and Rust is a good mix Author Name Jason Stiebs @peregrine @peregrine Image by Annie Ruygt This post is about using Rust with Elixir and how easily it can be done! If you want to deploy your Phoenix LiveView app right now, then check out how to get started. You could be up and running in minutes. Problem We need to perform a CPU intensive or system level programming task and there are just
Opens in a new windowOpens an external siteOpens an external site in a new window Shopify builds internet infrastructure for commerce to serve the needs of millions of merchants. Doing that requires building both flexible business logic and robust, high-performance systems. In addition to our commitment to Ruby for its flexibility and expressiveness, we have recently adopted Rust as our official s
はじめに Rust のマクロ 宣言的マクロ 手続き的マクロ proc_macro_workshop proc_macro_workshop について proc_macro_workshop の進め方 derive(Builder) マクロを作る マクロの処理の流れ マクロを開発する上での Tips dbg!マクロの使用 cargo-expand 01-parse 目標 実装方針 実装 02-create-builder 目標 実装方針 実装 空のbuilder関数をCommand構造体に実装する CommandBuilderを返すようにbuilder関数の実装を変更する 構造体名、フィールド名に応じた Builder 構造体を生成する 03-call-setters 目標 実装方針 実装 04-call-build 目標 実装方針 実装 05-method-chaining 目標 実装方針
Ruby Gems で Rust が Native として利用可能になった のでとりあえず UUIDv4 を生成してみた。 リポジトリ 準備 Ruby 側の gem に Rust を利用する準備として rb_sys と rake-compiler を利用します。この二つの gem は native compile するためにインストールしておきます。 Rust 側から Ruby へ関数を公開するために rb-sys と magnus を利用します。 gem install とりあえず cargo で Rust のパッケージを作って Rust を書いてみます。 > bundle gem rust_uuid --mit --ext rust_uuid # --ext を指定してnative build する gem を作成 > cd rust_uuid # 作成した gem のディレクトリへ移
この記事は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
The windows and windows-sys crates let you call any Windows API past, present, and future using code generated on the fly directly from the metadata describing the API and right into your Rust package where you can call them as if they were just another Rust module. The Rust language projection follows in the tradition established by C++/WinRT of building language projections for Windows using sta
Introduction Participation If you are interested in contributing to this book, check out the contribution guidelines. News 2024-03-17: You can now download the book in PDF format from this link. Design patterns In software development, we often come across problems that share similarities regardless of the environment they appear in. Although the implementation details are crucial to solve the tas
Component毎にローカルな状態を持つことはなく、基本的にグローバル変数一つで状態を管理します。 不安に思われるかもしれませんが、結構これでうまくいくんです。 また、更新処理が必ずUpdate内に集められているので、処理の一覧性が高くてメンテしやすいです。 個人的には、複雑なことを複雑にやってしまうことを戒めるアーキテクチャだと思っています。 Component毎に状態変数持ってたら、どれがどの値を持っているのかデバッグする時大変じゃないですか? 状態は全部同じ変数に格納しちゃえば見やすいですよ、的な 他にもさまざまなメリットがあるのですが、元ネタのElmの記事を検索すると色々出てくると思います Why Elmで検索すると、このアーキテクチャの利点がたくさん出てきます。 Yewとの比較 日本では、Rustのフロントエンドフレームワークと言えば、Yewが有名です。 どちらもフロントエンド
We are pleased to announce the 1.0 release of Tokio, an asynchronous runtime for the Rust programming language. Tokio provides the needed building blocks for writing reliable networking applications without compromising speed. It comes with asynchronous APIs for TCP, UDP, timers, a multi-threaded, work-stealing scheduler, and more. Over the years, we have been delighted watching our users build am
Owenのブログより。 もし、私が4年前にタイムスリップして、昔の自分にHaskellが輝きを失い始めていると言ったら、私はそれを信じないでしょう。私はHaskellで育ち、カテゴリ理論への欲求はHaskellによって刺激され、私の最大のプログラミング・プロジェクトはHaskellであり、Haskellを使った会社で働くのが夢でした。 しかし今では、以前ほどHaskellに興奮していないことに気が付きました。何が変わったのでしょうか? いくつか要因があると思います。主な要因の1つは、Haskellが本当に得意としているプログラミングの種類だと思います。つまり、抽象的で正しいインタフェースを作ることは、私にとって興味のあるタイプのプログラミングではないと言うことです。キャリアとしてソフトウェアに携わりたいと思ったとき、自分を繰り返さないようにする素晴らしい機能を持った言語はとても役に立ちまし
夏のある日、GoのgRPCが、Rustよりも2倍早いという記事を見つけました。「おいおい、測定ミスだろ」と強がっていましたが、日々、不安は高まっていきます。真実の愛であれば、疑うことは許されませんが、エンジニアの言語への愛など、所詮、状況に応じて使い分けるような打算的な愛。確認してみました。 性能測定結果上記の記事と同じく、gRPCのサーバソフトウェアは、Goはgrpc-go、Rustはtonicのgreeterの性能を、gRPCのクライアントソフトウェアghzを使って、測定しました。ハードウェアは、AWSを利用し、サーバはc5a.8xlarge(32 vCPU/64 GiB)インスタンス、クライアントはc5a.16xlarge(64 vCPU/128 GiB)インスタンスを使いました。 1台のクライアントインスタンスは、同時に3,000個のgRPCクライアントを立ち上げ、合計で6,000
Liam Tung (Special to ZDNET.com) 翻訳校正: 村上雅章 野崎裕子 2020-08-13 07:30 システムプログラミング言語「Rust」の開発者らは、この言語がLinuxカーネルの開発で利用されるようになる道を模索している。 元Intelのエンジニアで、Rust言語プロジェクトのリードを務めるJosh Triplett氏は、慎重に取り組む限り、そしてLinuxカーネルの生みの親であるLinus Torvalds氏の機嫌を損ねない限り、「カーネル開発にRustを取り入れていく道を探りたい」と考えていると述べた。 Triplett氏は、「Linux Plumbers Conference 2020」でLinuxカーネルツリー内でのRustサポートに関するセッションの開催を提案するという、Linuxカーネルメーリングリストのスレッドの中で、「カーネル内にRust
I am pleased to announce the first alpha release of rust-analyzer — a new "IDE backend" for the Rust programming language. Support rust-analyzer on Open Collective. Wait a second… Haven’t people been using rust-analyzer for a long time now? Well, yes, but we’ve never actually made a release announcement, so here’s one! Better late than never :-) Broadly speaking, rust-analyzer is a new compiler f
Rust を勉強し始めたので冬休みの間に Linux の boot protocol を喋る x86ブートローダー(自称:Krabs)を作ってみました。この記事では、開発に至った動機や、作成した Krabs の特徴とか仕組み、開発中におきた嬉しかったことなどについて書きたいと思います。 Krabs とは Krabs は、Rustで書かれた x86/x86_64(Legacy BIOS) 向けの4段ロケット構成のチェインローダーです。 bzip2 で圧縮された ELF 形式のカーネルを起動できます。bzip2 圧縮されたイメージを解凍して、次に展開してでてきた ELF イメージを再配置してからの、カーネルの起動となります。 内部では libbzip2 の C ライブラリを利用していますが、それ以外は全て Rust で記述されています。 GitHub - o8vm/krabs: An x86
端的に言うと、この取り組みは順調であり、エンジニアらはRustの利用について「全体的に肯定的」な評価を下しているが、不足している機能もあるという。それでも同社はこのプロジェクトを支援し、さらに進めていこうとしている。 Microsoftは今夏、Rustを活用する試験的な取り組みについて明らかにした。同社のさまざまなサービスについて、Rustで書き換えることを検討しようとしていると発表した。 Microsoftのエンジニアは、Rustに関心を寄せた理由について、過去10年ほどにわたって同社が毎年公開してきたパッチのうち、およそ70%はメモリー関連のものだったことなどを挙げていた。Rustはメモリー関連の問題を防ぐ目的などで構築された。 MicrosoftはどのサービスでRustを使用しようとしているのか明らかにしていないが、試験的な取り組みの状況についてユーザーに情報を公開していくとしている
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く