ブックマーク / openlab.dino.co.jp (9)

  • autotest で Symfony + Lime を自動テストする — ディノオープンラボラトリ

    ruby 界隈でよく使われている自動テストツール autotest の Symfony + Lime 用スタイルを書いて公開しました。 プロジェクトのローカルルールに合わせてあるのですが、軽く手を入れれば他のプロジェクトでも、また Symfony や PHP 以外でも使えると思います。 TDD で書いていないと不安が高じて動悸と息切れが始まる red-green-refactoring を唱えなさいとじっちゃに言われた growl の red を見ないとコードが先に進まない よくある話だと思います。 まずテストが無いと何も始まらない!書いたテストはがんがん自動実行して使い倒したい! となるとやはり、自動テストの出番ですね。 インストール手順 autotest コマンドをインストールします。rspec + autotest + インストール辺りでぐぐってください。 mac の人は a

    balibali
    balibali 2010/05/13
  • 講習会「正規表現入門 (3)実習&ツール紹介」を開催しました — ディノオープンラボラトリ

    「正規表現入門 (3)実習&ツール紹介」というタイトルで、経験2〜3年目の人をターゲットに社内勉強会を開催しました。正規表現に対して苦手意識を持っている人は多いようなので、実習を交えた形のプレゼンを試してみました。実験的な試みでしたが、おおむね好評だったようです。 まとめ 次の機能が使いこなせれば正規表現は怖くない!(たぶん) グルーピング 繰り返し 後方参照 正規表現作成のコツ 構造を日語で説明できれば、正規表現が書けたも同然 例:「ドットの後に英数字2文字以上」の1回以上繰り返し 「ナントカのN回繰り返し」の組み合わせを作っていく Perlは便利! ムービー 発表資料 スライド(PDF) スライド中の問題 実習形式で、スライドの途中で正規表現を答える問題を出題していますが、この問題部分だけ取り出して紹介します。 これに答えられる人は出席の必要はないですよ、と事前に社内のMLに流してお

    balibali
    balibali 2009/06/30
    実習を交えた形のプレゼンを試してみました
  • Subversion設定の標準化

    ディノ社内のバージョン管理は主にSubversionを利用しています。また、社内の開発環境はWindowsMacLinuxが入り乱れています。そんな環境で、一番問題が少なそうなSubversionの設定を考えてみました。現在これを社内標準として運用していますが、今のところ大きな問題は起きていません。 設定内容ですが、auto-propsとglobal-ignoresの設定です。各種ファイルについて、eol-style=nativeやkeywords=Idやsvn:mime-typeなどを設定します。 ちなみに、設定はsymfonyの公式オススメ設定「Symfony Repository Tips」から大半を流用しています。 設定内容 設定内容はsubversion-config.txtの通りです。同じ内容を以下に貼付けておきます。 [helpers] #diff-cmd = dif

    balibali
    balibali 2008/10/16
  • 講習会「Fabienに学ぶフレームワークの作り方」を開催しました

    こんにちわ。arashoです。先日はじめての講習会講師をやってみました。 ちょっとアワアワしていますが温かい目で見守ってくだださい。 内容はsymfonyの開発者Fabien Potencier氏がカナダのPHPカンファレンスで発表した資料を読んでみようというものです。Fabien氏のブログのPDFはAdobe Reader(windows版)ではエラーで読めないページがあるのでご注意ください。 ムービー 発表資料 followup-fabien-symfony.pdf 講習会で使用しているPDFはFabien Potencier氏のブログにあります。

  • Subversionでaddremove

    たかはらです。 Subversionを使い始めた人からよく聞かれる事があります。 「大量のファイルをsvn addするにはどうするの」 「それはねー」といつも気持ち悪い呪文を教えていたのですが、最近最適解が見つかったので記事にしてみました。 今日も小ネタ&xargsネタです。 会社では構成管理にSubversionを利用しています。Subversionを使うとsvn statusというコマンドでワークディレクトリの更新状況が判ります。 上記の各行最初の一文字がそのファイルの状況を表しています。この例ではファイルdはリポジトリにない(新規ファイル)、ファイルaは更新されている、ファイルbは削除されている(ワークディレクトリに削除されている)という情報が読み取れます。通常はファイルdはsvn addでリポジトリに追加し、bはsvn removeでリポジトリから削除します。

    balibali
    balibali 2008/04/03
    hg addremove
  • ==で文字列同士を数値として比較する条件

    追記(2008/5/9):記事をもとに、先日PHP-doc MLで用語の統一の提案を投げてみたところ、すんなり提案が通った形で、日語マニュアル上で用語の統一がされました。記事で指摘している「数値文字列」という単語は現在ではマニュアルから消えています。記事の内容は修正せずに残しておきますが、読む際にはご注意ください。そしてPHP-doc MLの議論に参加している皆様、ありがとうございます。特にm-takagiさんには足を向けて眠れません(なんだか取って付けた感が漂う文章ですね…いやいや、気でそう思ってますよ!)。 あけましておめでとうございます、hnwです。もう1月も半分すぎてしまいましたが、まだ年賀状が売っているそうですから、きっとおめでたいのでしょう。さて、今回はPHPの==による文字列同士の比較についての話題です。 PHPの==演算子は両辺が文字列同士の場合に、両辺ともis_

    balibali
    balibali 2008/01/16
    「==演算子は両辺が文字列同士の場合に、両辺ともis_numeric()がtrueになるような文字列だった場合には数値として比較する」
  • SQLのTIMESTAMP型と日付「0000-00-00」

    こんにちは。hnwです。今回はSQLの話題です。SQLで、TIMESTAMP型(MySQL で言えばDATETIME型)のカラムに未定義値の意味で「0000-00-00 00:00:00」という値をセットする人が居るかと思います。でも、これは止めた方がいいんじゃないでしょうか、という話題です。 標準SQLについて 私の手元に『標準SQLガイド 改訂第4版』というSQL/92の解説があるのですが、「17.3 日時」によれば、TIMESTAMP型で扱える範囲は0001-01-01 00:00:00から9999-12-31 23:59:61.999までとなっています。つまり、標準SQLのTIMESTAMP型を考えると0000-00-00の扱いは未定義ということになります。 PostgreSQLについて PostgreSQLのTIMESTAMP型に関して言うと、標準SQLを超える範囲の年も扱える

    balibali
    balibali 2007/11/13
    「未定義値の意味でNULLを利用すべきではないでしょうか。もしくは、0001-01-01 を未定義値の代わりに使うわけにはいかないでしょうか。」
  • 5タイプで直前のディレクトリに戻る方法

    balibali
    balibali 2007/09/22
    「cd -」知らんかった。。。
  • PNG画像のファイルサイズ最小化

    PNGファイルの画質を劣化させずにファイルサイズを減らす3つのツール、OptiPNG、advpng、pngrewriteについて紹介します。 OptiPNG OptiPNGはPNGを劣化させずにファイルサイズを減らすコマンドラインツールで、ソースコードとWindows用バイナリが配布されています。 なぜ画像として劣化させずにファイルサイズが減るかというと、PNGには元々圧縮方法が何通りかあるようで、このツールは色々な方法で圧縮してみて一番小さくなったものを採用するということのようです。 例えば、PNGは内部的にはgzipで圧縮していますが、gzipのcompression levelは0~9まであり、この値によって圧縮率に差が生じます。実はImageMagickのデフォルトでは7、Photoshopは5くらいで圧縮しているようで、これを9にして画像を作り直すだけでファイルサイズが減るものが

    balibali
    balibali 2007/09/04
    「実験した範囲ではGIFよりPNGの方が圧倒的に縮みました」これは興味深い
  • 1