読者です 読者をやめる 読者になる 読者になる

AWS / PHP / Python ちょいメモ

amazon web service , PHP, Python を使ったときのメモ。日本語でググってもわからなかった事を中心に。

cron 実行時エラーに気づくポイント3つ

用意してもらったVMを使ったときに、cron関係でいくつかツマヅイタので、メモしておきます。当たり前のものに限って、うまくいかない時に困ったりしません?cron設定が悪くエラー発生していたのですが、それに気づかずという状況を、次のようなポイントに気…

Redhat6.x + SCL 使う時に気をつけたい3つのポイント

Redhat系で新しいパッケージを公式サポートしてくれる SCL : Software Collections を使った際にはまったポイントを3つメモしておきます。慣れた方なら当たり前な事かもしれませんが、初心者にはハードル高く、何度もつまづきました。 SCL とは Redhatはサ…

.gitignore_global を利用する

Git ポチポチ使ってますが、先日教えてもらって便利!と思ったのでメモ。 .gitignore_global リポジトリにコミットしたくないファイルを記載する .gitignore ファイルをプロジェクト毎に作れます。ちょっとバックアップしておいた *.bak ファイルとか。自分…

python & Django 環境構築手順

Ubuntu, CentOS 上に連続で環境構築をした時のメモ。Linux系は、ディストリビューションによって、結構ポリシーが違いますね(対象OSの新しさにもよりますが)。 ディストリビューション別の環境 今回、構築したのはこんな環境です。Djangoの管理を、何に任…

カゴヤ VPS 利用時TIPS

手軽に利用できる KAGOYA の VPS。設定などを凝りたい時に、知っておかないと困った事があったのでメモしておきます。使っているOSイメージは、Ubuntu12.4TLSです。 仮想化手法 OpenVZが利用されています。ホストのLinuxカーネルを全てのインスタンスで共有…

virtualenv と vim-virtualenv 利用時のTIPS

vim で virtualenv内のpython3開発環境で、コマンドが動かない等の問題に遭遇したので対応したメモです。virtualenvをいれてPython3.4の開発環境を作っていたのですが、workonした後のPython3をvimで触っているときに、シェルやコマンドを実行する際に、/usr…

CakePHP の validation でツマヅイタ

CakePHP2.4.10でパスワード変更画面を作成していてツマヅイタのでメモ。 ポイント モデルで定義したValidationルールは、コントローラーの任意の箇所で解除(・追加も?)が出来る 例) //ユニークバリデーションを解除 unset($this->User->validate['email'…

Ubuntu Server 12.0.4 から 14.0.4 へのアップデート

新しいLTSが出たので使ってみたいと思ってたところ、コマンドでアップグレード可能との記事を見かけて、実施してみる事に。手順中のコマンドの意味からすると、まだ完全サポートではないのかなぁと思ったりもしますが、約30分ぐらいで手元の環境は新しくなっ…

CakePHP2でカスタムエラーページ、メッセージを準備

開発してると後回しになりがちなエラーページなどの対応を、まとめ。CakePHPのようなMVCフレームワーク、ルールが多くて勉強の必要性を感じます。確認したバージョンは、CakePHP2.4.6です。 カスタムエラーページ app/View/Errors/ の中に、デフォルトで次の…

WindowsでSphinx+blockdiag環境を整える (Sphinx standalone installer利用)

AWS SDKを始め、多くのPHPプロジェクトのドキュメントに使われてるSphinx。Windowsで一番手軽そうな環境構築方法を、メモしておきます。Sphinxは簡単に構築できたものの、blockdiagの使い方(始め方)がわからず相当悩みました。読むべき場所を知ってしまえ…

curl コマンド利用TIPS ヘッダー変更、HTTPヘッダー取得など

curl って使える!と思った使い方のメモ。さっそくWindでも使うべく、Cygwinに追加インストール。なんでも、よく目にするコマンドは、ちょいと使ってみないとですね。 複数パラメーターをもってる場合は "" で囲む $ curl -X GET "http://hogehoge.hoge/api?…

Apache2.4.x on Ubuntu12.04 で、mod_rewriteのログを取得

Apache2.4.x on Ubuntu12.04でmod_rewriteのログを取得したいときの設定。2.2と2.4は、大きく違うんですね。追いかけてなかったから全然知らなかった。読めば、ちゃんとconfファイルにコメントされてるけど。。。 例)デフォルトサイト設定を変更する: /etc…

CakePHP2.x Fromヘルパーのyear(),month()メソッド

他のinputメソッドと並べて使ったら、うまく値がとれなくて??調べてみると、year(), month()メソッドの場合には、生成される name属性の扱いが特別でarrayになるようです。これは、同じ名前がページ内に複数配置されたりする事が多そうだからなのかな?最…

CakePHP2.x で find() 取得したデーターのデフォルトはstring型

CakePHP2.xでは、MySQLへのアクセスがPDO(PHP Data Objects)を利用しているため、PDO(mysql)のデフォルト設定の影響を受けて、この動作になるそうです。PHP5.3以上の環境だと「PDO::ATTR_EMULATE_PREPARES = false」などを行うことで、この動作を変更する事…

CakePHP2.x で パス・URLを取得

何度も調べてしまっているのでメモ。CakePHP使って開発していると、URLをフレームワークにお任せするシーンが多く、いざ取得したいときに困ったりしませんか?Htmlヘルパーのurlメソッド or Routerクラスのurlメソッドで取得が出来ます。それぞれ第二引数がt…

SSH接続時のEC2ログインユーザー名

EC2

PuTTYを使ってて、PuTTY Key Generator で PEM から PPK に変換した秘密鍵を使ってログインしたときのエラー対処。AWS で AmazonLinux ばかりつかってたので、違いに気づかなかったのでメモしておきます。インスタンスのAMIに合わせたログインユーザー名を使…

CakePHP2.x対応 ファイルアップロード機能追加プラグイン

検索中心のWebサイト開発を行っており、表題の機能が欲しくて調査。この2つのどちからになりそうです。プラグインを語れるぐらい使い込んではいませんが、まとめてみます。# 数多くのプラグインが出ているのがメジャーなフレームワークを使うメリットだなぁ…

EMRのManagementConsole/APIバージョンアップ

EMR

11/7にきたメールで、AWS EMRの機能追加などがあったとのことを知りました。対応Hadoop自体のバージョンアップはこれまでもありましたが、今回はInterface系のバージョンアップです。変更点として、ManagementConsoleでは出来なかったクラスタへのインスタン…

SDKドキュメントにcontributeしようメモ(2)

前回のエントリー で、自分でハードルを上げてましたが、別サービス:SimpleDbを見てみたら、もっとライトで良い気がしてきました。 構造を探ってみる(2): SimpleDbを参考に SimpleDbのUsersGuideを参考に、構造を探ってみました。 SimpleDbのUsersGuideに該…

SDKドキュメントにcontributeしようメモ(1)

aws-sdk-php v2のUserGuideドキュメント、Auto Scaling, Amazon Elastic Compute Cloud, Amazon Elastic MapReduce, Amazon Glacier など、まだincomplete(完成してない)ものがチラホラあります。API referenceを見れば使えるので、そこまで困りませんが、…

WindowsのSphinxスタンドアロン環境でSDKドキュメントを書く準備

aws-sdk-phpのドキュメントは、SphinxというPython環境で動作するツールで作られています。PHP系なのに面白い!と思ったところ、Sphinx自体が便利なのであらゆるところに広がってるようですね。Windowsでドキュメント書くのにSphinx環境を作るのは、何が手軽…

S3バケットとフォルダのデーター同期

PHP SDK v2になって、(たぶん)新しく増えたS3の UploadSyncBuilder が便利。単純なフォルダ同期から、globしたファイルだけをアップしたり、ファイル名を変換しながらアップしたりできる。 AWS SDK for PHP公式 Syncing data with Amazon S3 uploadDirecto…

EMR上でHiveを使うときのチューニングメモ

AWS EMR(Elastic MapReduce)でHiveを使うときに使えそうなチューニング情報。そもそもMapReduceの仕組みと、Hiveが裏でやってくれる事を理解していないと、出来ないチューニングポイントの方が多いのですが、ここらにあるということだけを、メモしておきます…

aws-sdk-php 2.4.5リリース

SDK

先週でたと思ったら、もう次が! https://github.com/aws/aws-sdk-php/releases/tag/2.4.5 CHANGELOG見たら、機能追加だけなので、特にあわてる必要はありませんね。 https://github.com/aws/aws-sdk-php/blob/master/CHANGELOG.md Added support for replic…

ComposerでSDKをバージョンアップ

以前 AWS SDK for PHP 2 を Composer経由でセットアップ で、SDKをComposer経由でセットアップしました。先日、2.4.4がリリースされたので、composerを使ってアップデートを実施。コマンド一発で該当ライブラリだけをアップデートできるのはラクチンですねぇ…

GitHubでaws-sdk-phpをフォーク

ちょっと思い立って、aws-sdk-phpをフォークしてみました。GitHubのドキュメントにそって実施すれば、数ステップの簡単さ!最近の開発系サイトは、どこもドキュメントが分かりやすくて素敵です。 https://help.github.com/articles/fork-a-repo Contribute出…

aws-sdk-php 2.4.4リリース

ふとSDKのドキュメント見てたら、書式が変わったり、いくつか記述ミスが修正されてました。 http://docs.aws.amazon.com/aws-sdk-php-2/latest/ Guzzelフレームワーク用のArray?は、結構階層が深い事があるので、今の方が見やすい気がします。古いものがな…

EMR利用時のURI Prefix "s3:// " と "s3n://" の違い

EMRからS3へアクセスする時に、次の2種類のURI記述方法があります。 s3://hogehoge... s3n://hogehoge... ふとどうやって使い分けするんだっけ?と思ったので調べてみました(どこかで、s3n://が今後推奨されるという表記を見た気がしたのですが、次の情報を…

AWSコマンドラインツール:aws-cli

AWSの運用として、外せないのはブラウザベースのManagementConsole。まず最初はここからですし、ドキュメントも豊富ですしね。次の一手というとEclipseのAWS Management?などでしょうか?GUI系は便利なのですが、CUIでも使えるものが必要なのではということ…

AWS運用支援サービス:Cloudworks

Webブラウザで使うManagementConsole、大変多機能なのですが、ちょっと隙間を埋めてくれるサービスを発見。クラウドワークス社のCloudworksサービス。次のリンク先から登録して使えます。Freeプランなれば無料。日本の会社が提供してますので、UIはもちろん…

S3バケットから正規表現にマッチするファイル一覧を取得

S3バケット内のファイルを、正規表現にマッチしたものだけ取り出したいのですが、以前のSDKにはあったメソッドが、現在のv2にはなかったので、それっぽいものを作ってみました。 v2 に map_string( $pcre ) 次のコマンドで、イテレーターオブジェクトを取得…

SimpleDbのドメイン存在確認方法

タイトルの通りのメソッドがSDK for PHP v2に見つからなかったので、代案を考えた。というエントリー。S3だとS3Clientに doesBucketExist() があり、バケットの存在確認ができ、booleanで結果が返ってきます。 AWS SDK for PHP 2 : doesBucketExist() Simple…

AWS SDK for PHP 2 を Composer経由でセットアップ

PHPのライブラリ管理として有名なのは pear なのかと思います。ですが、AWS SDK for PHPでは、Composerの利用を推奨してましたので、こちらを利用してみました。 簡単な記述で、自身のプログラムとの依存関係が明確になるのが良いですね。依存するバージョン…

Amazon S3 stream wrapper で S3 操作時の注意点

S3を触っていて、これは便利と思った機能。「s3」というプロトコルが使えるようになり、ローカルのファイル操作と同じように、S3上のファイルを触れるようになります。触って、ちょとだけはまったのが次のポイント。※2013/08/13に修正・追記 S3のフォルダは …

curl の SSL証明書関連エラー対策 (cURL error code 60)

AWS SDK for php 1の1.6.2と2.4.2を一緒に使ったときに遭遇。v1のオブジェクトでだけ該当エラーがでて、v2のオブジェクトではエラーが出ない状態でした。 環境 Windows7(x64)のPHP 5.3.26 AWS SDK for PHP 2 (pear 使って用意) AWS SDK for PHP 1 (pearでは…

AWS SDK for PHP 1 自動設定ファイル探索

SDK for PHP v1には、設定ファイル(config.inc.php )を自動探索する仕組みがあるとのこと。 AWS SDK for PHPで"Failed to determine HOME directory after trying "sh: line 0: cd: /root: Permission denied"の対処法 v1.6.0から、次の定数で探索を停止で…

AWS SDK for PHP バージョン別ダウンロード

AWS SDK for PHP バージョン別ドキュメント で、違いを調べてみました。で、いざとなるとコードも必要です。コード管理はv1, v2共にGitなのでtag探せばあると思いますが、公開されてるパッケージがないか調べてみました。結果、stable版のみtgzパッケージが…

AWS SDK for PHP バージョン別ドキュメント

Amazonから提供されている、AWS SDK PHPは、現在2つのバージョンがあります(オリジナルとv2)。それぞれベースのフレームワークが異なるなど、全くの別物です。2013年7月現在では、v2のみがバージョンアップされてる状況なので、特に理由がなければ新しいバ…