Stop-the-world

Stop-the-world

Thoughts, stories and ideas.

2023振り返り

年が明けてしまいましたが、2023年の振り返りです。 去年の振り返りはこちら。 2022振り返り普段、こういったブログはあまり書かないが、いい機会だし、書き残してあると、のちのち見返すのに便利かなと思い、今年やったことを書き出してみる。ほとんど趣味の話です。 * 電子工作 * 競技プログラミング * パソコン * ゲーム * 登山 * コーヒー * 論文読み * 仕事 * おわりに 電子工作 去年、コンピュータシステムの理論と実装という本をすこし読んでハードウェアというか電子回路方面に興味が湧き、年末にブレッドボードやら抵抗やらを買い揃えて、LED光らせて遊んだりしていた。 電子工作入門する pic.twitter.com/F3MQLZiFlS — tak…Stop-the-worldTakuya Asano 買ってよかったもの Keychron Q11 Out-of-the-box で使える分割式キーボードである Keychron Q11 を買いました。 キーマップは VIA でカスタマイズできます。自分は Windows と macOS どっちも使うので、モードの切
6 min read
法律のデータ構造と検索

法律のデータ構造と検索

デジタル庁は、法令標準 XML スキーマに準拠した、現行の法令データをe-Gov法令検索というサイト上で公開しています[1]。今回、この法令XMLをパースするPythonライブラリ ja-law-parser をつくり、法令データの全文検索をしてみました。 この記事では、日本の法令とそのデータ構造、法令XMLパーサについて解説し、最後に、それらを使った法令データの全文検索システムを実装する方法をご紹介します。法令検索の実装についても、GitHubリポジトリで公開しています。 この記事は、情報検索・検索技術 Advent Calendar 2023の16日目の記事です。 * 法律と法令 * 法律とは * 法律の制定と公布 * 法律と法令の違い * 法律の改正 * 法令のデータ構造 * e-Govの法令データ * 法令標準XMLスキーマ * 法令番号と法令ID * 題名 * 本則と附則 * 条・項・号 * 編・章・節・款・目 * 法令XMLパーサ: ja-law-parser
20 min read

2022振り返り

普段、こういったブログはあまり書かないが、いい機会だし、書き残してあると、のちのち見返すのに便利かなと思い、今年やったことを書き出してみる。ほとんど趣味の話です。 * 電子工作 * 競技プログラミング * パソコン * ゲーム * 登山 * コーヒー * 論文読み * 仕事 * おわりに 電子工作 去年、コンピュータシステムの理論と実装という本をすこし読んでハードウェアというか電子回路方面に興味が湧き、年末にブレッドボードやら抵抗やらを買い揃えて、LED光らせて遊んだりしていた。 電子工作入門する pic.twitter.com/F3MQLZiFlS — takuya-a (@takuya_b) December 15, 2021 My first project pic.twitter.com/vUo1ZI3ao3 — takuya-a (@takuya_b) December 15, 2021 そこからLTSpiceを勉強したりして、シュミットトリガ回路と、それを使ったオンオフ回路を組めるようになった。 シュミットトリガ実際に組んだ。
11 min read

転置インデックスの圧縮技法

転置インデックスは、検索エンジンの実装において、中心的な役割を果たすデータ構造である。 転置インデックスのデータ構造とアルゴリズムは、クエリ処理アルゴリズムとともに、検索エンジンの性能に直結する。とくに大規模な検索エンジンにおいては、キャッシュ効率を高めてクエリ処理を高速化するために、転置インデックスの圧縮は必要不可欠となっている。 この記事では、転置インデックス、とくにポスティングリストの圧縮について、近年の手法を簡単にまとめる。 目次 * 転置インデックスの基本 * 転置インデックスのデータ構造と特性 * 転置インデックスのアクセスパターン * 近年のインデックス圧縮技法 * Variable-Byte Family * VByte * Varint-GB * Varint-G8IU * Masked-VByte * Stream-VByte * Opt-VByte * Simple Family * Simple9
28 min read