【Windows】IPアドレスからホスト名を取得する
javascript関連情報まとめ
概要
javascript関連の情報をまとめ中です。
関連情報
javascript
Javascript言語の情報は、MDNが一番まとまっていると思います。
- JavaScript | MDN JavaScript入門 - @IT
チュートリアルは、いろいろとあるのでよさそうなものを試すのが良い。
jQuery
DOM APIを使いやすくしたライブラリ。もっとも良く使われているJavascriptライブラリの一つ。
HTML/CSS
- HTML5
- Cascading Style Sheets
- W3C - W3Cの仕様書等の文書の日本語訳集 https://www.w3.org/Consortium/Translation/Japanese
Test
現在調査中。
【wordpress】プラグインのクラス化
概要
wordpressのプラグインをクラス化する場合に必要な情報です。
プラグインのクラス化
コンストラクタでhookを登録し、処理を実装します。
class XXX_Plugin { // hookを登録します public function __construct() { } } new XXX_Plugin();
action hookへ関数を登録する場合には、呪文が必要になります。
array( $this, メソッド名 )
【参考】 関数リファレンス/add action - WordPress Codex 日本語版
メソッド呼び出しには$thisを付ける必要があります。
【参考】 WordPressプラグインをクラス定義する方法 | Developers.IO
定数の使い方
クラス化しない場合には、defineを使って定数を宣言します。この定数名はグローバルなので名前の生得に気を付ける必要がありました。クラス化するとクラス変数になるため、名前の衝突は気にしなくて済みます。
定数にはクラス変数としてアクセスする必要があります。
class MyClass { const CONSTANT = 'constant value'; function showConstant() { echo self::CONSTANT . "\n"; } }
プラグインの有効化/無効化/削除で処理を実行する
それぞれのhookを実装します。
- register_activation_hook
- register_deactivation_hook
- register_uninstall_hook
【参考】 WordPress でプラグインを無効化したときにオプションを消すには
これらのイベントでデータベースの作成・削除を行うことが多いと思います。
【参考】 WordPressのプラグインでデータベースを作成・削除・アップデートする方法
データベース作成が失敗した場合には、SQLコマンドの大文字化をしてみるよ良いかもしれません。
【参考】 WordPress の dbDelta() でテーブルが作成されない
Windows 10/VirtualBox/Vagrantでvagrant upに失敗する件
概要
昨年(2015)夏に、Windows10にアップデートして以来、ずっとvagrant upできずにいましたが、以下の記事の方法でやっとできるようになりました。感謝です。 Pocket: Windows 10 + VirtualBox 5.0 + Vagrant 1.7.4 + VCCW 2.18.0 でのエラー回避
詳細
VirtualBoxをネットワークタイプを指定してインストールすると、vagrant upできるようになりました。
VirtualBox-5.0.10-104061-Win.exe -msiparams NETWORKTYPE=NDIS5
現在は、Windows10 + VirtualBox(5.0.14) + vagrant(1.8.1)でvagrant upできています。
VirtualBoxのNDIS6ドライバ?がWindows10に対応していないということなのかな?
関連情報
【wordpress】検証環境構築方法
概要
本番環境のデータを使ってwordpress検証環境を作成してみました。
本環境と同じホストに検証環境を作成する場合、DB設定を間違えるとたいへんな事故(データの紛失)が起こる可能性があります。くれぐれもご注意ください。
最初は、ローカル環境で試してみてください。
方針
以下の検証環境を構築します。DB名だけでなく、ユーザ名、パスワードも変えている方が安全です。
本番環境 | 検証環境 | |
---|---|---|
URL | http://wordpress.com | http://test.wordpress.com |
パス | /var/www/wordpress | /var/www/test.wordpress |
DB名 | wp | test_wp |
手順
ドメイン・ゾーンを編集します
test.wordpress.comを追加します。
バックアップを作成します
■mysql
ユーザーは、権限があるユーザーであればroot以外でもOKです。
mysqldump -u root -p wp > xxx.dump
■wordpress
同一ホストであればコピーできます。
# cp -rp /var/www/wordpress /var/www/test.wordpress # chown -R apache:apache /var/www/html/test.wordpress
編集します4>
■mysql
DBの中にある、http://wordpress.comを変更後のhttp://test.wordpress.comに変換します。
$ sed -e 's/http:\/\/wordpress.com/http:\/\/test.wordpress.com/g' xxx.dump < yyy.dump
検証環境用のDBを作成し、データをimportします。
$ mysql -u root -p mysql> create database wp3 default character set utf8; mysql> grant all privileges on test_wp.* to ユーザー名@localhost identified by 'パスワード'; mysql> exit; $ mysql -u root -p test_wp < yyy.dump
■wordpress
wp-config.phpのDBに関する設定を検証環境のものに変更します。 安全(secure)な名前/パスワードを設定してください。
define('DB_NAME', 'test_wp'); /** MySQL database username */ define('DB_USER', 'aaaa'); /** MySQL database password */ define('DB_PASSWORD', 'bob');
apacheの設定を変更します
/etc/httpd/conf/httpd.confを修正します。
検証環境には一般に公開しないので、Basic認証を設定していた方が良いと思います。
Basic認証のパスワード作成方法は、Webにたくさん存在します。たとえば、 Webサーバ構築〜Apacheインストール・Basic認証 - Qiitaを参照してください。
<VirtualHost *:80> DocumentRoot /var/www/test.wordpress DirectoryIndex index.php Options -Indexes ServerName test.workdpress.com <Directory /var/www/test.wordpress> AllowOverride All AuthUserFile /var/www/.htpasswd AuthName "Enter your ID and password." AuthType Basic require valid-user <fModule mod_rewrite.c> RewriteEngine On RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L] </IfModule> </Directory> </VirtualHost>
apacheを起動します。
$ sudo service httpd reload
wordpress:ユーザー一覧取得
ユーザー一覧取得
検索条件を配列にセットして、検索を実行します。
$args = array ( 'role' => 'reporter', 'order' => 'ASC', 'orderby' => 'display_name', 'meta_query' => array( 'relation' => 'AND', array( 'key' => 'キー名', 'value' => 値, 'compare' => '=' ) ) ); $wp_user_query = new WP_User_Query( $args ); $users = $wp_user_query->get_results(); foreach ( $users as $user ) { echo "<p>" . esc_html( $user->user_email ) . "</p>"; }
関連資料
メールサーバーのSPF登録しました
概要
gmailアドレス宛に送信したメールがスパムメールになりやすいということで、SPFレコードを登録しました。SPFとは
SPF (Sender Policy Framework)とは、 電子メールの送信元ドメインが詐称されていないかを検査するための仕組みのようです。
日本ネットワークインフォメーションの説明がわかりやすいです。
SPFレコード登録
DNSレコードに以下のデータを追加します。
エントリ名 | @ |
タイプ | TXT |
データ | v=spf1 ip4:XXX.XXX.XXX.XXX(ipアドレス) ~all |
SPFレコード確認
Mac OS Xだと以下のコマンドで確認できます。
$ dig メールサーバ txt
dmarcian - SPF Surveyorでも確認できます。