AWS / PHP / Python ちょいメモ

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

urllib2.urlopen() で GET/POST を使い分け

Python の urllib2 で、ちょっとした仕様に気づいてなかったのでメモ。urlopen() の 第2引数 data を渡すと、必ずPOSTの挙動になるようです。確認環境: Mac OS X , Python 2.7.6 POST Data なにげに data を渡すと、POST methodが送られる Requestオブジェ…

python, Django でドキュメント関連ツール

他の人が書いたコードを読む時に、全体像の把握がしたくなります。そこで、ソースからドキュメントが作れるツールをいくつか探してみました。環境: Ubuntu 14.04 python 2.7.6 試用ツール: Doxygen django.contrib.admindocs クラス図とコールグラスなどを…

Django テンプレートで楽する技(初心者向け)

高機能はDjango、なかなか全貌が把握できてませんが、こりゃ楽だぁ〜と思った機能を3つ紹介。 数値に桁区切りのカンマを入れる方法 humanize というアプリが同梱されているので、これを使うことでテンプレートだけで対応が可能でした。 humanize は templat…

OS X で Wireshark を使う

思い立って調べてみたところ、うまく動作したのでメモしておきます。OS X 10.10.2 (Yosemite) に、homebrew を使って wireshark 1.12.4 の Qt版をインストールしました。 '--with-qt' なしでインストールしたら、GUIなプログラムがインストールされなかった…

言語・locale 変更方法 (日->英, 英->日)

Linux の言語(ロケール / locale)変更するときのコマンドや関連ファイルのメモ。X 上で設定画面があるディストリビューションもあるのかもしれないのですが、Debian/Ubuntu系でのコマンドを使った方法の紹介です。 コマンドや設定ファイル だいたい、これ…

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 を定義することで、バックエンドのデーターベース定義などは自動で生成してくれる形となっており、プログラミングする事…

mysqldump で MySQLバックアップを自動化

気になるところなどがあったので、cronで自動化を目指した手順をまとめ。適切なユーザー作成やロックなど、ちゃんと意識しないとですね。環境: mysql 5.5.40 全データーベースを1つのファイルに保管する事を想定 バックアップ準備の手順 MySQLにユーザー作…

Django で エラーの扱いを考える

Django 使って ?(ハテナ)になった事の一つは、500エラーなどが Webログに残らない点。 メール通知 settings.py の DEBUG=True を設定すれば、エラー発生時にエラーページは表示されるのですが、エラーログ自体はログファイルに記録されないのですよね。本…

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! — …

Imagick for PHP をインストール on RHEL

UbuntuからRedHatに引っ越したとろ、PHPのImagick extensionがyumで取得できない事をに焦った時の対応履歴。PPAみたいなリポジトリ追加しての対応方法もあるんだろうなぁと思いつつ、上手くいったので make install っぽい形で進めました。 RedHat Enterpris…

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

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

PHP on Apache2.4 & RedHat 6 (by SCL) その2

mod_php を使う方法に変更。RedHat 6 by SCL の環境構築は、こちらに落ち着きそうです。使ってるのは Apache 2.4.6, PHP 5.5.6。先日書いた PHP on Apache2.4 & RedHat 6 (by SCL) - AWS / PHP / Python ちょいメモ にて、FastCGIを使ってホストする方法をま…

PHP on Apache2.4 & RedHat 6 (by SCL)

利用している RedHat 6 のサーバーに、PHPを追加サポートする事に。以前 Redhat6.x + SCL 使う時に気をつけたい3つのポイント - AWS / PHP / Python ちょいメモ で書いた SCLの仕組みを使って構築しました。たぶん、CentOS 6 + SCL のケースも同じで行ける…

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 を…

Django で AdminDateWidget を使う手順

Django が標準で持ってる admin は、便利です。ここで使われている widget を、自分のWebAppに使ってみる手順を まとめました。複数のwidgetがありますが、カレンダーから日付を選択するAdminDateWidgetを導入してみます。 前提 Django 1.6.x 以降 (以前のバ…

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

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

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

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

Django での static files の扱い方まとめ

Django 使って最初にツマヅイタのが、static files (静的ファイル) の扱い方。内蔵Webサーバーを便利に使ってる時と、ApacheなどでWSGIでサービス提供する時では、全然違うので困りました。違いがあるのは、開発時=速く・簡単に、本番=セキュリティ考慮 …

Django 管理サイト カスタマイズ まとめ

Django でアプリを作る際に、管理サイト admin を有効化することで、各種Modelのデーターを操作できるWebアプリが使えるようになります。少し手をいれていくと簡単にカスタマイズできるので、いくつかメモを残しておきます。 admin について アプリで定義し…

Django の ER図 出力 が 2ステップで出来た

Django では、Modelの定義を行う事でデータベースは定義は自動的に作成されます。Modelの定義をキチンと理解していれば ER図なくてもでしょうが、DBMSで操作をしちゃいたい時(僕の場合)等にER図があると便利だと思い探してみました。見つけてしまえば、た…

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…