タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

rustとqiitaとdevelopmentに関するslay-tのブックマーク (3)

  • libbpf-rsを使ったRustとeBPFプログラミング - Qiita

    この記事は、Supershipグループ Advent Calendar 2021の17日目の記事になります。 はじめに この記事ではeBPFを活用してLinuxカーネルにフック用プログラムを注入することにより、ネットワークパケット処理を拡張する例を示します。 その実装にあたり、Rustとlibbpfの統合を行うlibbpf-rsを使った開発体験を記したいと思います。 TL;DR libbpf-rsによってRustとeBPFを組み合わせたプログラムのコンパイルやロード処理の手間は省けるようになります。実際、システムコールの呼び出し部分はほとんど意識する必要がありませんでした。 一方でeBPFプログラミングで特に苦労したのは以下の点でした。 デバッグとテスト つまりeBPFプログラミングにおいて周辺的な問題がツールによって解決されていき、よりプログラムの機能そのものの問題に時間を割くことができ

    libbpf-rsを使ったRustとeBPFプログラミング - Qiita
  • Rust初心者殺しの文法10選 - Qiita

    概要 この記事ではRust初心者が驚いたり混乱させられたりするようなRustの文法を10項目集めてみました。 これらの項目は知らないと理解できなかったりコンパイルエラーに悩まされたりする一見厄介なものたちなのですが、そのような直感的でない挙動を敢えてさせているところには重要な意味が込められていることが多いです。 そのため、これらの項目を通してRustが目指しているものや実現したい機能の一部を垣間見ることができると思います。 1. デフォルトの代入がムーブ Rustの最大の特徴が所有権の概念であることは有名ですが、それでもなお初心者殺しになるのがムーブです。 以下のコードがコンパイルエラーになるメジャーな言語は現状Rustくらいしか無いでしょう。 let mut a = vec![1, 2, 3]; let mut b = a; // ここでaの持つベクタの所有権がbにムーブされ、aは無効に

    Rust初心者殺しの文法10選 - Qiita
  • Rust でお気楽非同期プログラミング - Qiita

    Rust 1.39 からは async/await が安定化され、非同期処理がぐっと書きやすくなりました。 Futureトレイトを自分で実装したり、loop_fnで所有権を取り回したりmap_errでエラー型を魔改造したり することはもうありません! おもむろに await していきましょう この記事は Rust 1.46 と tokio 0.2.22 に基づいています Rust での非同期処理 Rust では、非同期な計算は Future トレイトとして抽象化されています。JavaScript などでは Promise と呼ばれるものです。以前は非同期処理を扱うときに、場合によっては Future トレイトを実装する必要があることがありましたが、現在では async キーワードを使うことで簡潔に記述することができるようになりました。 async キーワードを使い、 非同期関数 async

    Rust でお気楽非同期プログラミング - Qiita
  • 1