タグ

ブックマーク / studio-m.hatenadiary.org (14)

  • PHPでTest::MoreするならLimeを使おう - Lism.in * blog - nekoya (id:studio-m)

    「自分のメイン言語はPerlだけど、会社ではPHP使ってる。PHPでもTest::Moreみたいにテストしたい」という人は結構いるんじゃないかと思います。 「php test::more」でググると出てくるのはここ。 Test::MoreのPHP版 : cotalog 紹介されているtest-more.phpは確かにTest::Moreライクな実装ですが、機能的に不足があったり全体的に作りが古くて、自分で拡張するにも今ひとつ。 そんなあなたにsymfonyで採用されている独自のテストフレームワーク「Lime」。これがまさにPHP版Test::Moreです。 LimeTestingFramework - symfony - Trac このLimeはsymfonyのテストフレームワークとしてもう2年程前から採用されているのですが、Test::Moreを基にしたという記述が無いためか、それっぽい

    PHPでTest::MoreするならLimeを使おう - Lism.in * blog - nekoya (id:studio-m)
  • PEAR::Pagerを使うとautoloadが走ってしまう件 - Lism.in * blog - nekoya (id:studio-m)

    最近のよく訓練されたPHPerはフレームワークに組み込みの機能を使ったりするんだろうけど、そういう波に乗れていない僕は未だにPEAR::Pager使ったりします。今日はそんなPEAR::Pagerの小ネタ。 PEAR::Pagerを使う時は、 <?php $pager = Pager::factory( array( 'mode' => 'Sliding' ) ); みたいにmodeで表示タイプをSlidingかJumpingか指定するわけですが、この表示タイプが独立したクラスとして実装されています。 Pager::factory()では表示タイプのクラスが読み込み済みかをclass_eixstsでチェックしていますが、ここでautoloadが走ります。 なので、アプリ側でautoloadを使って「指定のディレクトリ(path/to/lib/とか)にファイルが無かったらdie」みたいな処理

    PEAR::Pagerを使うとautoloadが走ってしまう件 - Lism.in * blog - nekoya (id:studio-m)
  • CSS Niteの「Shift2」に行ってきた - Lism.in * blog - nekoya (id:studio-m)

    というわけで、行ってきました。CSS Niteのイベントに参加するのは2年ぶり、2回目。 http://cssnite.jp/shift/shift2009/ 会場は御茶ノ水にあるデジハリ。まさかデジハリの敷居をまたぐ日が来るとは思わんかった。会場はこんな感じ。 準備中にBGMが流れてるといかにも「イベント」って感じでいいよね。こういうところがオサレ系。そして、予想はしていたが女子率が高い。 驚かされたのが、会場に来てる人のほとんどがノートPCを開いていないこと。いるにはいるんだけど、割合としては圧倒的にPCを持っていない人が多い。後でブログに書くためにリアルタイムで記録取ったり、TwitterできゃっきゃうふふするだろJK… という世界とはちょっと違う。前の方に入ったからあまり会場を見渡してないけど、手帳とかに手書きでメモってる人が多かった印象。こういうイベントにPC持ち込まないのは勿体

    CSS Niteの「Shift2」に行ってきた - Lism.in * blog - nekoya (id:studio-m)
  • 動画で知るClass::C3とNEXTの違い - Lism.in * blog - nekoya (id:studio-m)

    CatalystとかDBICを理解しようとすると頻繁に出てくるClass::C3。継承ツリーをどうにかするものらしいけど、挙動を把握するのは難しそうだなーという印象でした。 「CatalystもそのうちNEXTからClass::C3ベースに変わるし」なんて話題が出ても、そもそもどっちも分かってないのでちんぷんかんぷんです。 したら、牧さんが去年のYAPCでClass::C3について語ってるじゃありませんか。これすげー、めちゃめちゃ分かりやすい。 (Ab)?using Class::C3 - YAPC::Asia 2007 Tokyo Sessions PHPは多重継承サポートしてないし、それ以前にPerl使ってたころはそもそもOOP自体ちゃんと理解できてなかったので、多重継承なんて考えたのは初めて。そんな自分の印象としては、むしろNEXTの挙動の方が不自然なように思えます。 具体的にはこん

    動画で知るClass::C3とNEXTの違い - Lism.in * blog - nekoya (id:studio-m)
    d4-1977
    d4-1977 2008/10/07
  • CakePHPハンズオン@tokyoに参加してます - Lism.in * blog - nekoya (id:studio-m)

    日、ウノウにてCakePHPハンズオン@tokyoが開催されております。 最近、「ちょっとした軽いのをぱぱっと作るにはやっぱりPHP便利だよなー」とPHP再評価フェーズに入っているので参加しています(現在進行形)。 以前は自作の俺俺フレームワークでせこせこと組んでいたんですが、今からまたPHPやるならちゃんとしたフレームワーク使うべきだよなと。symfonyが合うような場面だと、今の自分としてはむしろPHPじゃなくてPerlを使いたいので、それならCakePHPが合うんじゃないかなと期待して参加しました。 会場は、ノートPC持参で集まって、公式の CakePHPブログチュートリアル をこなしながらid:yandodさんのお話を聞くという流れ。 リアルタイムのメモなので、粗いのと、個人的な感想を交えているので読みにくいかも知れないけど、そのへんは勘弁。もう懇親会に行ので内容も全く確認できて

    CakePHPハンズオン@tokyoに参加してます - Lism.in * blog - nekoya (id:studio-m)
  • Tracをlighty+FastCGIで動かす - Lism.in * blog - nekoya (id:studio-m)

    今までyumで入れたhttpd上で動かしてたけど、独立性が欲しくなってきたので別途入れることに。せっかくなので、Apacheではなくlightyを試してみようと思ったのでメモ残します。基方針はこんな感じ。 バージョンは英語版0.11 lighty+FastCGIで動かす Trac全体に認証をかけてhttpsでアクセス インストール先は/opt/trac11 lightyもFastCGIもTrac専用として/opt/trac11/下にインストール ライブラリの扱いについては、 http://blog.bz2.jp/archives/2006/02/tarball.html の設定を.zshrcとかに書いておくと/opt/*/lib/にあるライブラリには自動でPATHが通る。自分はこれを使ってるので、そこにまとめる。 ■setuptoolsを入れる http://peak.telecommu

    Tracをlighty+FastCGIで動かす - Lism.in * blog - nekoya (id:studio-m)
  • ダンプ用 Smarty プラグインで快適デバッグ

    Smartyでテンプレート変数のダンプを取りたい時、テンプレートに{debug}と書いたりしてデバッギングコンソールを表示するという手があります。ただ、別ウィンドウでいちいち開くのがウザかったり、不要な情報も表示されてしまったり、逆に必要な情報が途切れてしまったり、不便な時も多いです。 そこで、ダンプ用のプラグインを作るというのがわりとポピュラーな解決策になります。ちょっと今更感もありますが、せっかく手元にあるのでご紹介。 まずは、値をvar_dumpで出力するプラグイン。{var_dump var=$hoge} とかで呼び出します。<pre> でくくってるのでブラウザからも綺麗に見えます。また、{var_dump} のように引数を付けずに呼び出すと、全てのテンプレート変数をダンプしてくれます。 <?php /** * Smarty plugin {var_dump} * * usage:

    ダンプ用 Smarty プラグインで快適デバッグ
    d4-1977
    d4-1977 2008/01/23
    ありがたい!
  • vimでハードタブ(タブ文字)とか全角スペースの表示 - Lism.in * blog - nekoya (id:studio-m)

    vimを使う時はいつも :set list して、改行文字とかタブ文字を表示してるんですが、ハードタブが「^I」になって見づらい。自分でコード書く時はハードタブとか使わないからいいけど、人のコードを読むのに :set nolist して読むとかしてました。 したら、id:kazukichopが :set lcs でぉkと教えてくれましたよ。 'listchars' - VimWiki set lcs=tab:>.,eol:$,trail:_,extends:\自分の.vimrcにはこんな風に書いてみた。 「全角スペースも表示したい」と言ったらまた教えてくれた。 highlight JpSpace cterm=underline ctermfg=Blue guifg=Blue au BufRead,BufNew * match JpSpace / /んで、.vimrcにこんなのを付け加えた。

    vimでハードタブ(タブ文字)とか全角スペースの表示 - Lism.in * blog - nekoya (id:studio-m)
    d4-1977
    d4-1977 2008/01/18
    vim株が一気に上昇したのは無変換キーをESCにしてから。なるほど!
  • リフレッシュ完了 - Lism.in * blog - nekoya (id:studio-m)

    2日から5日まで京都に帰って、実家で過ごしたり、久々な人達と会ってきました。イーモバイル大活躍。どこでもネットにつながるというのは当に素晴らしい。 帰省中はmixiをかつてないぐらい更新しまくって、ローカルな感じを出してみました。Twitterにもちょこちょこ投げたけど、こういう時にmixiの距離感とか機能はちょうどいいね。 当はもっと仕事しないといけなかったんだけど、DynabookをWindowsに戻して環境構築するのに予想以上に手間取ったりで、なかなか思うように行きませんでした。申し訳ない>関係者各位 DynabookのCPUがCoreDuo(2じゃない)で、VMwareに入れた64bit環境の仮想マシンが動かなかったのが痛かった。 久々にWindows環境を見直したことで発見はあったし、自分自身の作業環境は予想外に進化したけど、成果にはつながらんもんなぁ… 具体的にはGDI++

    リフレッシュ完了 - Lism.in * blog - nekoya (id:studio-m)
  • vimでeucの「〜」とかの文字化け回避 - Lism.in * blog - nekoya (id:studio-m)

    vimを使って3ヶ月ぐらいになるんだけど、eucのファイルで「〜」が「潤オ」に化けたりして困っておりました。Firefoxだと問題ないんだけど、IEがねぇ。と言うか、Firefoxでは化けないから自分では気付かず、人から指摘されて初めて気付いたりして更に面倒。 原因としては「〜」に対するeucの文字コードが2通りあってとかそんな話になるんだけど、それはいいからとにかく解決法が知りたい! ところが、この回避策が「vim euc 文字化け」とか「vim euc 〜」とかでググってもなかなか出てこない。何か解決方法はあるはずだと思って、MySQLっぽくやってみたらうまくいったのでメモ。 fileencodingsに「eucjp-ms」を加えてやればOKでした ← 結論 set fileencodings=iso-2022-jp,sjis,utf-8,eucjp-msこんな感じにしてみた。 バージ

    vimでeucの「〜」とかの文字化け回避 - Lism.in * blog - nekoya (id:studio-m)
    d4-1977
    d4-1977 2007/11/25
  • PHPカンファレンスに行ってきた - Lism.in * blog - nekoya (id:studio-m)

    9/1(土)に開催されたPHPカンファレンス2007に行ってきました。まずは、会場の様子を。 期待を裏切らないこのクオリティ。大変おいしゅうございました。PHPやっててよかった! というのは前日のお話。 当日は、朝から個人用の名刺作ってたら出発が遅れて、会場に着いた時には既に基調講演が半分終わってるというていたらくでした。 当日のプログラムを見れば分かりますが、廣川さんの基調講演を除いて会場を2箇所に分けて、好きな方を聞きに行ってくれ方式でした。自分は「大規模サイトの構築・運用ノウハウ」「PHP Framework Update」「PHP at Yahoo! JAPAN」「ライトニングトーク」のルートで回りました。既にあちこちでまとめられていますが、各セッションのざっくりとした印象を。 ■大規模サイトの構築・運用ノウハウ ウノウのネタはラボブログのざっくりおさらいって感じで終わってしまった

    PHPカンファレンスに行ってきた - Lism.in * blog - nekoya (id:studio-m)
    d4-1977
    d4-1977 2007/09/03
    PHPカンファレンス
  • Lism.in * blog - フォームのマークアップについて考えてみる

    ウノウラボで書いたエントリが被ブクマ400を超える未体験ゾーンに突入。デザインやUI系のネタが受けるのは分かっていたので、狙ってみた部分も正直あるけど、それにしても予想以上の反響です。 そこで書いた「チェックボックスやラジオボタンはfieldset,label要素でくくる」という項目でいろんなご指摘を頂きました。エントリ自体はマークアップよりも、「フォームを使う人にとっての利便性をどう考えるか」が旨なので、そこばかり注目されるのも意ではなかったのですが、それだけ気になる部分なのだろうということで、場を改めて検証してみます。DTDはXHTML1.0 Strictを前提に。 ■label要素のマークアップ label要素を使用することで、ラベル部分をクリックすることで関連付けられたフォームコントロールにアクセス出来る、というのが基的な挙動です。一般に、ラジオボタンやチェックボックスを選択

    Lism.in * blog - フォームのマークアップについて考えてみる
  • URL末尾の/とYahoo(YST)のSEO対策 - Lism.in * blog - nekoya (id:studio-m)

    注:このエントリには不完全な情報が含まれています。「続・URL末尾の/とYahoo(YST)のSEO対策」にてフォローを入れていますので、そちらも併せてお読みください。 きっかけはnowaで http://nowa.jp/ch/php/ だとアクセスできるのに、 http://nowa.jp/ch/php だと「ページがありません」になってしまったことでした。 自分としてはどちらのURLでもアクセスできてしかるべきだと思うんですが、何故かnowaではそうなっていない。実際自分で作る場合にはカレントの階層を調整したくなったりするので、後者(スラッシュなし)でアクセスした場合は前者(スラッシュあり)にリダイレクトします。ただ、どちらも基的には同じURLとして扱うのが普通だと思っていたのですが、どうやらそうでもないようです。 そこで教えてもらったのが「Yahoo(YST)は末尾スラッシュ付きと

    URL末尾の/とYahoo(YST)のSEO対策 - Lism.in * blog - nekoya (id:studio-m)
  • Subversionのsvn接続とsvn+ssh接続を比較する - Lism.in * blog - nekoya (id:studio-m)

    Subversionのリポジトリをsvn+sshで管理するで書いた内容によろしくない部分や分かりにくい部分があったので補足として、もう一度まとめてみました。 ■リポジトリの準備 前回と全く同じです。subversionグループのユーザがリポジトリを自由に読み書きできるようにします。 # groupadd subversion ← グループ作成 # usermod -G subversion user ← userをsubversionグループに追加 # cd /usr/local/svn ← リポジトリのディレクトリに移動 # chgrp -R subversion . ← 所有グループの変更 # chmod -R 770 . ← パーミッション設定 # chmod -R g+s . ← setgidビット設定 # umask 002 ← umask設定 svnserveをデーモンとして起

    Subversionのsvn接続とsvn+ssh接続を比較する - Lism.in * blog - nekoya (id:studio-m)
    d4-1977
    d4-1977 2007/08/07
    ssh接続について
  • 1