[{"data":1,"prerenderedAt":323},["ShallowReactive",2],{"$ft6jtkd6xhw3c":3,"$f3sj2h6f0ftows":263},{"featured":4,"latest":129,"categories":227},[5,14,27,37,48,56,66,76,86,96,106,114,122],{"slug":6,"title":7,"date":8,"excerpt":9,"image":10,"categories":11},"custom-database-tables","Custom DataBase Tables","2015-11-24T02:29:34","You can create the new own table freely in the your WordPress database via this plugin. Then, you can make the management of table or (as view or entry or edit) data in a simple user interface.\\nAlso,","\u002Fassets\u002Fuploads\u002F2016\u002F02\u002Fcdbt-overview.png",[12],{"slug":13,"name":7},"cdbt",{"slug":15,"title":16,"date":17,"excerpt":18,"image":19,"categories":20},"10_php_tips_for_developers","PHP開発者が心得ておくべき10の鉄則","2016-01-11T18:38:09","PHPだけに限った話ではないが、プログラミングを行うに当たって、心得て、準備しておくと失敗が劇的に減る事柄をまとめてある良い記事を見つけたので、私なりの解釈で意訳しつつ、経験則を踏まえてあらためてまとめてみた。 オリジナ…","\u002Fassets\u002Fuploads\u002F2016\u002F01\u002Feyecatch-php-10-tips.jpg",[21,24],{"slug":22,"name":23},"column","コラム",{"slug":25,"name":26},"development","開発関連",{"slug":28,"title":29,"date":30,"excerpt":31,"image":32,"categories":33},"jquery-timeline-v1","2種類の横型タイムラインを簡単に作成できる「jQuery.Timeline」をリリース","2017-05-29T14:55:46","現在開発しているサービスで利用するべく、横型タイムラインを生成できるjQueryプラグインを自作したので、そこだけ単独でリリースしてみた。 ソースコード等はGitHubの方にリリースしてあるので、興味のある方は、そち…","\u002Fassets\u002Fuploads\u002F2017\u002F05\u002Fjquery_timeline_image.png",[34],{"slug":35,"name":36},"jqtl","jQuery.Timeline",{"slug":38,"title":39,"date":40,"excerpt":41,"image":42,"categories":43},"optimize-browser-cache-of-static-resources","更新されたJS、CSS、画像のみブラウザキャッシュを破棄して読み込ませる","2018-01-31T15:47:47","WEBサービスの保守や開発をやっていると、JavaScriptやスタイルシート、画像などの静的リソースを更新した際、しばしば「確認したけど、更新されてないよ」とか云われて、「ブラウザのキャッシュを消してからもう一度見て…",null,[44,47],{"slug":45,"name":46},"codes","コード集",{"slug":25,"name":26},{"slug":49,"title":50,"date":51,"excerpt":52,"image":53,"categories":54},"jquery-timeline","jQuery.Timeline version2 – full documentation","2019-03-04T20:40:48","Plugin Overview The jQuery.Timeline plugin provides you two types of the horizontal timeline. You can create a…","\u002Fassets\u002Fuploads\u002F2019\u002F03\u002Fjquery.timeline_v2.jpg",[55],{"slug":35,"name":36},{"slug":57,"title":58,"date":59,"excerpt":60,"image":61,"categories":62},"released-the-sloth","Released the Sloth of mobile-first CSS micro framework!","2019-04-16T18:04:25","I released the “Sloth” that is mobile-first CSS micro framework. I have long used frontend framewo…","\u002Fassets\u002Fuploads\u002F2019\u002F04\u002Fsloth_doc_head.png",[63],{"slug":64,"name":65},"sloth","Sloth",{"slug":67,"title":68,"date":69,"excerpt":70,"image":71,"categories":72},"challenge-to-conceal-the-wordpress-site","WordPressサイトを徹底的に秘匿化する","2020-02-02T23:59:58","私は自分の個人サイトをはじめ、仕事でもWordPressサイトを運用している。WordPressは気軽にサイトを立ち上げられてカスタマイズも簡単な、素晴らしいオープンソースなのだが、世界中で使われまくっているその知名度…","\u002Fassets\u002Fuploads\u002F2020\u002F02\u002Fshutterstock_1878005929.jpg",[73],{"slug":74,"name":75},"wordpress","WordPress関連",{"slug":77,"title":78,"date":79,"excerpt":80,"image":81,"categories":82},"what-is-forkor","Made a shortened URL app called Forkor","2020-07-07T22:27:01","What’s Forkor? Forkor is a service that provides a shortened URL feature that allows you to redirect any…","\u002Fassets\u002Fuploads\u002F2020\u002F07\u002Fforkor.png",[83],{"slug":84,"name":85},"forkor","Forkor",{"slug":87,"title":88,"date":89,"excerpt":90,"image":91,"categories":92},"manual-about-svg-japan","インタラクティブな日本地図を生成するJSプラグイン「SVG Japan」","2020-11-16T21:19:58","各都道府県をそれぞれ選択・クリック可能なインタラクティブな日本地図を生成するネイティブJavaScript建てのプラグイン「SVG Japan」を作ったので、その紹介と使い方をまとめておく。ちなみにソースコードはgit…","\u002Fassets\u002Fuploads\u002F2020\u002F11\u002Fsvg-japan.png",[93],{"slug":94,"name":95},"svg-japan","SVG Japan",{"slug":97,"title":98,"date":99,"excerpt":100,"image":101,"categories":102},"wp-ignitor-plugin-to-conceal-wordpress-site","WordPressサイトを秘匿化するプラグイン「WP Ignitor」","2021-01-19T15:28:21","以前「WordPressサイトを徹底的に秘匿化する」という記事で、WordPress建てのサイトを秘匿化する方法を取り上げたのだが、あれをサイト構築時に毎度実施するとなるととても労力が必要であった。そこで、もっとお手軽…","\u002Fassets\u002Fuploads\u002F2021\u002F01\u002Fbanner-1554x500-1.png",[103],{"slug":104,"name":105},"wp-ignitor","WPイグナイタ",{"slug":107,"title":108,"date":109,"excerpt":110,"image":111,"categories":112},"tastewp","無料でWordPressサイトを複数作成できるWEBサービス「TasteWP」","2021-03-25T20:21:59","私が日本語翻訳に協力しているWEBサービス「TasteWP」について紹介しようと思う。 https:\u002F\u002Ftastewp.com このサービス、サインアップすることなく無料で自分用のWordPressサイトを作れるとい…","\u002Fassets\u002Fuploads\u002F2021\u002F03\u002FTasteWP_screenshot.png",[113],{"slug":74,"name":75},{"slug":115,"title":116,"date":117,"excerpt":118,"image":119,"categories":120},"monster-hunter-rise-skill-simulator","モンハンライズのスキルシミュレータを作ってみた！","2021-06-28T20:24:52","コラムで連載していたNintendo Switch版『モンスターハンターライズ』のスキルシミュレータ開発がやっと一段落して一通り完了した。いやぁ、記事書きながら同時並行で開発すると思っていた以上に時間がかかるもんだなぁ…","\u002Fassets\u002Fuploads\u002F2021\u002F06\u002Fmhrss_v100.png",[121],{"slug":25,"name":26},{"slug":123,"title":124,"date":125,"excerpt":126,"image":42,"categories":127},"comparison-of-javascript-date-libraries","JavaScriptの日時ライブラリを比較してみた","2021-07-28T22:39:19","ネイティブJavaScriptで日時を取り扱う場合、ビルトインされているDateオブジェクトを使うことになるのだが、このDateオブジェクトは取り扱いにクセが多く、直感的に日時を操作できない点でも有名である。そこで、専…",[128],{"slug":25,"name":26},[130,141,153,165,175,184,192,195,198,206,213,220],{"slug":131,"title":132,"date":133,"excerpt":134,"image":135,"categories":136},"pulllog_launched","ガチャ履歴を記録・分析できるWebサービス「PullLog」","2025-08-22T13:05:30","このたび、新しい個人開発サービスとして 「PullLog（プルログ）」 をリリースした。 URLはこちら https:\u002F\u002Fpulllog.net PullLogとは？ PullLogは、ソーシャルゲームのガチャ履歴を記録…","\u002Fassets\u002Fuploads\u002F2025\u002F08\u002Fpulllog_stats_jp.png",[137,140],{"slug":138,"name":139},"industries","プロダクト",{"slug":25,"name":26},{"slug":142,"title":143,"date":144,"excerpt":145,"image":146,"categories":147},"mockapi-php-openapi-schema-generation","モックAPIのレスポンスから OpenAPI 3.0 スキーマを自動生成するPHPツール","2025-04-17T09:31:52","私自身がそうなのですが、OpenAPI仕様書を毎回手作業で書いていて「面倒だな」と思ったことはありませんか？ そんな（私と）あなたにぴったりのツールがあります。 レスポンスの例さえ用意すれば、OpenAPI 3.0 スキ…","\u002Fassets\u002Fuploads\u002F2025\u002F04\u002Fswaggerui-preview.png",[148,151,152],{"slug":149,"name":150},"mockapi-php","MockAPI-PHP",{"slug":138,"name":139},{"slug":25,"name":26},{"slug":154,"title":155,"date":156,"excerpt":157,"image":158,"categories":159},"ambient_playlist_customize","Ambientでメメントモリのラメントプレイヤーを作る","2023-11-30T17:32:39","「Ambient」の最新バージョン 1.2.0で実装した「疑似フェーダー」機能を使って、ソーシャルゲーム「メメントモリ」のYouTube公式チャンネルで公開されているMVを集約したラメント専用プレイヤーを作ってみた。 ラ…","\u002Fassets\u002Fuploads\u002F2023\u002F11\u002Fambient_mememori_1.png",[160,163,164],{"slug":161,"name":162},"ambient","Ambient",{"slug":138,"name":139},{"slug":25,"name":26},{"slug":166,"title":167,"date":168,"excerpt":169,"image":170,"categories":171},"released_ambient_demo_version","Ambientメディアプレイヤーのクラウド版デモを公開","2023-11-22T13:47:36","つい先日「Ambient」の最新バージョン 1.1.0をリリースして、それに合わせてクラウド版デモサイトも公開してみた。 なお、クラウド版デモでローカルのホストコンピュータのメディアを再生するには、そのメディアファイルも…","\u002Fassets\u002Fuploads\u002F2023\u002F10\u002FAmbientMediaPlayer-typologo.png",[172,173,174],{"slug":161,"name":162},{"slug":138,"name":139},{"slug":25,"name":26},{"slug":176,"title":177,"date":178,"excerpt":179,"image":170,"categories":180},"ambient-media-player","YouTubeと自分のPC内メディアを同時に再生できるメディアプレイヤーを作ってみた","2023-10-20T00:00:25","私はよくPCで何か作業をするときには音楽を垂れ流していることが多い。 そういう時にかける曲は、手持ちのアルバムCD等からPCに取り込んだ音源だったり、さらにはYouTubeの動画だったりとメディアや再生環境がバラバラだ。…",[181,182,183],{"slug":161,"name":162},{"slug":138,"name":139},{"slug":25,"name":26},{"slug":185,"title":186,"date":187,"excerpt":188,"image":189,"categories":190},"what-is-the-sunorhc","Sunorhc is a date-time library for JavaScript","2021-08-25T22:55:55","Sunorhc is a lightweight library for handling dates and times for JavaScript. The library wraps a native JavaS…","\u002Fassets\u002Fuploads\u002F2021\u002F08\u002Fshutterstock_1091212919_resized.jpg",[191],{"slug":25,"name":26},{"slug":123,"title":124,"date":125,"excerpt":126,"image":42,"categories":193},[194],{"slug":25,"name":26},{"slug":115,"title":116,"date":117,"excerpt":118,"image":119,"categories":196},[197],{"slug":25,"name":26},{"slug":199,"title":200,"date":201,"excerpt":202,"image":203,"categories":204},"mhrise-skill-simulator-creation-chapter-12","モンスターハンターライズのスキルシミュレータを作ってみる！ 第12回","2021-06-21T13:11:46","今回は「マイセット登録」と護石データの「エクスポート／インポート」機能の追加をしていく。折り良く（悪く？）「FF7リメイク・インターグレード」や「FORTNITEシーズン7」が出たこともあって、そっちをプレイしてたらこ…","\u002Fassets\u002Fuploads\u002F2021\u002F04\u002Fb6ca09e9a7f6faf27641f62dabe64c6ff97b4f326aa478379e3c112aa28eb9ab.jpg",[205],{"slug":22,"name":23},{"slug":207,"title":208,"date":209,"excerpt":210,"image":203,"categories":211},"mhrise-skill-simulator-creation-chapter-11","モンスターハンターライズのスキルシミュレータを作ってみる！ 第11回","2021-06-07T14:52:31","さて、今回はユーザー個別データの管理部分を開発していく予定だが、まずその前にやっておくことがある。 新スキル「風雷合一」に対応する Ver.3.0の大型無料アップデートで追加された新スキルに「風雷合一」というのがある…",[212],{"slug":22,"name":23},{"slug":214,"title":215,"date":216,"excerpt":217,"image":203,"categories":218},"mhrise-skill-simulator-creation-chapter-10","モンスターハンターライズのスキルシミュレータを作ってみる！ 第10回","2021-06-02T00:29:10","今回は、護石管理画面の作成だ。この護石管理では、ユーザーごとに護石の登録を行う機能と、登録した護石を削除する機能を持つ仕様になる。この画面から登録した護石データはデータベースに格納するので、フロントエンド側からのリクエス…",[219],{"slug":22,"name":23},{"slug":221,"title":222,"date":223,"excerpt":224,"image":203,"categories":225},"mhrise-skill-simulator-creation-chapter-9","モンスターハンターライズのスキルシミュレータを作ってみる！ 第9回","2021-05-22T23:56:27","さて、今回はVuexによるデータ・キャッシュの実装だ。一度データベースから読み込んだデータをフロントエンド側で再利用可能なストアに格納することで、データベースへの接続回数を減らしてシステム負荷を下げるとともに、UX的な…",[226],{"slug":22,"name":23},[228,230,232,236,238,239,240,241,242,244,247,248,250,252,254,258,261],{"slug":161,"name":162,"count":229},3,{"slug":13,"name":7,"count":231},7,{"slug":233,"name":234,"count":235},"csnp","Custom Sticky Notes",2,{"slug":84,"name":85,"count":237},1,{"slug":35,"name":36,"count":229},{"slug":149,"name":150,"count":237},{"slug":64,"name":65,"count":237},{"slug":94,"name":95,"count":237},{"slug":74,"name":75,"count":243},37,{"slug":245,"name":246,"count":237},"wpqt","WP Qiita",{"slug":104,"name":105,"count":237},{"slug":22,"name":23,"count":249},29,{"slug":45,"name":46,"count":251},16,{"slug":138,"name":139,"count":253},5,{"slug":255,"name":256,"count":257},"lifelog","ライフログ",64,{"slug":259,"name":260,"count":235},"uncategorized","未分類",{"slug":25,"name":26,"count":262},45,{"type":264,"post":265},"post",{"slug":266,"title":267,"date":268,"excerpt":269,"image":42,"categories":270,"modified":272,"html":273,"tags":274,"related":287,"prev":313,"next":316},"install-ssl-certificate-on-my-site-last-part","ka2.orgにSSLを導入する・後編","2015-10-12T08:12:14","中間証明書のインストールで挫折していたSSL導入作業は、サポート担当の方に証明書の代行インストールを行ってもらい、あっさり動くようになった…。 ただ、なんで中間証明書のインストールが上手く行かなかったのは不明で自分的にス…",[271],{"slug":25,"name":26},"2015-11-24T01:47:01","\u003Cp>中間証明書のインストールで挫折していたSSL導入作業は、サポート担当の方に証明書の代行インストールを行ってもらい、あっさり動くようになった…。\u003Cbr \u002F>\nただ、なんで中間証明書のインストールが上手く行かなかったのは不明で自分的にスッキリしなかったので、設定済みのSSL設定を覗いてみた。\u003C\u002Fp>\n\u003Cp>そうしたら、「発行された証明書（必須）」の欄に、 \u003Cstrong>発行されたサーバ証明書＋中間証明書（ルート証明書付き）をCHAIN形式\u003C\u002Fstrong> で登録されていて、「発行された中間証明書（任意）」の欄にも \u003Cstrong>中間証明書（ルート証明書付き）\u003C\u002Fstrong> が登録されていた。冗長になるが、両方に中間証明書を設定しておけば最初から上手く行っていたのかもしれない。\u003C\u002Fp>\n\u003Cp>まぁ、これで気分的にも納得して、無事\u003Cstrong>JetPack\u003C\u002Fstrong>の連携も通るようになってひと段落…とはいかなかった。\u003C\u002Fp>\n\u003Cp>HTTPSでサイトアクセスしたところ、Google AdSenseの広告が出力されていなかったのだ。HTTPSプロトコル下でAdSenseの埋め込みコードが正常に動作していないようだ。これはAdSenseのスクリプト中の読み込みURLを変更すると改善できる。\u003C\u002Fp>\n\u003Cp>つまり、\u003Ccode>http:\u002F\u002Fpagead2.googlesyndication.com\u002Fpagead\u002Fshow_ads.js\u003C\u002Fcode> から、\u003Ccode>\u002F\u002Fpagead2.googlesyndication.com\u002Fpagead\u002Fshow_ads.js\u003C\u002Fcode> に変更してあげる必要があるのだ。\u003C\u002Fp>\n\u003Cp>ついでに、GoogleAnalytics側で \u003Cstrong>https:\u002F\u002Fstg.ka2.org\u003C\u002Fstrong> のサイト設定を追加してHTTPS側の分析も行えるようにしておく。Google Analyticsの設定画面からプロパティ設定でデフォルトのURLをhttps側に設定して、ビューにも‘https:\u002F\u002Fstg.ka2.org‘を追加しておけば、HTTP／HTTPSとで別々にトラフィックを分析できるようになる。\u003C\u002Fp>\n\u003Cp>本当はこの機にGoogleTagManagerを導入して、Googleのすべての外部スクリプトの管理を一元化してしまおうかとも思ったのだが、それはまた別の機会に行うことにした次第。\u003C\u002Fp>\n\u003Cp>さて、大抵HTTPSサイトにて良く発生するエラーが「プロトコル混在エラー」というやつだ。これは、HTTPSで表示されるページ内からHTTPプロトコルでの通信が発生するとエラーとなるもの。\u003Cbr \u002F>\nありがちなのが、外部SNSのウィジェットの呼び出し（FaceBookの「シェア」ボタンや、Twitterの「ツイート」ボタンなど）や、上記の例のようにGoogleや各種CDN経由での外部JavaScript呼び出しがHTTPSではなくHTTPでの通信になっている場合におこる。\u003Cbr \u002F>\nHTTPでページを表示している時にはHTTPとHTTPSが混在していてもエラーにならないので、見逃しがちなのだが、HTTPSサイトにする場合は、プロトコルの統一が重要で、これをやっておかないと、せっかく証明書を入れても安全性を訪問者にアピールできなくなる。\u003C\u002Fp>\n\u003Cp>私の ka2.org もプロトコル混在エラーがいくつか出ていたので、修正を行った。\u003Cbr \u002F>\nWordPressサイトをHTTP型からHTTPS型にするときの実際の手順は下記のような感じになるかと。\u003C\u002Fp>\n\u003Col>\n\u003Cli>管理画面の「設定」\u003Ci class=\"fa fa-chevron-right\">\u003C\u002Fi>「一般」で「WordPress アドレス (URL)」と「サイトアドレス (URL)」を「https:\u002F\u002FサイトURL」というようにHTTPSプロトコルの方をメインのURLにする（これによってテーマ中で\u003Ccode>bloginfo('home')\u003C\u002Fcode>や\u003Ccode>get_option('siteurl')\u003C\u002Fcode>でプロトコル付きでURLを生成している部分がHTTPSに対応できるようになる）。\u003C\u002Fli>\n\u003Cli>テーマやJavaScriptの中で「http:\u002F\u002F」で始まる外部URLのAPIを呼び出している部分を検索して、「https:\u002F\u002F」のURLに書き換えるかプロトコルなしの「\u002F\u002F」から始まるURLに書き換える（※基本的にfacebookやtwitterといったウィジェットを提供しているSNSはHTTPSプロトコルに対応している。もし提供先がHTTPSに対応していなかった場合はHTTPSサイトでは利用できなくなるので注意が必要）\u003C\u002Fli>\n\u003Cli>サイト内の記事などで HTTPサイト時代にフルパスで画像を貼り付けていたりすると、HTTPSでアクセスした時にそれらの画像がプロトコル混在を引き起こしてしまう。私の場合、サイト内の記事への画像貼り付けはMarkdown形式（JetPackのマークダウン機能を利用）で、かつ相対パスで指定していたので、特に混在は発生しなかった（見逃しがちなプロトコル混在画像としては、favicon等のサイトのアイコンや、OpenGraphのメタとして指定する画像パス等がある）。\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>結論的に、\u003Cstrong>WordPressのサイトを作る時は、普段からURLのプロトコルが固定化されないように気を付けておくと後からSSL証明書導入した時などが楽になる\u003C\u002Fstrong>ということだ。\u003Cbr \u002F>\nこれからSSLサイトがWebのデファクトスタンダードになっていくハズなので、今後はSSLありきでWeb作らないといけなくなると思う。\u003C\u002Fp>\n\u003Cp>──と云うことで、色々とあったが、ウチのサイト「ka2.org」もようやくSSLで暗号化されたセキュアなサイトとなった。一応、めでたし、めでたし…だろうな。\u003C\u002Fp>\n",[275,278,281,284],{"slug":276,"name":277},"coreserver","CORESERVER",{"slug":279,"name":280},"coressl","CoreSSL",{"slug":282,"name":283},"jetpack","JetPack",{"slug":285,"name":286},"ssl%e8%a8%bc%e6%98%8e%e6%9b%b8","SSL証明書",[288,295,302,309],{"slug":289,"title":290,"date":291,"excerpt":292,"image":42,"categories":293},"install-ssl-certificate-on-my-site-first-part","ka2.orgにSSLを導入する・前編","2015-10-09T13:50:17","GoogleがSSLを導入しているサイトを検索エンジンでの評価で優遇すると発表してからしばらく経つが、だいぶSSLに対応するサイトが増えてきた感じがする。私的には昨年Mozillaが無料のSSL証明書技術を提供すると発表…",[294],{"slug":25,"name":26},{"slug":296,"title":297,"date":298,"excerpt":299,"image":71,"categories":300},"part3-way-to-conceal-the-plugins","第3章 WordPressのプラグインを隠蔽せよ","2020-02-28T17:26:04","前章までの秘匿化によって、WebサイトからかなりWordPressの存在を匂わす要素がなくなって来たが、完全な秘匿化まではまだまだ足りない部分がある。その一つがプラグインだ。 基本的にWordPressはブログツール…",[301],{"slug":74,"name":75},{"slug":303,"title":304,"date":305,"excerpt":306,"image":42,"categories":307},"enable-debug-mode-of-jetpack-plugin-for-wordpress","あまり知られていないJetPackプラグインのデバッグモード","2015-10-20T17:51:26","WordPressの多機能プラグイン「JetPack」は、WordPress.comのアカウントと連携しないと実行できない。バージョン2の頃はそんなこと気にせずに使えたのだが、バージョン3からは連携必須の仕様になってしま…",[308],{"slug":74,"name":75},{"slug":131,"title":132,"date":133,"excerpt":134,"image":135,"categories":310},[311,312],{"slug":138,"name":139},{"slug":25,"name":26},{"slug":289,"title":290,"date":291,"excerpt":292,"image":42,"categories":314},[315],{"slug":25,"name":26},{"slug":317,"title":318,"date":319,"excerpt":320,"image":42,"categories":321},"i-live-my-life-the-way-i-would-like-8th","好きなことだけして生きてみることにした 第8回","2015-10-15T06:57:48","ようやく待ちに待っていた起業家セミナーが始まった。 私が参加した起業家セミナーは数年前から年1～2回ほど区が主催しているものである。初心者向けの入門編とかもあったのだが、入門編はもうすでに今年の回は終わっていたので、私は…",[322],{"slug":22,"name":23},1793391398317]