[{"data":1,"prerenderedAt":330},["ShallowReactive",2],{"$ft6jtkd6xhw3c":3,"$f2zd85zx64n3nf":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":270,"categories":271,"modified":273,"html":274,"tags":275,"related":288,"prev":319,"next":327},"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",[272],{"slug":25,"name":26},"2015-11-07T07:00:27","\u003Cp>では早速、「コントリビューターデイ」で教わったMac用の手順を、Windowsマシンを作業用PCにしている人向けにコンバートしていきます（ハウツー形式の記事なので、珍しくですます調で書いてます）。\u003C\u002Fp>\n\u003Ch3>1. WordPress実行環境の準備\u003C\u002Fh3>\n\u003Cp>WordPressが動くなら、VagrantとVirtual BoxでLinux環境を作ってもいいし、xamppインストールでもどっちでもOKです。\u003Cbr \u002F>\n私はメインでxampp使っているので、この手順はxampp向けになっています。\u003Cbr \u002F>\nなお、xamppはPHP5.6がインストールされる最新安定版が良いです。というのも、この記事では詳しく触れていませんが、ユニットテストを行う場合、phpunitの安定版がPHP5.6以上の環境を要求するからです。\u003C\u002Fp>\n\u003Ch3>2. Subversion（SVN）実行環境を構築\u003C\u002Fh3>\n\u003Cp>Windows用のSVNクライアントとしては「\u003Ca href=\"http:\u002F\u002Ftortoisesvn.net\u002F\" title=\"http:\u002F\u002Ftortoisesvn.net\u002F\">TortoiseSVN（トータスSVN）\u003C\u002Fa>」を使います。現2015\u002F11\u002F5時点での最新版は\u003Ca href=\"https:\u002F\u002Fosdn.jp\u002Fprojects\u002Ftortoisesvn\u002F\">バージョン1.9.2\u003C\u002Fa>でした。 日本語化用のパッケージもあるので、必要ならそちらもインストールしてください。\u003C\u002Fp>\n\u003Cp>\u003Cimg decoding=\"async\" src=\"\u002Fassets\u002F2015\u002F11\u002Ftortoisesvn_install_2.png\" alt=\"インストールオプション\" \u002F>\u003C\u002Fp>\n\u003Cp>インストールする時の注意点としては、上の図のオプション設定です。ここで「command line client tools」を有効化しておくと、\u003Ccode>svn\u003C\u002Fcode>コマンドがWindowsのコマンドラインから利用できるようになるので、もしコマンドラインをメインに使う人は必ず有効化しておきましょう。もし、コマンドラインツールを有効化したら、インストール完了後に、powershell等を立ち上げて、\u003Ccode>svn --version\u003C\u002Fcode>と入力して、下図のようにコマンドラインから\u003Ccode>svn\u003C\u002Fcode>コマンドが実行できるか確認してみてください。\u003C\u002Fp>\n\u003Cp>\u003Cimg decoding=\"async\" src=\"\u002Fassets\u002F2015\u002F11\u002Ftortoisesvn_install_3.png\" alt=\"コマンドラインツールの確認\" \u002F>\u003C\u002Fp>\n\u003Cp>これでSVN実行環境は整いました。\u003C\u002Fp>\n\u003Ch3>3. WordPressのコアソースをコピーする\u003C\u002Fh3>\n\u003Cp>xampp等のWordPress実行環境となるドキュメントルート・ディレクトリにWordPressのコアソースをコピーしてくるためのフォルダを作ります。この例ではxamppの標準的なインストールでデフォルトドキュメントルートとなる\u003Ccode>C:\\xampp\\htdocs\\\u003C\u002Fcode>直下に\u003Ccode>wordpress.core\u003C\u002Fcode>というフォルダを作っています。コマンドラインからなら、\u003C\u002Fp>\n\u003Cpre>\u003Ccode>&gt; mkdir C:\\xampp\\htdocs\\wordpress.core\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>──で作れます。\u003Cbr \u002F>\n次に作ったフォルダをエクスプローラから右クリックして、「TortoiseSVN」→「Settings」と選択します。\u003C\u002Fp>\n\u003Cp>\u003Cimg decoding=\"async\" src=\"\u002Fassets\u002F2015\u002F11\u002Ftortoisesvn_setting_1.png\" alt=\"TortoiseSVN設定\" \u002F>\u003C\u002Fp>\n\u003Cp>左側の設定メニューから「\u003Cstrong>Network\u003C\u002Fstrong>」を選んで、右側のNetwork設定のSSH欄に自分が使っているSSHクライアントの実行ファイルのパスを入力して「適用」→「OK」とクリックします。\u003C\u002Fp>\n\u003Cp>\u003Cimg decoding=\"async\" src=\"\u002Fassets\u002F2015\u002F11\u002Ftortoisesvn_setting_2.png?modify=20151107\" alt=\"TortoiseSVNのNetwork設定\" \u002F>\u003C\u002Fp>\n\u003Cp>再び、\u003Ccode>wordpress.core\u003C\u002Fcode>のフォルダを右クリックして、「\u003Cstrong>SVN Checkout&#8230;\u003C\u002Fstrong>」を選びます。CheckoutするリポジトリのURL欄に、\u003Ccode>http:\u002F\u002Fdevelop.svn.wordpress.org\u002Ftrunk\u002F\u003C\u002Fcode>と入力して「OK」を押すと、リモートリポジトリから最新版のソースがローカルPCにコピーされます。通信環境によりますが、だいたい1分弱ですべてのソースがコピーされるはずです。\u003C\u002Fp>\n\u003Cp>\u003Cimg decoding=\"async\" src=\"\u002Fassets\u002F2015\u002F11\u002Ftortoisesvn_checkout.png\" alt=\"SVN Checkout\" \u002F>\u003C\u002Fp>\n\u003Cp>ソースを修正する時などはリビジョン番号が常に最新になっているかを確認する必要があります。\u003Cbr \u002F>\nその場合は、\u003Ccode>wordpress.core\u003C\u002Fcode>のフォルダを右クリックして、「\u003Cstrong>SVN Update\u003C\u002Fstrong>」を行うことで、差分ファイルの更新が行われます。\u003C\u002Fp>\n\u003Cp>\u003Cimg decoding=\"async\" src=\"\u002Fassets\u002F2015\u002F11\u002Ftortoisesvn_update.png\" alt=\"SVN Update\" \u002F>\u003C\u002Fp>\n\u003Cp>もし、TortoiseSVNをインストールする時にコマンドラインオプションを有効化していると、上記の手順をコマンドラインから行えるようになります。こっちからやった方がGUIベースでやるより簡単だったりします。実際に上記と同じ手順をコマンドラインからやってみると、Powershell等で下記のコマンドを実行するだけです。\u003C\u002Fp>\n\u003Cpre>\u003Ccode>&gt; mkdir C:\\xampp\\htdocs\\wordpress.core\n> cd C:\\xampp\\htdocs\\wordpress.core\n> svn co http:\u002F\u002Fdevelop.svn.wordpress.org\u002Ftrunk\u002F .\nA    .jshintrc\nA    tests\n  ...(中略)...\nChecked out external at revision 1279984.\n\nChecked out revision 35535.\n> svn update\nUpdating '.':\n\nFetching external item into 'tests\\phpunit\\data\\plugins\\wordpress-importer':\nExternal at revision 1279984.\n\nAt revision 35535.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>4. WordPressのコアソースを修正する\u003C\u002Fh3>\n\u003Cp>あとはエクスプローラからWordPressのコアソースの中身を見ながらバグを探すもよし、機能改善したい部分を探すもよしという段階です。ちなみにソースは\u003Ccode>src\u003C\u002Fcode>ディレクトリ内に入っているものになります。この例では\u003Ccode>wordpress.core\u002Fsrc\u002F\u003C\u002Fcode>フォルダの中ということです。\u003Cbr \u002F>\nコアソースを修正した場合に利用する\u003Ccode>svn\u003C\u002Fcode>コマンドをいくつか紹介しておきます。まず、修正前と修正後の差分を検証できる\u003Ccode>svn diff\u003C\u002Fcode>です。GUIから利用する場合は、\u003Ccode>wordpress.core\u003C\u002Fcode>フォルダを右クリックして、「TortoiseSVN」→「Check for modifications」で差分ファイルの一覧が表示されるので、そこから差分の詳細を見たいファイルを選択します。\u003C\u002Fp>\n\u003Cp>\u003Cimg decoding=\"async\" src=\"\u002Fassets\u002F2015\u002F11\u002Ftortoisesvn_diff_1.png\" alt=\"SVN Diff\" \u002F>\u003C\u002Fp>\n\u003Cp>もしくは、直接修正したファイルを右クリックして、「TortoiseSVN」→「Diff」でもOKです。\u003C\u002Fp>\n\u003Cp>\u003Cimg decoding=\"async\" src=\"\u002Fassets\u002F2015\u002F11\u002Ftortoisesvn_diff_2.png\" alt=\"SVN Diff\" \u002F>\u003C\u002Fp>\n\u003Cp>修正した内容を元に戻す場合は、切り戻したいファイルを右クリックして「TortoiseSVN」→「Revert&#8230;」です。\u003C\u002Fp>\n\u003Cp>\u003Cimg decoding=\"async\" src=\"\u002Fassets\u002F2015\u002F11\u002Ftortoisesvn_revert.png\" alt=\"SVN Revert\" \u002F>\u003C\u002Fp>\n\u003Cp>修正したファイルのパッチを作成するには、\u003Ccode>wordpress.core\u003C\u002Fcode>フォルダを右クリックして「TortoiseSVN」→「Create patch&#8230;」からパッチ化するファイルを選択します。WordPressのtracの通例的に、ファイル名は「\u003Cstrong>{リポジトリのリビジョン番号}.patch\u003C\u002Fstrong>」か「\u003Cstrong>{リポジトリのリビジョン番号}.diff\u003C\u002Fstrong>」としているチケットが多かったので、それに倣っておくと良いかもしれません。\u003Cbr \u002F>\n複数の修正ファイルが含まれる場合は「\u003Cstrong>big_patch.diff\u003C\u002Fstrong>」が良いと宮内さんはおっしゃられていました。\u003C\u002Fp>\n\u003Cp>\u003Cimg decoding=\"async\" src=\"\u002Fassets\u002F2015\u002F11\u002Ftortoisesvn_patch.png\" alt=\"SVN Patch\" \u002F>\u003C\u002Fp>\n\u003Cp>なお、上記の運用をコマンドラインで行う場合は、下記のようにコマンドを発行します。\u003C\u002Fp>\n\u003Cpre>\u003Ccode>## 修正内容の差分をすべて表示\n> svn diff\n## 修正ファイル単体の差分を表示\n> svn diff {FileName}.php\n## 修正内容を切り戻す（ファイル単位）\n> svn revert {FileName}.php\n## フォルダ全体を切り戻す（wordpress.core\u002F直下で実行）\n> svn revert --recursive .\n## パッチを作る\n> svn diff &gt; {PatchName}.diff\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>5. 修正内容を確認する\u003C\u002Fh3>\n\u003Cp>修正した内容を確認するために、WordPressのコアソースをWEBアプリケーションとして実行する必要があります。つまり、この例ではxampp環境下でコアソースのWordPressサイトを稼動させるということです。\u003Cbr \u002F>\nそのためには、xampp側にコアソースの\u003Ccode>src\u003C\u002Fcode>フォルダをドキュメントルートとしたホストを起動する必要があります。\u003C\u002Fp>\n\u003Cp>まず、xampp側のドキュメントルートを修正する必要があります。‘C:\\xampp\\apache\\conf\\httpd.conf‘を開いて、下記の部分を変更します。\u003C\u002Fp>\n\u003Cpre>\u003Ccode>DocumentRoot \"C:\u002Fxampp\u002Fhtdocs\"\n&lt;Directory \"C:\u002Fxampp\u002Fhtdocs\"&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>これを、\u003C\u002Fp>\n\u003Cpre>\u003Ccode>DocumentRoot \"C:\u002Fxampp\u002Fhtdocs\u002Fwordpress.core\u002Fsrc\"\n&lt;Directory \"C:\u002Fxampp\u002Fhtdocs\u002Fwordpress.core\u002Fsrc\"&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>修正が終わったら、xamppのApacheを再起動してください。これで、localhostにアクセスすればコアソースのWordPressが表示されます。\u003Cbr \u002F>\nただ、これだとlocalhostで1ホストしか利用できないので、私的にはVirtualHostを利用して複数ホストを同時に利用できるようにしておくことをオススメします。これだと、リビジョン違いのWordpressコアを同居させたり、別途に公式版のWordPressサイトも同時にローカルPC内に共存させられるからです。\u003Cbr \u002F>\nやり方は、上記のhttpd.confのドキュメントルートは変更せずに、\u003Ccode>C:\\xampp\\apache\\conf\\extra\\httpd-vhost.conf\u003C\u002Fcode>を開き、下記の記述を追記します。\u003C\u002Fp>\n\u003Cpre>\u003Ccode>&lt;VirtualHost *:80&gt;\n    ServerAdmin admin@wordpress.core\n    DocumentRoot \"C:\u002Fxampp\u002Fhtdocs\u002Fwordpress.core\u002Fsrc\"\n    ServerName wordpress.core\n    ErrorLog \"logs\u002Fwordpress.core-error.log\"\n    CustomLog \"logs\u002Fwordpress.core-access.log\" common\n&lt;\u002FVirtualHost&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>次に、Windows側のHOSTS（C:\\Windows\\System32\\drivers\\etc\\hosts）にも下記のように追加します（Windowsの管理者権限がないと書き込みができないので、ファイルを右クリックして管理者として開きます）。\u003C\u002Fp>\n\u003Cpre>\u003Ccode>::1 localhost\n127.0.0.2   local.mysite.com\n127.0.0.3   dev.mysite.com\n127.0.0.4   test.mysite.com\n127.0.0.5   staging.net\n127.0.0.6   wordpress.test\n127.0.0.7   wordpress.core\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>上記の例のようにローカル・ループバック・アドレスを割り振っておくと、ブラウザから任意のホスト名でアクセスできるようになってかなり便利に複数サイトを同時運用できます。\u003C\u002Fp>\n\u003Cp>設定が完了したら、xamppを再起動して、ブラウザから「http:\u002F\u002Fwordpress.core\u002F」でアクセスすると、WordPressのインストーラーが起動します。この時点ではデータベースの準備ができていないためにデータベースの作成を促されるので、あらかじめxamppのphpMyAdminか、下記のようにコマンドラインからMySQL(xamppの最新版ではMariaDB)にデータベースを作成しておくとWordPressの環境構築がさらに楽になります。\u003C\u002Fp>\n\u003Cpre>\u003Ccode>&gt; c:\\xampp\\mysql\\bin\\mysql -u root\n> grant all privileges on *.* to 'wp_admin'@'localhost' identified by 'password';\n> create database wordpress;\n> exit;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>コアソースのWordPressサイトが稼動したら、自分が修正した機能が正常に動いているかを試してみたり、デバッグコードを書いて挙動を確かめてみることができるようになります。\u003C\u002Fp>\n\u003Ch3>6. Tracにチケットを起票する\u003C\u002Fh3>\n\u003Cp>WordPressコアソースにバグを見つけたり、機能改善をリクエストするには「\u003Ca href=\"https:\u002F\u002Fmake.wordpress.org\u002Fcore\u002F\">\u003Cstrong>Make WordPress Core\u003C\u002Fstrong>\u003C\u002Fa>」からチケットを起票します。下図のように、「Me」の欄に「\u003Cstrong>Create a Ticket\u003C\u002Fstrong>」のリンクがあるので、そこから起票できます。\u003C\u002Fp>\n\u003Cp>\u003Cimg decoding=\"async\" src=\"\u002Fassets\u002F2015\u002F11\u002Fmake_wordpress_core.png\" alt=\"Make WordPress Core\" \u002F>\u003C\u002Fp>\n\u003Cp>パッチを添付する場合は、「 I have files to attach to this ticket」にチェックを入れてから「Continue to Preview」ボタンをクリックするとアップローダが表示されます。\u003C\u002Fp>\n\u003Cp>後は、コアチームからの返信待ちになります。宮内さんによれば、初めてチケット起票した人に対してはみんな優しい対応をしてくれるらしいです（笑）\u003C\u002Fp>\n\u003Cp>ちなみに、私の起票したチケットは、現在「\u003Cstrong>needs unit test\u003C\u002Fstrong>」のステータスで止まっていて、ユニットテストをパッチに含めて再度提出すればコミットしてもらえる\u003Cstrong>かもしれない\u003C\u002Fstrong>という状態です。\u003Cbr \u002F>\n早くユニットテストを書いて提出したいのですが、なかなか時間がとれないうえに、私自体がユニットテストを今までやったことがないこともあってphpunitの導入から習得中だったりして、もうちょっとかかりそうな感じですね。\u003C\u002Fp>\n\u003Cp>何気にxampp上でphpunitを動作させるのにてこずっていたりもするんですが…(笑)\u003C\u002Fp>\n",[276,279,282,284,286],{"slug":277,"name":278},"svn","SVN",{"slug":280,"name":281},"tortoise-svn","Tortoise SVN",{"slug":283,"name":283},"windows",{"slug":74,"name":285},"WordPress",{"slug":287,"name":287},"xampp",[289,296,304,312],{"slug":290,"title":291,"date":292,"excerpt":293,"image":42,"categories":294},"running-mysql57-in-xampp","XAMPP環境で MySQL 5.7 を動かす","2017-06-02T00:42:25","MySQLのJSON型を使って開発をしたい。しかも、XAMPP環境で…！ ──Vagrant + VirtualBox 使えばええやん。 確かにその通りだ。その通りなのだが、私の非力なノートPC（メモリ4GBのWi…",[295],{"slug":25,"name":26},{"slug":297,"title":298,"date":299,"excerpt":300,"image":301,"categories":302},"do-unit-test-of-wordpress-plugin-using-wp-cli-and-phpunit-in-xampp-environment","XAMPP環境でwp-cliとphpunitを使ってWordPressプラグインのテストを行う","2016-03-04T19:10:48","以前に書いた「XAMPP環境でphpunitをインストールしてユニットテストを実行する」の記事の続編である。 いやはや…最近、公開しているプラグインの機能が増えて来たこともあってか、ビルドバージョンのアップだけなのに、作…","\u002Fassets\u002Fuploads\u002F2016\u002F03\u002Fshutterstock_218803594_resized.jpg",[303],{"slug":74,"name":75},{"slug":305,"title":306,"date":307,"excerpt":308,"image":309,"categories":310},"build-development-environment-of-xampp-with-git-and-svn-and-node-js-on-windows10","Windows10にXAMPP+Git+SVN+Node.jsの開発環境を構築する","2016-03-23T01:18:24","今年に入ってから、私のメインPCであるデスクトップPC（DELL XPS8300）のHDDから異音がするようになった。さらにここ数週間前からは、PC起動直後のチェックディスクでもエラーが出るようにもなったので、いよいよ寿…","\u002Fassets\u002Fuploads\u002F2016\u002F03\u002Fwindows10.jpg",[311],{"slug":25,"name":26},{"slug":313,"title":314,"date":315,"excerpt":316,"image":42,"categories":317},"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でユニットテストを行う場合、改めてインスト…",[318],{"slug":25,"name":26},{"slug":320,"title":321,"date":322,"excerpt":323,"image":324,"categories":325},"my-summary-part2-of-wordcamp-tokyo-2015","WordCamp Tokyo 2015 まとめ・その2","2015-11-05T15:03:56","ちょっと鮮度が落ちてしまったが、「WordCamp Tokyo 2015」の二日目「コントリビューターデイ」のレポートを書いておこうかと。この「コントリビューターデイ」は実際にWordPressに貢献できるワークショップ…","\u002Fassets\u002Fuploads\u002F2015\u002F11\u002Fwctokyo-main-visual.jpg",[326],{"slug":74,"name":75},{"slug":313,"title":314,"date":315,"excerpt":316,"image":42,"categories":328},[329],{"slug":25,"name":26},1793391398277]