Monthly Archives: 4月 2016

[GoogleAnalytics API]Google_Service_Exception(Insufficient Permission)例外が出るときの対応

2016年4月24日 (カテゴリ: PHP:)

GoogleAnalyticsでは、APIを使用することでデータのバッチ登録が可能です。 データを検索(取得)は可能だだが、データファイルのインポートするためにREST APIをコールしたとき、Insufficient Permissionエラーが出る場合があります。 Fatal error: Uncaught exception ‘Google_Service_Exception’ with message ‘Error calling POST https://www.googleapis.com/upload/analytics/v3/management/accounts/…: (…


続きを読む

[FuelPHP]taskとして作ったバッチはサブディレクトリで管理可能?

2016年4月24日 (カテゴリ: PHP:)

FuelPHPでは、バッチ処理をtaskのしくみで実行することができます。 インストール直後では、robotsというサンプルスクリプトがおいてあり、下記のコマンドで実行可能です。 php oil refine robots プログラムは、fuel/app/tasksの下で管理するのですが、タスクの数が多くなるとサブディレクトリを作って管理したくなります。 ですが、FuelPHP1.8以下のバージョンでは、taskをサブディレクトリに格納することはサポートされていないようです。 FuelPHPの掲示板でも以下のようなやり取りがあり、FuelPHPの2.0で改善予定だそうです。 We have q…


続きを読む

Nexus5の液晶を割ってしまったので、自力で交換してみた

2016年4月17日 (カテゴリ: 未分類:)

先日、所有しているNexus5の液晶を割ってしまいました。 ショップで修理を依頼してもよいのですが、液晶部のパーツがamazonで安く売っていたので、今回、自力で交換してみました。 今回、購入したもの 今回の液晶交換で購入したのは、下記の2点です。 1.液晶+フレームのセット 今回購入したのは下記の商品です。amazonで買いました。 (ナイセマウス) Nicermouse LG Google Nexus 5 D820 D821 修理用キット LCD液晶ガラスデジタイザスクリーン+タッチパネル フレーム付き (フロントガラスデジタイザ) 修理工具付き ブラック [並行輸入品] 実は、破損してし…


続きを読む

[C#] AsinItemManager : アマゾンの商品情報を最も取得できるライブラリ

2016年4月11日 (カテゴリ: C#:)

C#で、amazonの商品情報を簡単に取得できるライブラリを作成したので公開します。 ファイルは、1ファイルだけで、下記のソースをコピペするだけで動作します。 using System.Xml;   //********************************************************************* /// <summary> amazon商品情報の取得管理クラス /// </summary> //*************************************************************…


続きを読む

[WordPress]SiteGuard WP Pluginを使用時、管理画面に入れなくなった時にすること

2016年4月10日 (カテゴリ: WordPress:)

WordPressで、管理画面のセキュリティを向上するためのプラグインにSiteGuard WP Pluginというものがあります。WordPressの管理画面に入るためのURLはデフォルトだとwp-adminなのですが、SiteGuard WP Pluginを使うとこのURLを変更することが可能です。 この機能は、通常は便利なのですが、バックアップから他のサイトにWordPressを移動させた際に、この機能のせいでDBからデータを戻しても、管理画面にログインできなくなってしまう場合があります。 管理画面へのログインURLをwp-adminに戻す方法 このような場合は、WordPressのDB…


続きを読む

[PHP]PHP5におけるgotoの利用について

2016年4月9日 (カテゴリ: PHP:)

PHPでは、PHP5.3以降でgoto文をサポートしました。 echo "prog1\n"; goto END_LABEL;   echo "prog2\n";   END_LABEL: echo "prog3\n"; 手元のPHP5.3.3環境で上記プログラムの実行すると、結果は以下のようになり、確かにprog2の処理がgotoで飛ばされています。 $ php -v PHP 5.3.3 (cli) (built: Feb 9 2016 10:36:17) Copyright (c) 1997-2010 The P…


続きを読む

[PHP]関数の外と中で、同じ名前の変数を定義したときの振る舞いは?

2016年4月8日 (カテゴリ: PHP:)

PHPでは変数のスコープに、グローバルは変数と、関数内のみ有効な変数があります。 この2つの間で同じ変数名を定義することは可能ですが、それらは別々のものとみなされます。 $a = 10; function func() { $a = 20; return $a; }   func(); echo $a; 上記コードを実行した場合、echo $aで見ているのはグローバル変数です。 一方で、funcの中で利用している変数はローカル変数なので、グローバル変数の値は上書きされません。 このため、このプログラムの実行結果は10です。 上記の例…


続きを読む

[PHP]PHP5から導入された抽象クラスについて

2016年4月7日 (カテゴリ: PHP:)

PHPでは、PHP5より抽象クラス(abstract class)が導入されました。 抽象クラスの特徴は下記のとおりです。 ・抽象メソッド(abstruct function …)を含むクラスは、抽象クラスとして宣言される必要があります。   ・抽象クラスには非抽象メソッドを含めることができます。   ・抽象メソッドはメソッド定義を持つ必要はありません。  メソッドの実態は、継承先のクラスでメソッド定義を行います。 上記の振る舞いを確認できるサンプルコードは下記のとおりです。 <?php   // 抽象クラス abstract class BaseCla…


続きを読む

[PHP]md5, sha1, crc32の中で最も長いハッシュ値を返す関数はどれ?

2016年4月6日 (カテゴリ: PHP:)

PHPでは値のハッシュ値を求めるために、md5(), sha1(), crc32()など、複数の関数が用意されています。 各ハッシュ関数はそれぞれ下記の長さのハッシュ値を返し、3つの中ではsha1()が最も長いです。 [md5] 32byte [sha1] 40byte [crc32] 10byte これは、下記のコードで確認できます。 $md5Val = md5( "a" ); $sha1Val = sha1( "a" ); $crc32Val = crc32( "a" ); &nbs…


続きを読む

[PHP]echoやprintは関数なのか?それとも言語構造なのか?

2016年4月5日 (カテゴリ: PHP:)

PHPではechoを使っても、printを使っても画面に文字を出力することができます。 これらはecho( “aaa” )のような形式で文字出力が行えるため、関数のように感じますが、実はどちらも関数ではなく言語構造です。 言語構造というのは、if/functioin/returnと同じように、プログラム言語の一部として組み込まれているという意味です。 言語構造であることは、PHPのオフィシャルドキュメントでも明記されています。 echo は実際には関数ではありません (言語構造です)。 このため、使用する際に括弧は必要ありません。 (いくつかの他の言語構造と異なり) e…


続きを読む

PHPの基本的な知識ついて

2016年4月4日 (カテゴリ: PHP:)

PHPは、サーバ側のスクリプト言語です。 PHPファイルには、テキスト、HTMLタグや、PHPスクリプトファイルを含むことができます。 PHPのプログラムは、Windows/Linux以外にもMac等のOS上でも動作することができます。 PHPのプログラムは、同一バージョンであれば、今日使われている多くのサーバで互換性があります。


続きを読む

[vagrant]不要なboxのイメージファイルを削除する

2016年4月3日 (カテゴリ: 未分類:)

vagrantでbox addすると、osのイメージファイルをローカルに登録することができます。 以前、間違えて追加してしまったboxがあったので、今回は不要なboxを削除してみます。 ちなみに、vagrant用のboxファイル(OSイメージ)ですが、windowsの場合は下記の場所にあります。 C:/Users/USERNAME/.vagrant.d/boxes vagrantからboxファイルの削除方法 まずは、現在登録済みのbox一覧を取得します。 >vagrant box list   centos/7 (virtualbox, 1602.02) centos7.0 (…


続きを読む

[PHP]メンバメソッドで、変数の可視性を指定しなかった場合の振る舞いは?

2016年4月3日 (カテゴリ: PHP:)

PHPのクラスに含まれるメンバメソッドで,private/public等の可視性(visibility)を指定することができます。この可視性を明示的に指定しなかったときは、publicとみなされます。 PHPのオフィシャルドキュメント(http://php.net/manual/ja/language.oop5.visibility.php)にも下記の記載があります。 クラスメソッドは、public, private, または protected として定義します。 アクセス権を明示せずに宣言したメソッドは、 public となります。 以下に、動作を確認するためのサンプルコードを記載します。…


続きを読む

[ロリポップ]独自ドメイン設定を行っているときに設定すべき.htaccessの定義

2016年4月2日 (カテゴリ: 未分類:)

レンタルサーバのロリポップでは,ロリポップが用意したドメイン以外に、自分でドメインを取得し、独自ドメインを使用したwebサイトの構築ができます。 このとき、例えばロリポップでfoo.loli.jpドメインを取得し、独自ドメインとしてmydomain.comを持っていた場合、それぞれのドメインでアクセスできるトップページを表示するためのhtmlファイルは下記の場所に設置されます。 http://foo.loli.jp/index.html → /home/users/n/loli.jp-foo/web/index.html のファイルが表示される   http://mydomain.c…


続きを読む