2022年12月29日のブックマーク (4件)

  • RustでAmazon商品URLの不要部分削除するCLI作った

    この記事は Rust Advent Calendar 2022 17日目の記事です。 はじめに 今年の9月,Rustの学習の一環として,Amazon商品URL内の省略可能部分(=日語部分・パーセントエンコード部)を削除するCLIアプリを作りました。 該当レポジトリはこちらです。https://github.com/Yuki2Kisaragi/cuturl 作成した背景 (作った動機を書いてきます。読み飛ばしてOKです。) 他人にAmazon商品を教える際,DiscordSlackなどのアプリケーションにURLを貼って教えることがあると思います。 長文URLでトークのタイムラインを圧迫することが好きではなかったので,一々要らない箇所を削除していました。 例えば,この商品のURLで紹介します。(プログラミングRust第二版の商品URLです。) これを https://www.amazon.

    RustでAmazon商品URLの不要部分削除するCLI作った
    bouzuya
    bouzuya 2022/12/29
  • Rustのunstable featuresについて - Qiita

    記事はRust Advent Calendar 2022の13日目の記事です。 記事では、標準的なRustの教材ではあまり触れられない、RustのUnstable(experimental)機能について解説していきます。 まず、unstable機能というものの存在意義から説明します。なんとなく知っている人は飛ばして構いません。 Rustは"Empowering everyone to build reliable and efficient software."というキャッチコピーから分かる通り、堅牢さを売りの一つとしており、強い後方互換性と安定性を保証します。しかしこのスタンスは開発の遅滞化を招きかねないというデメリットもあります。 そこで、Rustはコンパイラについてnightly/beta/stableの3バージョンを公開しています。nightlyバージョンはほぼ最も不安定で、最

    Rustのunstable featuresについて - Qiita
    bouzuya
    bouzuya 2022/12/29
  • Rustのライフタイム推論入門

    はじめに 「ライフタイムなんもわからん」ので、勉強した内容を整理しました。 Rust初心者なので、間違いがあったらコメントにて指摘頂けるとうれぴっぴです。 ライフタイムのおさらい Rustはすべての参照にライフタイムを持ちます。 明示的にライフタイムを指定する場合は'aのような、ライフタイムパラメータを使用する必要があります。 しかし、すべての参照にライフタイムパラメータを書くのは手間がかかるので、 一定のルールに沿ってライフタイムを推論しルール外のものはコンパイルエラーという仕様になっています。 ライフタイムパラメータを書ける場所は「ライフタイムポジション」と呼ばれ、次の場所で書くことができます。

    Rustのライフタイム推論入門
    bouzuya
    bouzuya 2022/12/29
  • Landlock: ユーザ権限によるアクセス制御

    LandlockはLinux 5.13で追加され、5.19で更新(ABI V2)されたプロセス単位のアクセス制御機構です。 この機能は主に自分自身の権限を制限してサンドボックスを作るために使います。例えばこの記事の後半では信頼できない実行バイナリをサブプロセスとして起動する際にアクセス出来るファイルシステムの範囲を制限する例を見ます。 rust-landlock/examples 今回はLandlockをRustから使えるようにしたrust-landlockを試していきます。ドキュメントはlandlock.io/rust-landlockに公開されています。 特にCによるサンプルをRustで書き直したサンプルを見ていきましょう。とりあえず実行してみるとヘルプを出してくれます: usage: LL_FS_RO="..." LL_FS_RW="..." target/debug/example

    Landlock: ユーザ権限によるアクセス制御
    bouzuya
    bouzuya 2022/12/29