タグ

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

  • 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 まとめ - 日向夏特殊応援部隊
  • Re:OpenIDが面白いのはWebサービス間の連携 - 日向夏特殊応援部隊

    概ね核心をついているんだけど、少し分かりにくいと思ったので補足してみたりとか。 元ネタ F's Garage @fshin2000 :OpenIDが面白いのはWebサービス間の連携 結局、それなりに責任が伴うサービスとしては二段構えの対応にならざるを得なく、「お試し利用としてのOpenID対応」というフェーズと、「気で使うならうちに個人情報を登録してね」という状態は分かれるだろう。 ユーザーサポートが絡むサービスであればあるほど、この部分は意識せざるを得ないし、マーケティングという大人の事情も絡めば絶対に無視できない。ネットのサービスはHTTPだけで完結するものではない。 f-shinさんが言っている「お試し利用」と「気の利用」ってのは恐らく、メールアドレス等の個人情報を自前で持つか持たないかの話だと思うんですが合ってますかね? Simple Registration Extensio

    Re:OpenIDが面白いのはWebサービス間の連携 - 日向夏特殊応援部隊
  • IEでのJavaScriptのデバッグ方法 - Microsoft Script Editor編 - - 日向夏特殊応援部隊

    IEでJSのエラーになったときに立ち上がるデバッガって大体の人が使いこなせてないのではないでしょうか? ちなみに僕もそうだったのですが、ふと思い立って調べてみました。 追記 (2008-01-10T14:24:30+09:00) はてブのコメントで、 MS Office持ってない人はVisual Web Developer(VWD)で。/ちょっと前にこんなの書いたので、VWD 2008使う人は参考にしてもらえると幸い。 http://d.hatena.ne.jp/terurou/20071218/119796573 とありました。 これはid:kaorunさんにも聞いていたので後で試そう〜と思ってたので助かります。 合わせてご覧になって下さい。 Microsoft Script Editorとは? のようにOffice付属のツールだったりします。僕の環境では、 C:\Program Fil

    IEでのJavaScriptのデバッグ方法 - Microsoft Script Editor編 - - 日向夏特殊応援部隊
  • Shibuya.pm Technical Talk #08 - Advanced MogileFSの資料を公開します - 日向夏特殊応援部隊

    ダウンロード shibuya_pm_tt08_advanced_mogilefs.ppt 解説 今回はMogileFSのpluginの作り方にフォーカスを当てた内容になっています。 MogileFSのpluginは、 DB Schemaをplugin用に定義する global_hookにコールバックを定義する 新しいcmdをquery workerに追加/置換する といった機能を持っています。 どうすればpluginが書けるかはこの資料でほぼ十分分かるかと思いますので、 是非plugin開発に挑戦してみて下さい。 MogileFS::Plugin::MultiHookについて pluginのサンプルとしては余り参考にしないで下さい。 来loadメソッドでやるべき内容では無い事を無理やりやってますので。 それと、このモジュールのunregister_global_hookの挙動は次のバージ

    Shibuya.pm Technical Talk #08 - Advanced MogileFSの資料を公開します - 日向夏特殊応援部隊
  • daemontoolsのインストールメモ - 日向夏特殊応援部隊

    daemontoolsって言うと仮想CDドライブ(!?)のツールを思い浮かべる方が多いと思いますが、そっちじゃなくてこっちの話。 追記(2007-12-14T13:28:33+09:00) 肝心のsrpmのリンクや手続きが間違えていました>< *1 daemontoolsとは daemonを制御する一連のツール群の事です。 supervise 特定のdaemonを管理する svscan superviseを管理する svc superviseに対して命令する multilog ログ収集 を中心としたコマンド群です。 プロセスIDの管理、重たいsyslogdの代替に確実に取れるログ収集、そして動作設定が簡単と言うところが利点のようです。 Bradプロダクトは非常に有用なのですが、MogileFSなどはDebianに最適化されてたりして、 他のLinuxディストリビューションの場合は、その辺り

    daemontoolsのインストールメモ - 日向夏特殊応援部隊
  • URIとURI::Escapeのurlencodeについて (2) - 日向夏特殊応援部隊

    d:id:ZIGOROu:20070824:1187943710の続き。 ちなみにそのブクマコメントで、個人情報もネタにするハム一さん事、id:nipotanさんが答えを書いてました。 調べちゃったお!!!>< URIモジュールの場合 httpと言うschemeの場合は、あれこれ経てURI::httpオブジェクトになります。 URI::httpって、こんな継承ツリーになってます。 +-----+ +-------------+ | URI | | URI::_query | +-----+ +-------------+ \'-------v---\' +---------------+ | URI::_generic | +---------------+ | +--------------+ | URI::_server | +--------------+ | +----------

    URIとURI::Escapeのurlencodeについて (2) - 日向夏特殊応援部隊
  • ブラウザキャッシュの挙動を見てみる - 日向夏特殊応援部隊

    改めて勉強したかったので、こんなテストしてみました。 Apacheの設定とテスト内容 <VirtualHost *:80> ServerAdmin zigorou@localhost DocumentRoot /home/zigorou/www/cache ServerName cachetest.art-code.org ExpiresDefault "access plus 5 minutes" Alias /test1 /home/zigorou/www/cache/test Alias /test2 /home/zigorou/www/cache/test Alias /test3 /home/zigorou/www/cache/test <Location /test1> FileETag None ExpiresActive Off </Location> <Location

    ブラウザキャッシュの挙動を見てみる - 日向夏特殊応援部隊
  • Re: MySQL最適化のミニtips - 日向夏特殊応援部隊

    元ネタ: http://labs.unoh.net/2007/07/mysqltips.html あまり具体的じゃないので、僕の考えとか。 正しいかどうかは各自の状況だとか実際試すべきなんだけど、参考になれば。 MyISAM、InnoDBなどテーブルタイプ 僕は断然InnoDB派です。 ただ仰るとおり、ログるだけのテーブルとかならMyISAMでもいいとは思うけど。 トランザクションやロック処理などが必要ない場合など、MyISAM形式にも良いところはあるので検討してみる価値はあるかもしれません。 これだけの指摘だとちょっと微妙な気がするです。 MyISAMの使いどころってのは、 ピンで他とリレーションが無い単純追記系のテーブル リレーションがあり、同一トランザクション内での更新系クエリが存在する場合は、トランザクションが期待通りに動かないので、基的にはInnoDBと混在させるべきではない

    Re: MySQL最適化のミニtips - 日向夏特殊応援部隊
  • ClearSilverのPerlバインディングのインストール - 日向夏特殊応援部隊

    ClearSilverは超高速なテンプレートエンジンです。 どのくらい速いかと言えば、id:spritlooseさんがベンチマーク(d:id:spiritloose:20060812)を取ってますので、参考にして下さい。 今日そのPerlバインディングをインストールする際にハマったのでメモ。 configure --prefixオプションが結構曲者です。 # ./configure --prefix=/usr --disable-apache --disable-java --disable-csharp --enable-gettextのように、 apache, java, csharpは除外 gettextによる国際化対応は有効 と言う感じでconfigureすると、Makefileのinstallターゲットは、 install: all ./mkinstalldirs $(DESTD

    ClearSilverのPerlバインディングのインストール - 日向夏特殊応援部隊
  • 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のデプロイに関するあれこれ - 日向夏特殊応援部隊
  • JSON文字列化 - 日向夏特殊応援部隊

    JSのデータをJSON文字列化したいー、なんて時があるならば json.orgが公式で出しているjson.jsを使うのが世間では多いみたいなんですが、 これはCoreオブジェクトのprototypeにメソッド追加してるんで、場合によってはハマる人が多い*1みたいです。 http://search.cpan.org/dist/MozRepl/lib/MozRepl/Plugin/JSON.pmでもjson.jsを使っていたのですが、それが嫌だったので止めました。 別の選択としては下記のような物があります。 http://code.google.com/p/trimpath/wiki/JsonLibrary (trimpathの一部?) http://www.thomasfrank.se/json_stringify_revisited.html (上の拡張らしい) で今はjsonString

    JSON文字列化 - 日向夏特殊応援部隊
  • Carp::Clanのメリット - 日向夏特殊応援部隊

    すみません、今までずっと知りませんでした。orz... 前々から人のソースに良く出て来るのでなんでかなーと思ったんですけども、ふと気になって調べてみました。 carp, croakの違い 論より証拠 #!/usr/bin/perl use strict; use warnings; package Pack::C; use Carp; sub foo { carp("test"); } package Class::B; sub foo { Pack::C::foo; } package Pack::A; sub foo { Class::B::foo(); } package main; Pack::A::foo(); と、このソースのuse Carpをuse Carp::Clanに変更した物で実行結果が異なります。 use Carp test at carp.pl line 17use

    Carp::Clanのメリット - 日向夏特殊応援部隊
  • Catalyst Source Code Walking #03 - 日向夏特殊応援部隊

    はじめに 前回のエントリはこちら。 d:id:ZIGOROu:20061007:1160169000 今回はComponentだけにフォーカスを当てます。 Componentとは何か 基的にmyapp_create.plで作成するモジュールはComponentです。 ここで作られるComponentはCatalyst::Controller, Catalyst::Model, Catalyst::Viewクラスか あるいはそれらの派生クラスであるモジュールを親クラスとしたモジュールとなります。 従って、Catalystの開発は、 Pluginによる$cの拡張 Componentによる具体化 がメインになると言えます。 もう一度Componentの処理をおさらい と言う訳で再度Catalyst->setup_components()を見てみます。 sub setup_components

    Catalyst Source Code Walking #03 - 日向夏特殊応援部隊
  • Catalyst Source Code Walking #02 - 日向夏特殊応援部隊

    d:id:ZIGOROu:20061006:1160166429からの続き とりあえず書き終えました。 Catalyst->import Catalyst->setup_home MyApp->config MyApp->setup MyApp->setup_home MyApp->setup_log MyApp->setup_plugins MyApp->setup_dispatcher MyApp->setup_engine MyApp->setup_flags (あれば) MyApp->plugins->setup MyApp->setup_components MyApp->setup_actions setupメソッドから呼び出している各種setup_*なメソッドに関してまだ見てないので、 さらに追ってみましょう。 追記 component辺りを少し修正。 MyApp->setu

    Catalyst Source Code Walking #02 - 日向夏特殊応援部隊
  • Catalyst Source Code Walking #01 - 日向夏特殊応援部隊

    はじめに 遅ればせながらじっくりCatalystのsourceを読んでみようかと思ったので、 備忘録を兼ねてシリーズ化してみます。 ちなみにソースコードはCatalyst::Runtimeの5.7003を見てます。 まずbootstrapとなるscript(project_server.pl)から見れば当然、Catalyst.pmを継承したクラスが基点となってるのは明らかなので、ここから読んでみます。 ここでは、 $ catalyst.pl MyAppでプロジェクトを作った物だとします。 まず出来上がったMyApp.pmを見てみます。 Catalyst->import use Catalyst qw/-Debug ConfigLoader Static::Simple/; our $VERSION = '0.01'; # # Configure the application # __PA

    Catalyst Source Code Walking #01 - 日向夏特殊応援部隊
  • InnoDBの複合FOREIGN KEY制約について - 日向夏特殊応援部隊

    今回はInnoDBなら是非使いたい機能のひとつ、FOREIGN KEY制約の話です。 まずはテーブルを用意 Fooと言う複合primary keyを持つテーブルを用意したとします。 CREATE TABLE `Foo` ( `a_id` int(11) NOT NULL default '0', `b_id` int(11) NOT NULL default '0', `name` text, PRIMARY KEY (`a_id`,`b_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8こういう場合、このテーブルに対してFOREIGN KEYを張るケースで、 a_id, b_idのセットで張りたい場合があります。 多くの方は専らFooのprimary keyをひとつにしてsequencialな値としてあげて、 そこに単一のFOREIGN KEYを張るんじゃ

    InnoDBの複合FOREIGN KEY制約について - 日向夏特殊応援部隊
  • Shibuya.pm Technical Talk #7の資料を公開します。 - 日向夏特殊応援部隊

    Learning MogileFS とりあえず公開しておきます。 何か質問があれば、こちらに書き込んで頂ければ鋭意対応します。(ぉ 感想はまた後日^^;

    Shibuya.pm Technical Talk #7の資料を公開します。 - 日向夏特殊応援部隊
  • 1