タグ

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

  • 変数とストアドプロシージャについて - 日向夏特殊応援部隊

    追記しました (2011-08-08T16:57:50Z) 割と弊社では MySQL の event scheduler を使ってみたり、ストアドプロシージャ、トリガーなど積極的に使っています。 今回はストアドプロシージャを書く上で、変数を色々使うのですが備忘録としてメモっておきます。 MySQL における変数には幾つか種類があります。 システム変数 (c.f. @@version) ユーザー変数 (c.f. @var_name) ローカル変数 (c.f. DECLARE var_name INT, ストアドプロシージャ内で使える) これら変数の特徴は下記です。(MySQL 5.1.50 で確認) -- システム変数 ユーザー変数 ローカル変数 スコープ GLOBAL *1 SESSION LOCAL 型 なし なし あり 宣言 なし なし あり 設定 SET GLOBAL / SET S

    変数とストアドプロシージャについて - 日向夏特殊応援部隊
    nihen
    nihen 2011/08/09
  • 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」を公開します。 - 日向夏特殊応援部隊
  • Sxipperが提供するOpenIDを使ったFirefox拡張はテラ便利 - Yet Another Hackadelic

    皆様あけましておめでとうございます。 年もよろしくお願い致します。 さて新年初エントリはOpenIDネタから。 Sxipper*1はOpenID 2.0に対応した数少ないOP*2ですが、ここで提供しているFirefoxの拡張機能が物凄い便利です。 これはOpenIDに限った形では無いのですが、 プロフィールデータがローカルで暗号化されて保存されて それらを任意のフォームで可能な限り入力補完してくれて さらにログインフォームと思しきフォームではクリック一つでログイン出来る といった拡張です。VeriSignもその手の拡張*3を作っていますが、余り使い勝手が良くないのに対して、Sxipperの拡張は使い勝手が良いです。 現在、シングルサインオンとセッション管理辺りに関して、工藤さんとたけまるさんが非常に面白い話をしています。 http://blogs.sun.com/tkudo/entry/

    Sxipperが提供するOpenIDを使ったFirefox拡張はテラ便利 - Yet Another Hackadelic
  • OpenID Provider のセキュリティ対策 (2) - return_to と realm のチェックを怠るな! - 日向夏特殊応援部隊

    OpenID Provider のセキュリティ対策 (1) - まずは SSL を導入!話はそれからだ - Yet Another Hackadelicの続編です。 はじめに RP が認証アサーションリクエストである checkid_setup/checkid_immediate を行う際には通常は return_to と realm を指定します。 return_to とは OP から認証アサーションレスポンスを間接通信で受け取る際に戻って来るURLの事。RP が指定しておく。 realm とは return_to のパターンをワイルドカードを使って表現する。 return_to と realm の検証 基的に return_to の先は http://openid.art-code.org/handler であるという前提で。便宜上番号振りました。 (1) 期待通りの組合せ real

    OpenID Provider のセキュリティ対策 (2) - return_to と realm のチェックを怠るな! - 日向夏特殊応援部隊
  • LWP::UserAgent or LWPx::ParanoidAgent + Crypt::SSLeay でオレオレ証明書の検出 - Yet Another Hackadelic

    結論から言うと、オレオレ証明書を使った場合に LWP::UserAgent + Crypt::SSLeay は明示的なエラーを吐き出すのではなく、レスポンスヘッダ Client-SSL-Warning を付与してアクセス結果を返します。*1 簡単にテストする場合 $ lwp-request -e -d https://badcert.example.com/のようにすると、 Client-SSL-Warning: Peer certificate not verified プログラムで確認 use Carp; use LWP::UserAgent; my $ua = LWP::UserAgent->new; my $res = $ua->get("https://badcert.example.com/"); unless ($res->is_success) { croak $res->

    LWP::UserAgent or LWPx::ParanoidAgent + Crypt::SSLeay でオレオレ証明書の検出 - Yet Another Hackadelic
    nihen
    nihen 2009/01/14
    なるほどね
  • OpenID とプライバシーについて - 日向夏特殊応援部隊

    高木先生の大作である日のインターネットが終了する日を受けて、僕の日記のコメント欄にてid:futureeyeさんから質問が来ていたので、個人的な見解としての回答をしたいと思います。 名寄せの問題 a サイトで住所氏名Eメールアドレス等の個人特定情報を入力することによって、その個人特定情報と契約者固有ID(iモードID等)とが紐付けられ、ネット上での行動履歴情報が契約者固有IDを手掛かりに収集され(名寄せされ)、その収集情報と個人とが結び付けられる。 そもそも前提として携帯キャリアが確認無く契約者固有IDを任意のサービスに対して公開するという行為と、OpenIDのようにユーザの同意の下に Relying Party ( OpenID 認証を提供されるサービス ) に対して公開するのでは話のレベルが全然違います。 とは言え名寄せと言う点ではクロールして公開されている全ページを収集すればある程

    OpenID とプライバシーについて - 日向夏特殊応援部隊
    nihen
    nihen 2008/08/04
  • Pathtraq で分かる口コミ効果測定、wassr編 - 日向夏特殊応援部隊

    さて、twitterの落ちっぷりにうんざりしている方が多いかと思いますが、最近謎の退職を遂げた id:Yappo による、YappoLogs: Twitterはもう終わった、wassrやってなくて良いのは幼稚園児までだよね によって twitter から wassr に移行するユーザーが劇的に増えてます。 どんくらい増えてる? そんな時は Pathtraq のサイト情報を見るといいです。 マウント アンマウント | パソコン豆知識 現在のキャプチャはこんな感じです。 twitter からどれくらい移行してる? なんて測定も実は出来てしまいます。今度はサイト比較機能を使います。 [マウント アンマウント | パソコン豆知識 ちょっと小さいのでグラフの線の色ですけども、水色が twitter で赤が wassr、緑は mogo2 です。 そもそもどこから wassr の存在を知ったか マウント

    Pathtraq で分かる口コミ効果測定、wassr編 - 日向夏特殊応援部隊
  • Catalyst Conference #1 まとめ - 日向夏特殊応援部隊

    昨日は直前にエロギークな人のトラブルもありましたが、何とか無事に終える事が出来ました。 参加者の皆さん、お疲れ様でした。 と言う訳でプレゼンのまとめと個人的な感想です。 プレゼン CatalystからModelを切り離せ (g:catalyst:id:dann) 資料 今回の基調講演の一つ。g:gatalyst:id:dannさんのプレゼン。エンタープライズアーキテクチャ的にCatalystを分析して、かくあるべきと言う事を言ってる方は少ないので非常に参考になりました。 WAFにおけるModelとは何ぞやと言う事から、Modelにはどのようなパターンが存在し、それらをWAFではなくAFに落とし込む方法論をModelの分類ごとに手法化って感じ。 素晴らしい、また後で資料読みたい。 Catalyst REST Practice #1 (g:catalyst:id:ikasam_a) 資料 RO

    Catalyst Conference #1 まとめ - 日向夏特殊応援部隊
  • DBIx::Class::Schema::Loaderの手動スキーマ生成、初心者向けチュートリアル - Yet Another Hackadelic

    と言う訳で自分なりに色々調べてみた。 テスト用データベース定義 CREATE TABLE `User` ( `user_id` bigint(20) NOT NULL auto_increment, `name` varchar(255) character set latin1 default NULL, `created_on` datetime default NULL, `updated_on` datetime default NULL, PRIMARY KEY (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `Book` ( `book_id` bigint(20) NOT NULL auto_increment, `name` varchar(255) character set latin1 de

    DBIx::Class::Schema::Loaderの手動スキーマ生成、初心者向けチュートリアル - Yet Another Hackadelic
    nihen
    nihen 2008/03/19
  • DBICx::DeployでSchema->Database - Yet Another Hackadelic

    DBICx::Deployが便利す。 これは既にある既存のSchemaクラスからデータベースを構築(deploy)する物です。 元々MySQLでテーブル作ってからDBIx::Class::Schema::LoaderとかでSchema生成してあったとして、 それをSQLiteで手元でちょっとテストとかそういうのに使えそう。 PODにあるまんまですけど。 $ dbicdeploy -Ilib My::Schema DBI:SQLite:root/databaseこんなんで出来た。ウマー。

    DBICx::DeployでSchema->Database - Yet Another Hackadelic
    nihen
    nihen 2008/03/18
    便利そう
  • ビビり症のあなたに送るiptables hacks - 日向夏特殊応援部隊

    さて、全国1億5千万人のiptablesビビリ症の皆さん、お元気でしょうか。 最近あたりになって酷い目にあったid:ZIGOROuです。 iptablesの設定をミスってデータセンターまで行くハメになった事とかありませんか? 僕は昨日見事に自宅サーバーをダウンさせました>< そんな苦い思いをしないように、以下の対策を思いついてみました。 +が抜けてたので追記しました。(2007-12-20T15:22:57+09:00) # echo "/etc/init.d/iptables restart" | at now + 3minutesこれを設定反映シェルスクリプトの末尾につけておくだけで、万が一の場合でもsaveしていない限りは復帰出来るはずです。 これは西尾三兄弟として知られる長兄(id:n_shuyo)に聞いた内容をヒントにしました。 西尾三兄弟について知りたい方はお近くのラボメンバ

    ビビり症のあなたに送るiptables hacks - 日向夏特殊応援部隊
  • 一時ファイルの作成とpackage別の一時ディレクトリ

    CatalystではrequestデータのparseにHTML-Bodyを使っています。 で良くご存じの通り、Uploadされたファイルに関しては、勝手にテンポラリファイルとしてテンポラリディレクトリに保存される次第です。 このテンポラリなディレクトリはLinuxとかならば/tmpでいいんですが、ファイル名は果してどういう風に付けているかと言えば、File-Tempと言うモジュールが存在していました。 File::TempのOOインターフェース http://search.cpan.org/dist/File-Temp/Temp.pm#OBJECT-ORIENTED_INTERFACE まぁ、こちらにある通りなんですけど、 TEMPLATE DIR SUFFIX ってのが指定出来ます。TEMPLATEは面白い機能で、XXXってのを指定するとその部分がランダム文字列に置き換わる仕様になってま

    一時ファイルの作成とpackage別の一時ディレクトリ
  • Catalystのデプロイに関するあれこれ - 日向夏特殊応援部隊

    雑多なメモです。 とりあえずCatalystにおけるデプロイってどーよって辺りからごニョゴニョしてた内容です。 Module::Install + Module::Install::Catalyst catalyst.plでgenerateされたMakefile.PLは、 use inc::Module::Install; name 'MyApp'; all_from 'lib/MyApp.pm'; requires 'Catalyst' => '5.7007'; requires 'Catalyst::Plugin::ConfigLoader'; requires 'Catalyst::Plugin::Static::Simple'; requires 'Catalyst::Action::RenderView'; requires 'YAML'; # This should refle

    Catalystのデプロイに関するあれこれ - 日向夏特殊応援部隊
  • DBIx::Class::ResultSetManagerが素敵な件 - 日向夏特殊応援部隊

    はじめに DBIx::Class::ResultSetManagerを使うとTableクラスの中のメソッドとして、ResultSetの拡張を記述する事が出来ます。*1 ちなみにまだ実験段階のモジュールのようです。 あしからず。 以下ドキュメントのSYNOPSYSをそのまま。 # in a table class __PACKAGE__->load_components(qw/ResultSetManager Core/); # note order! # will be removed from the table class and inserted into a # table-specific resultset class sub search_by_year_desc : ResultSet { my $self = shift; my $cond = shift; my $at

    DBIx::Class::ResultSetManagerが素敵な件 - 日向夏特殊応援部隊
    nihen
    nihen 2007/06/10
  • 1