タグ

2023年5月6日のブックマーク (14件)

  • Linuxで動くNICドライバの開発をしている - BYB

    概要 おことわり 流れ [前半]:NICドライバ実装に必要な作業 insmod/rmmod 時のエントリポイントとなる関数を用意 pci_diriver構造体を定義して、ドライバを登録 net_deviceとして登録 net_deviceハンドラ関数を用意してハンドラテーブルに登録 割り込みの定義(未動作確認) MMIOレジスタを適切に初期化して、実際にパケットを処理する部分を書いていく(未実装) ハンドラとスケジューリング [後半]:Linuxカーネル関連で詰まったところ insmod時のカーネルクラッシュ インターフェースのstateがUPにならない問題 ソースコード さいごに 概要 Linuxで動くe1000eドライバを開発しようとしており、ドライバと紐付けたNICのstateがupになるところまで進めました。 個人的に忙しくなった都合で一旦ここでプロジェクトを止めるため、備忘録とし

    mapk0y
    mapk0y 2023/05/06
  • 既存のAWSリソースを簡単にTerraformに落とし込めるTerraCognita - Qiita

    Saleshubでエンジニアをしております。 安田と申します。 今回はTerraCognitaというツールについて書いてみたいと思います。 AWSGCPなどのクラウドサービスを利用されているエンジニアは多いと思います。 そしてこれらのサービスをWeb UI上で操作してアプリケーションのクラウド環境を構築している会社や個人も多いと思います。 Web UIで構築された環境。後で何やったかわからない その一方で今やクラウド環境はIaC(Infrastructure as code)で構築するのが当たり前でしょう!と言われたりします。実際、Web UIで構築された環境は、構築後時間が経つと「どうなってんだっけ、これ?」ってなったり、構築したメンバーが退職したりすると、引き継いだメンバーにとってトラップだらけのラビリンスになってしまったりします。 じゃあ、どうすればいいのか? これに答えてくれてい

    既存のAWSリソースを簡単にTerraformに落とし込めるTerraCognita - Qiita
  • DNSを使ってTLSハンドシェイクを高速化するZTLSについて - ASnoKaze blog

    「ZTLS: A DNS-based Approach to Zero Round Trip Delay in TLS」という論文が公開されている。アイデアが面白いので簡単に眺める。 PDFも今のところACMのサイトから見れる https://dl.acm.org/doi/abs/10.1145/3543507.3583516 概要 DNSからTLSハンドシェイクに必要な情報を通知し、0-RTTハンドシェイクを行う 通常のTLSと互換性がある シーケンス図 (引用: 「ZTLS: A DNS-based Approach to Zero Round Trip Delay in TLS」 Figure 3) 事前に、サーバ側はZ-Data(ハンドシェイクに必要な情報)をDNSにアップロードしておく クライアントはサーバDNSに対してAレコードと、Z-Dataを含むレコードを並列に問い合わせ取

    DNSを使ってTLSハンドシェイクを高速化するZTLSについて - ASnoKaze blog
    mapk0y
    mapk0y 2023/05/06
  • SQLFluffを完全に理解する | DevelopersIO

    Google Cloudのデータエンジニアをしています、はんざわです。 今回はSQLのリンターであるSQLFluffを触りながら理解を深めたいと思います。 検証環境 macOS: 13.3.1 Python: 3.9.5 SQLFluffとは SQLFluffとは、SQLのフォーマットを自動で問題点の指摘や修正をしてくれるオープンソースサービスです。 さっそくインストールして使ってみたいと思います。 インストール SQLFluffをインストールするにはPython3が必要です。 $ pip3 install sqlfluff 正常にインストールできているか確認します。 $ sqlfluff version 2.0.7 インストールが完了しました。実際にクエリを用意し、使ってみたいと思います。 さっそく使ってみる sqlfluffには大きくlintとfixの2つの機能があります。 まずはli

    SQLFluffを完全に理解する | DevelopersIO
    mapk0y
    mapk0y 2023/05/06
  • マストドンのコード、特にフロントエンドをなんとかしたい、あるいはなんとかしている - このIP網の片隅で

    はい。 このブログをわざわざ読んでいる方なら既にご存知かもしれませんが、マストドンをご存知でしょうか。 いわゆる分散型マイクロブログの一種で、2017年ごろのTwitter社による日イラストレーターの大規模凍結あたりで一時期話題になり、 最近またイーロンマスクによるTwitter社買収から始まった一連の混乱で再度少し話題にもなりました。 で、まあ僕としてもマストドンに小改造をしたうえで自分で運用しているんですが、マストドンのコードは今となってはだいぶ厳しい。 厳しい部分を挙げると割とキリがないんですが、ざっくり書くと フロントエンドWebpackerにべったり、かつ独自configを書きまくっている デフォルトが隠蔽されているWebpackerと合わさり最終的にどういうconfigでwebpackerが動いてるのかたぶん誰も把握できてない Typescriptじゃない 動いてるからヨ

    マストドンのコード、特にフロントエンドをなんとかしたい、あるいはなんとかしている - このIP網の片隅で
  • Mojo 🔥

    先日プログラミング言語 Mojo と呼ばれるもののアナウンスメントがあった。この言語のデザインが私のスイートスポットに刺さる感じだったので、今のうちから注目している。使いたいなというか、将来使うことになりそうな言語なので簡単に何ができそうかを調査してまとめておきたい。 ウリとしては「C 並のパフォーマンスが出る Python」といったところだろうか。 k0kubun さんからコメントを裏でもらって、これって要するに並列化とか SIMD 化とか入れたら35,000倍のパフォーマンスが出るようだけど、これは Python の部分とは呼べなくて、素の Python 動かして当にそういえるかは怪しくない?とのことで、判断保留します 🙇🏻‍♀️ k0kubun さんありがとう 言語のデザインとしては、AI 開発に向けたプログラミングを提供できるよう設計されていると感じる。表側は Python

    Mojo 🔥
  • ジョブを細かく分けてGitHub Actionsのテストを効率化する

    改善戦略 実行のタイミングやGitHubの状況や依存サーバーのネットワークの状況によって変動はあるものの、早くて7分、だいたい10分〜15分くらいかかっている。早いか遅いかは、他の開発と比べても内容や状況が違うのでなんとも言い難いが、個人的な感想としては「遅い」。というより、一切の工夫をしていなかったので、もっと早くできるはずだと考えた。 ビルドされたファイルを複数の環境で共有する 処理全体の中で時間がかかっている処理は3つ。 依存パッケージのインストール ビルド テスト さらに、課題の一つとして「テスト実行時に開発用依存パッケージ(devDependencies)がインストールされているせいでテストが失敗しない問題がある」というものがあり、これを処理に追加しないといけない。 開発用依存パッケージのインストール ビルド 依存パッケージを一旦すべて削除 番用依存パッケージのインストール テ

    ジョブを細かく分けてGitHub Actionsのテストを効率化する
  • GitHub - modularml/mojo: The Mojo Programming Language

    Mojo is a new programming language that bridges the gap between research and production by combining Python syntax and ecosystem with systems programming and metaprogramming features. Mojo is still young, but it is designed to become a superset of Python over time. This repo includes source code for: Mojo examples Mojo documentation hosted at modular.com The Mojo standard library This repo has two

    GitHub - modularml/mojo: The Mojo Programming Language
  • SQLの実行計画の読み方 |

    今回は、SQLを書く上で特にパフォーマンスに影響のあるSQLの実行計画の読み方について解説します。実行計画はデータベース製品によってさまざまに差異がありますが、ここでは比較的どのデータベース製品でも共通する内容について解説します。 実行計画とは記述したSQLが実際にデータベースの内部でどのように処理されて結果を返すか、その処理方法を記述した情報です。 A5:SQL Mk-2では、SQLエディタで実行計画を見たい SQL の上にキャレットがある状態でメニューから [SQL(S)] – [SQLの実行計画(J)] または、Ctrl+E で表示できます。 表示の仕方はデータベース製品ごとに異なりますが、多くのデータベース製品ではツリー状の情報として表現されます。(このため A5:SQL Mk-2でもツリービューで実行計画を表示します。) ツリーのリーフ(端)から処理が行われ、ルート(根)に向かっ

    mapk0y
    mapk0y 2023/05/06
  • Mojoは「C言語のように速いPython」なのか - k0kubun's blog

    LLVMやSwiftを作ったChris LattnerがCEOをやっている会社が、Pythonの使用感とC言語並の性能を併せ持つ言語としてMojoをアナウンスした。 まだ手元で試せる状態でリリースされてはいないが、最大35000倍Pythonより速いという。 Mojo🔥 combines the usability of Python with the performance of C, unlocking unparalleled programmability of AI hardware and extensibility of AI models. Also, it's up to 35000x faster than Python 🤯 and … deploys 🏎 pic.twitter.com/tjT09U4F80— Modular (@Modular_AI) May

    Mojoは「C言語のように速いPython」なのか - k0kubun's blog
  • あると便利 でも不便な面も? 鉄道車両の「座席コンセント」を考える

    特急型を中心に、最近はスマートフォン/タブレットやPCを充電するための「コンセント」を備える鉄道車両が増えてきました。 万が一モバイルバッテリーを家に置いてきてしまっても、ACアダプター(充電器)さえあれば充電できるので便利なのですが、ちょっとした不便さを覚える場面もあります。どういうことなのでしょうか……? →「新幹線」でスマホやノートPCを充電するには? コンセントのある座席の探し方【2022年12月版】 コンセントは「100V/2A」仕様が多い 鉄道車両のコンセントは、交流100V/2A出力のものが多いようです。ワット換算すると、最大で200Wまで行けるということで、思った以上に余裕はあります。 周波数は車両の仕様によってまちまちで、基的には60Hz出力のものが多いです。ただし、今どきのACアダプターは50Hzと60Hzの両方で問題なく使えるので、周波数が問題になることはないでしょ

    あると便利 でも不便な面も? 鉄道車両の「座席コンセント」を考える
  • How to recover from microservices

    I won't deny there may well be cases where a microservices-first architecture makes sense, but I think they're few and far in between. The vast majority of systems are much better served by starting and staying with a majestic monolith. The Prime Video case study that blew up the internet yesterday is but the latest illustration. Maybe once you reach the scale of Netflix or Amazon, there are areas

    How to recover from microservices
  • 続くAI大革命…イラストをベクター画像(線画データ)に変換する無料AIツールが高精度で凄い | オタク総研

    ここ数ヶ月のAIの進展は凄まじく、毎日のように新たな魅力的なプロダクトが公開され世間をざわつかせているのはもはや言うまでもない。そんな中、最近よく耳にする音声AIやテキストAIとはまた違ったアプローチのAIツールが話題になっている。 それは通常の画像をラスター画像に高精度で変換してくれる「Vectorizer.AI」というもので、現在無料で利用することができる。 ベクター画像とは、フォントと同様に座標や数式で保存されており、それをもとに描画をするため、ラスター形式と呼ばれる通常のPNGやJPEGなどとは異なり「ぼけ」が生じず(理論上)無限に拡大することができることが特徴だ。サービスはそんなベクター画像をAIを活用することでノイズやボケが含まれる低画質画像からでも生成することができるという。 [GDC_row] [GDC_column size=”half”] 今回は同じくAIを活用したキ

    続くAI大革命…イラストをベクター画像(線画データ)に変換する無料AIツールが高精度で凄い | オタク総研
    mapk0y
    mapk0y 2023/05/06
  • HTTP上でL2VPNを実現する Proxying Ethernet in HTTP について - ASnoKaze blog

    『Proxying Ethernet in HTTP』という仕様がGoogleのAlejandro R Sedeño氏から提出されています。これは、HTTP上でイーサネットフレームを送受信させるための仕様です。 背景として、IETFでは、Masque WGにおいてHTTPコネクション上で通信をトンネリングする仕組みの標準化を行っています。 RFC 9298 Proxying UDP in HTTP Proxying IP in HTTP すでに標準化が進められている、上記の仕様に続きイーサネットフレームを取り扱えるようにするというのが今回の提案です。ユースケースについては、L2VPNを実現するのに利用する例が挙げられています。 Proxying Ethernet in HTTPの概要 『Proxying Ethernet in HTTP』では、"RFC 9297 HTTP Datagram

    HTTP上でL2VPNを実現する Proxying Ethernet in HTTP について - ASnoKaze blog