下記に登壇した際の資料です。 https://findy.connpass.com/event/331621/ スライドはメモ書き程度のものとなっており、実際には講演の中で口頭で数多くの補足が入っています。講演の内容をまとめた記事も近日公開される予定なので、あわせてご覧ください。
だれでもできるシリーズとして、Rustでカーネルモジュールを実装しながら学んできましたが(役に立たないキャラクタデバイスドライバなど)、そろそろ実際に使える機能を実装したいころですよね! 今回は、筆者が実装したネットワークPHYドライバが、Rustで実装された初めてのデバイスドライバとしてLinuxカーネルに採用された話を紹介します。 誤解:LinuxカーネルがRustをサポート「LinuxカーネルがRustをサポートした」というニュースを見て、Rustのコードがどんどん採用されていると誤解している方もいるようです。このニュースは、「LinuxカーネルをRustでも書けるようになりましたが、実際に何かを実装するかどうかは未定」という意味です。Linuxカーネルは、メモリマネージメント、ネットワーク、暗号など、数多くのサブシステムで構成されており、それぞれのメンテナが、コードの採否を判断しま
はじめに 僕はDeno Land Inc.でDenoを利用したサーバレスエッジホスティングサービスのDeno Deployを開発するチームに所属しています。OSSのほうのDenoのメイン言語はRustで、Deno Deployのバックエンドも同様にRustで書かれています。 今年のアドベントカレンダーで一休さんから以下の記事が公開されましたが、日本でもRustをWebバックエンドの言語として採用する企業がじわじわと増えてきている印象があります。 Deno DeployのバックエンドをRustで開発してきて、RustでWebバックエンドを書くことのメリットやデメリットをいくつか感じたので、この記事で紹介したいと思います。 Deno Deployの構成 まず、ざっくりとDeno Deployのバックエンドの構成を紹介します。 多くのコンポーネントがありますが、ここではどのようにRustを利用し
はじめに Rust のデバッグ辛すぎという話は Rustrician にはよく聞く話で、 Rustプログラムのデバッグ辛すぎ問題 という記事もあるくらいです。 FireDBG という新しいデバッガーが SeaQL [1] からリリースされました。 リリースは 2023/12/11 で、直後の週末に使ってみた感想を投稿する予定だったのですが、コロナに感染し身も心も記事も寝ていたので、クリスマス明けに投稿に至りました。 Rust におけるデバッグの現状 現在、LLDB と GDB というデバッガーが有力で、Rust を使う人たちはそれらを駆使してデバッグを行っている、、、と思いきや、私の周りでは println! でログに出力してデバッグしている人が多いです。 私の開発環境は Apple Silicon Mac なので、デバッガーは LLDB しか使えないのですが、上手く使いこなすことができず
はじめに こんにちは〜!皆様いかがお過ごしでしょうか? no plan inc. CTOの @serinuntius です。 これはno plan inc.の Advent Calendar 2023の22日目の記事です。 最近気に入っているOSSとかを作者様に感謝しながら、スターを送りながら、こんなのを使用してるぜって紹介する記事です。 「OSSは使っていることを公言するだけでも貢献になる」とsongmuさんが言っていたので、私も貢献したいと思います。 紹介する順番に特に意味はありません。 rtx 個人的お気に入り度: ★★★★★ スター数: 3700 Rustで作られている💯 LICENSE: MIT 初っ端は、rtxです。あらゆるプログラミング言語環境(Runtime)のマネージャーです。 公式のデモ画像を見ていただくのが一番早いと思います。 私はこれを使う前はanyenvというも
これはRust Advent Calendar 2023の10日目の記事です。 Raspberry Pi Picoとは Raspberry Pi PicoはRaspberry Pi財団が開発しているマイコンボードで、よく知られているRaspberry Piとは異なり、Cortex-M0+という非常に小さいアーキテクチャのCPUを搭載しています。 具体的には通常のCortex-AシリーズにあったようなCPUモードがなく、MMUのようなページング機構もないため、Raspberry Piとは異なり、Linuxを動かすことはできません。 しかしながら、その分非常に省電力で動作し価格も安価です(秋月電子通商でこのブログ執筆時点で770円、無線機能がついたPico Wで1200円)。 ちょっとしたガジェットや自作キーボードのコントローラーに使う例などを見かけます。 RustでPicoを動かす 最もお手
Rustでの組込み開発を爆速で始められるよう、便利なテンプレートを用いてLチカを実行する方法について解説します。 この記事を読むことで、約10分でRaspberry Pi Picoを動かし、参考文献を見ながら思い通りの電子工作ができるようになります。 想定環境 以下はWindows 11 Homeでの実行を想定していますが、MacやLinuxでもほぼ同様の手順で爆速入門できます。 そのため、(コマンドプロンプトなどの)用語を使用環境に合わせて読み替えてください。 前提知識 git cloneが使える程度のGitの知識が必要です。 Raspberry Pi Picoの準備 Raspberry Pi Picoは、秋月電子通商などで700円程度で購入できます。 本記事の内容を実行するためには、以下のものを入手してください。 品名 個数 Raspberry Pi Pico 1 USBケーブル(mi
フルスタック組織における低レイヤ開発への期待Computing Workshop を主催した高野率いる System SoftwareチームとCTOが、自社オペレーティングシステム (OS) 開発、形式検証といった「低レイヤ」の面白さについて語り合いました。 カーネル開発や形式検証など、様々なコンピュータサイエンスのバックグラウンドを持つメンバーたちが、フルスタック組織における低レイヤ開発への想いと、一緒に働きたい人物像について話します。 「前編」では、OS開発に向ける期待や、それぞれの「やりたいこと」について語りました。 「アプリケーションをわかっている人」がOSを作る - 通常のOS開発と逆のアプローチ。 2022年4月 入社。『ゼロから学ぶRust』講談社 (2022)、『並行プログラミング入門』(オライリー・ジャパン、 (2021) 、の著者。大阪大学 招聘准教授。TIER IVで
Welcome to the this workshop! In this hands-on workshop, we will guide you through the process of building a full stack application using Rust for the API, Actix-Web as the web framework, SQLx for database connectivity, Dioxus for the front-end, and Shuttle for deployment. This workshop assumes that you have a basic understanding of Rust and its syntax. Throughout the workshop, you will learn how
Rustの特長の1つである安全性。そのための大きな役割を担うのが、コンパイラです。このRustコンパイラにコントリビュートしている日本人エンジニアがいるということで、TechFeed公認エキスパートにご就任頂くと同時に、まずは記念のインタビューとしてお話を伺いました。 Rustにコントリビュートすることになったきっかけ ――今日はお時間をとっていただいてありがとうございます。最初に自己紹介をお願いします。 はい、前田喬之です。TaKO8KiというHNで活動していて「タコヤキ」と読みます。インターンを含めて、株式会社マネーフォワードに3年半勤務しています。 Rustは大学3、4年生の頃から使い始めて、しばらくしてコントリビュートするようになり、去年の8月に正式にcompiler-contributorsチームのメンバーになりました。大学では市民工学を専攻していたので特にバックグラウンドは無か
自分のブログを辿ってみたところ Rust を 2020 年には書いているようだが、初心者を名乗らせていただく。なぜならブログのネタにする以外で Rust 書いたことないし、これも調べながら書いているからだ。もっと練習したい、どこかに Rust を書ける機会ないかな〜チラッチラッ 👀 なぜありふれていそうな題材で書くか 題材はありふれているし解説もたくさんあるが、それらを読んで理解できるのか?という疑問がある。というのも、所有権、借用、ライフタイム自体についての説明は至る所で見るが、これらが無いと何が大変なのか、導入することで何が解決されるかがよく分からないと思うからだ。勿論、そのような点まで解説してくれているものもたくさんあるが、正直なところ Not for Me だった。何が Not for Me だったかというと、C++ の知識やコンピュータサイエンスの知識があることが前提になってい
機運高まるRust言語に入門しよう Windows自体の開発に使われていることも判明、次期Android OSの開発言語にも採用、ついにLinuxでも採用される(かも)とのことで最近機運が高まっているMozilla発のRust言語。 このエントリでは商業本を分野別に、その中では発行日が新しい順にまとめてみました。第2版がある本の初版含め合計約25冊。そのうち2022年に出たのが計9冊、【追記】2023年に2冊と、数えてみると既にけっこうな冊数になっています。Go言語の日本語の本が確か合計15冊前後ぐらいだったので負けずに盛り上がっていますね。 機運高まるRust言語に入門しよう 補足的にRust本の傾向 入門者向けの本 動かして学ぶ!Rust入門 パーフェクトRust ゼロから学ぶRust システムプログラミングの基礎から線形型システムまで (KS情報科学専門書) 手を動かして考えればよく
TLS(Transport Layer Security)が難しすぎると、お嘆きのセキュリティファースト世代の皆様、RustでLinuxカーネルを実装しながら学んでみましょう! カーネルモジュールの実装は難しい?それは誤解です。TLSをアプリケーションとして実装しようとすると、各種のライブラリを検索していたつもりが、SNSを眺めていて、一日が終わっていることありますよね。カーネルモジュールを実装するために使えるのはカーネルの機能だけです。検索する必要はなく、雑念が生じる余地はありません。その集中力があれば、カーネル開発は難しくありません。 TLSとLinuxカーネル皆様の中には、LinuxカーネルはTLSをサポートしているのでは?と思っている方がいるかもしれません。TLSは実際のデータの送受信の前に、ハンドシェイクと呼ばれる、暗号鍵の合意や相手の認証を実施します。ハンドシェイク後、Linu
インストール方法 bat ripgrep, ripgrep-all fd, fselect starship exa, lsd, nat nushell navi, tealdeer delta hyperfine xsv, csview py-spy bandwhich, gping, ht, dog hexyl, bingrep broot tokei genact, globe, glitchcat monolith shellharden fnm, volta pastel gitui, onefetch, git-interactive-rebase-tool skim watchexec dust, diskonaut, dua-cli, dutree zoxide ytop, bottom, zenith mcfly sd, desed topgrade pueue proc
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く