タグ

2020年12月8日のブックマーク (7件)

  • Rubyで設定を書けるLinux用キーマッパー 「rumap」をRustで作った - さんちゃのblog

    この記事は、 CAMPHOR- アドベントカレンダー 2020の8日目の記事です。 Rubyで設定を書けるLinux用のキーマッパーをRustで実装した話をします。 Rumap RumapRuby DSLで設定を書けるLinux用のキーマッパーです(正確にはX Window System用)。 github.com キーマッパーとは何かというと、karabinarみたいなやつです。 つまり、キーボードの入力をなにか別の入力に変換するアプリケーションです。 例えば、以下のような設定ファイルを書いたとします。 remap 'Control-BackSpace', to: 'Delete' これを rumapわせて起動すると、 Control と BackSpace を同時押しすると、代わりにDeleteが入力されるようになります。 また、キー入力を変換するだけでなく、キー入力をトリ

    Rubyで設定を書けるLinux用キーマッパー 「rumap」をRustで作った - さんちゃのblog
  • Rust エラー処理2020 - 電気ひつじ牧場

    このエントリは,Rust 3 Advent Calendar 2020の8日目の記事です. はじめに エラー処理の基 Result<T, E> Errorトレイト ?オペレータ ベストプラクティスを支えるクレート anyhow thiserror failureクレートについて まとめ 追記 はじめに Rustを書いている時にアプリケーション固有のエラー型を定義したい場合があります.この辺のベストプラクティスは今まで何度か変化*1しており,今年の9月にエラーハンドリングのプロジェクトグループが発足*2したことからも分かるとおり,今後も変化していく可能性が濃厚です. この記事では,エラー処理まわりに関する基的な内容と,現時点でのベストプラクティスとされているanyhowとthiserrorを用いたエラー処理について紹介します. エラー処理の基 Result<T, E> Rustには例外

    Rust エラー処理2020 - 電気ひつじ牧場
  • WebSocketの次の技術!?WebTransportについての解説とチュートリアル - Qiita

    概要 こんにちは。NTTコミュニケーションズのyuki uchidaです。普段はSkyWayというWebRTCプラットフォームの開発やWebRTCリサーチャー(見習い)をしています。 この記事は NTTコミュニケーションズ Advent Calendar 2020 の3日目の記事です。 昨日はMasaki Shimuraさんの記事、 「Threat Intelligenceの活用を促進するMISPの紹介」でした。 この記事は、WebSocketの次の技術ではないかと噂される、WebTransportの概要や双方向通信の歴史をまとめつつ、WebTransportのdatagram形式でデータを送信してみるチュートリアル記事です。 対象読者 WebTransportっていう技術を初めて聞いた人 WebSocketを使ったことがあり、不満がある人 双方向通信・リアルタイム通信について興味がある人

    WebSocketの次の技術!?WebTransportについての解説とチュートリアル - Qiita
  • Rustで実装するNetflow Collector - Qiita

    git clone https://github.com/4hiziri/rust-netflood.git cd rust-netflood rustup run nightly cargo run generate 127.0.0.1 -t sample/template.json -o sample/option.json -i 1 -c 1000 -s 10001 -p 2055 -n -tでTemplate FlowSetのフィールドを設定し、-oでOptions Template FlowSetのフィールドを設定しています。 Netflow Collectorの実装 Rustの tokio を用いて非同期で動くNetflow Collectorを実装していきます。Rustを使用する理由として、まず第一に素早くpacketを捌く性能がCollectorに求められるからです。さらに

    Rustで実装するNetflow Collector - Qiita
  • RustのLinux muslターゲット (その1:Linux向けのポータブルなバイナリを作る)

    これは Rustその3 Advent Calendar 2019 — Qiita の8日目の記事です。 Rustのx86_64-unknown-linux-muslターゲットを使って、libc(標準Cライブラリ)やSQLiteなどの外部ライブラリに静的リンクしたバイナリを作成する方法を紹介します。 こうして作ったバイナリは、Alpine Linuxを含むさまざまなx86_64 Linux環境で実行できます1。 またUbuntuやCentOSなどの一般的なLinuxディストリビューションを使っている場合でも、実行環境にSQLiteやOpenSSLなどを別途インストールしなくてすみますので、バイナリの配布が楽になります。 さらにこれらを極小のDockerイメージに入れることで、Webアプリケーションなどではデプロイが容易になるかもしれません。 以下の内容を2回に分けて説明します。 今回:Alp

  • ARMマイコンを使ったスプリットキーボードの作り方 - 5z6p Instruments

    この記事では Casasagiの開発から得た知見として、ARMマイコン STM32F072C8T6を使用したスプリットキーボードの回路や動作とQMK Firmwareの実装についてATMEGA32u4(pro micro)との差を中心に解説します。 開発中のキーボードのため、間違えた情報が混ざっているかもしれませんし、QMK Firmwareの実装も変わっているかもしれません。ご注意下さい。 最初にまとめ 基的にはATMEGA32u4(Pro Micro)の回路と同じUSBの5V電源から3.3Vにする必要があるUSBの信号線に抵抗は要らないシリアルLED(WS2812b互換のSK6812MINI)を使うなら QMK Firmwareのドキュメント WS2812 Driver を読むプルアップ抵抗で5Vに吊るスプリットの通信は QMK Firmwareのドキュメント ‘serial’ Dr

    ARMマイコンを使ったスプリットキーボードの作り方 - 5z6p Instruments
  • アルミ削り出しの一体型キーボードをつくった - log.fstn

    はじめに この記事は キーボード #1 Advent Calendar 2020 の7日目の記事です。6日目の記事は@hsgwさんのARMマイコンを使ったスプリットキーボードの作り方でした。 自作キーボードという文化が流行りだして数年経ち、はじめは一部のキーボード大好きっ子で盛り上がっていましたが、今ではだいぶ広い範囲まで文化が浸透してきたような気がしています。今の日でのブームの源流がLet's SplitやHelixとすると、どちらかといえば製品としてのキーボードというより、電子工作に近いところからスタートしたと認識しています。ただ最近では海外のように高級志向なキーボードを買う方々を国内でもよく見るようになり、また違う流れを感じ始めました。 私自身も今までサンドイッチタイプのCorneキーボードから、徐々にアルミ削り出しのキーボードに興味を持つようになり、色々なキーボードを試すようにな

    アルミ削り出しの一体型キーボードをつくった - log.fstn