AWS / PHP / Python ちょいメモ

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

TIPS

Django と SQLite/MySQL : 最大値とUNIQUE

前回に引き続き、DBを移行する場合にひっかかりそうなTIPS第2弾。Djangoってよりは、Modelの裏側の意識が必要なケースありますね的な話です。MySQL使っていて、こんなエラーが出た時には参考になるかもしれません。 Specified key was too long; max key len…

Django と SQLite/MySQL : 照合順序を意識しよう

Django は、pythonのWebアプリケーションフレームワークで、MVCならぬMTV (Model - Template - View) モデルで構成されています。Model を定義することで、バックエンドのデーターベース定義などは自動で生成してくれる形となっており、プログラミングする事…

CakePHP 多言語化ステップ

CakePHPのi18n(+10n?)機能を使うと、Webページの文章の多言語はもとより、404, 500エラーなどのエラーページのメッセージなども多言語化できます。そもそも、デフォルトで生成されるコード(Layout/default.ctpなど)は、多言語化利用を前提としたつくり…

Django はじめた時に、便利と思ったサイト4つ

Django 使う時のTIPS集をいくつか紹介。どれも、便利だなぁと思うヒントが沢山あるので、おすすめ。Djangoチュートリアルが終わって、とりあえず1つ2つ作ってみたというタイミングだといいのではないかと。注意点として対象バージョンがマチマチなので、自…

CakePHP Upload プラグイン TIPS

以前使った CakePHP Upload Pluginを、久しぶりに使った際のメモ。 以前の利用時メモは、こちら > CakePHP2.x対応 ファイルアップロード機能追加プラグイン - AWS / PHP / Python ちょいメモ 。 ドキュメント Welcome to CakePHP-Upload’s documentation! — …

(調べがちの)たまーに必要な Git コマンド

git の使い方って結構しらべませんか?僕は、開発してると数日に一回は調べてる気がします。 たまーに欲しくなるコマンドを列挙してみました。まだ間違いはあるかもしれないのですが、自分のメモ代わりに。 ブランチ ブランチ名の変更 ローカル 可能 git bra…

Django の paginate に GET パラメーター渡し機能を追加

paginate/pagination は、 Django core として標準ではいっています。ただ他のパラメーターを、次のページに引き継ぎたい場合には、一手間必要なようです。StackOverFlow の 次の Question を参考に、思案してみました。 pagination - How to paginate Djang…

Django の Debug Toolbar カンタン導入

Debug Toolbar こんなに簡単に導入出来るのか!ということでメモ。最初から入れておかないと、時間がもったいないですね(;CakePHPでいうDebugKitに相当する機能です。手順的には、Djangoの方が一手間少ない、かな? カンタン導入手順 Debug Toolbar APP を…

webmaster@localhost が FROM に使われてるのは。。。

Django send_mail() を使って送るメールのFROMアドレスをどこで変更するのか調べた。'webmaster@localhost' + domain という、なんとも奇妙なアドレスが使われているため変更しようと思い。 設定箇所 settings.py の DEFAULT_FROM_EMAIL がデフォルトのまま…

settings.py を便利に使う 初心者向けTIPS 3選

Djangoは、設定ファイルが .py : Python コード で記述されています(昔触った MoinMoinWikiもそうだった気がする)。Python初めての時は、インデント間違いに気づかず動作しないなど苦労した苦い思い出がありますが、いやいや便利ですよね。設定ファイル中…

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

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

.gitignore_global を利用する

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

カゴヤ 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'…

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

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

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」などを行うことで、この動作を変更する事…

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環境を作るのは、何が手軽…

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

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

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…