{
    "version": "https://jsonfeed.org/version/1",
    "title": "illumination-k.dev",
    "home_page_url": "https://illumination-k.dev",
    "feed_url": "https://illumination-k.dev/rss/feed.json",
    "description": "Feed/Rss/Atom for illumination-k.dev",
    "author": {
        "name": "illumination-k",
        "url": "https://illumination-k.dev"
    },
    "items": [
        {
            "id": "https://illumination-k.dev/ja/techblog/post/394cb7ac-a95e-481b-9ece-c1410f5582df",
            "url": "https://illumination-k.dev/ja/techblog/post/394cb7ac-a95e-481b-9ece-c1410f5582df",
            "title": "自己改善エージェントを多腕バンディットで解く ― Huxley-Gödel Machine を読む",
            "summary": "自己改善コーディングエージェント Huxley-Gödel Machine を読み解く。ベンチマーク性能と自己改善能力のズレを、ツリー探索の多腕バンディット定式化と CMP 指標でどう解消するかを、インタラクティブな可視化とともに解説する。",
            "date_modified": "2026-06-06T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/4d26c56d-bf49-467a-a34c-f9f7f540bff1",
            "url": "https://illumination-k.dev/ja/techblog/post/4d26c56d-bf49-467a-a34c-f9f7f540bff1",
            "title": "Azure App Registration と Service Principal の関係を整理する",
            "summary": "Azure ポータルの「アプリの登録」と「エンタープライズアプリケーション」が同じアプリの別ビューであることを軸に、App Registration・Service Principal・Entra ID の関係と、OAuth2/OIDC 認証フローでの使われ方を整理する。",
            "date_modified": "2026-05-18T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/e02e94e5-ca5b-469a-adf8-0d546b7aea48",
            "url": "https://illumination-k.dev/ja/techblog/post/e02e94e5-ca5b-469a-adf8-0d546b7aea48",
            "title": "LCOM（Lack of Cohesion of Methods）入門 — 主要バリアントの違いとPython簡易実装",
            "summary": "クラスの凝集度を測るLCOMには複数のバリアントがあり、定義によって解釈が逆転する。LCOM1/2、LCOM4、LCOM96（Henderson-Sellers）の違いを整理し、ast モジュールだけで動く100行程度のPython実装で実際に値を出す。",
            "date_modified": "2026-04-26T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/3ebbaf5d-47c3-42a4-b85e-166b099b5a1f",
            "url": "https://illumination-k.dev/ja/techblog/post/3ebbaf5d-47c3-42a4-b85e-166b099b5a1f",
            "title": "mise の cargo バックエンドを aqua 経由の cargo-binstall で高速化する",
            "summary": "mise の cargo バックエンドが cargo install でソースビルドを走らせて遅くなる問題を、aqua で cargo-binstall を先に入れて depends で宣言することで解消する。cargo-nextest などで約42倍の高速化を実測した。",
            "date_modified": "2026-04-17T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/f017dc98-1077-444b-8010-5bf95cf0b0c3",
            "url": "https://illumination-k.dev/ja/techblog/post/f017dc98-1077-444b-8010-5bf95cf0b0c3",
            "title": "技術ブログ記事の再現性を Nix flake で固定する",
            "summary": "年月が経つと動かなくなる技術記事の腐敗問題に対して、記事ファイルの隣に Nix flake を置いて環境をピン留めし、記事本文からそのファイルを取り込むパターンを紹介する。",
            "date_modified": "2026-04-11T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/da91fbca-0240-45b9-b299-faddaae28346",
            "url": "https://illumination-k.dev/ja/techblog/post/da91fbca-0240-45b9-b299-faddaae28346",
            "title": "Bioinformaticsで使うファイルフォーマットまとめ",
            "summary": "バイオインフォマティクスで障壁になることの1つにファイルフォーマットが多すぎるという問題があります。ツールを動かそうとするとこれとこれが必要、どうやってこの形式のファイルを作ればいいんだ、ということはよくあるので、備忘録を兼ねてよく使うフォーマットと関連ツールをまとめておきます。",
            "date_modified": "2026-04-11T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/fa046ad1-872c-48e3-8350-da50f0b88a9d",
            "url": "https://illumination-k.dev/ja/techblog/post/fa046ad1-872c-48e3-8350-da50f0b88a9d",
            "title": "WARC (Web ARChive) ファイルフォーマット入門",
            "summary": "Webアーカイブの標準フォーマットであるWARC (ISO 28500) の構造とレコード型を解説し、wgetとwarcioを使った生成・読み取りの実例を紹介する。",
            "date_modified": "2026-04-10T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/8158f0c1-11fa-43d8-904f-f34bdf799bc9",
            "url": "https://illumination-k.dev/ja/techblog/post/8158f0c1-11fa-43d8-904f-f34bdf799bc9",
            "title": "GO Termに関する基礎",
            "summary": "GO解析はよく使われる解析手法ですが、正確に理解するには、まずGOそのものに関する理解が必要になります。GO Termの基本についてまとめていきます。",
            "date_modified": "2026-04-09T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/a8d47ac4-2e5f-4de6-adfd-c82ae90c85d8",
            "url": "https://illumination-k.dev/ja/techblog/post/a8d47ac4-2e5f-4de6-adfd-c82ae90c85d8",
            "title": "もうライブラリ不要? 標準APIで置き換えられるnpmパッケージ総まとめ (2026年版)",
            "summary": "axios, lodash, moment, uuid, dotenv, chalk, nodemon, ts-nodeなど、かつて必須だったnpmパッケージを標準のWeb API・Node.js組み込み機能で置き換える方法を、ブラウザとNode.jsの両面から網羅的に解説します。",
            "date_modified": "2026-04-06T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/0b64ccc8-009a-4413-b51c-70a9565c37fa",
            "url": "https://illumination-k.dev/ja/techblog/post/0b64ccc8-009a-4413-b51c-70a9565c37fa",
            "title": "パッケージマネージャーのサプライチェーン攻撃対策 — uv, pnpm, bun, cargo, go の比較",
            "summary": "LiteLLMサプライチェーン攻撃を背景に、uv・pnpm・bun・cargo・goのminimumReleaseAge/exclude-newer等の防御機能を比較し、パッケージマネージャーが提供するサプライチェーンセキュリティ対策を解説します。",
            "date_modified": "2026-03-26T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/9da1ffd1-a76f-410b-a2d9-a44bb98b1f88",
            "url": "https://illumination-k.dev/ja/techblog/post/9da1ffd1-a76f-410b-a2d9-a44bb98b1f88",
            "title": "PythonのClassの生成に関してまとめてみた",
            "summary": "PythonのClassは色々難しいので、勉強のためにまとめておきます。まずはClassの生成に関してです。__new__と__init__を中心にまとめています。",
            "date_modified": "2026-03-25T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/58d811be-4bcd-498f-baaf-f67abe61794d",
            "url": "https://illumination-k.dev/ja/techblog/post/58d811be-4bcd-498f-baaf-f67abe61794d",
            "title": "PythonでGO Enrichmentの結果を図示する",
            "summary": "RにはGO Enrichmentの結果をいい感じに図示してくれるライブラリがいくつかありますが、Pythonにはありません。基本的なプロットからsemantic similarityを利用したheatmap・MDS scatter・ネットワーク・treemapまで、似たような図の作成方法をまとめます。",
            "date_modified": "2026-03-25T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/ba9eb27a-e56c-4e44-924f-4b921ef3e222",
            "url": "https://illumination-k.dev/ja/techblog/post/ba9eb27a-e56c-4e44-924f-4b921ef3e222",
            "title": "Mutation Testing サーベイ — Go, Rust, Python, TypeScript の主要ツール比較",
            "summary": "Go, Rust, Python, TypeScriptにおけるmutation testingツールを比較し、各言語での導入方法・テストフレームワーク連携・差分ベースの最適化手法を解説します。",
            "date_modified": "2026-03-23T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/1d48b512-6f5d-41ff-8437-15554feb70a4",
            "url": "https://illumination-k.dev/ja/techblog/post/1d48b512-6f5d-41ff-8437-15554feb70a4",
            "title": "Azure App Service機能まとめ: ティア別機能・デプロイスロット・サイドカー・Azure連携",
            "summary": "Azure App Serviceの料金ティアごとの機能差、デプロイスロットによるゼロダウンタイムデプロイやPRプレビュー、サイドカーコンテナのアーキテクチャ、Key Vault・Storage・VNetなど他Azureサービスとの連携を整理",
            "date_modified": "2026-03-21T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/3099116e-7460-47b8-8ce2-1d68a4c46661",
            "url": "https://illumination-k.dev/ja/techblog/post/3099116e-7460-47b8-8ce2-1d68a4c46661",
            "title": "Azure Application Insights実例サーベイ: 監視設計・KQL活用・コスト最適化の実践パターン",
            "summary": "Azure Application Insightsの実際の活用パターンを調査・整理。OpenTelemetryベースのセットアップ、KQLクエリによる障害分析、分散トレーシング、サンプリングによるコスト最適化まで、実例ベースで解説",
            "date_modified": "2026-03-21T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/e8a7e7dc-b6c4-4d22-a62e-7c58d529b619",
            "url": "https://illumination-k.dev/ja/techblog/post/e8a7e7dc-b6c4-4d22-a62e-7c58d529b619",
            "title": "Python・JavaScript・Rust・Go・Rの標準ソートアルゴリズム比較",
            "summary": "主要プログラミング言語5つの標準ライブラリで採用されているソートアルゴリズムを比較。Timsort、Powersort、driftsort、pdqsortなど、近年の大きなアップデートも含めて解説します。",
            "date_modified": "2026-03-21T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/2c08013b-16b6-4f30-8056-06923dc8ce60",
            "url": "https://illumination-k.dev/ja/techblog/post/2c08013b-16b6-4f30-8056-06923dc8ce60",
            "title": "10x Genomics scRNAseq のライブラリ調整",
            "summary": "この記事は、single-cell RNA-seq（scRNA-seq）のライブラリ調整手法を解説し、特に10x Genomicsのプロセスを詳述し、解析への基礎知識を提供します。",
            "date_modified": "2024-11-23T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/432eaa6e-f795-4bf5-9f8d-443fd0c7e917",
            "url": "https://illumination-k.dev/ja/techblog/post/432eaa6e-f795-4bf5-9f8d-443fd0c7e917",
            "title": "Windows(Powershell)でpecoを使ってみる (履歴のインクリメンタルサーチ)",
            "summary": "Powershellでpecoを使って履歴をインクリメンタルサーチしてみます。",
            "date_modified": "2024-10-27T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/c2954724-d9a1-460e-94ee-8fcd92d8ec77",
            "url": "https://illumination-k.dev/ja/techblog/post/c2954724-d9a1-460e-94ee-8fcd92d8ec77",
            "title": "Pydantic-settingsでCLIアプリケーションを作成できる話",
            "summary": "pydantic-settings を使用することで、簡単に型安全で保守性の高いCLIアプリケーションを作成できます。",
            "date_modified": "2024-10-14T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/36e37a39-85f5-470b-b142-8a7882c4c310",
            "url": "https://illumination-k.dev/ja/techblog/post/36e37a39-85f5-470b-b142-8a7882c4c310",
            "title": "DBの正規化を実践を通して学ぶ",
            "summary": "正規化をSQLを使って、第一正規形から第三正規形までのデータベース設計を説明します。また、ボイスコッド正規形による第三正規形の更新時異常の排除と関数従属性の損失についても説明します。",
            "date_modified": "2024-10-06T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/70eed700-3462-4870-b781-8ea552d35703",
            "url": "https://illumination-k.dev/ja/techblog/post/70eed700-3462-4870-b781-8ea552d35703",
            "title": "UniprotのID mapping APIを利用した遺伝子IDの変換",
            "summary": "遺伝子やタンパク質に関連する多様なデータベース間でのID変換方法を解説します。特に、UniprotのID Mappingサービスを使えば、Uniprot IDからEnsembl ID、NCBIのEntrez IDなど、主要なデータベース間での変換が簡単に行えます。APIも提供されているため、スクリプトやプログラムでの自動化も可能です。さらに、APIの利用方法や実際のコマンド例についても触れています。\nこのページでは、IDマッピングの手順を詳しく説明し、実際のコマンド例を含めた具体的な手順を紹介しています。APIを用いたプロセスをステップごとに説明しており、UniprotKBからUniRefへの変換、Ensemblへの変換例を取り上げています。",
            "date_modified": "2024-09-28T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/be25bb0f-7578-4206-80f5-0745174a0ef7",
            "url": "https://illumination-k.dev/ja/techblog/post/be25bb0f-7578-4206-80f5-0745174a0ef7",
            "title": "PostgresのSerial型のPrimary keyの挙動について",
            "summary": "PostgreSQLでERROR: duplicate key value violates unique constraintエラーが発生する原因の1つとして、Serial型のPrimary keyに手動で値を割り当てた際にシーケンスが正しく更新されないことがあります。これは、Default値であるnextvalが呼び出されないことによって起こります。この問題を解決するためには、テーブルのPrimary keyの現在の最大値をシーケンスオブジェクトに設定する必要があります。具体的な手順としては、setval関数を使用してシーケンスオブジェクトの値を調整することで、INSERT操作が正しく実行されるようになります。",
            "date_modified": "2024-09-25T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/81d49268-b6d1-490e-8210-a0a13cff2e88",
            "url": "https://illumination-k.dev/ja/techblog/post/81d49268-b6d1-490e-8210-a0a13cff2e88",
            "title": "React + Vite + Typescriptでchrome extensionを開発する",
            "summary": "React + Vite + Typescriptでchrome extensionを作成するためのテンプレートを作成しました。依存は基本的にこれらだけで、すぐに開発を進められるように設定してあります。",
            "date_modified": "2024-09-23T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/ea7cfff1-676a-4f54-8cf0-2e66fd27ae2c",
            "url": "https://illumination-k.dev/ja/techblog/post/ea7cfff1-676a-4f54-8cf0-2e66fd27ae2c",
            "title": "pagefindを使って全文検索エンジンをNext.jsのSSGブログに導入する",
            "summary": "このブログ記事では、PagefindというWeb上で動作する軽量な全文検索エンジンを、Next.jsのSSG（静的サイト生成）に導入する方法を紹介しています。Pagefindは日本語にも限定的に対応しています。具体的なセットアップ手順や、検索コンポーネントの実装方法、検索結果を型安全に取得するためのコード例について説明します。",
            "date_modified": "2024-09-23T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/b4c996d6-898d-4dff-98b4-4ddb34afea50",
            "url": "https://illumination-k.dev/ja/techblog/post/b4c996d6-898d-4dff-98b4-4ddb34afea50",
            "title": "JAM StackなBlogをモダン技術で再作成した話",
            "summary": "古いブログを最近の技術で再構築した際に使用した技術についての比較記事です。過去のブログの技術構成と、新しいブログで使用した技術の選択理由と採用しなかった技術について詳しく説明しています。",
            "date_modified": "2023-03-27T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/8eaf357f-043b-4c78-91a3-f2cc6ffa28fe",
            "url": "https://illumination-k.dev/ja/techblog/post/8eaf357f-043b-4c78-91a3-f2cc6ffa28fe",
            "title": "JavascriptのClassをShallow Copyする",
            "summary": "JavascriptのclassをReactで使いたいときのuseStateなどを扱う際に便利なので、Shallow Copyのやり方をまとめる",
            "date_modified": "2022-08-19T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/0ad74ef3-f869-46e3-aae6-db2825ef5493",
            "url": "https://illumination-k.dev/ja/techblog/post/0ad74ef3-f869-46e3-aae6-db2825ef5493",
            "title": "amp-listを使ってNext.jsの静的サイトに他のブログ記事への誘導をランダムでつける",
            "summary": "ブログでよくある、関係のある記事をランダムで記事の一番下につけるために、Next.jsでAPIを実装したあと、amp-listを使って動的にそれらを作成します。",
            "date_modified": "2022-08-19T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/fbee489f-126d-4947-8391-346044211d7c",
            "url": "https://illumination-k.dev/ja/techblog/post/fbee489f-126d-4947-8391-346044211d7c",
            "title": "Matploblibでよくやるけどよく忘れることまとめ",
            "summary": "個人的にMatploblibでよく使うけど毎回探しに行っていることをまとめておく",
            "date_modified": "2022-08-08T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/d25f2fac-eda2-4f52-8a33-4d772c21ce06",
            "url": "https://illumination-k.dev/ja/techblog/post/d25f2fac-eda2-4f52-8a33-4d772c21ce06",
            "title": "SQLAlchemy + mypy + pytestの環境を整える",
            "summary": "SQLAlchemyは素晴らしいORMですが、`django`等と違ってテストや、migrationは自分でセットアップする必要があります。この記事では、alembic, pytest, mypyを使った環境をセットアップします。",
            "date_modified": "2022-08-08T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/3c6ce746-bee5-461d-afca-17969c0281fd",
            "url": "https://illumination-k.dev/ja/techblog/post/3c6ce746-bee5-461d-afca-17969c0281fd",
            "title": "matplotlibでcolorbarのみplotし、ある値がどの色になるのか判定する",
            "summary": "matplotlibを使っていて、colorbarだけ作りたいとき、そして作ったcolorbarに対して、ある値がどの色になるのか知りたい、というニッチな状況への対応策",
            "date_modified": "2022-06-12T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/80f0dad5-5ede-4e2a-950e-44350e6571b8",
            "url": "https://illumination-k.dev/ja/techblog/post/80f0dad5-5ede-4e2a-950e-44350e6571b8",
            "title": "Pythonでビースウォーム(beeswarm)プロットを使ってみる",
            "summary": "統計要約量とかを特に考慮せずに、ただデータを概観したいということがあると思います。データの分布を概観するときには、ビースウォームプロットが便利です。seabornを使うことでPythonでもビースウォームプロットを簡単に使えます。",
            "date_modified": "2022-06-12T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/eff9cc47-a0d4-4c9e-9027-c15e13a88563",
            "url": "https://illumination-k.dev/ja/techblog/post/eff9cc47-a0d4-4c9e-9027-c15e13a88563",
            "title": "JSONで画像をやりとりする python <-> JavaScript (React)",
            "summary": "Python、特にmatplotlibで作成したPNGファイルをJSONにSerializeしてフロントエンド側に送りたいときにどうすればいいのかについて",
            "date_modified": "2022-06-12T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/1f8bac44-be7d-421e-9987-1b91b438eb04",
            "url": "https://illumination-k.dev/ja/techblog/post/1f8bac44-be7d-421e-9987-1b91b438eb04",
            "title": "Phylogenetic Analysisに関するまとめ",
            "summary": "Phylogenetic Analysis各種ステップのAlignment, Trim, Model選択, Tree Constructionに関する情報、ツールに関してまとめ",
            "date_modified": "2022-06-12T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/8ec82480-1a64-410f-b734-a2c82a51ba16",
            "url": "https://illumination-k.dev/ja/techblog/post/8ec82480-1a64-410f-b734-a2c82a51ba16",
            "title": "Rustで高速にsliceの一部をCloneする",
            "summary": "Rustで配列をコピーしたいとき、実際問題何をするのが早いのかという話です。結論だけ書いておくと、`clone_from_slice`を使えばいいはずです。",
            "date_modified": "2022-06-04T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/61427e60-48c8-480b-bdbf-b5f846149c3a",
            "url": "https://illumination-k.dev/ja/techblog/post/61427e60-48c8-480b-bdbf-b5f846149c3a",
            "title": "Actix-Web + Diesel + PostgresでCRUDしてみた",
            "summary": "Actix-webを使ってみたかったので、DieselのGetting StartをActix-webで実装しました。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/2e78a536-3dc2-4a4f-81aa-5f20e1db76a1",
            "url": "https://illumination-k.dev/ja/techblog/post/2e78a536-3dc2-4a4f-81aa-5f20e1db76a1",
            "title": "Markdownの中のコードをフォーマットするツールを作った",
            "summary": "Markdown内のコードをフォーマットしたいので、作りました。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/0f2daab3-6590-46a9-976d-7e9565eade24",
            "url": "https://illumination-k.dev/ja/techblog/post/0f2daab3-6590-46a9-976d-7e9565eade24",
            "title": "Excvrとrust-analyzerでJupyterでRust",
            "summary": "RustでJupyter環境を構築して、rust-analyzerで補完できるようにします。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/8359beab-daec-4977-a8cf-d2064cbed808",
            "url": "https://illumination-k.dev/ja/techblog/post/8359beab-daec-4977-a8cf-d2064cbed808",
            "title": "Github Actionsとcrossを使ってReleaseでクロスコンパイルしてバイナリをアップロードする",
            "summary": "Github Actionsとcrossを使ってReleaseでクロスコンパイルしてバイナリをアップロードする",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/35581b9a-26d4-41c2-9c5f-e00729e8b184",
            "url": "https://illumination-k.dev/ja/techblog/post/35581b9a-26d4-41c2-9c5f-e00729e8b184",
            "title": "macroを使ってopを実装する",
            "summary": "構造体に対して演算子を実装するときに、マクロを使わないとすごく長くなるのでマクロの使い方についてまとめておく。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/1e25178b-a7d5-499a-b05f-80c0f57c16f2",
            "url": "https://illumination-k.dev/ja/techblog/post/1e25178b-a7d5-499a-b05f-80c0f57c16f2",
            "title": "RustでLinkedListを実装してみた",
            "summary": "RustでLinkedListを実装してみました。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/2765c476-939f-4f14-8520-83dd3dd2ada2",
            "url": "https://illumination-k.dev/ja/techblog/post/2765c476-939f-4f14-8520-83dd3dd2ada2",
            "title": "Rustのデータフレームcrateのpolarsとpandasの比較",
            "summary": "rustにも実はpandas likeなcrateがあることを知ったのでpandasとの対応関係をまとめてた。最善である保証はありません。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/a7bc2978-62bd-46da-849b-1296f1224077",
            "url": "https://illumination-k.dev/ja/techblog/post/a7bc2978-62bd-46da-849b-1296f1224077",
            "title": "Rust Tips",
            "summary": "rustで覚えておきたいことのメモ",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/e3ab21c6-87bd-48cd-a011-c925b423164f",
            "url": "https://illumination-k.dev/ja/techblog/post/e3ab21c6-87bd-48cd-a011-c925b423164f",
            "title": "DjangoでPylanceがimportを解決しない問題の対処法",
            "summary": "Pylanceは非常に優れたコーディング支援拡張機能ですが、importがよく解決されなくて困っていました。小規模開発のときはまあいいか、と思ったりするのですが、djangoとかで解決されないと結構手間なので、解決法を調べたら解決したので書いておきます。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/5483c0e5-9b17-43d3-aa07-dfaeae1846f8",
            "url": "https://illumination-k.dev/ja/techblog/post/5483c0e5-9b17-43d3-aa07-dfaeae1846f8",
            "title": "Pythonでupsetplotを使う",
            "summary": "集合関係の包含関係を示すとき、ベン図より使いやすいことのあるupset plotをPythonで使用するやり方です",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/9f833f29-019d-447c-af34-caf44abc5132",
            "url": "https://illumination-k.dev/ja/techblog/post/9f833f29-019d-447c-af34-caf44abc5132",
            "title": "知っておくと便利なbash知識",
            "summary": "知っておくと便利そうなbash知識をまとめていきます。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/6d75c101-9f84-4208-986c-605b5298a4ad",
            "url": "https://illumination-k.dev/ja/techblog/post/6d75c101-9f84-4208-986c-605b5298a4ad",
            "title": "bashのPermission関連についてのまとめ",
            "summary": "bashのPermission関連について、すぐ忘れてしまうのでまとめておきます。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/f35e013e-6067-44ec-a1e2-706e82ac2c3e",
            "url": "https://illumination-k.dev/ja/techblog/post/f35e013e-6067-44ec-a1e2-706e82ac2c3e",
            "title": "Gitに関するスクラップ",
            "summary": "Gitに関してコマンドをよく忘れるのでメモ",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/6f772004-78ea-4a36-b240-9ea3d12cd6c4",
            "url": "https://illumination-k.dev/ja/techblog/post/6f772004-78ea-4a36-b240-9ea3d12cd6c4",
            "title": "便利なWebサービスについてのまとめ",
            "summary": "プログラミングの勉強や開発する時に便利なWebサービスについてまとめていきます。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/460e0d7f-5fef-434f-a6e0-1eea3b9f365f",
            "url": "https://illumination-k.dev/ja/techblog/post/460e0d7f-5fef-434f-a6e0-1eea3b9f365f",
            "title": "WSL2を少しだけ快適にするTips",
            "summary": "WSL2をもう少しだけ快適に使うためのTips",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/0406d898-77e7-493d-98ae-71b33b326a9a",
            "url": "https://illumination-k.dev/ja/techblog/post/0406d898-77e7-493d-98ae-71b33b326a9a",
            "title": "CSSでコードブロックの右上に言語名を表示する",
            "summary": "コードを書くときに書いてる言語が何なのか表示すると、見るときに便利です。CSSだけで実現できます。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/9abd32f9-d55f-49d3-96c0-f851080bd301",
            "url": "https://illumination-k.dev/ja/techblog/post/9abd32f9-d55f-49d3-96c0-f851080bd301",
            "title": "JavaScriptでのrandomに関するまとめ",
            "summary": "JavaScriptのランダムは非常に使い勝手が悪いので選択肢とか、よく使う関数などのまとめです。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/650b30b0-9fde-467b-b088-f1afd0e24e2e",
            "url": "https://illumination-k.dev/ja/techblog/post/650b30b0-9fde-467b-b088-f1afd0e24e2e",
            "title": "Next.jsでブログを作ってみた",
            "summary": "Wordpressでブログを作っていたが、パフォーマンスが遅いのでNext.jsで作り直した。ほしい要件、使うフレームワークの選定など。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/364f008f-fec9-4d56-b78d-48848c42e17f",
            "url": "https://illumination-k.dev/ja/techblog/post/364f008f-fec9-4d56-b78d-48848c42e17f",
            "title": "MDX or Markdown ?",
            "summary": "ブログ記事を書くのに、MDXを使うのか、Markdownを使うのか",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/f3530c63-09a6-46da-bd19-c81f7241620b",
            "url": "https://illumination-k.dev/ja/techblog/post/f3530c63-09a6-46da-bd19-c81f7241620b",
            "title": "Next.jsで作ったブログにStyleを適用していく",
            "summary": "Wordpressでブログを作っていたが、パフォーマンスが遅いのでNext.jsで作り直した。markdwonでレンダリングできるようになったので、Styleを適用していく。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/ac895f1e-9e84-4d68-aa1c-229d69fa4db8",
            "url": "https://illumination-k.dev/ja/techblog/post/ac895f1e-9e84-4d68-aa1c-229d69fa4db8",
            "title": "Next.jsでカスタムローダーを使ってmdxをAMP対応させる",
            "summary": "Wordpressでブログを作っていたが、パフォーマンスが遅いのでNext.jsで作り直した。mdxをレンダリングするときに使うカスタムローダーを自作してAMP対応させる話。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/ebaa13d3-6af6-4c07-afb9-977755a79dbc",
            "url": "https://illumination-k.dev/ja/techblog/post/ebaa13d3-6af6-4c07-afb9-977755a79dbc",
            "title": "Next.jsで作ってみたブログに検索機能を導入する",
            "summary": "Next.jsで作ってみたブログに形態素解析とflexsearchで検索機能を導入する",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/de7a6d47-03d6-430c-a7e5-406aa96e7b7c",
            "url": "https://illumination-k.dev/ja/techblog/post/de7a6d47-03d6-430c-a7e5-406aa96e7b7c",
            "title": "next.jsで作ってみたブログにamp-sidebarを導入する",
            "summary": "next.jsで作ってみたブログにtypescriptとmaterial-uiと一緒にamp-sidebarを導入してみた。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/178a4f3e-b473-446f-9bdb-242b671656cc",
            "url": "https://illumination-k.dev/ja/techblog/post/178a4f3e-b473-446f-9bdb-242b671656cc",
            "title": "Next.jsで作ったブログをAMPとPWAに対応させる",
            "summary": "Next.jsで作ったAMPオンリーのブログをPWAにも対応させてみた。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/65fdce8c-8796-4caa-ae67-e1980d8ce3c2",
            "url": "https://illumination-k.dev/ja/techblog/post/65fdce8c-8796-4caa-ae67-e1980d8ce3c2",
            "title": "material-uiに関するスクラップ",
            "summary": "material-uiに関するスクラップ",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/3eca6f16-95ec-4df2-b232-309b38b28fea",
            "url": "https://illumination-k.dev/ja/techblog/post/3eca6f16-95ec-4df2-b232-309b38b28fea",
            "title": "next.config.jsで設定することのまとめ",
            "summary": "next.jsを使っているとnext.config.jsを使って設定をカスタマイズすることが多いです。next.config.jsで設定できることと、その設定の仕方についてまとめておきます。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/59907b94-6fbc-4f69-ad82-09140f30edb1",
            "url": "https://illumination-k.dev/ja/techblog/post/59907b94-6fbc-4f69-ad82-09140f30edb1",
            "title": "Next.jsをCloudbuildでGAEにデプロイ",
            "summary": "Next.jsをGoogle App Engine上にCloudBuild経由でデプロイするまで",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/2e20078f-198e-4a45-92d1-d73fed726eca",
            "url": "https://illumination-k.dev/ja/techblog/post/2e20078f-198e-4a45-92d1-d73fed726eca",
            "title": "Prisma + Next.jsでシンプルなCRUD APIを作成する",
            "summary": "O/Rマッパとしてprismaを使用して、簡単なCRUDをNext.jsと一緒に作成します。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/1c2d022d-dabc-4a33-9483-0faecba52618",
            "url": "https://illumination-k.dev/ja/techblog/post/1c2d022d-dabc-4a33-9483-0faecba52618",
            "title": "plotly.jsのbundle sizeを削減する",
            "summary": "plotlyはJavascriptだけでなくPythonやRでも使われている非常に利便性の高いライブラリです。しかし、フロントエンドで使うにはバンドルサイズが大きすぎるという問題があります。plotlyのバンドルサイズの削減方法と、react-plotly.jsでの適用方法をまとめておきます。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/c74c30d5-f98b-45f1-af7d-e7e612184742",
            "url": "https://illumination-k.dev/ja/techblog/post/c74c30d5-f98b-45f1-af7d-e7e612184742",
            "title": "React + useContext + TypescriptでDI",
            "summary": "ReactでDIみたいなことをuseContextを使ってやるときに、型安全にできるようにするための方法",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/8727aa04-89e5-4ce5-a4f6-ff60069c4eb8",
            "url": "https://illumination-k.dev/ja/techblog/post/8727aa04-89e5-4ce5-a4f6-ff60069c4eb8",
            "title": "自分専用のTODOアプリを作る",
            "summary": "世の中にはたくさんのTODOアプリが溢れていますが、自分がやりたいことをすべてできるアプリはありませんでした。じゃあ作ってみよう、という話です。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/65c054ed-bee1-46df-b849-9a7f92ac6d6c",
            "url": "https://illumination-k.dev/ja/techblog/post/65c054ed-bee1-46df-b849-9a7f92ac6d6c",
            "title": "NGSライブラリ調製の時に使用される反応まとめ",
            "summary": "NGSライブラリ調製の際には多様な反応が使用されている。それらのうち、知っているものについて原理をまとめていきたい。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/9b02e1bd-d793-4216-ae52-fe193e53b253",
            "url": "https://illumination-k.dev/ja/techblog/post/9b02e1bd-d793-4216-ae52-fe193e53b253",
            "title": "NGS解析に関するまとめ",
            "summary": "次世代シーケンサーの解析って言ってもピンとこない人が多いような気がするので、知識の整理も兼ねてその辺から軽く書いていこうと思います。生物わかんない人にわかるように頑張ろうと思います。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/dbb49f31-2bca-4a97-857e-a1d7a95b645d",
            "url": "https://illumination-k.dev/ja/techblog/post/dbb49f31-2bca-4a97-857e-a1d7a95b645d",
            "title": "ライブラリ調整とシーケンスの基本について",
            "summary": "次世代シーケンサー(NGS)解析技術の発展に伴い、比較的安価にシーケンスを行うことができるようになってきています。NGS解析を行うにあたって重要なライブラリ調整の原理と、シーケンサーの挙動についてまとめていきます。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/07317ec6-015a-465d-9461-eb639f4c49e2",
            "url": "https://illumination-k.dev/ja/techblog/post/07317ec6-015a-465d-9461-eb639f4c49e2",
            "title": "CellRangerでSTARのパラメータを変更する",
            "summary": "single cell RNA-seqを知ってる人ならまず知っているであろう、Cell Ranger。使ったことがなかったんですが、ちょっと使ってみようかなと思いました。しかし、これ内部的にはSTARを使ってマッピングするんですが、STARのパラメーターを引数でとれない、という問題（誰も問題にしていない）があります。公式の解答としては、自分でビルドしてね、責任は持たないけど、ってことらしいです。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/4b7129dc-69f0-4458-ba47-1c8e269c6dcb",
            "url": "https://illumination-k.dev/ja/techblog/post/4b7129dc-69f0-4458-ba47-1c8e269c6dcb",
            "title": "GATK4をsplit intervalを使って高速化する",
            "summary": "GATK4は実行に時間がかかるツールですが、マシンパワーさえあればsplit intervalを使って高速化できます。interval listについては日本語文献が見つからなかったのでまとめておきます。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/27f1e7bc-f4ba-42ea-bac7-0a06c71362c7",
            "url": "https://illumination-k.dev/ja/techblog/post/27f1e7bc-f4ba-42ea-bac7-0a06c71362c7",
            "title": "gatk4のRNA-seq bestpractice",
            "summary": "genomic sequenceと少しRNA-seqのパイプラインは違うので、bestpracticeをbashで実行するメモ",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/9fa3f759-fdfa-45b6-8658-058a59be24e5",
            "url": "https://illumination-k.dev/ja/techblog/post/9fa3f759-fdfa-45b6-8658-058a59be24e5",
            "title": "深層学習ベースのGO termアノテーションを試してみる",
            "summary": "自然言語処理技術では深層学習技術が非常に良い成果をあげています。タンパク質配列からGO Termなどのアノテーション行い、機能を推定する方法として、これまでの多くはBLASTなどの相同性検索を用いていました。最近では、いくつかのツールが深層学習ベースで機能予測を行っています。今回はdeepgoplusを試してみることにします。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/7ff96bd4-843a-4eec-ace7-2f36b32507fe",
            "url": "https://illumination-k.dev/ja/techblog/post/7ff96bd4-843a-4eec-ace7-2f36b32507fe",
            "title": "区間に関するクエリ",
            "summary": "区間に関するクエリを行うためのツールやデータ構造に関するメモ",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/be2a3bba-070f-48fc-bcf2-38331e6a633a",
            "url": "https://illumination-k.dev/ja/techblog/post/be2a3bba-070f-48fc-bcf2-38331e6a633a",
            "title": "MUSCLE + trimal + RAxML-ng-mpiを使って最尤法で系統解析",
            "summary": "遺伝子の機能や、進化を考察する上でタンパク質を用いた系統解析は重要な解析手法の一つとして知られている。今回は、MUSCLEを用いてマルチプルアラインメントを作成し、非保存領域をTrimAlで除去したあと、RAxMLを用いて最尤法によって系統解析を行う。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/42a992f4-83ad-4b68-8df0-400727d82205",
            "url": "https://illumination-k.dev/ja/techblog/post/42a992f4-83ad-4b68-8df0-400727d82205",
            "title": "コマンドをqsubで直接ジョブに投げられるようにする",
            "summary": "スパコンを使っていると、qsubを使ってジョブを投げることがあるのではないかと思います。このときに、ワンライナーを実行したいときなど、一回ファイル作ってからコマンドを投げるのが非常にめんどくさいことがあります。そこで、Pythonのargparseとsubprocessを使って擬似的にコマンドからジョブを投げられるようにしました。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/198bf005-b169-4992-8ad5-667f594d84e0",
            "url": "https://illumination-k.dev/ja/techblog/post/198bf005-b169-4992-8ad5-667f594d84e0",
            "title": "Rustでfastq/fastq.gzを読み書きする",
            "summary": "rust-bioを使ってfastq/fastq.gzを読み書きします。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/fb2efb0b-1ca6-48e5-983d-c425d5783598",
            "url": "https://illumination-k.dev/ja/techblog/post/fb2efb0b-1ca6-48e5-983d-c425d5783598",
            "title": "salmonの出力ファイルをtximportで加工する",
            "summary": "salmonの出力ファイルはquant.sfですが、その加工は非常に多岐に渡り、結構難しいです。tximportで加工できる先と用途についてまとめていきたいと思います。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/37b8d936-c016-4aa0-bca6-9fe1e44ee901",
            "url": "https://illumination-k.dev/ja/techblog/post/37b8d936-c016-4aa0-bca6-9fe1e44ee901",
            "title": "SRAからfastqをダウンロードする時の関連知識",
            "summary": "SRAからfastqファイルをダウンロードする時の関連知識",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/081ab3f4-4203-4520-b5ad-4a91de58950f",
            "url": "https://illumination-k.dev/ja/techblog/post/081ab3f4-4203-4520-b5ad-4a91de58950f",
            "title": "SRAにAsperaを使ってデータをアップロードする",
            "summary": "httpやftpによるSRAへのデータアップロードは遅すぎるので、IBMのaspera connectを使ってデータをアップロードするやり方を使おう。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/428cbaba-1dc2-4887-88dd-ce9ccee4c0b6",
            "url": "https://illumination-k.dev/ja/techblog/post/428cbaba-1dc2-4887-88dd-ce9ccee4c0b6",
            "title": "AWSでElastic IPアドレスを開放していなかったばっかりに損した話",
            "summary": "AWS使って遊び終わったあと放置していると請求が来るという怖い話",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/355eb8b4-1c9e-4a0f-a1d9-4702acac26f8",
            "url": "https://illumination-k.dev/ja/techblog/post/355eb8b4-1c9e-4a0f-a1d9-4702acac26f8",
            "title": "FastAPI + SQLAlchemy (Postgres) でHerokuにデプロイ",
            "summary": "思ったよりFastAPI、PostgresでHerokuにデプロイするということにだけ焦点を当てた記事が見つからなかったので書いておきました。",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/de87d9d5-2362-48d7-a31e-af9b33a234aa",
            "url": "https://illumination-k.dev/ja/techblog/post/de87d9d5-2362-48d7-a31e-af9b33a234aa",
            "title": "SQLに関するメモ書き",
            "summary": "SQLに関するメモ",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/e0b5ed90-0b5e-406b-9b13-d7bb0185a74f",
            "url": "https://illumination-k.dev/ja/techblog/post/e0b5ed90-0b5e-406b-9b13-d7bb0185a74f",
            "title": "bit全探索を理解するために",
            "summary": "bit全探索が何をやっているのか理解するのが難しかったので、何が起こっているのかをまとめた",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/baf93694-7e66-45bf-83a1-1e77e56c9228",
            "url": "https://illumination-k.dev/ja/techblog/post/baf93694-7e66-45bf-83a1-1e77e56c9228",
            "title": "競技プログラミングに関するメモ",
            "summary": "競技プログラミングに関する自分用のメモ",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/695d0509-0a21-48a9-86c3-720acc0a21a4",
            "url": "https://illumination-k.dev/ja/techblog/post/695d0509-0a21-48a9-86c3-720acc0a21a4",
            "title": "RustでDFSとDFS木",
            "summary": "rustで木上のDFSとDFS木",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/286b23d0-52ae-4acd-af76-12265398b03e",
            "url": "https://illumination-k.dev/ja/techblog/post/286b23d0-52ae-4acd-af76-12265398b03e",
            "title": "平面上でのダイクトストラ (rust)",
            "summary": "二次元平面上でダイクトストラやりたいってときのための覚書",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/2b7e39bf-10bc-46f3-8cdf-cf9a03d160c8",
            "url": "https://illumination-k.dev/ja/techblog/post/2b7e39bf-10bc-46f3-8cdf-cf9a03d160c8",
            "title": "イベントソート",
            "summary": "イベントソートの自分なりの解釈",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/403440c7-acf4-4b1c-acd0-0f366044f63f",
            "url": "https://illumination-k.dev/ja/techblog/post/403440c7-acf4-4b1c-acd0-0f366044f63f",
            "title": "包除原理とオイラー関数について",
            "summary": "包除原理とその実装、オイラー関数に関するメモ",
            "date_modified": "2022-05-20T00:00:00.000Z"
        },
        {
            "id": "https://illumination-k.dev/ja/techblog/post/64e0a71c-9c2b-433b-8927-c333e1c3253b",
            "url": "https://illumination-k.dev/ja/techblog/post/64e0a71c-9c2b-433b-8927-c333e1c3253b",
            "title": "Manhattan Distance Memo",
            "summary": "マンハッタン距離に関するメモ",
            "date_modified": "2022-05-20T00:00:00.000Z"
        }
    ]
}