タグ

ブックマーク / zigorou.hatenablog.com (60)

  • Test::Mock::Guard Released - 日向夏特殊応援部隊

    さっき nekokak さんと xaicron さんにそそのかされて Test::Mock::Guard ってモジュールを書いてみました。 そもそも Perl には Test::MockObject と言う汎用の Mock モジュールがあるんですけど、あれこれ余計な機能がたくさんついてたり Mock 化すると多分元に戻せないと言うのがあってもっとシンプルな奴がほしいなと思って作ってみた次第です。SYSNOPSIS のコピペですけど、 use Test::More; use Test::Mock::Guard qw(mock_guard); package Some::Class; sub new { bless {} => shift } sub foo { "foo" } sub bar { 1; } package main; { ### このスコープでは Mock 化されてる my

    Test::Mock::Guard Released - 日向夏特殊応援部隊
    ZIGOROu
    ZIGOROu 2011/03/09
    なるほど、狭義の Mock っつーのがあるんですね。勉強になりまうす。> id:ikasam_a
  • 生 DBI ユーザーのための DBI Cookbook (5) - 日向夏特殊応援部隊

    まさかの続編ですよwww HandleError を使ってより詳しいエラーを得る 今日、帰りに @myfinder さんと話していて、syslog-ng に吐かれるエラーで Too many connection とかをちゃんと監視しつつも、エラーメールボムによって大事な思い出が消えたりしないようにしたいねー的なことを話していて、その場合はエラーナンバーをきちんと記録するだの、エラーが起こった DB の host 名だとかで良しなにエラー通知間隔を制御したいよねと。 そういう際にやっぱり DBホスト名だとか追加情報がエラー文字列に入ってると便利だろうなということでこんなソリューションはどうかと。 #!/usr/bin/perl use strict; use warnings; use Test::More; use Test::Exception; use Carp; use Dat

    生 DBI ユーザーのための DBI Cookbook (5) - 日向夏特殊応援部隊
  • information_schema から trigger の定義を取得する - 日向夏特殊応援部隊

    PROCEDURE/FUNCTION の場合は何も気にせず SHOW CREATE PROCEDURE とかで取得出来るんですが、TRIGGER の場合はそれ相当のステートメントが存在しません。 発火するタイミング (BEFORE/AFTER) と発火するイベント (INSERT/UPDATE/DELETE) とかあるからシンプルな構文にはならなさそうですが。 で、やっぱり information_schema があればどうにかなりますね。 SELECT CONCAT('CREATE DEFINER=`', SUBSTRING_INDEX(DEFINER, '@', 1), '`@`', SUBSTRING_INDEX(DEFINER, '@', -1), '` TRIGGER ', TRIGGER_NAME, ' ', ACTION_TIMING, ' ', EVENT_MANIPULA

    information_schema から trigger の定義を取得する - 日向夏特殊応援部隊
    ZIGOROu
    ZIGOROu 2010/06/08
    ごめん、嘘だったwww > id:k12u
  • MySQL の複合 DELETE 構文 - 日向夏特殊応援部隊

    1ヶ月半ぶりのエントリです。皆さんお元気ですか? 何故か最近 Eclipse ばっかり使ってる zigorou でございます。 12.2.1 DELETE 構文 を見ていたら複合 DELETE 構文ってのが有ったので試してみました。 前提としてレコードがうんざりする程多いテーブル、、、と言う背景があります。 解説 とりあえず次のようなテーブルがあるとしましょう。 CREATE TABLE `diary` ( `id` int(11) NOT NULL AUTO_INCREMENT, `guid` int(11) NOT NULL, `subject` varchar(32) DEFAULT NULL, `body` text, `created_on` datetime DEFAULT NULL, `updated_on` datetime DEFAULT NULL, PRIMARY KE

    MySQL の複合 DELETE 構文 - 日向夏特殊応援部隊
    ZIGOROu
    ZIGOROu 2010/05/18
    今手元の9000万レコード以上あるテーブルで試してみたけど、100件との join だったら 0.03 秒で delete 出来たお!
  • 開催地別終電表 - 日向夏特殊応援部隊

    現行の関内開催に比較した場合です。平日の終電ドリブンの調査です。 行き先は独断と偏見で抽出しました。 関内 行き先 出発時刻 到着時刻 恵比寿 23:55 00:48 新宿 23:55 01:00 藤沢 00:12 00:46 鎌倉 00:12 00:49 溝の口 23:55 00:41 武蔵小杉 00:12 00:45 二俣川 00:12 00:45 横浜 行き先 出発時刻 到着時刻 滞在時間増減 恵比寿 00:23 01:09 +00:28 新宿 00:07 01:00 +00:12 藤沢 00:24 00:46 +00:12 鎌倉 00:24 00:49 +00:12 溝の口 00:08 00:41 +00:13 武蔵小杉 00:40 01:00 +00:28 二俣川 00:42 01:00 +00:30 品川 行き先 出発時刻 到着時刻 滞在時間増減 恵比寿 00:38 00:48

    開催地別終電表 - 日向夏特殊応援部隊
    ZIGOROu
    ZIGOROu 2010/03/08
    まずは横浜で探すべきすなー
  • YAPC Asia 2009 での発表資料「Database testing with MySQL::Sandbox」を公開します。 - 日向夏特殊応援部隊

    http://www.art-code.org/presen/yapcasia2009/ に置きました。 前半は以前に書いたブログのまとめ的な感じになっていて、後半は MySQL::Sandbox::Frontend と言うモジュールの話をしてみました。 make_sandbox コマンドの実行は結構重たくて、毎回 Sandbox 作っては消しと言うのをやる際にイライラが募るので、どっかからコピーしてきてよしなにやるような枠組みは必要なんだろうなと言うのと、家自体に手を入れるか、1から作るかなど検討した方が良いかなと思いました。 YAPC 自体の感想はまた別途。 とりあえず関係者の皆様お疲れさまでした!

    YAPC Asia 2009 での発表資料「Database testing with MySQL::Sandbox」を公開します。 - 日向夏特殊応援部隊
  • 出張 Yokohama.pm を YAPC Asia 2009 でやりますよ! - 日向夏特殊応援部隊

    イベント告知ばっかになってきた>< Yokohama.pm 出張版 in YAPC::Asia 2009 前夜祭を開催します - Yokohama Perl Mongers 今回は、YAPC Asia 2009 の参加チケットを持っている人は前夜祭兼懇親会はタダで、さらにチケット持ってない人も参加費1,000円で飲みいしつつ、プレゼン聞きつつお楽しみ頂けるイベントになっています。 詳しくは上記の告知から ATND 経由で申し込んで下さい!

    出張 Yokohama.pm を YAPC Asia 2009 でやりますよ! - 日向夏特殊応援部隊
  • 生 DBI ユーザーのための DBI Cookbook (2) - 日向夏特殊応援部隊

    さて、まさか続編書くと思わなかったけど、d:id:ZIGOROu:20090731:1249050735 の続きです。 追記 (2009-08-15T00:30:56+09:00) ちなみに、下記で紹介してる方法は一般的には DBI の資産がたくさん合ってモゴモゴな状況をどうするか…みたいな状況の人向けです。 一般的には宜しくないです、と言うことを踏まえてどうぞ。 DBI の拡張をサブクラスを用いて行う Subclassing the DBI にちゃんと書いてあるんですが、DBI はサブクラスを作る為の環境が整っています。 論より証拠、実際の例です。 #!/usr/bin/perl use strict; use warnings; use DBI; use YAML; { package DBIx::Hideki; use base qw(DBI); package DBIx::Hide

    生 DBI ユーザーのための DBI Cookbook (2) - 日向夏特殊応援部隊
    ZIGOROu
    ZIGOROu 2009/08/15
    タグ自重www
  • YAPC Asia 2009 チケット発売開始ですよ! - 日向夏特殊応援部隊

    ついに YAPC Asia 2009 のチケット販売が開始しました。 皆さんふるってご参加下さい。 自分も MySQL を使ったテストについてお話します。思いっきり id:kazuhooku さんの奴と被ってますけどwww それと、YAPC のイベントレポーターも募集中です。 今年の YAPC もどうぞ宜しくお願い致します。 SEE ALSO http://conferences.yapcasia.org/ http://conferences.yapcasia.org/ya2009/news/449 http://d.hatena.ne.jp/tokuhirom/20090807/1249610696 YappoLogs: YAPC::Asia 2009 で「Key Value Store と ORM」について話します

    YAPC Asia 2009 チケット発売開始ですよ! - 日向夏特殊応援部隊
  • OpenID TechNight #5 の資料を公開します - 日向夏特殊応援部隊

    今回は二立てでした。 Introduction OpenID Authentication 2.0 Revival Introduction OpenID Authentication 2.0 Revival 前の資料をもうちょっと丁寧に書き直したバージョンです。図解を豊富にしてみたり、どうしてその概念があるのかなんてのが自然と分かるように見直しました。 OpenID Mobile Profile OpenID Mobile Profile こっちはモバイル版 OpenID について、雑多な考察。まだ推敲出来てませんけど何となく頭にある物を書き起こした物です。もっとブラッシュアップしていく予定の物。 と言う訳で宜しければご覧下さい。 SlideShare x はてダ はてなアイデア またか。。。

    OpenID TechNight #5 の資料を公開します - 日向夏特殊応援部隊
  • Yokohama.pm #4 終了 - 日向夏特殊応援部隊

    今回は初めてプレゼン無しでした。参加者は40名ちょっとくらいでした。内容に関しては id:hiratara さんが毎回素敵なまとめエントリを書いて下さってるのでそちらをご覧下さい。 今日は Yokohama.pm の日です - 北海道苫小牧市出身の初老PGが書くブログ 個人的には id:komoriya さんの HTML::AAFind が一番面白かった。LT じゃないとあの言い回し*1を持続出来ないと思ったw 運営上の反省点 今回の会場は 横浜市技能文化会館 802 大研修室 を利用させて頂きました。 箱的に非常に優秀で収容が最大96名で、今回の参加者が40名ちょっとなのでまだまだキャパ的にいけるし、有料ではあるんですが非常に安く借りれるのも魅力的です。 場所も関内駅からおそらく徒歩5分とかなのでだいぶ便利ではある。 ただやっぱり遠いんですよね。開始時間のハードルが都内組には厳しいのが否

    Yokohama.pm #4 終了 - 日向夏特殊応援部隊
    ZIGOROu
    ZIGOROu 2009/04/18
    せるくま
  • DBD::Mock を使ったテスト - 日向夏特殊応援部隊

    DBD::Mock は DBI のドライバの一つで、DBI を使ったプログラムで意図的な状態を作る事が出来ます。 と言う訳でメモ程度に書いて行きます。 データベースハンドルの取得 use strict; use warnings; use Test::More; use DBI; plan tests => 3; my $dbh = DBI->connect('dbi:Mock:', '', '', +{ AutoCommit => 0, RaiseError => 1 }); ok($dbh, 'Create database handle'); isa_ok($dbh, 'DBI:db'); is($dbh->{Driver}->{Name}, 'Mock', 'Driver information'); で、普通に Database Handle が取れます。 SELECT してる箇

    DBD::Mock を使ったテスト - 日向夏特殊応援部隊
    ZIGOROu
    ZIGOROu 2009/03/21
    実際にテーブル定義が要らない点と、ドライバごとの方言とか無関係な所ですかね。欠点もあるけど。>id:tokuhirom
  • OpenID Tech Night vol.4 で講演してきました - 日向夏特殊応援部隊

    資料の方は、会社の方で許可が下り次第このエントリにて公開したいと思います。しばしお待ち下さい。 公開しました。 Introduction OpenID Authentication 2.0 こちらが当日の資料になります。 tkudo さんの最新動向@2009について そもそもデジタルアイデンティティとは何ぞやから始まり、SAML, InfoCard, OpenID の違いについて枠組みを説明しつつ、昨今の OpenID の盛り上がりと共にアイデンティティ界隈も発展して来たよと。 個人的には tkudo さんが「枯れた技術」として挙げていたIDレポジトリ間の同期やらその運用辺りの話とか聞きたいーとか思ったけど、どう考えてもあの場でそれ以上突っ込んだらやり過ぎかなーw Introduction OpenID Authentication 2.0 Introduction OpenID Auth

    OpenID Tech Night vol.4 で講演してきました - 日向夏特殊応援部隊
    ZIGOROu
    ZIGOROu 2009/02/12
    id:Yappo のタグが酷過ぎる件><
  • OpenID Mobile Profile - 日向夏特殊応援部隊

    やっと specs のメーリングリストでもモバイル用の OpenID に関して議論が開始になったので、メモしておきます。 http://www.nabble.com/OpenID-Mobile-Profile--td21739618.html ここがスレ一覧。 http://www.nabble.com/Re%3A-OpenID-Mobile-Profile--p21742040.html ここで言われてるのは、 URL の長さ User Experience の問題があると。あとは日の携帯事情、特に端末ID絡みの説明とか。 http://www.nabble.com/Re%3A-OpenID-Mobile-Profile--p21744739.htmlの携帯サイトのありがちなシナリオについて。それと、 First of all, the user needs to input a

    OpenID Mobile Profile - 日向夏特殊応援部隊
    ZIGOROu
    ZIGOROu 2009/02/01
    後でもうちょっと具体的に考えよう
  • あけましておめでとうございます - 日向夏特殊応援部隊

    と言う訳で遅くなりましたが、皆様あけましておめでとうございます。 だいぶ事後報告となりましたが、前職は昨年12月15日で退職し、今年から新しい会社にて働いています。 入社して1週間ですが、知れば知るほど甘酸っぱい気持ちになります。 マイペースで頑張ろうと思います。皆様年もよろしくお願いいたします。

    あけましておめでとうございます - 日向夏特殊応援部隊
    ZIGOROu
    ZIGOROu 2009/01/13
    なんでこんなブクマついてんの!!!
  • OpenID for mobile と言う題目で idcon #4 で話してきました - 日向夏特殊応援部隊

    昨日ですが、idcon #4 にて日のモバイルで OpenID が出来るかどうかと言う話をしてきました。 スライドの方はこちらにて。 OpenID for Mobile (jp) 補足 その後の議論で id_res などの Indirect Communication のレスポンスも POST で行けるんで、ここを form submit にしてしまえば、現状の枠組みでも行けるよねと言う話になった。 ただ、ユーザビリティ的に無いわーって感じ。 他の方のプレゼン =hiroki さんの「People Service」 これは個人的には非常に面白く聞けました。 Liberty は役割を明確に分けていて、その役割ごとに特定のユーザーに対する仮名(かめい)が割り当てられてる。 仮に IdP にアカウントが無いシナリオで進んだとしても、ちゃんとフォローできる仕組みになってて面白かったなぁ。 =hi

    OpenID for mobile と言う題目で idcon #4 で話してきました - 日向夏特殊応援部隊
  • モバイル用の OpenID 考 - 日向夏特殊応援部隊

    いつか書こうと思って書いてなかったので。ちなみにモバイルサイト開発は不得手と言うか余り経験が無いので、突っ込み歓迎です。 またモバイルの世界に OpenID なんて(ry ってのは今は考えない。 特徴 携帯電話の場合は個体識別番号って奴があって、それを無条件に垂れ流してるので一意な値と言うのは取れると。 Cookie のサポートはキャリアや機種ごとにまちまち。 許容する URL の最大長問題 (携帯電話のブラウザでアクセスできるURLの文字数に制限はありま… - 人力検索はてな、正確な情報かどうか未確認だけど参考数値として) Cookie と個体識別番号 RP サイドで、アサーションのレスポンスに対する中間者攻撃を防ぐ為に Cookie を事前に発行しておくなんていう対策を採る訳ですが、これは別にリクエスト時の個体識別番号と一致してれば良いので、モバイルでの場合に例外的な扱いはするものの技

    モバイル用の OpenID 考 - 日向夏特殊応援部隊
  • Windows Live ID の OpenID を試してみたよ - Yet Another Hackadelic

    先月末から Community Technology Preview と言う形で Windows Live ID が OpenID Provider サービスを提供しているので試しに使ってみました。 ちなみに 2.0 のみ対応と言う形式みたいです。 まずは取得 最初にテストアカウントを作らねばならないみたいです。https://login.live-int.com/ に飛んで Sign Up しないとダメっす。一通りサインアップが終わったら https://login.live-int.com/beta/ManageOpenID.srf で自分の OP Local Identifier の alias を定義します。とりあえず僕の場合は、http://openid.live-int.com/zigorou としました。 XRDS を見てみる OP Identifier である "openi

    Windows Live ID の OpenID を試してみたよ - Yet Another Hackadelic
  • Google OpenID のメモ - 日向夏特殊応援部隊

    ざっと調べてみました。ざっとなので間違えてたらごめんちゃい。 追記があるのでそちらもご覧下さいまし。 Source http://google-code-updates.blogspot.com/2008/10/google-moves-towards-single-sign-on.html Migrating from OpenID 2.0 to OpenID Connect  |  Google Identity Platform  |  Google Developers Google OpenID メモ書き OpenID Authentication 2.0 OP Local Identifier は存在しないみたい。 つまり http://specs.openid.net/auth/2.0/identifier_select のみ User-Supplied Identifier

    Google OpenID のメモ - 日向夏特殊応援部隊
    ZIGOROu
    ZIGOROu 2008/10/30
    せるくま | そういう事です > id:kmachu
  • パストラックのブログパーツをはてダでも貼れるようにしてみた日記 - 日向夏特殊応援部隊

    Google Gadgets にも対応したので、はてなダイアリーにも パストラック (Pathtraq) のブログパーツが貼れるようになりました。 例1: OpenID に関する人気ページランキング 実際にパストラックで OpenID について検索 してみると、 のような部分があるので左下の このランキングのブログパーツを貼る を押します。 そうするとブログパーツ生成画面が出てくるので、ここで Google Gadgets 用のコードを取得し、貼付けるだけです。 こんな感じー。 例2: このブログ、どっから見られてるんだランキング nextpage 機能を使うと便利です。さらに、定番にて検索してあげます。 マウント アンマウント | パソコン豆知識 のような感じですね。 そこで例1と同じ手続きを行うと、 と言う感じですね。 まぁそんな訳で自分の作ったお気に入りの検索手法でランキング化した物

    パストラックのブログパーツをはてダでも貼れるようにしてみた日記 - 日向夏特殊応援部隊
    ZIGOROu
    ZIGOROu 2008/10/28
    このあと id:amachang のエントリも続く?