日記

日々のことと、Python/Django/PHP/Laravel/nodejs などソフトウェア開発のことを書き綴ります

Laravel 5.1 入門記 その2(Config 編)

laravel.com このページの Environment Configuration から再開。 Environment configuration 実行環境によって、設定値を変えたいことがある場合は、DotEnv という仕組みで簡単に変えられるらしい。 Laravel Create-Project したときに生成された .env.exam…

Laravel 5.1 入門記 その1(セットアップ編)

本業のお仕事に時間を取られて、なかなか取りかかれなかったけど、 Laravel 5.1 にこれから入門してみたいと思う。 とりあえず攻略本としては、これ laravel.com オフィシャルなドキュメントを元に粛々と基本的なことを試していくつもり。 自分用の備忘録な…

PHP 5.6 on Mac

PHP

色々はまったのでメモ。 phpenv + php-build で、PHP 5.6.10 phpenv + php-build は元々インストールしてあって、前に PHP 5.3 をビルドした環境だったから、問題無くいけるかなと思ったら、結構ハマった。 php-build の master の HEAD を取得すれば、以下…

PHP Composer を使ってみた

PHP

PHP も最近はパッケージ管理ツールがあるらしく Composer というものらしい。 諸事情で使わないといけなくなったため、導入から利用までを簡単にまとめてみたいと思う。 完全に自分用の備忘録ですが…。 インストール Mac 上でやろうと思ったけど、現状の環境…

Beats studio wireless を買ってもらった

退職時の wishlist に Beats studio wireless を入れておいたら、贈っていただけると言う奇跡が起こったので、1週間ほど使ってみての使用感を簡単にレビュー。 どんな製品 Bose QuietConfort 25 の日本限定カラーのことをつぶやいていたら、 これ良いよとオ…

オムロンの体組成計を買ってみた。

はじめに 無事に無職になって通勤とか無くなり、快適に生活できている反面、運動しなくなったので体重や体脂肪率の増加は気になるところです。そんなわけで、今月初めから体組成計を導入してみました。 選んだ基準とか、導入の注意点、使ってみた後の印象な…

退職しました。

2年くらい放置してたか…。ビックリだ。 まず、お前だれよ?(追記しました) 昔 SIer に8年弱ほど居て、主に Java でプログラミングとシステム設計、技術コンサルティング () をやってました。コンサルは ID とセキュリティでした。メインのお仕事は、ライブ…

Subversion で COPY のエラー

etc

Error: Server sent unexpected return value (502 Bad Gateway) in response to COPY SVNの実サーバではなく reverse Proxy 経由で HTTPS アクセスしている時に上記の COPY のエラーが出たら、SVN の実サーバ上の VirtualHost 設定に Destination 変更の設…

buildout自身のバージョン指定

いつも忘れちゃうのでメモ。 $ python bootstrap.py --version 1.5.2 -d init みたいな感じで。

RuntimeError: instance.__dict__ not accessible in restricted mode

表題のエラー「RuntimeError: instance.__dict__ not accessible in restricted mode」という感じで Tracがエラーを出す時は、TracのLocation配下に以下の設定が必要だと、ぐぐると出てくる。 PythonInterpreter main_interpreterしかし、この設定は Tracを…

GIFをSWFのDefineBitsLossless2に変換するコードが無かったから書いたった。

PHPのコードばかりで、あれだったのでPythonで書いたった!Gitにしようかと思ったけど、Macbook Airにmac portsなど入れていなかったから、はてな日記にぺたぺた。xml2swfで出力したXMLに埋め込む前提なので、SWF内のタグ定義とかヘッダーは、バッファに書き…

Pythonのプログラムをプロファイリングする

TwitterやFacebookばかりで、めっきりと更新が止まってました。 久々に更新ということで、今回は仕事でバッチ処理を書いたときに処理時間を調べるために使った Pythonの cProfileの使い方を書き残しておきたいと思います。 Pythonのプロファイラー Pythonは…

意外と良書?

かなり前に買って積んどいたgihyoの「Python ポケットリファレンス」が意外と良い。 ちょっと初心に戻って、と思って読んでいるんだけど、必要な事が簡素にまとまっているし、本も重くないし良い。あと、説明がクドくないのが特に良い。あんまりリファレンス…

jQuery Mobile (その2)

前回は1つのHTMLの中で、複数ページを構成してリンクを作りました。 今回は、複数のページに分けてみます。

jQuery Mobileをいじくってみた。(その1)

社内失業まっしぐらで、首元がスースーしてきました。(誰か職か仕事をください!) ま、良い機会だと思い jQuery Mobileをいじってみました。ケータイ白書2011 を見てみると日本の3大キャリアの機種別シェアTOP10にスマートフォンが入ってきているようなの…

自作PC、mini-ITXのすすめ。

たまには趣向を変えて。 自作PCの醍醐味 自作PCの醍醐味は、軸を決める事でメーカーPCには無い、特徴のあるPCを決まった予算の中で作れる事かなと思います。 また細かくパーツを決められるのもよいところですよね。 PCを作る時に、マザーボードのサイズ別に…

zipfile を使って ZIP ファイルを生成する

データを圧縮するときに ZIP 圧縮をプログラムから行う事は、遭遇することが割と多いと思います。普通に圧縮だけをしてもつまんないサンプルになってしまうので、仕事でちょっとしたチューニングしたことを織り交ぜつつ、 Python の ZIP 圧縮をしてみたいと…

psycopg2 を使って PostgreSQL に接続する

Djangoを使っていると Model フレームワークからデータアクセスするため、普段は意識しないですが、直接データベースコネクションを使ってデータを取得することも割と簡単です。今回はその方法を。 事前準備 以下の環境で接続を試しています。 PostgreSQL 8.…

Model その3

サボりすぎて自分もあんまり覚えてませんが(笑) Modelの三回目です。 リレーションシップ Django の Model でも当然ながら、外部キーを使ったテーブル間の連携にも対応しています。ではありがちの会社と所属する社員で、サンプルを書いてみます。 from djang…

辞書型のキーと値をクラスのプロパティに設定する

色々と難しい方向に探してしまったのでメモメモ。 setattr(target_instance, 'property_name', property_value)まさか組み込み関数にあると思わなかった。リフレクションでクラスインスタンスを作る場合は classname = "C" clazz = globals()[classname] obj…

Model その2

前回に続いてModelです。今回は、データの問い合わせ方法とテーブルとフィールド名のカスタマイズをやってみます。 データを問い合わせる 前回登録したデータを、Modelクラスを通して取得してみます。Djangoのシェルを起動して、次のようにします。 from app…

Model その1

かなり間があいてしまいました。ようやくですが、Modelのことをざっくり書いていきます。 Modelってなに? Djangoが用意しているModelは、データ永続層にアクセスするコンポーネントです。要は、O/Rマッパーでクラスとテーブルが1対1でマッピングされ、1イン…

HTTPのRangeアクセスを実装して、分割ダウンロードに対応する

auケータイの動画ファイルダウンロード(3gpp2とamc)するときにハマったのでメモ書きしておきます。 ガラパゴス携帯の動画再生 日本の3大キャリアの携帯では、動画をHTML上に埋め込む時にそれぞれ違った実装方法を取らないと行けない。ここではサーバとのやり…

テストサーバのHTTPプロトコルバージョンを変更する

Django付属のテスト用Webサーバは、レスポンスが HTTP/1.0で固定されてしまっていてコードを書き換えないとHTTP/1.1のレスポンスが返せなかったので、その時に調べたメモ書きです。 core/servers/basehttp.py このファイルの中にバージョンがベタ書きされて…

配列の中身をランダムに並び替え

必要になったシチュエーションとしては、Webサイト上のカテゴリをランダムに表形式で並べたい!でした。調べてみると Python では凄く簡単に実現できる。 import random list_data = [ 'A', 'B', 'C' ] random.shuffle(list_data)これだけ! list_dataがタプ…

manage.pyサブコマンド(バッチ処理)とTemplateの有効活用

Modelに入るはずでしたが、予定を変更してコマンドラインからもっと有効的にDjangoを使う方法を載せておきます。 バッチ処理というキーワードで、マニュアルとかに書いてないんですもの。。。 Djangoシステムの有効利用 Djangoフレームワークは、Webだけに限…

テンプレートの共通化

テンプレートの使い方も一歩進めてみます。 DRY テンプレートと言えども、DRYに従って実装を進めたいものです。 DjangoのTemplateでは、カスタムタグに加えて、includeやテンプレートの継承をサポートしています。 include includeは、カスタムタグとして実…

Middleware その2

前回から間が空いてしまいましたが、Middlewareに関連したことを一歩進んで勉強してみます。 Middlewareの弱点 Middlewareは、Djangoフレームワーク上の拡張ポイントです。JavaServlet APIのFileterに似てます。ここまでは前回説明しましたが一つ問題が。「…

なかなか

アクセス数とか見てると面白いなぁ。 Middlewareは、割とアクセス数が伸びて関心があったことが分かる。 と言っても数十レベルのアクセスですけど。。。本業もあるので毎日更新は厳しいけど、良い勉強になるし、じみーに続けて行こう。

Middleware

今日は Middleware です。 役割 ミドルウェアと言っても、Apache とか Tomcat とか、Oracleとかとは位置づけが異なっていて、Djangoのミドルウェアというと、拡張ポイントのことを指しています。どの位置の拡張ポイントかというと、views.pyに処理が到達する…