モンモンブログ

技術的な話など

jasmine のテストをページロード時ではなくボタンクリックで実行するには

jasmine テストに時間かかりすぎ!キー! あるプロジェクトで、600行の JavaScript コードのテストを jasmine で書いたら、テストコードだけで700行を超えてしまいました(笑) で、テストにかかる時間も、およそ30〜40秒。長い! コードでもテストでもDOM要…

5分で分かる jasmine テストフレームワーク

JavaScript のテストフレームワーク jasmine がゴキゲンだぜ。書きやすいしテスト結果も見やすいしかわいいよちゅっちゅ。 そんな jasmine ちゃんをまだ触ったことない人のために、出来るだけ取っ付き易くなるように解説してみたいと思います。拙作の jQuery…

Symfony2 + Monolog でのロギングについて(その1)

Symfony2 のロギングでデフォルトで使われてる Monolog について調べたので忘れないうちにまとめておく。 何回かに分けて書きます。今回は Monolog イットセルフについて。 Monolog のバージョンは 1.7.0。 Monolog の構造 Monolog は4つのコンポーネントか…

ローカルでの git push 時にサーバ上で自動で git pull

ローカルで git push した時にサーバ上で自動で git pull してくれるスクリプト gitpull_server.py を公開しました。 とりあえず Github, Backlog に対応しています。 使い方、注意点などは README に書きましたのでそちらをご覧下さい。 みんな大好き Pytho…

Symfony2 のログを見やすく設定する

symfony2 のログってなんか汚くて見難いです。 $ tail -f app/logs/dev.log [2013-08-08 21:53:41] event.DEBUG: Notified event "kernel.request" to listener "Symfony\Component\Security\Http\Firewall::onKernelRequest". [] [] [2013-08-08 21:53:41] …

php5.3 以前で mixin 的なものを実装

php

php5.4 以降であれば Trait で mixin は実現できますが、 php5.3 以前で mixin 的なことをやるにはどうするか。 こうです。 実行するとこう。 % php mixin.php // $foo->mixin_method MixinClass のインスタンスメソッド yahoooooo! 2013-10-11 // $foo->mix…

(jQuery) select 要素の選択結果で別の select 要素の選択肢を絞り込む jQuery プラグイン "Select Narrowing Plugin"

ある select の選択結果で、別の select の選択肢を絞り込む jQuery プラグインを作りました。 こういうの、「Hierselect」(hierarchy + select, 階層select)っていうらしいです。 ググると同じ目的のライブラリはいくつか見つかるけども、 HTML_QuickForm…

(php) 日付を1日ずつインクリメントして出力

php

php で 2013-01-01, 2013-01-02, ..., 2013-12-31 って具合に、日付をインクリメントしながら文字列として出力したいような場合 DateTime クラス + DateInterval クラス による実装と、 date 関数 + strtotime 関数 による実装と、 2通り考えられるかなーと…

(symfony1.4) フォームクラスの生成で Fatal error: Call to a member function setTableName() とかなんとか

symfony1.4 で、モデルのコンストラクタのオーバーライドをトチったら厄介なエラーに悩まされたのでメモ。 "Customer" モデルクラスのコンストラクタをこんな風に書きました。parent::__construct を呼ぶのを忘れてます。いっぱしの phper なら鼻で笑っちゃ…

(php) いろんな形式の電話番号を統一形式に変換

php

いろんな形式の電話番号の文字列を、000-0000-0000 のような統一された形式に変換したい時ありますよね。こんな風に。 090 1234 5678 → 090-1234-5678 +81 90-1234-5678 → 090-1234-5678 +81 (90) 1234 5678 → 090-1234-5678 ユーザー入力の電話番号でDB検索…

(Symfony2/Doctrine2) Entity の OneToMany のアノテーションを自動生成させる

Symfony2 で、Entity の OneToMany アノテーションを自動生成させる方法についてです。Doctrineのライブラリに手を加えて実現します。 対象バージョンは Doctrine2.3.2。 じゃーいくよ。 まず基本から。Symfony2 での Entity の生成の仕方はこう。 DBのスキ…

わたしは

JavaScript jQuery 糞PHP 糞Symfony Pythonさん Rubyさん などについて書こうと思う

こ・・・

ここがはてなブログか・・・