Programming

人気記事

集計期間: 2025-03 〜 2026-03

記事一覧 (135件)

19年運用したWordPress 661記事をAstro + Cloudflare Pagesへ移行した手順と技術的ポイント

661記事・2,515画像のWordPressブログをAstro + Cloudflare Pagesに移行した技術的な記録
4724 文字
|
24 分
Cover Image of the Post

17万9千座の山頂データをサブ10msで検索するPWAをClaude Codeで開発した

SOTA対象の17万9千座をサブ10msで検索できるPWAをClaude Codeだけで開発。SQLite Wasm+R*Treeで完全オフライン動作。
3760 文字
|
19 分
Cover Image of the Post

Palantir AIPの正体:なぜ「Chat」ではなく「OS」なのか?そのアーキテクチャを解剖する

現在、多くのエンジニアが生成AIの業務適用(RAG等)に取り組んでいますが、多くのプロジェクトが「社内ドキュメントを検索して要約する」という **Read-Onlyなチャットボット** の域を出ずに停滞しています。
2717 文字
|
14 分

WordPressサイトをAstroへ移行:4700記事のビルドが10秒で完了する構成

前回、WordPress で作られた写真ポートフォリオサイトを Astroに移管してみたときにメリットしかなかったので、引き続きWordPressサイトをAstroに移管していきます。
2910 文字
|
15 分
Cover Image of the Post

WordPressからAstroへ移行してサイト表示速度を改善した記録

業務で Astro を調査していたら、Astro で作ったウェブサイトの表示速度がめちゃくちゃ速くて驚愕しました。開発サーバの起動やビルドも爆速です。
2211 文字
|
11 分
Cover Image of the Post

Context engineeringの実践例 - システムプロンプトと人間向けドキュメントを共存して管理

本記事では、**Context Engineering**(コンテキスト・エンジニアリング)の実践例として、人間と AI の両方が効率的に情報にアクセスできるドキュメント管理手法を解説します。
3293 文字
|
16 分
Cover Image of the Post

OpenHands CLIで抽象的な指示から動くコードを生成する:Claude Codeとの比較

2025 年 6 月 17 日に OpenHands の CLI 版がリリースされました。
2190 文字
|
11 分
Cover Image of the Post

「Claude Codeで効率的に開発するための知見管理」をコマンド1発で自分のプロジェクトに反映する方法

開発プロジェクトにおいて、コードの知識管理やドキュメント整備は重要ですが、手間がかかる作業でもあります。しかし、LLM の力を借りることで、先駆者が構築した知見を瞬時に自分のプロジェクトに適用できる時代が到来しました。
1820 文字
|
9 分

デジタルアドレスの問題点と将来像 〜日本郵便のサービスをビジネス視点で考える〜

日本郵便が住所を 7 桁の英数字で表現する新サービス「デジタルアドレス」の提供を 2025 年 5 月 26 日に開始しました。
3977 文字
|
20 分
Cover Image of the Post

Google StitchとVercel v0の比較検証:同じプロンプトで生成結果を比べた

Google StitchとVercel v0を同じプロンプトで比較検証し、AI駆動Web開発ツールとしての実用性を評価。
2627 文字
|
13 分
Cover Image of the Post

日本郵便のデジタルアドレス:7桁コードで届く仕組みの可能性と限界

最近、住所もデジタル化の波が来てるんですね! 日本郵便が提供する「デジタルアドレス」って聞いたことありますか?**物理的な住所に代わる新しい識別子**として注目されているんです。
4890 文字
|
24 分
Cover Image of the Post

AI PMワークフロー「aipm_v0」の使用例と応用を考える

みやっち氏作のAI PMワークフロー「aipm_v0」を、オンライン定性調査プラットフォーム構築に適用して検証した記録。
24094 文字
|
120 分
Cover Image of the Post

新卒エンジニアへ贈る、エンジニア歴20年CTOからのメッセージ

4 月 1 日。新しい門出の日ですね! 期待と不安が入り混じった状態で新たなライフステージの始まりの日のことを今でも鮮明に覚えています。
4528 文字
|
23 分
Cover Image of the Post

AIを使ってブラウザ操作を行う事例とツールの紹介

AI の世界は急速に進化しており、大規模言語モデル(LLM)が自律的にブラウザを操作する能力を獲得しています。この進展は、LLM に目と手を与えるようなものであり、最小限の人間の介入で複雑なタスクを実行できるようになります。本記事では、LL
1547 文字
|
8 分
Cover Image of the Post

無料の郵便番号検索APIのレスポンススピード比較

ポストくん、ZipCloud、ttskch/jp-postal-code-apiの3つの無料郵便番号検索APIのレスポンス速度をwrkで比較検証。
1010 文字
|
5 分

港区スマイル商品券マップを開発しました

こんにちは! 今回は、港区のスマイル商品券を利用できる施設を簡単に検索・閲覧できる Google Maps ベースのウェブアプリケーションを開発した経験について共有したいと思います。
1066 文字
|
5 分
Cover Image of the Post

Cocoon用Amazon短縮リンク生成Chrome拡張機能を作ってみた

Cocoonテーマ用のAmazonアフィリエイトショートコードをワンクリックで生成するChrome拡張機能を開発。
750 文字
|
4 分
Cover Image of the Post

AIによる契約書の自動レビュー機能を作ってみた

こんな感じで契約書をレビューしてくれます。
6376 文字
|
32 分
Cover Image of the Post

LLMで難易度の高いゴールを達成するために:5つのデザインパターンで差をつける

回答を得るのに複雑なステップが必要な場合、定石となるパターンが存在します。主に 5 つ
884 文字
|
4 分
Cover Image of the Post

AIで論文生成をするにはこんなふうに (AI Scientistの解説と実践)

私の中で、論文の執筆というのは豊富な専門知識とアイデアが必要なので**LLMでの代替は困難かと思っていました**。 しかし、良く考えてみるれば、「アイデア=既存の事象の組み合わせ」という 提言もあるのでLLMでの代替は可能かなと思い始めまし
5008 文字
|
25 分
Cover Image of the Post

短縮URLサービスの利用を再考する:Bitlyの変更を機に探る最適な選択肢

Bitlyの無料プラン大幅縮小を受け、SMS送信コスト削減に使っていた短縮URLサービスの代替を調査し、自前実装も含めた移行先を検討した記録
1485 文字
|
7 分
Cover Image of the Post

Postmanに法人番号検索REST APIを登録して世界へ公開!

業務で Web アプリケーションを作成しているときに、「こんな Web API があったら楽なのに」と思うことがあり、なければ作ってしまえば良いと思い、個人的に無料で簡単に利用できる REST API によるデータ公開しています。
2659 文字
|
13 分

学校検索をもっと簡単に!REST APIサービスを公開

こんにちは、スタートアップの CTO をしている まつぼっくりです。今回は、私が開発した日本の学校情報APIについて紹介します。
2258 文字
|
11 分

UPSの状態をMackerelで可視化する: apcupsdとPythonを使ったカスタムプラグイン

サーバーの安定稼働にとって、電源の安定供給は非常に重要です。そのため、多くの環境で UPS(無停電電源装置)が使用されています。UPS の状態を常に監視することで、潜在的な問題を早期に発見し、対応できます。
725 文字
|
4 分
Cover Image of the Post

WordPressをDockerizedしました

LightsailからGMKtec自宅サーバへ移行し、WordPress10サイトをDocker化。MySQLコンテナ共有化やRAM32GBでの運用状況、起動負荷の課題も含めて報告。
1669 文字
|
8 分
Cover Image of the Post

Google SpreadsheetやExcelでインボイス登録番号を求める方法

業務をしていると、インボイス登録番号を求めるケースや、インボイス登録番号を求められるケースがあるので自動的に処理できるように API サービスを作りました。
1217 文字
|
6 分
Cover Image of the Post

HTMLの<input type="number">フィールドにおけるマウスホイール動作の無効化

HTML において `<input type="number">` は、数値入力を容易にするためのフォームフィールドです。ユーザーはテキスト入力に加えて、マウスホイールやキーボードの矢印キーを使用して値を調整できます。これは便利な機能ですが
614 文字
|
3 分
Cover Image of the Post

Google Domains からドメイン保管料最安値のCloudflareへ移管しました

2023 年 6 月 15 日、Squarespace は、Google Domains からドメイン登録と関連する顧客アカウントを購入する意向を 発表しました。
1224 文字
|
6 分
Cover Image of the Post

npm, yarn, pnpmパッケージマネージャをベンチマークしてみた

個人サービスである 銀行コード検索APIのpackage.jsonを使います。
1567 文字
|
8 分
Cover Image of the Post

GitHubでmerge後にブランチを自動削除すべきか:設定の判断基準

GitHub のリポジトリ運用において「Automatically delete head branches」を on にするか off にするか悩ましいところです。
1013 文字
|
5 分

知的労働者のための究極のフルリモート環境構築例

知的労働者にとって作業環境は重要です。
4840 文字
|
24 分
Cover Image of the Post

個人開発のWebサービスをCloudflareに載せてみた【無料でここまでできる】

個人開発のWebサービスにCloudflareの無料プランを導入し、CDN・DDoS対策・WAF・自宅サーバのポート隠蔽まで実現する方法とその設定事例を紹介します。
4923 文字
|
25 分
Cover Image of the Post

Pintアプリの開発にFlutter + Firebaseを採用した理由とその結果

2021 年 12 月ごろ、Pintの企画が完成に近づき、UXの要求がまとまりつつありました。
2734 文字
|
14 分
Cover Image of the Post

WordPressのoptions.phpページで保存できないときの対処法

WordPressのoptions.phpで「設定を保存できませんでした」が出る場合、PHPのmax_input_varsがデフォルト1000では不足するため2000以上に増やす対処法
175 文字
|
1 分
Cover Image of the Post

ZennのPublication機能を利用している組織一覧

逆に、Zenn でテックブログを運用するときに欲しいなぁ思った機能
890 文字
|
4 分

和暦や休日情報をREST APIで提供するサービスを公開

西暦↔和暦変換・年齢計算・日本の祝日一覧をJSON形式で取得できるREST APIサービスの公開を発表し、curlを使った具体的な利用例を紹介します。
491 文字
|
2 分
Cover Image of the Post

node 18 upgrade error

Node.js v18へのアップグレード時に発生するERR_OSSL_EVP_UNSUPPORTEDエラーの原因と、NODE_OPTIONSで回避する方法を解説
218 文字
|
1 分
Cover Image of the Post

カジノのルーレットシミュレータを書いてみました

ダズンベット法やマーチンゲール法を組み合わせたルーレット戦略をRubyでシミュレーターとして実装し、本当に勝てるのかを統計的に検証した記事
1297 文字
|
6 分
Cover Image of the Post

ExcelやGoogle Spreadsheetで郵便番号から住所を補完

郵便番号を入力するだけで住所を自動補完できるAPIを自作。Google SpreadsheetやExcelのIMPORTDATA関数から呼び出せ、都道府県・市区町村・町域などパート指定での部分取得にも対応。
336 文字
|
2 分
Cover Image of the Post

路線情報・駅情報のREST APIサービスを作りました

Ruby on Rails 7とTailwindを使って日本全国の路線・駅情報をJSONやCSVで取得できるREST APIサービスを自作した際の概要とAPI呼び出し例を紹介します。
593 文字
|
3 分
Cover Image of the Post

郵便番号から住所を補完するコード

郵便番号から住所を呼び出すときには以下のような URL で呼び出すだけです。
387 文字
|
2 分

Google Domainsへ移管して無料でカスタムドメインをGmailで使う

Google Domainsの無料メール転送機能を使い、カスタムドメインのメールをGmailで送受信する設定手順を解説
921 文字
|
5 分
Cover Image of the Post

有効期限付きポイントシステムの要求定義と設計

航空会社マイルのような有効期限付きポイントの加算・消費・取り消しを正確に処理するRDBスキーマ設計とシステム要件の公開解説
2460 文字
|
12 分
Cover Image of the Post

slackのステータスアイコンを自動で更新(家かオフィスかをアイコンで表示)

WiFiのSSIDが変わるたびにSlackのステータスアイコンを自動更新し、在宅・オフィスを周囲に知らせるツールの設定方法
392 文字
|
2 分
Cover Image of the Post

郵便番号APIサイトのデータソースをzipcloudに変更

2021-04-25
運営中の郵便番号検索APIで、郵便局公式データからzipcloudのデータソースへ切り替えた理由と差分比較。京都府の正規化や丁目表記の変更点をvimdiffで解説。
412 文字
|
2 分
Cover Image of the Post

cyta.jpサービス終了に先立ち魚拓

2007年から開発に携わったC2C教育プラットフォームcyta.jpのサービス終了を前に、開発史と技術的チャレンジを振り返る記録
1202 文字
|
6 分
Cover Image of the Post

githubでmentionされたらslackへ通知する設定 (所要時間約10分)

GitHub Actionsの「github-mention-to-slack」を使い、GitHubでmentionされたらSlackへ即通知する設定方法。既読管理やリマインダーも活用できる快適な開発ワークフローを構築。
488 文字
|
2 分
Cover Image of the Post

Google SpreadsheetからGoogle Calendarへ一括登録

Google Apps Scriptを使ってスプレッドシートの予定一覧をGoogle Calendarへ一括インポートする方法。テンプレートとスクリプト例付きで手順を解説。
231 文字
|
1 分
Cover Image of the Post

gitにて大容量のファイルを探して履歴から消す

GitHubへのpushを妨げる100MB超ファイルをgit_find_big.shで特定し、git filter-branchコマンドでリポジトリ履歴から完全に削除する手順を解説。
266 文字
|
1 分
Cover Image of the Post

GitHubのPull Requestにプレビュー用URLを自動でコメント

CircleCI 2.1とS3を使った静的サイトの自動デプロイ環境で、デプロイ先URLをGitHub Pull Requestのコメントに自動投稿するCircleCIの設定方法を解説します。
621 文字
|
3 分
Cover Image of the Post

要求定義 (Request Definition)

要求定義の目的・進め方とユースケース図・シーケンス図・要求定義書などのアウトプット例をソフトウェア開発の上流工程として解説
1236 文字
|
6 分
Cover Image of the Post

ソフトウェア開発プロセス

ウォーターフォール的なスケジュール管理とアジャイルのプラクティスを組み合わせた理想的なソフトウェア開発プロセスを、要求定義からリリースまで体系的に整理した独自フレームワークを解説します。
1407 文字
|
7 分
Cover Image of the Post

WordPress 5.0にアップグレードしてみました

自動更新でWordPress5.0に上がった体験談。新エディタGutenbergの使い勝手、Markdownとの相性の悪さ、wp coreコマンドのメジャーアップデート制御不可の問題を解説。
729 文字
|
4 分
Cover Image of the Post

Google APIのOAuth2に関連したトークンの扱い方法とシーケンス

Google APIのOAuth2認証フローをシーケンス図で解説し、authorization code・access token・refresh tokenの取得タイミングと安全な管理方法をまとめた記事
722 文字
|
4 分
Cover Image of the Post

yarn.lockのコンフリクトを自動的に解消

git rebaseやgit pull --rebase後にyarn.lockが大量にコンフリクトした場合、yarn installコマンド一発で自動解消できることを実例とともに紹介します。
338 文字
|
2 分
Cover Image of the Post

basic認証をGETパラメータでスキップするサービス作った

Google CalendarなどBasic認証非対応のHTTPクライアント向けに、GETパラメータで認証情報を渡してBasic認証を通過させるOSSプロキシサービスの作成経緯と使い方。
317 文字
|
2 分
Cover Image of the Post

SI系とWeb系の違いをまとめてみる

SI系とWeb系の違いを要件定義・設計・実装・テスト・納品・マネジメントの観点で比較した一覧表。
711 文字
|
4 分

WordPressのページキャッシュを一括で作る

WordPressのComet Cacheプラグインで全記事のページキャッシュをwp-cliとcurlを組み合わせて一括生成するシェルコマンドを紹介。
329 文字
|
2 分
Cover Image of the Post

決済代行会社を選ぶときのKPIベスト10

手数料・API提供・セキュリティ・サポートなど決済代行会社を選定する際に確認すべき10項目のKPIをエンジニア兼事業者の視点で解説
1182 文字
|
6 分
Cover Image of the Post

SPIKE REST APIのWebhookを受信してみる

SPIKE決済サービスのWebhookエンドポイントをPHPで実装する方法。チャージバックや強制キャンセル時の通知受信、秘密鍵によるリクエスト検証手順をシーケンス図付きで解説。
386 文字
|
2 分
Cover Image of the Post

進化したSPIKEで、10分でECを始める方法

決済手数料無料のSPIKEを使って個人・小規模事業者がECショップを最短10分で開設する手順とコスト感を紹介
779 文字
|
4 分
Cover Image of the Post

WordPressをcronで自動更新。1日おきに最新に!

クラック被害をきっかけに、wp-cliを使ってWordPress本体・プラグイン・テーマをcronで自動更新するシェルスクリプトを作成。10サイトを一括管理する方法を紹介。
1035 文字
|
5 分
Cover Image of the Post

銀行コード、支店コードをAPIで取得

金融機関コードと支店コードをJSON形式で検索できるREST APIをRailsで自作し、公開するまでの背景と使い方を紹介
343 文字
|
2 分
Cover Image of the Post

WordPress 4.0 にアップグレードしてベンチマーク

WordPress 4.0とPHP 5.5にアップグレードしApacheBenchで計測した結果、Quick Cacheと合わせて122req/secを達成
407 文字
|
2 分
Cover Image of the Post

Webサイトの更新を逐一知るためのスクリプト

RubyのWebサイト更新チェッカーgemを自作・公開。指定URLの変化を検知してメール通知するツールの作成方法とgem公開手順を解説。
239 文字
|
1 分
Cover Image of the Post

herokuでPostGIS

HerokuでPostGISを使うにはStandardプラン以上が必要。エクステンションの有効化から空間クエリの実行まで、公式ドキュメントに載っていない手順を補足
333 文字
|
2 分
Cover Image of the Post

Facebook pageのlike数をトラッキングするサービス

Facebook公式が公開しないLike数の推移を記録するトラッキングサービスを自作。Redis・Slim・Twigで構築し5年間運営した後、アクセス伸び悩みで2018年に停止。
181 文字
|
1 分
Cover Image of the Post

シングルトンが邪悪な理由

グローバル変数化・単一責務違反・テスト困難という3つの観点からSingletonパターンが設計上有害な理由を、コード例と代替パターンを交えて解説
1305 文字
|
7 分
Cover Image of the Post

ファーストサーバー報告書から考えるエンジニアの仕事のあり方

ファーストサーバー大規模障害の報告書を読んで考察。優秀なエンジニアほど起こしやすいミスのパターン、安全性とパフォーマンスのバランス、防御的プログラミングの重要性を論じる。
655 文字
|
3 分
Cover Image of the Post

効率の良いテスト手法の1つを紹介します - Pairwise testing

テストパターンの組合せ爆発を防ぐPairwise(All-pairs)テストの概念と、Javaツール・HEXAWISEを使った直交表生成の実践方法を紹介。
325 文字
|
2 分
Cover Image of the Post

WordPressを5分で5倍速くするQuick Cacheの設定

WP Super Cacheに代わるWordPressキャッシュプラグイン「Quick Cache」の導入手順と設定方法。5分の作業でリクエスト処理速度が4.5倍に向上したベンチマーク結果も紹介。
206 文字
|
1 分
Cover Image of the Post

スマートフォン用画像チェックプログラム

Android・iPhone・iPadなど異なる解像度のスマートフォン向けに、GIF画像のファイルサイズと色数を様々な書き出し条件で比較検討できるWebアプリを作成。
216 文字
|
1 分
Cover Image of the Post

Memcached Object Cache+batcache

WordPressにMemcached Object CacheとBatcacheを導入してページ表示速度を35倍に高速化。キャリア別キャッシュのカスタマイズ方法とベンチマーク結果を紹介。
430 文字
|
2 分
Cover Image of the Post

jQuery-UIのデフォルトパラメータを設定

jQuery-UIのdialogウィジェットでモーダル・幅・ボタンなどのデフォルト値をJQuery.ui.dialog.defaultsで一括設定する方法。毎回パラメータを書く冗長なコードをシンプルにするテクニック。
165 文字
|
1 分
Cover Image of the Post

git memo

Subversionから移行したgitの設定ファイルやよく使うサブコマンドを体系的にまとめたチートシート集
553 文字
|
3 分
Cover Image of the Post

メールからRedmineのチケットを登録

メール送信でRedmineチケットを自動登録する設定方法。qmailでのMTA設定とrdm-mailhandler.rbの使い方、Basic認証時の注意点も解説。
358 文字
|
2 分
Cover Image of the Post

RedmineとSCMの連携

Redmineとgit等のSCMを連携させる方法。コミットメッセージにrefs/fixesを書くだけでチケットとの紐付けや自動クローズができる設定を紹介。
284 文字
|
1 分
Cover Image of the Post

mixi日記をRSS配信するサービスを作りました →廃止

mixi日記をRSS2.0で配信するサービス「mixidiary2feed」の仕様を紹介。mixi IDをURLに指定するだけで12時間キャッシュ・最大30件のフィードが取得可能(現在廃止済み)。
336 文字
|
2 分
Cover Image of the Post

GClientGeocoder

Google Maps APIのGClientGeocoderを使って地名や住所から緯度経度を取得するJavaScript実装例。jQueryを使ったサンプルコードとデモリンク付き。
130 文字
|
1 分
Cover Image of the Post

見積もり手法

2009-03-24
7 文字
|
1 分
Cover Image of the Post

Webアプリケーションの認証ロジック

2008-12-03
開発・本番DBが分離した環境で、セッションのみで認証するWebアプリの脆弱点と、メール誤送信リスクを防ぐ認証ロジックの実装方法
583 文字
|
3 分
Cover Image of the Post

都道府県コードの仕様

JIS X 0401で規定された都道府県コードの一覧と、システム開発でこの標準コードを使うべき理由を紹介
263 文字
|
1 分
Cover Image of the Post

1つのWordPressで、複数のブログを運用する設定(10行追加するだけ)

1つのWordPressインストールで複数ブログを運用するためにwp-config.phpを数行変更してテーブルプレフィックスを動的に切り替えるApache向け設定方法を解説します。
1013 文字
|
5 分
Cover Image of the Post

このblogのCMSをNuclleusからWordPressに変更しました

ブログのCMSをNucleusからWordPressへ移行した際のURL変更とリダイレクト設定について。Nucleusの更新停止とバグの多さが移行の決め手。
78 文字
|
1 分
Cover Image of the Post