Docker Composeで爆速構築!OpenSearch + Dashboards環境構築手順

「OpenSearch、ちょっと触ってみたいな」と思ったとき、環境構築でつまずくのはもったいない。 自分自身も最近、業務で使用する必要が出てきました。 今回は、docker-compose を使って、コマンド一つでOpenSearchとOpenSearch Dashboardsの環境をサクッと構築する手順を備忘として残しておきます。 使用しているファイルなどはこちらで確認できます。 1. dock…

Read More

blog-image

Pythonで選挙データを分析してみよう!⑦〜サポーターと選挙活動の効果測定編〜

このシリーズでは、2025/07/21に行われた参院選挙結果を分析するためのプログラムを、一つずつ紐解いて解説していきます。選挙データ分析シリーズ、いよいよ最終回です。 これまで、複雑な開票結果を整形し、候補者のパフォーマンスを多角的に見てきました。今回は、その分析をさらに一歩進め、「サポーターの存在や街頭演説など得票率に関連するのか?」という問いに、データを使って答えることに挑戦します。 チーム…

Read More

blog-image

Pythonで選挙データを分析してみよう!⑥〜ライバル候補との直接対決編〜

このシリーズでは、2025/07/21に行われた参院選挙結果を分析するためのプログラムを、一つずつ紐解いて解説していきます。選挙データ分析シリーズ第6弾、今回はさらに一歩踏み込んで「比較分析」の世界に足を踏み入れます。 作成したコードは Github に公開しているので、興味があれば、見てみてください。※コードは、予告なく、改変/削除されることがあります。 前回は一人の候補者(と政党)を多角的に分…

Read More

blog-image

Pythonで選挙データを分析してみよう!⑤〜特定候補者・政党の徹底分析編〜

このシリーズでは、2025/07/21に行われた参院選挙結果を分析するためのプログラムを、一つずつ紐解いて解説していきます。選挙データ分析シリーズ第5弾、いよいよ分析編に突入です。 作成したコードは Github に公開しているので、興味があれば、見てみてください。※コードは、予告なく、改変/削除されることがあります。 これまでは、人間には読みやすいけれど機械には優しくない、様々なフォーマットのデ…

Read More

blog-image

Pythonで選挙データを分析してみよう!④〜埼玉投票結果 比例代表情報 読み込み編〜

このシリーズでは、2025/07/21に行われた参院選挙結果を分析するためのプログラムを、一つずつ紐解いて解説していきます。ついに第4弾です。これまでも手ごわいデータを相手にしてきましたが、今回はラスボス級の挑戦になります。 テーマは、比例代表の投票結果をまとめた cleanup_voting_result_by_proportional_representation.py。このスクリプトが立ち向…

Read More

blog-image

Pythonで選挙データを分析してみよう!③〜埼玉投票結果 選挙区情報 読み込み編〜

このシリーズでは、2025/07/21に行われた参院選挙結果を分析するためのプログラムを、一つずつ紐解いて解説していきます。いよいよ第3弾です。 これまでは不要な行や列を「掃除」するのがメインでしたが、今回はデータの構造自体を分析しやすい形に「変形」させるという、一歩進んだテクニックに挑戦します。 作成したコードは Github に公開しているので、興味があれば、見てみてください。※コードは、予告…

Read More

blog-image

Pythonで選挙データを分析してみよう!②〜埼玉投票情報 比例代表情報 読み込み編〜

このシリーズでは、2025/07/21に行われた参院選挙結果を分析するためのプログラムを、一つずつ紐解いて解説していきます。今回は第2弾です。 前回は小選挙区の投票結果を扱いましたが、今回は比例代表のデータ整形に挑戦します。使用するスクリプトは cleanup_voting_info_by_proportional_representation.py です。 作成したコードは Github に公開…

Read More

blog-image

Pythonで選挙データを分析してみよう!①〜埼玉投票情報 選挙区情報 読み込み編〜

このシリーズでは、2025/07/21に行われた参院選挙結果を分析するためのプログラムを、一つずつ紐解いて解説していきます。 作成したコードは Github に公開しているので、興味があれば、見てみてください。※コードは、予告なく、改変/削除されることがあります。 前回は比較的シンプルなCSVを扱いましたが、今回はより実践的で手ごわい、複数シートにまたがるExcel形式の開票結果データを綺麗に整形…

Read More

blog-image

【DB】インデックスがあるのにクエリが遅い?よくある落とし穴と対策

データベースのパフォーマンスチューニングといえば、まず思い浮かぶのが「インデックス」。正しく使えば劇的にクエリを高速化してくれる、まさに魔法のような仕組みですよね。 でも、「インデックスを貼ったはずなのに、なぜかクエリが遅い…」「むしろインデックスがない方が速かったりする…?」なんて経験はありませんか? 実は、インデックスは万能薬ではなく、使い方を間違えるとパフォーマンスの足を引っ張ってしまうこと…

Read More

blog-image

DBのデータ削除、どうしてる?3つのパターンを整理

アプリケーションを開発していると、必ずと言っていいほど「データを削除する」という機能が必要になりますよね。ユーザーがアカウントを消したり、投稿を削除したり。一見、「DELETE文で消すだけでしょ?」と思いがちですが、実はデータの削除方法にはいくつかパターンがあって、それぞれにメリット・デメリットが存在します。 今回は、代表的な3つのデータ削除パターンについて、それぞれの特徴を整理してみました。 1…

Read More

blog-image

e-stat API利用ガイド:登録からPythonでのデータ取得まで

はじめに e-statは、日本の政府統計データを集約したポータルサイトです。このサイトでは、国勢調査や労働力調査、消費者物価指数など、多岐にわたる統計データが公開されています。 通常、これらのデータはウェブサイト上で閲覧したり、CSVファイルとしてダウンロードしたりしますが、e-statは「API(Application Programming Interface)」機能も提供しています。APIを…

Read More

blog-image

Copilotを“最強の相棒”に育てる!copilot-instructions.mdでアーキテクチャルールを教え込んでみた

AIによるコーディング支援ツール「GitHub Copilot」。非常に便利で、今や開発に欠かせない相棒となりつつあります。しかし、時々「そうじゃないんだよな…」というコードを提案されて、手戻りが発生することはあります。 たとえ個人開発であっても、一貫性を保つために最低限のアーキテクチャや命名規則は設けたいもの。しかし、Copilotがその「暗黙のルール」を理解してくれず、生成されたコードを結局手…

Read More