【json】phpで作成した日本語を含むjsonデータをpythonで参照するメモ

        概要   phpで作成したjsonデータをpythonで参照しようとしたら日本語エンコードではまってしまったのでメモ       環境         jsonエンコード(php)     php配列変数をjsonデータ文字列に変換します。     オプション   第二引数にオプションを設定できる     見やすくなるように整形する   JSON_PRETTY_PRINT   日本語をエスケープコードにしない   JSON_UNESCAPED_UNICODE   スラッシュはエスケープしない   JSON_UNESCAPED_SLASHES             jsonデコード(python)     jsonデータ文字列をpythonオブジェクトに変換する。第二引数に文字エンコーディングを指定できる。      […続きを読む]

Continue reading …

【WordPress】phpスクリプトを記述できるショートコードを作ってみた

      概要   投稿ページや固定ページでphpスクリプトを直接書くことができるショートコードを作ってみました。       環境   IDCFクラウド環境 サーバー (仮想マシン・ハードウェア専有マシン) S1 プラン メモリ1G ボリューム(ディスク) 基本 15GB オブジェクトストレージサービス 50GB WordPressは仮想マシンKUSANAGI環境で使用     ショートコードとは   ショートコードとは投稿ページや固定ページでテキストを装飾するための機能です。HTMLのタグと同様の使い方でさまざまな動作を短いコードで表現することができます。 ショートコードは一般的に[xxxxxx]というように各括弧で囲まれた記述の仕方をします。WordPressを触っている人なら見おぼえがあると思います。     このショートコードには、自己完結型ショートコードと囲み型ショートコードの二つの使い方があります。   自己完結型コードとは、[xxxxxx]で完結します。   [garally]   一方、囲み型ショートコードは、開始タグと終了タグがあり、[xxxxxx]コンテンツ[/xxxxxx]のようにコンテンツをタグで囲みます。   [strong]コンテンツ[/strong]   どちらも属性を設定することが可能です。属性を設定する場合は、タグの中に[xxxxxx a=111 b=222]のように記述します。   WordPressのショートコードAPIは自己完結型ショートコードと囲み型ショートコードの両方をサポートしています。 詳しい説明は WordPress Codex ショートコードAPI[…続きを読む]

Continue reading …

【WordPress】jQueryプラグインFlotを使って投稿ページにグラフを表示してみた

        概要   Flotは、とても豊富な機能を備えたjQueryグラフ描画プラグインです。WordPressに読み込めば簡単にグラフを描画できます。WordPressにFlotプラグインを読み込み、固定ページ内に折れ線グラフを表示してみました。       環境   IDCFクラウド環境 サーバー (仮想マシン・ハードウェア専有マシン) S1 プラン メモリ1G ボリューム(ディスク) 基本 15GB オブジェクトストレージサービス 50GB WordPressは仮想マシンKUSANAGI環境で使用 jQueryプラグイン FLOT ver0.83     jQueryプラグインの読み込み     wp_enqueue_scriptsアクションフックのタイミングで、wp_enqueue_script関数でスクリプトの登録を行います。   function my_deregister_script() { if (!is_admin()) { // グラフ描画jQueryを読み込む。 wp_enqueue_script(‘flot’,’https://cdn.jsdelivr.net/jquery.flot/0.8.3/jquery.flot.js’,array(‘jquery’),’0.8.3′); wp_enqueue_script(‘flot.time’,’https://cdn.jsdelivr.net/jquery.flot/0.8.3/jquery.flot.time.min.js’,array(‘jquery’),’0.8.3′); wp_enqueue_script(‘flot.selection’,’https://cdn.jsdelivr.net/jquery.flot/0.8.3/jquery.flot.selection.min.js’,array(‘jquery’),’0.8.3′); } } add_action(‘wp_enqueue_scripts’,’my_deregister_script’,100);    […続きを読む]

Continue reading …

【WordPress】WPに同梱されているjQueryを投稿ページで使用する

      概要   ウィキペディアによるとJqueryは次のように説明されています。     一言でいうとJqueryとは複雑なJavascriptを記述することなく、簡単なコードでJavascriptを実行できる、ライブラリってことですね。WordPressでは管理画面などでjQueryが使用されていますので、わざわざjQueryを読み込むためのコードを追加する必要はありません。       環境   IDCFクラウド環境 サーバー (仮想マシン・ハードウェア専有マシン) S1 プラン メモリ1G ボリューム(ディスク) 基本 15GB オブジェクトストレージサービス 50GB WordPressは仮想マシンKUSANAGI環境で使用       WP同梱のjQueryを使用する方法   WordPressではjQueryのほかにもprototype.jsなどのJavaScript ライブラリが使用されているため、WordpressのjQueryには他のライブラリと競合しないように.noConflict() コマンドが追加されています。   そのため、jQueryで慣用的に使用されている$関数が使用できなくなっています。     一番簡単な解決策は、「$」を「jQuery」にすべて変えてしまうことです。   しかし、過去のjQueryコードを使用したい場合や$関数をそのまま使用したいといった場合は、jQuery関数でカプセル化する方法があります。   jQuery(document).ready( function( $ ) {   //ここに$関数を使用したjQueryコードを書く });  […続きを読む]

Continue reading …

【javascript】canvasでシンプルなアナログ時計を描いてみた

    概要   html5のcanvasでアナログ時計の簡単なデモプログラムを書いてみました。       環境   IDCFクラウド環境 サーバー (仮想マシン・ハードウェア専有マシン) S1 プラン メモリ1G ボリューム(ディスク) 基本 15GB オブジェクトストレージサービス 50GB WordPressは仮想マシンKUSANAGI環境で使用       WordPressでjavascriptを動かす方法     Javascriptのプログラムをどこにどうやって設置するか方法はいろいろあると思いますが、ここでは一番簡単な方法でjavascriptを動かしてみます。   新規に記事または個別ページを作成して、HTMLが記述できる「テキスト」で以下のコードを記述します。   <div> <script type=”text/javascript”> //ここにjavascriptのコードを記述する </script> </div>   javascriptは上記コメント箇所にコードを記述します。 以上です   ※他にも、プラグインを使用したり、カスタムフィールドを使用したり、さまざまな方法があります。       スクリプト   アナログ時計の描画は、HTML5のCanvas APIを利用して、素のjavascriptで書いています。[…続きを読む]

Continue reading …

【WordPress】WP-CLIを使用してスマートにWordPressデータを扱う

      概要   以前このサイトでWordPressのデータベースを直接のぞいて不要なデータを削除したり別のサーバーに必要なデータを転送したりしたときのメモを残していました。 WordPressのアーキテクチャを理解するのによい勉強になったのですが、WPのデータを扱うのにいちいちSQLを書くのもあれなので、なにかいいツールはないかといろいろさがしていましたが、灯台下暗しでした。 WP-CLIはWordPressをコマンドラインで管理するためのツールです。これでやりたいことが簡単にできそうです。       環境   IDCFクラウド環境 サーバー  (仮想マシン・ハードウェア専有マシン) S1 プラン メモリ1G ボリューム(ディスク) 基本 15GB オブジェクトストレージサービス 50GB WordPressは仮想マシンKUSANAGI環境で使用     ローカル環境にインストール ローカルにWP-CLIがインストールされていない場合は、次の方法でインストールします。   WP-CLIファイルをダウンロードします curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar パスを通します php wp-cli.phar –info chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp     WP-CLIコマンド   GUIで行うことは基本的にほぼ網羅しているみたいです。データベースを直接いじらないとできなかったこともWP-CLIでは簡単にできるようですね。  […続きを読む]

Continue reading …

【linux】rsyncでリモートマシンに高速バックアップする

      概要   リモートマシンへバックアップするときは、ファイル転送コマンドscpを使っていましたが、いろいろrsyncが便利そうなので調べてみました。     環境       rsyncコマンドとは   ウィキペディアによるとrsyncは次のように定義されています。 rsync は、UNIXシステムにおいて、差分符号化を使ってデータ転送量を最小化し、遠隔地間のファイルやディレクトリの同期を行うアプリケーションソフトウェアである。類似のプログラムやプロトコルにはない rsync 独自の特徴として、ミラーサイトとの転送が双方向に高々1回で済む点がある。rsync はディレクトリ内容を表示し、ディレクトリやファイルをコピーできる。オプションでデータ圧縮や再帰も指定可能   scpコマンドのファイル転送機能をサポートする上にディレクトリ間のファイルを高速で同期するため、バックアップにはうってつけのコマンドです。       rsyncコマンドオプション       Rsyncコマンドは、このサイトでかなり詳しく説明されています。       このサイトでは具体的に例を挙げて説明してくれています。   rsyncコマンドで覚えておきたい使い方10個         まとめ   これからリモートサーバーへのバックアップもrsyncを使えば楽になりそうです。       関連記事      […続きを読む]

Continue reading …

【WPF】WriteableBitmap クラスでbitmapイメージを操作する

      概要   WPFはbitmapクラスから派生したさまざまなクラスがありますが、WriteableBitmapクラスを使用するとWindowsながら画素を直接操作するという低レベルプログラミングが可能になります。 WriteableBitmapクラスを使って画面をピクセル単位に操作してみました。       環境   Microsoft Visual Studio 2015 + WPF + VB       WriteableBitmapクラス     以下のプロパティまたはメソッドを使用しました。   BackBuffer 画面に対応するバッファのポインタを取得する   BackBufferStride 画面一行のバッファサイズを取得する   Lock 画面をロックする(バッファを編集中)   Unlock 画面をアンロックする(バッファ編集を終了)   AddDirtyRect 画面の更新対象領域を指定する(指定された領域のみ更新される)     ※コピー&ペーストはbitmapsourceクラス(親クラス)のCopyPixelsとWritePixcelsというメソッドを利用しています。画面のビットマップイメージデータを指定のバッファへのコピーしたりバッファのビットマップイメージデータを画面に出力できます。       サンプル  […続きを読む]

Continue reading …

【WPF】XAMLでリソース定義したクラスをコードビハインドで参照する

      概要   農業のDIYに必要な技術と思えませんが、WPF勉強中です。リソースの定義はWPFの肝っぽいので忘れないようにメモしておきます。 WPFで独自クラスをインスタンス化する場合、次の二つの方法があります。   従来のWindowsフォームのようにコードビハインドでインスタンス化する方法 XAMLでリソース定義をしてインスタンス化する方法   コードビハインドでインスタンス化したクラスを呼び出す場合、上記1.の方法は問題ありませんが、上記2.のXAMLでインスタンス化された独自クラスの呼び出し方はWPF特有ですのでメモしておきます。       環境   Microsoft Visual Studio 2015 + WPF + VB       XAMLのリソースを定義または参照する方法   独自クラス   XAMLでのリソース定義 WPFでは、XAMLでリソースを定義(クラスの場合はインスタンス化)できます。その方法は、Resoucesタグにインスタンス化したいクラスの名称とそれを参照するためのキーを登録するだけです。   XAMLでリソース参照 XAMLから参照する場合は、次のように参照した内容を設定したいコントロールのプロパティにバインディングさせることで可能です。 ここでは、Sourceに先ほど定義したリソース(クラス)のキーを、pathにはリソース(クラス)のプロパティを設定します。Modeには該当のコントロールのプロパティに値を設定するだけであればoneWay(単方向)を、値を設定または参照する場合はTwoWay(双方向)を指定します。   コードビハインドでリソース参照 リソースに定義済みのクラスのメソッドを呼び出すときはResoucesプロパティまたはFindResourceメソッドを使用します。Resourcesプロパティの場合は、カッコ内にリソース名を設定するとリソースの参照が可能となり、コードビハインドでクラスを呼び出すことができるようになります。   Resourcesプロパティを使用する場合 FindResourceメソッドを使用する場合   数値や文字列(名前空間systemで定義されたクラス)   数値や文字列をXAMLでリソース定義および参照する場合は、Window定義における「xmlns:system=”clr-namespace:System;assembly=mscorlib”」は、コアアセンブリ(mscorlib)のSystem名前空間に対応するXML中の名前空間”system”を定義する必要があります。   XAMLでのリソース定義[…続きを読む]

Continue reading …

【WordPress】古い記事を削除するスクリプトを作ってみた

      概要   自動投稿で毎日画像ファイルをアップしているといつのまにかサーバー容量がいっぱいになっていることがよくあります。そこで、投稿記事と関連ファイルを対象に古いデータを削除するスクリプトを作ってみました。       環境   IDCFクラウド環境 サーバー  (仮想マシン・ハードウェア専有マシン) S1:200円 ボリューム(ディスク) 基本 15GB:300円 オブジェクトストレージサービス 50GB未満無料 https://www.idcf.jp/cloud/storage/ WordPress仮想マシンKUSANAGIテンプレート使用   データベース接続ツールが何も入っていないのであれば、インストールする必要があります。有名なところではphpMyAdminですが、もっと軽くてインストールが簡単なadminerをインストールしてみました。         プラグインで削除する方法   GOOGLEでキーワードに「WordPress」、「古い記事」、「削除」あたりを入力して検索するとWordPressの削除に関する記事がいろいろできてきます。 「Bulk Delete」というプラグインが最初にでてきたので、早速インストールしてみましたが有料版を購入しないと自動では削除できないようです。     お金を払ってまで自動化することはないので、Bulk Deleteはいったんあきらめて他を探してみましたが、自動削除のプラグインはほとんど見当たりません。確かに、自動バックアップはあっても自動削除は怖くて使えないのかもしれません。 やっぱり、古いデータをデータベースから自動で削除する仕組みを自分でつくるしかないようです。       投稿関連データのデータ構成   WordPressのデータベース構造について調べてみました。   WordPressデータベースのER図を見ると、WordPressがさまざまな機能を持つ割にとてもシンプルなテーブル構成です。しかし、その分一つのテーブルに様々な意味を持たせるため、データ構造は複雑になります。   次のデータベース関連図およびテーブル一覧はWordPressリファレンス「WordPress codex日本語版 データベース構造」より引用しました データベース関連図[…続きを読む]

Continue reading …