Blog

  • CentOS7でPHP8.2.35をコンパイルして使うのサムネイル画像

    CentOS7でPHP8.2.35をコンパイルして使う

    掲載

    CentOS7環境でCVE-2026-109618、 CVE-2026-109619対応のPHPのバージョンをコンパイルして使えるようにする方法の備忘録です。(※ご利用は自己責任で、何かあっても責任は負いかねます。必ず仮想マシンなどで本番と同じ環境を作って試してから本番作業を行ってください。)

  • 絵文字のアクセシビリティのサムネイル画像

    絵文字のアクセシビリティ

    掲載

    生成AIの登場で絵文字がふんだんにあしらわれた記事を見かけることが増えました。絵文字はスクリーンリーダーではどのように読み上げられ、どのようなアクセシビリティ対策が出来るのか、また推奨されているのか調査し、PHPを使ってaria-hiddenでマークアップする方法をまとめました。

  • PHP cURLのデフォルトタイムアウトは0(無制限)のサムネイル画像

    PHP cURLのデフォルトタイムアウトは0(無制限)

    掲載

    PHPのcURL処理では、デフォルトではタイムアウトの設定が0(無制限)となっており、転送中はタイムアウトしません。実行したAPIの不具合やネットワークの不調等でプロセスが残り続けて思わぬ障害を発生させるため、タイムアウト設定とその確認方法の備忘録。

  • PHPで見た目が同じ違う漢字に立ち向かうのサムネイル画像

    PHPで見た目が同じ違う漢字に立ち向かう

    掲載

    見た目は同じなのにDBやCtrl+Fでの文字列検索にヒットしない文字がある原因は「CJK部首補助」等の特殊な文字コードの混入かもしれません。PDFコピペ等で発生するこういったトラブルを、PHPでの自前マッピングで解決した備忘録です。

  • opacityとスタッキングコンテキストに立ち向かうのサムネイル画像

    opacityとスタッキングコンテキストに立ち向かう

    掲載

    CSSのhover時にopacityを指定すると画面がチカチカ点滅する、「スタッキングコンテキスト(重ね合わせコンテキスト)」。要素が勝手に浮かび上がり無限ループに陥る原因と、具体的な対策の備忘録です。

  • SSLエラーで一部の環境のみ表示されない原因と対応のサムネイル画像

    SSLエラーで一部の環境のみ表示されない原因と対応

    掲載

    アクセスする環境(PC)によってサイトのSSL対応状況が異なっている(ブラウザの鍵マークが赤くなるPCと赤くならないPCがある)トラブルの原因が「中間証明書の期限切れ」だった時の備忘録。opensslコマンドを使った調査方法をまとめました。

  • Nuxt4にCKEditor5を導入する方法と特定のエラー回避方法のサムネイル画像

    Nuxt4にCKEditor5を導入する方法と特定のエラー回避方法

    掲載

    2026年現在、Nuxt 4(またはNuxt 3の最新環境)にCKEditor 5を公式ドキュメントの手順通りに導入しようとすると、インラインエディタなどの特定の構成で「CKEditorError: editor-create-attachto-ignored」というエラーが発生し、正常に動作しない問題があります。 これは、公式のVueコンポーネント側のライフサイクルと、最新のCKEditor 5側のマウント処理のタイミングに起因するバグです。日本語の情報が極めて少ないため、導入につまずくエンジニアも少なくありません。 この記事では、Nuxt 4環境におけるCKEditor 5の基本的なインストール手順をはじめ、onMountedフックを利用してインスタンスを直接生成し、上記のエラーを確実に回避する具体的な実装コードを解説します。あわせて、業務でのカスタマイズに必須となる主要なプロパティ(Props)やコンポーネントイベントの挙動についても網羅してまとめています。

  • Windows11、Apacheでの自己証明書(オレオレ証明書)のやり方メモのサムネイル画像

    Windows11、Apacheでの自己証明書(オレオレ証明書)のやり方メモ

    掲載

    Windows+Apache環境で、Chromeブラウザで警告が出ない「独自SSL証明書(オレオレ証明書)」を作成・導入する手順を解説します。Service Workerやクリップボードへのコピーなど、HTTPSが必須となるローカル開発環境の構築に役立つ備忘録です。

  • Postfix起動・再起動時にやるべきことのサムネイル画像

    Postfix起動・再起動時にやるべきこと

    掲載

    Postfixが起動していない際に出る「unable to look up public/pickup」エラーの対処法を解説。起動直後の大量誤送信を防ぐため、postqueueやpostsuperコマンドを使ったメールキューの確認・削除・バックアップの手順を詳しく紹介します。

  • ICMP13(CVE-1999-0524)の脆弱性対策とPythonによる検証方法のサムネイル画像

    ICMP13(CVE-1999-0524)の脆弱性対策とPythonによる検証方法

    掲載

    脆弱性診断でICMPタイプ13(タイムスタンプ要求)が通ってしまう脆弱性があることを指摘された時の、firewalldでのブロック設定と、Pythonスクリプトを使って、設定が反映されているか確認する方法をまとめました。

  • linear-gradientで方眼紙(マス目)レイアウトを作るのサムネイル画像

    linear-gradientで方眼紙(マス目)レイアウトを作る

    掲載

    cssでレイアウト用のHTMLタグのネストをさせずに、linear-gradientを使ってシンプルな方眼紙(マス目)レイアウトを作成する方法の解説をしています。ネストしたdivタグなどを使って作成する方法もありますが、今回紹介している内容はネストが不要なので、既存のHPでタグ構成を中々修正出来ない状態でマス目レイアウトを作りたい時に役に立ちます。

  • 複数ドメイン管理でindex.htmlを省略リダイレクトするのサムネイル画像

    複数ドメイン管理でindex.htmlを省略リダイレクトする

    掲載

    一つのサーバーで複数のドメインのサイトを管理している場合に、全てのサイトで「index.html」へのアクセスを「index.html」が無いURLにリダイレクトさせたい時、一サイトずつ設定すると手間と維持のコストがかかります。そこで、Apacheの「HTTP_HOST」変数を使ってまとめてリダイレクトする方法の解説をしています。

  • PostgreSQL17から18のバージョンアップのサムネイル画像

    PostgreSQL17から18のバージョンアップ

    掲載

    PostgreSQLのバージョンを17から18にアップグレードした際に、チェックサム設定でエラーが出て上手くアップグレードできなかった時の対応と、pgroongaを入れているとチェックサム設定が上手くいかなかったのでその対応の備忘録です。

  • Apache手動インストールしたらcertbot更新が大変だった話のサムネイル画像

    Apache手動インストールしたらcertbot更新が大変だった話

    掲載

    ApacheをAlmaLinux9に手動インストールしたところ、certbotで証明書を更新しようとすると「NoInstallationError」エラーが出ていたため、「httpdのパスを通す」「設定ファイルの場所を明示するもしくはシンボリックリンクを貼る」という対処方法をまとめた備忘録です。

  • お名前.comの無料セキュリティ診断結果の対応のサムネイル画像

    お名前.comの無料セキュリティ診断結果の対応

    掲載

    お名前.comを利用していると毎月無料(2026年2月7日補足:無料ではなくなりました。)でセキュリティ診断を行って、どこを修正すべきか教えてくれるので、項目ごとに、バージョンアップや設定変更などの必要な対応をまとめました。

  • CKEditor5でAttribute付与する時の名称の調べ方のサムネイル画像

    CKEditor5でAttribute付与する時の名称の調べ方

    掲載

    CKEditor5では、viewとmodelの変換の際に独自のattributeを設定することでHTMLタグにclassやtitle属性を付与することが可能です。(例えばimgタグにtitle属性を追加する場合、htmlImgAttributes > attributes > title を設定する必要があります。)公式の検証機能(inspector.js)を使用することで簡単に属性名を調べて追加することが可能です。

  • KeyboardEvent.keyCodeが非推奨になってたのサムネイル画像

    KeyboardEvent.keyCodeが非推奨になってた

    掲載

    javascriptでキーボード入力時にどのキーを押下したか判定できる、KeyboardEvent.keyCodeがいつのまにか非推奨になっていたので、非推奨になった理由と、今後推奨のcodeまたはkeyでどのキーを押下したかを判定する方法をまとめた備忘録です。

  • Nuxt4とd3.jsでインタラクティブな日本地図を作るのサムネイル画像

    Nuxt4とd3.jsでインタラクティブな日本地図を作る

    掲載

    Nuxt4とd3.jsで国土地理院のデータをもとにインタラクティブな日本地図を描画して、各都道府県のsvg画像を取得できるツールを作成した際の実装の解説です。国土地理院のデータをmapshaperで軽量化することで、Webページの表示を軽くするなどの工夫についても解説。実際に作ったツールを利用することも可能です。(※国土地理院のデータは利用時に出典を明記する必要があるのでご注意ください。)

  • CKEditor5でclass付与するのが大変な話のサムネイル画像

    CKEditor5でclass付与するのが大変な話

    掲載

    WYSIWYGエディタを提供するCKEditor5というライブラリで、insertImageコマンドを使って画像タグ(img)を本文に追加する時に、imgタグにclassを付与する方法が意外と難しかったので、追加する方法と、何故ややこしい設定が必要なのか解説しています。

  • ファイルバックアップをGASのAPI経由でGoogle Driveに保管するのサムネイル画像

    ファイルバックアップをGASのAPI経由でGoogle Driveに保管する

    掲載

    バックアップはサーバー上に保管していると、サーバー自体に問題が起きた際に復旧が難しくなります。そこで、zipコマンドでバックアップを取得し、個人ブログでもお金をかけずに、GAS(Google App Script)を使ってバックアップを外部(Google Drive)に配置する方法を解説しています。

  • DBバックアップをGASのAPI経由でGoogle Driveに保管するのサムネイル画像

    DBバックアップをGASのAPI経由でGoogle Driveに保管する

    掲載

    DBバックアップはサーバー内部に保存していると、サーバー自体に問題があった場合にバックアップが取得できず復旧が難しくなります。DBバックアップをpg_dumpコマンドを使ってシェルスクリプトで日次・月次に取得し、GAS(Google App Script)で作ったAPI経由で外部(Google Drive)に自動同期・保存することで個人サイトでもお金をかけずにバックアップを退避できる方法を解説しています。

  • FireFoxでdisplay:none要素内のiframeではgetSelectionできない。のサムネイル画像

    FireFoxでdisplay:none要素内のiframeではgetSelectionできない。

    掲載

    FireFoxブラウザでは、「display:none」が設定されている等、非表示状態のiframe内ではgetSelection関数が使用できません。その状態でCKEditor5を初期化するとエラーが発生するため、ビルトイン関数を上書きする、iframeをそもそも使わない、getSelection関数の後にnullチェックを入れる等の対策を4つ解説しています。

  • Nuxt4でプログラム可能な検索エンジンを組み込むのサムネイル画像

    Nuxt4でプログラム可能な検索エンジンを組み込む

    掲載

    サイト内に検索機能を追加するために、Googleのプログラム可能検索エンジンを使用しました。Googleのプログラム可能検索エンジンの設定画面側で何を設定するのかと、Nuxtでサイト内に検索枠と検索結果を表示する方法を実際のコード付きで解説しています。外部の検索ツールを使用することによる、実装コストが低い等のメリットや、記事を登録して即時に反映はされないといったデメリットもあわせて記載しています。

  • GolangでIndexNowに対応するのサムネイル画像

    GolangでIndexNowに対応する

    掲載

    Golangでサイトマップを使って追加・削除したページを取得し、IndexNowという検索エンジンにページを追加・更新・削除したことを知らせるAPIを実行するスクリプトを作成する方法の技術記事です。IndexNowはMicrosoft Bing等の検索エンジンにページを素早くインデックスしてもらうために有効なだけでなく、Googleのように定期的な巡回をしてもらわずとも更新情報を通知できるためサーバーの負荷を抑えられるため積極的に利用していきたい技術です。

  • Bing Webmaster ToolsがSEO対策によさそうな話のサムネイル画像

    Bing Webmaster ToolsがSEO対策によさそうな話

    掲載

    SEO対策の一環としてBing Webmaster Toolsを使用してみました。「このURLのmetaタグのdescriptionの文章を150文字以上にした方が良い。」など、GoogleのSearchConsoleより具体的にページの問題点や改善方法を教えてくれて使いやすかったのでご紹介。

  • Nuxt3を4にアップグレードした際に詰まったことと解決策のサムネイル画像

    Nuxt3を4にアップグレードした際に詰まったことと解決策

    掲載

    Nuxt3のプロジェクトをNuxt4にアップグレードした際に自分が詰まった「npmのバージョンが古くてエラー」「Piniaのエラー」に対する解決策をまとめました。アップグレード前にパッケージ管理コマンド(npm, yarnなど)を最新にする、古いnode_moduleを削除しておく等。

  • QRコード作成ツールを作るのサムネイル画像

    QRコード作成ツールを作る

    掲載

    Nuxt4, GolangでQRコードを作成するオンラインツールを作った際の実装方法の解説と、オンラインツール紹介記事です。golang側ではファイルアップロード処理のセキュリティ対策の解説、Nuxt4側では画面実装の際に詰まった点として、「ユーザーの操作に応じて入力欄を増やす方法」の解説とコード例のリンクをしています。

  • Golangで色んなQRコードを作成するのサムネイル画像

    Golangで色んなQRコードを作成する

    掲載

    Golangで、yeqown/go-qrcodeというライブラリを使ってQRコードを作成する方法と、各種オプションを使用して何が出来るかを調査しました。このライブラリはQRコードの中心に画像を配置したり、画像をドット(ハーフトーン)で配置することが可能なので、お店に置くQRコード等を装飾して作成する際などに需要がありそうです。

  • Flutter Flameでゲームを作るチュートリアルのサムネイル画像

    Flutter Flameでゲームを作るチュートリアル

    掲載

    Flutter Flameを使って、Googleが公開しているチュートリアルゲームを作成した際に分かりにくかった部分をコメントで解説しています。最後に応用として、実際のブロック崩しのようにパワーアップアイテムを落下させる方法も解説しています。

  • Nuxtでhtaccess, htpasswd作成サービスを作ってみるのサムネイル画像

    Nuxtでhtaccess, htpasswd作成サービスを作ってみる

    掲載

    業務でたまに使うBasic認証ですが、毎回htaccessの構文も、htpasswdのコマンドも忘れるのでまとめて作成出来るオンラインツール(htpasswdに関してはサーバーへの通信無しで実行可能)を作ってみました。ツールを作る際に使った技術(javascriptでのハッシュ化処理を使っているためクライアント上のみで実行可能)、ハマったことや学びの備忘録です。

  • Nuxtでパスワード作成サービスを作ってみるのサムネイル画像

    Nuxtでパスワード作成サービスを作ってみる

    掲載

    Nuxtで、サーバーとの通信無で(javascriptオンリーで)使えるオンラインのパスワード作成ツールを作成した時の備忘録です。誰かに見られても問題ないけど別に多数と共有したい訳ではないファイルの共有時などにサクッと使える程度のセキュリティレベルを目指して作成しています。

  • goquery でアクセシビリティをチェックする2
リンクチェック編のサムネイル画像

    goquery でアクセシビリティをチェックする2 リンクチェック編

    掲載

    ホームページのコンテンツのリンク切れは早期に対応しないと、コンテンツのクオリティの低下や、詐欺サイトへの誘導等に悪用される可能性があります。リンク切れを防ぐために、Golangでgoqueryライブラリを使って、サイト中のコンテンツのaタグの中のURLのリンク切れをチェックし、通知するスクリプトを作成したので、その処理の紹介と解説記事です。

  • mask-imageで簡単反転ボタンのサムネイル画像

    mask-imageで簡単反転ボタン

    掲載

    svg画像をCSSのfillやstrokeを使って色付けしようとする場合、HTMLに直接svgの埋め込みが必要です。(imgタグのsrc読み込みでは色付け出来ない。)mask-imageというCSSプロパティを使えばimgタグで埋め込んでいても、色も付けられることが分かったのでその方法と、それを使って簡単にsvgアイコンの色を反転させてインタラクティブなボタンを作れる方法を解説しています。

  • SPF、DKIM、DMARCに立ち向かう(送信側)のサムネイル画像

    SPF、DKIM、DMARCに立ち向かう(送信側)

    掲載

    サーバーからメールを送信する際に、迷惑メールボックスに入れられないようにするために、メールの送信元が本物であるかを確認してもらうために必要なSPF、DKIM、DMARCの設定をAlmaLinux9環境、postfixで行い、Gmailにメールを送信して検証結果を確認する方法の技術記事です。

  • Nuxt4×ApacheでLighthouseのPerformance対策のサムネイル画像

    Nuxt4×ApacheでLighthouseのPerformance対策

    掲載

    ページの表示速度が遅ければ遅いほど、ユーザーの離脱率が上がると言われています。ユーザーの離脱率を下げるべく、LighthouseのPerformance(ページ表示速度)スコアを上げるために行ったNuxt4で設定やTailwind cssの導入、Apacheの設定などの対策と、その解説をしています。

  • Nuxt4でCanonical URLをlayoutで設定するのサムネイル画像

    Nuxt4でCanonical URLをlayoutで設定する

    掲載

    Nuxt4でlayoutsでCanonical(カノニカル) URLを設定する処理をシンプルなuseHead関数で行うと、最初に開いたページのURLを維持してしまいます。(ページ遷移で切り替わらない。)useHeadの引数を関数にすることでページ移動でCanonical URLが適切に切り替わるようにする方法と何故切り替わらないかの原因を解説しています。

  • Nuxt3でライブラリ無で並べ替え機能を実装するのサムネイル画像

    Nuxt3でライブラリ無で並べ替え機能を実装する

    掲載

    Nuxtではsortable.jsのような、画面の要素の並べ替えを処理する場合、便利なライブラリが多く存在しています。(vuedraggableなど)ただし、多くのライブラリはオーバースペック気味なので、小規模開発用にライブラリを使わずに並べ替え機能を実装する方法を解説しています。

  • PostgreSQLでシーケンス重複エラーの原因に立ち向かうのサムネイル画像

    PostgreSQLでシーケンス重複エラーの原因に立ち向かう

    掲載

    PostgreSQLで、シーケンス値の重複エラーが出た際の原因の一つを調査した備忘録です。頻繁に実行される処理でトランザクションを張ってsetvalを実行していたために不整合が生じたというレアケースですが、シーケンス値の重複の調査は大変なので誰かの調査のヒントになれば。

  • ApacheポートフォワーディングでNuxt×Golangのサムネイル画像

    ApacheポートフォワーディングでNuxt×Golang

    掲載

    フロントとバックエンドで言語を分けてサービスを動かしたいケースがあります。このブログもフロント側をNuxt、バックエンド側をGolangで動かしているため、それぞれポートを分けてサービスを起動し、Apacheのポートフォワーディングを使って転送して同一ドメインで動かす方法を解説。