[{"data":1,"prerenderedAt":325},["ShallowReactive",2],{"$ft6jtkd6xhw3c":3,"$f33jxj0rwnwqnz":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":280,"prev":310,"next":317},"delete-local-installed-npm-modules-into-windows","Windows環境下でローカルインストールされたnpmモジュールを一括削除する","2015-10-29T18:28:09","Windows環境（ちなみにWindows7）で、プロジェクト（ローカル）にインストールしたnpmのモジュールを削除したい場合に、node_modules ディレクトリを一括削除とかするとファイルパス名が長すぎて削除でき…",[271],{"slug":25,"name":26},"2015-11-24T01:45:25","\u003Cp>Windows環境（ちなみにWindows7）で、プロジェクト（ローカル）にインストールしたnpmのモジュールを削除したい場合に、node_modules ディレクトリを一括削除とかするとファイルパス名が長すぎて削除できないモジュールが出てきたりする。\u003Cbr \u002F>\nたいていは、モジュール自体の名前が長いうえに、モジュール内に別の依存系モジュールを読み込むようなやつで、特にネストが激しいのがそういうモジュールに該当する。\u003C\u002Fp>\n\u003Ch4>npmモジュールで、Windowsにて削除ができなくなったもの一覧\u003C\u002Fh4>\n\u003Cp>経験則的に以下のモジュールが削除できなくなることが多かった。\u003C\u002Fp>\n\u003Cul>\n\u003Cli>browser-sync\u003C\u002Fli>\n\u003Cli>gulp-imagemin\u003C\u002Fli>\n\u003Cli>gulp-pleeease\u003C\u002Fli>\n\u003Cli>imagemin-pngcrush\u003C\u002Fli>\n\u003Cli>imagemin-mozjpeg\u003C\u002Fli>\n\u003Cli>asset-builder\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>特に gulp-imagemin はネストが激しいためか、ほぼ100%エクスプローラー経由での削除はできなかった。\u003C\u002Fp>\n\u003Ch3>Windowsで削除できないnpmモジュールの消し方\u003C\u002Fh3>\n\u003Cp>削除できなくなった場合の一番簡単な対応策は、途中のディレクトリを共有化して、ネットワーク越しから削除を行う方法だ。\u003Cbr \u002F>\n例えば、上の例だと、imagemin-pngcrush のディレクトリが削除できなかった場合、imagemin-pngcrush ディレクトリを右クリックして「\u003Cstrong>共有(H)\u003C\u002Fstrong>」>「\u003Cstrong>特定のユーザー&#8230;\u003C\u002Fstrong>」をクリックすると、「\u003Cstrong>ファイルの共有\u003C\u002Fstrong>」ウィンドウが立ち上がるので、特にユーザーの追加などせずに「\u003Cstrong>共有\u003C\u002Fstrong>」ボタンをクリックする。\u003Cbr \u002F>\n共有化されると「\u003Cstrong>ユーザーのフォルダーは共有されています。\u003C\u002Fstrong>」と表示されるので、個別の項目に表示されている共有化したディレクトリ名をクリックしてネットワーク越しから該当のディレクトリにアクセスする。\u003C\u002Fp>\n\u003Cp>つまり例えば、\u003C\u002Fp>\n\u003Cp>\u003Ccode>C:\\xampp\\htdocs\\development_root\\wp-content\\themes\\sage\\node_modules\\imagemin-pngcrush\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>──というパスが、共有ネットワーク越しだと、\u003C\u002Fp>\n\u003Cp>\u003Ccode>\\\\{PC名}\\imagemin-pngcrush\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>──と短縮された形でアクセスできている状態になるのだ。\u003Cbr \u002F>\nこれだと、OSのファイルパス文字列長の最大数制限に引っかからなくなっている可能性があり、その場合はディレクトリの削除が可能になる。\u003Cbr \u002F>\nもしこれでもパスが長いと怒られるようなら、さらに下のディレクトリまで辿ってから共有化すればよい（この時、共有ネットワーク越しだと共有化ができないので、一度ローカルのエクスプローラーからアクセスし直す必要がある）。\u003Cbr \u002F>\nたいていは、親モジュールの node_modules ディレクトリか、その下のモジュール群の node_modules ディレクトリあたりを共有化すれば消せるようになるだろう。\u003C\u002Fp>\n\u003Cp>だが、何気にかなり面倒くさい…。\u003C\u002Fp>\n\u003Ch3>Windowsでのnpmモジュールの削除のベストプラクティス？\u003C\u002Fh3>\n\u003Cp>基本的に、npmモジュールを削除するのであれば、コマンドラインから \u003Ccode>npm uninstall パッケージ名\u003C\u002Fcode> とするのが一番無難である。これだと、ファイルパスの文字列長に関わらず、依存先から綺麗に削除してくれるので。\u003Cbr \u002F>\nただ、インストールの時と同じように\u003Ccode>npm uninstall\u003C\u002Fcode> とパッケージ名指定しなくても package.json を読んでモジュールの一括削除とか気の利いた削除はしてくれない。やってみても、エラーになってできなかった…。モジュール指定にワイルドカードとかも使えないし、インストールしているパッケージが多いと何気に手間がかかるのだ。\u003C\u002Fp>\n\u003Cp>なので、私的なWindowsでnpmモジュールを削除する時のベストプラクティスとしては、Windows側で node_modules ディレクトリ内の \u003Cstrong>.bin ディレクトリ以外\u003C\u002Fstrong>をすべて選択して一括削除を実行し、「ファイルパス長いよエラー」が出たら、それらは「スキップ」しておき、削除後に残ったモジュールのみ \u003Ccode>npm uninstall パッケージ名\u003C\u002Fcode> で削除するというやり方だ。\u003Cbr \u002F>\nしかし、これでも node_modules ディレクトリまでのパス文字列長が長かったりすると、結構な量のモジュールがスキップ対象になって残ったりする。そういう場合は、前述のフォルダの共有化で一括削除してしまった方が逆に効果的だったりする。\u003C\u002Fp>\n\u003Cp>うーん、npmのアンインストーラーの使い勝手がもう少し良くなるといいのだがなぁ…。ま、あまり調べてないので、もしかしたら他に良いやり方があるのかもしれんが…。\u003C\u002Fp>\n",[275,278],{"slug":276,"name":277},"npm-uninstall","npm uninstall",{"slug":279,"name":279},"windows",[281,288,295,303],{"slug":282,"title":283,"date":284,"excerpt":285,"image":42,"categories":286},"running-mysql57-in-xampp","XAMPP環境で MySQL 5.7 を動かす","2017-06-02T00:42:25","MySQLのJSON型を使って開発をしたい。しかも、XAMPP環境で…！ ──Vagrant + VirtualBox 使えばええやん。 確かにその通りだ。その通りなのだが、私の非力なノートPC（メモリ4GBのWi…",[287],{"slug":25,"name":26},{"slug":289,"title":290,"date":291,"excerpt":292,"image":42,"categories":293},"how-to-install-phpunit-in-xampp-for-windows","XAMPP環境でphpunitをインストールしてユニットテストを実行する","2015-11-06T17:20:40","元々、XAMPPにはphpunitがバンドルされているのだが、Pear版の古いバージョンである（PHPUnit-1.3.2とPHPUnit-2.3.6）ため、最新のphpunitでユニットテストを行う場合、改めてインスト…",[294],{"slug":25,"name":26},{"slug":296,"title":297,"date":298,"excerpt":299,"image":300,"categories":301},"procedure-of-wordpress-core-contribution-for-windows-pc-users","Windows PCユーザー向け WordPressコア修正環境の構築手順","2015-11-05T15:30:46","では早速、「コントリビューターデイ」で教わったMac用の手順を、Windowsマシンを作業用PCにしている人向けにコンバートしていきます（ハウツー形式の記事なので、珍しくですます調で書いてます）。 1. WordPres…","\u002Fassets\u002Fuploads\u002F2015\u002F11\u002Fmake_wordpress_core.png",[302],{"slug":25,"name":26},{"slug":304,"title":305,"date":306,"excerpt":307,"image":42,"categories":308},"note-install-gulp-and-bower-to-windows8","Windows8.1にgulp、bowerをインストールする時の注意点","2015-05-17T11:28:12","Windows8.1のノートPCにphpの開発環境を構築しようと思い、gulpとbowerをインストールしようとして結構ハマったので、その時のTIPSをまとめておく。 Windows 8.1の罠 まず、Windows8.…",[309],{"slug":25,"name":26},{"slug":311,"title":312,"date":313,"excerpt":314,"image":42,"categories":315},"optimizing-the-network-communication-costs-by-changing-the-sim","格安SIMを使って通信費を最適化する","2015-10-26T23:45:59","本サイトの不定期連載コラム「好きなことだけして生きてみることにした」で、私は今やっている起業活動をドキュメンタリー的に書きなぐっているが、この記事はその番外編的な位置づけで書いてみた。 今や起業を考える時に「IT」という…",[316],{"slug":255,"name":256},{"slug":318,"title":319,"date":320,"excerpt":321,"image":322,"categories":323},"my-summary-part1-of-wordcamp-tokyo-2015","WordCamp Tokyo 2015 まとめ・その1","2015-11-02T00:31:04","10月31日と11月1日の二日間で開催された「WordCamp Tokyo 2015」に参加してきた。 何気に「WordCamp」に参加するのは二度目なんだけど、一度目はかなり前にWordPressもろくに使っていなかっ…","\u002Fassets\u002Fuploads\u002F2015\u002F11\u002Fwctokyo-main-visual.jpg",[324],{"slug":74,"name":75},1793391398297]