2009-02-01から1ヶ月間の記事一覧

Jobeetをやってみる 8日目

単体テスト(ユニットテスト)について学ぶ symfonyにおけるテスト symfonyではと単体テストと機能テストを自動生成する それぞれ test/unit, test/functional に生成される今回は単体テストのみ対象で、テストにはlimeテストフレームワークを利用する テスト…

Jobeetをやってみる 7日目

カテゴリページを作る ルーティングの設定 # apps/frontend/config/routing.yml category: url: /category/:slug class: sfDoctrineRoute param: { module: category, action: show } options: { model: JobeetCategory, type: object } :slugパラメータはカ…

Jobeetをやってみる 6日目

DoctrineとModelの使い方を学ぶ Doctrineクエリオブジェト Doctrine::create()でインスタンスを作成する まずjobのリストを30日以上経過したら表示しないように変更する from('JobeetJob j') ->where('j.created_at > ?', da…

PHPのconfigure

PHP

PHPのconfigureオプションのメモがどっかいっちゃうのでここにメモ。 もちろん開発用なので晒しても問題無し ./configure \ --prefix=/usr/local/php/5.2 \ --bindir=/usr/local/bin \ --with-config-file-path=/usr/local/php/5.2/etc \ --with-config-file…

symfony1.2のComponentの呼び出しについてのいろいろ

Action内で呼び出す getComponent('module_name', 'component_name')->someAction(); Template内で呼び出す Requestの扱い Template内 include_component()では、常にsfContext::getRequest()が渡されるようになっている。

Jobeetをやってみる 5日目

ルーティングについて学ぶ 設定ファイルについて ルーティングの設定は routing.yml に記述されており、上から順にマッチしていく アプリルートのカスタマイズ 初期設定ではルートの設定が /job になっていて、ドキュメントルートにアクセスしてもJobeetが表…

Jobeetをやってみる 4日目

ControllerとViewの扱いを学ぶために以下のページを作成する jobsのリスト表示 新しいjobの作成 作成済のjobの更新 jobの削除 Layoutについて symfonyではLayout方式を採用している。Layout方式というのは、対象のテンプレートを共通のテンプレートの真ん中…

Jobeetをやってみる 3日目

DBのセットアップ Doctrine用のschemaの設定ファイルを作る*1 schemaファイルからテーブルとデータモデルを生成 sfDoctrinePluginを利用するための設定 設定ファイルの変更 enableAllPluginsExcept(array('sfPropelPlugin', 'sfCompat10Plugin')); } そして…

Jobeetをやってみる 2日目

これから作るものの説明 絵を見ていけば大体分かる。簡単にまとめると ToDoタスクリスト jobにはカテゴリを割り振れる ページング処理を行い、1ページには20個まで表示する Location, Position, Category, Companyからキーワード検索をすることができる でも…

Jobeetをやってみる 1日目

和訳では未だに1日目しか読むことができないので、辞書があっても英語が読めない人が原文を見ながらやってみるストーリーsymfonyをインストールして、開発の環境を作りましょう。 ※最後にSubversionを利用するための、補足説明があります。 symfonyのセット…

SHAの計算色々

PHP

ハッシュ値計算の関数のことです。 PHPでは色々な利用方法があります。代表的なのがSHA-1に対応した sha1() です。しかし MD5 - Wikipediaにあるように、SHA-256以上が推奨されていますが、sha256()なんてものはないので、独自で計算します。 PHP4では確かに…

コントロールの相対位置指定

C#

Anchorプロパティでウィンドウの大きさに合わせる箇所を設定する 但し、幅を変更せずに、センタリングさせることはできないので、そういうときはOnSizeなどで相対的な位置を計算してやる必要がある

sprintfの代わり

C#

C#にはsprintfがない。 どうしても利用したいならC++なりでdllを作る必要があるようだ。ではネイティブに対応するにはどうするかというと、String#Formatを利用する例えばsprintf("%02d", 1)というのは、このように置き換えられる String.Format("0:D2", 1) …

stringからintに変換する

C#

String.Format("{0:D5}", foo)で桁を揃えようとしたんだけど、どうも数値型じゃないと変換してくれないみたい でも渡されるデータは文字列なので、文字列から数値に変換する必要がある。 キャストもできないし。。。と調べてみると Int32.Parse(foo) で、で…

TextBox内のスクロールを最後に固定する

C#

TextBoxに、処理中の経過を表示したかったんだけど、スクロールが一番上になって新しいメッセージが見れなくなってしまう。 そこで、表示を一番最後の行に固定するやり方を調べたら、以下のやり方が一番しっくりきた txtBox.AppendText(msg + System.Envirom…

ドラッグ&ドロップに対応する

C#

基本的な処理の流れは以下の通り DragEnterイベントを作る senderに対してDragDropEffects.Copyを行なう DragDropイベントを作る 2番目のDragDropEffects.Copyを行なわないとDragDropイベントは発生しませんということで書いてみる private void foo_DragEnt…

openpne:installでportを指定する

OpenPNE3のインストールで行う、symfony openpne:install ではportの指定が分かりづらい。 指定の仕方は hostname の入力のところで localhost;port=3306と指定すると反映される。そして hostname が localhost の時しか unix_socket が指定できないようなの…

phpMyAdminでportの指定をする

phpMyAdminでportを指定する場合は

PHPとRubyとPythonでのCSVデータ操作のベンチマーク

ちょっと気になってCSV処理のベンチを取ってみた。 ルール的には、なるべく標準に付いてるCSV処理を行うものを利用して、TSVデータに変換すること。Rubyに関しては、標準のCSVライブラリで処理を行ったら、3時間経っても終わらなかったので、File.openを利用…

Postfixの正規表現を利用したalias設定 #2

昨日の続きいろいろ探しまわると、virtual_alias_mapsで設定されてるものが多かったので、main.cfを変更してみたら動くようになった。 # /etc/postfix/main.cf alias_maps = hash:/etc/aliases virtual_alias_maps = regexp:/etc/aliases.reg Linodeを利用し…

Postfixの正規表現を利用したalias設定

Postfixには標準で、正規表現を利用したalias_mapの機能がある。 これを利用して、メール投稿の処理をやってみようとしたが、どうも設定がうまくいかないPostfixのバージョンは2.3.8設定はこんな感じ # /etc/postfix/main.cf alias_maps = hash:/etc/aliases…