タグ

ブックマーク / medium.com (8)

  • TLSが難しい?RustとLinuxカーネルで実装しよう!

    TLS(Transport Layer Security)が難しすぎると、お嘆きのセキュリティファースト世代の皆様、RustLinuxカーネルを実装しながら学んでみましょう! カーネルモジュールの実装は難しい?それは誤解です。TLSをアプリケーションとして実装しようとすると、各種のライブラリを検索していたつもりが、SNSを眺めていて、一日が終わっていることありますよね。カーネルモジュールを実装するために使えるのはカーネルの機能だけです。検索する必要はなく、雑念が生じる余地はありません。その集中力があれば、カーネル開発は難しくありません。 TLSとLinuxカーネル皆様の中には、LinuxカーネルはTLSをサポートしているのでは?と思っている方がいるかもしれません。TLSは実際のデータの送受信の前に、ハンドシェイクと呼ばれる、暗号鍵の合意や相手の認証を実施します。ハンドシェイク後、Linu

    TLSが難しい?RustとLinuxカーネルで実装しよう!
  • 【1月23日追記】12月23日、24日に発生しました障害に関するご報告

    いつもSkebをご利用いただき、誠にありがとうございます。 12月23日12時よりskeb.jpにアクセスできない大規模な障害が発生しておりましたが、12月24日07時に復旧いたしました。 12月23日、および12月24日が納品期限のリクエストは納品期限を12月25日23時59分までに延長させていただきます。 みなさまには多大なご迷惑をお掛けしましたことをお詫び申し上げます。 障害につきまして詳細をご報告させていただきます。 概要日時: 12月23日12時22分〜12月24日7時00分 (JST) ダウンタイム: 18時間38分 内容: skeb.jpにアクセスできない不具合 原因: SkebはすべてのサーバとシステムをHerokuに設置していたが、障害発生時刻より同サービスのアカウントが理由の通知なく利用できなくなった。 解決: Herokuの一切の利用を中止し、すべてのサーバとシステ

  • 時雨堂 第 10 期 OSS スポンサー

    Let’s Encrypt シルバースポンサー 10,000ドルOpenSSL ゴールドスポンサー 20,000 ドルZig 企業スポンサー 12,000 ドルSphinx 開発者 Takeshi Komiya 6,000 ドルCowboy 開発者 Loïc Hoguin 3,000 ドルAsmJit 開発者 Petr Kobalicek 3,000 ドルgproc 開発者 Ulf Wiger 1,000 ドル (2021–12~)jsrsasig 開発者 Kenji Urushima 1,000ドル (2021–12~2022–03)echo 開発会社 LabStack LLC 1,500 ドル (2022–04~)HTTPie 開発者 Jakub Roztocil 350 ドル (2022–06~)Lindera 開発者 Minoru Osuka 30ドル (2022–08~)Cica

  • Linuxカーネルが難しい?Rustで実装できそう!

    「ついに、RustLinuxカーネルを実装できる!」 待ち望んだ感を出してみましたが、2年前に記事を書いてから、すっかり忘れていました。LinuxカーネルのRustサポートについての意見を求められたら、「技術的には面白いけど、実用レベルではないね。」と、上から目線の回答でエンジニアレベルの高さをアピールするつもりでしたが、2年間の間、誰にも聞かれませんでした。 近々、LinuxカーネルにRustサポートが取り込まれそう、ということで、デバイスドライバを実装してみました。 Rust対応カーネルのコンパイルまずは、Rust対応を有効にしたLinuxカーネルをコンパイルする必要があります。「カーネルってコンパイルするものなの?」という読者は、ネットの長老たちに叡智を求めましょう。「インストール直後に、メモリ削減のために不要な機能を無効にして、カーネルコンパイルしたんじゃ。」というような、太古の

    Linuxカーネルが難しい?Rustで実装できそう!
  • イーサリアムの生みの親がクリプトの未来を憂う

    BY ANDREW R. CHOW/DENVER 3月18日 数分後には電子音楽が鳴り響き、ぬいぐるみが宙を舞い、色鮮やかなフラフープを回す女性が現れ、機械のおもちゃが動き出し、嬉々たるライダーたちが次々と降りてきます。これはブロックチェーン「イーサリアム」に特化した1週間の暗号資産カンファレンス「ETHDenver」のクロージングパーティーです。何日も前から行列となっていました。そして今、2月の日曜日の夜、この目まぐるしいエネルギーはピークに達しています。 しかし観客が会場に押し寄せたとき、エルフのような体格の細い一人の男性が、自撮りをしている人々やベンチャーキャピタルの前を駆け抜けていきます。ある人は「ここにいてください」と呼びかけ、またある人は、徒歩やスクーターで通りを追いかけていきます。しかしその男は全員をまいて、一人ホテルのロビーに消えていきました。 クリプト業界で最も影響力のあ

    イーサリアムの生みの親がクリプトの未来を憂う
  • Rustが遅すぎる?プロファイリングで性能向上!

    「開発プロセスにプロファイリングを組み込むのはどうだろう?」 ミーティングで、プロファイリングの重要性を発言するだけで、みんながあなたの深い知見、意識の高さに驚くことでしょう。もちろん、あなたは、プロファイリングのやり方を知っている必要はありません。開発の終盤に、性能目標が達成されず、解析が実施される頃には、誰もあなたの発言は覚えていません。しかし、万が一、あなたの意見が採用されても困らないように、この記事を参考にしてください。 Goは、CPU、メモリ、block、mutexなど、使いこなせないほどの種類をサポートするプロファイリングツールpprofを標準機能として提供します。一方、Rustは、そんな機能を提供しません。Rustへの愛が揺らぐかもしれませんが、Rustへの愛は、見返りを求めない純愛です。愛の見返りに何かが与えられると期待してはいけません。 Rustでもpprofあなたは、す

    Rustが遅すぎる?プロファイリングで性能向上!
  • RustでLinuxカーネルの機能を拡張しよう!

    Linuxカーネルの機能を安全に拡張できるeBPFのコードはC言語で実装する必要があると知り、がっかりしているクラウドネイティブ 世代の皆様に朗報です。実は、Rustで、eBPFのコードを実装することができます。今更、C言語(クラウドネイティブ ではない感じ)を学ぶ必要はありません! eBPFとプログラミング言語eBPFを活用するソフトウェアは、カーネルスペースで動作するeBPFバイトコードと、eBPFバイトコードを制御するユーザスペースのアプリケーションから構成されます。後者は、GoPythonRustなど様々なプログラミング言語で実装することができますが、前者は、制限のあるC言語で実装する必要があります。 eBPFの構成Rust用eBPFライブラリRustでeBPFを扱う一般的な方法は、libbpf-rsライブラリです。これは、C言語でユーザスペースのアプリケーションを実装するため

    RustでLinuxカーネルの機能を拡張しよう!
  • Rustの非同期ランタイムが多すぎる?io_uringなやつを使おう!

    AWSGoogleMicrosoftらが、Rust Foundationを設立し、今やRustでなければクラウドネイティブじゃない、と言っても過言ではありませんよね。クラウドネイティブと言えば、スケーラブルなシステム、Gogoroutineを標準機能として提供しますが、Rustのasync/awaitは、標準機能に含まれていない外部ライブラリを必要とします。悪いことに、複数のライブラリ(非同期処理ランタイム)が乱立し、APIの互換性もありません。Rustはクラウドネイティブなのだろうか、という疑問を抱きながら、いくつかのランタイムの性能を、いつものgRPCベンチマークで比較してみました。 比較対象数多くのランタイムの中から、前回の記事で試した、Linuxの新しい非同期I/Oインターフェイスのio_uringを利用しているglommioと、普及している思われる、tokio、smol、a

    Rustの非同期ランタイムが多すぎる?io_uringなやつを使おう!
  • 1