This site has moved! New URL for this page:https://weechat.org/ (automatic redirection in 10 seconds) New home: https://weechat.org/
This site has moved! New URL for this page:https://weechat.org/ (automatic redirection in 10 seconds) New home: https://weechat.org/
そう言えばこないだのうどん屋のコードは一切テストを書かなかったけど、それはよろしく無い、まったくもって主義に反するし、RubyのときはちゃんとSpec書いたのにPerlのときは書かないだとかふざけてる、と思ったのでテストも書いてみることにした。 さてテストだけど、HTTP::Engineにはちゃんとテスト用のインターフェースが用意されている。あと、テストリクエストを生成するモジュールもある。なんだ、じゃあ話は簡単だ。 interface => { module => 'Test' } でengineを作る HTTP::Engine::Test::Requestでrequestを作る engineのrunメソッドにテストリクエストを投げてやる 返ってきたレスポンスをチェックする ってことですね、わかります。 まずは素直に書いてみる コード量少ないのではっつけちゃおう。Udon::AppにGE
2009年06月05日06:06 Perl Catalystでオートログイン機能の実装 【追記ここから】 vkgtaroさんのコメントで教えていただいたURLを参考に MyApp::Plugin::Session.pm と読込み順番を修正しました。ありがとうございます!!というか、MyApp::Plugin::Session.pm は hidek さんのコードが素晴らしすぎて、最終的にほぼ同じになってしまいました(汗 ※一部変更しました(09/06/08) coderepos に同じような plugin があるよ http://coderepos.org/share/browser/lang/perl/Catalyst-Plugin-Session-DynamicExpiry-Cookie/trunk 【追記ここまで】 先日、Catalystで作ったWebアプリケーションで、オートログイン
JPA セミナーの時に jshery 氏も勧めていましたし、近頃 Geek の話題で目立つようになってきた、Catalyst を mod_perl でなく、外部 FCGI として走らせる設定方法を紹介します。 Catalyst プロセスの起動管理は DJB 氏の daemontools による管理がお勧めです。プロセスが死んでも自動的に再起動してくれます。手動での再起動も楽です。screen からショートカットキー登録して Catalyst を再起動する方法も後ほど紹介します。 Catalyst の FastCGI 起動の設定 まずは daemontools の run スクリプトです。 run #!/bin/sh exec 2>&1 exec env - \ PATH='/bin:/usr/bin:/usr/local/bin:/var/www/www.example.com/scrip
adiaryをIE8(IE8モードの標準準拠時)に対応させたときのメモ。 IEモードスイッチを標準準拠にする HTTP_USER_AGENT CSSの@charset宣言 input type="file"で直接入力できない フォームのtextareaが勝手にスクロールする 追記 2009/06/17 さらに追記。 2010/10/15 substr(-1)の結果が正しくない 2014/08/23 IEモードスイッチを標準準拠にする DOCTYPEレンダリングモード以外に、IE6/7互換設定を一切無視して*1IE8以降の標準でレンダリングさせる。 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> HTTP_USER_AGENT IE8ならば本来、 Mozilla/4.0 (compatible; MSIE 8.0; Window
織田信長 ぼちぼち、元気にやっています。少し薬にも慣れた...んかなぁ。相変わらず食べられないけど。朝、指がこわばって文字なんて入力できなかったけど、それはほぼなくなった。関節もどこも痛くない。薬効いてきたんやろな。 で、ブログを書こうと言う気がまた起きてきた。 …
以前から Controller にロジックをガリガリ書いてて、いい加減分離とかテスト書けるようにリファクタリングしないとなと思っていたので、モダン Perl 入門を読んで、今までなんとなくモヤモヤ考えていたことが、かなりクリアになったのをきっかけに、ファイルレイアウトをごっそり変えてみました。 ./lib ./MyApp ./Schema ./API ./CLI ./WUI ./View ./Controller ./Model ./API.pm ./DBIC.pm ./Base ./Controller ./Resources.pm ./Root.pm ./script ./t ./template ./p ./m ./conf ./sql ./structure ./data ./static ./image ./css ./js Adaptor で読み込むモジュールは大体 Servi
Scalaの勉強中。 Scalaはオブジェクト指向でありながら、関数的にもプログラムを書けるという特徴を持っているとのことで、「だったら末尾再帰は最適化されるよね?」ってことでバイトコードがどうなってるのか調べてみた。 結論からいえば、d:id:mzp:20081112:factでも言われてるとおり、末尾最適化はされるらしい。 たとえば、 object TailCallTest { def fact(n: Int, a: Int): Int = { if (n == 0) a else fact(n - 1, a * n) } def main(args: Array[String]) { val n = args(0).toInt println("fact(" + n + ") = " + fact(n, 1)) } } というコードを書く。factは末尾再帰になっていることに注意。
ということで、遅ればせながら T2 や、Slim3から刺激を受け、Cubby を GAE で動かしてみました。特に T2 のサンプルソースはハマりどころの問題解決の為に、その差異を見たりと色々助かりましたです。ありがとうございます。 Cubby on GAE 今動いているのは、cubby を maven の archetype を利用して作成した時に出来るサンプルのアプリ + ファイルアップロードを加えたものです。ソースは https://www.seasar.org/svn/cubby/branches/2.0.x/cubby-apps/cubby-example-gae にあります。Cubby 2.x で、Guice を使ってます。思いっきり 2.0-beta2-snapshot など、テンポラリ感満載ですが。。。 ハマった所としては、 EL を解決してくれない。。。 簡単にいうと $
言語的に云々という話ではなくて、複数人で開発するときにハマりそうなので(というかハマったので) 動的にパッチを当てるには # gotoするよ版 BEGIN { use UNIVERSAL::require (); if ( Foo->require ) { my $orig = Foo->can('func'); no warnings qw(redefine); *Foo::func = sub { my ($foo) = @_; # shiftしない方が楽なことが多い # pre-process... goto &{$orig}; # post-processが必要な場合は記事の最後で }; } } とするのが定石(Hook::LexWrap使えっていう話もあるけど本筋とは違うので割愛)だと思いますが、これをどこでやるかという話。 とあるCatalystControllerで変なデバッ
Catalyst は Web アプリケーションを開発するときに、フレームワークとしてとても便利です。 ひとつの Web サービスを作ろうとすると、以下のような様々な処理が必要になってきます。 ユーザーに見せるWeb インターフェイス アクセス集計などの日次バッチ処理 アバター画像などの生成・変換処理 ユーザー通知やメルマガ配信などのメール送信処理 これを、すべて Catalyst にやらせてしまうと、プロセスが太りすぎてしまいますし、アプリケーション設計として不自然です。 結論から先に言ってしまうと、モデルやロジックだけでなく、ヴァリデーション処理なども Catalyst から分離してしまい、Catalyst はリクエストのディスパッチと View だけを担当するのがスマートで、拡張・メンテナンス・テストがしやすいやり方なのかなと、最近うっすらと考えています。Catalyst 在りきではな
タイトル変えました。旧タイトル「JavaScriptでよく使う書き方」。よく使うけど毎回忘れる。 正規表現にマッチするかどうか。 RegExp#testを使う。 /abc/.test("abcdefg") // => true String#searchはマッチした位置を返す。マッチしない場合は-1。先頭にマッチすると0でfalseなので注意。真偽値が欲しい場合はString#searchを使わない。 "abcdefg".search(/xxx/) // => -1 "abcdefg".search(/def/) // => 3 "abcdefg".search(/abc/) == false // => true 正規表現の部分マッチを得る。 部分マッチを得るには、RegExp#execかString#matchを使う。execとmatchの速度は大して変わらない。 正規表現のベンチマー
はじめまして。面白法人カヤックの村瀬と申します。ArkというWebアプリケーション作成用のフレームワークを開発しました。今回から4回にわたって、このリリースしたばかりの「Ark」について紹介させていただきます。 Ark(アーク)とは Arkは、Perlで作られたWebアプリケーションフレームワーク(WAF)です。 Arkの特徴としては Catalystに似たインターフェース CGI/FCGI/mod_perlなどさまざまな環境で実用的に動作する CGI用モードの存在 日本製であり、日本語ドキュメントが充実している などが挙げられます。 Catalystに似たインターフェース Catalystは、Arkと同様にPerl製のWebアプリケーションフレームワークで、現在、Perlのフレームワークでは標準となりつつあるものです。 Arkは開発動機の1つが「CGIでも実用的に動作するCatalyst
Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/sites/heteml/users/m/e/t/metaphor/web/masuda/blog/wp-includes/classes.php on line 576 Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/sites/heteml/users/m/e/t/metaphor/web/masuda/blog/wp-includes/classes.php on
M-x install-elisp http://www.emacswiki.org/cgi-bin/emacs/download/contentswitch.el EmacsWikiにまたおもしろいEmacs Lispが登場した。contentswitch.elだ。 これはバッファ名やバッファの「内容」の部分文字列を指定しつつバッファの候補を絞り込んでいくやつだ。 候補の絞り込みといえばanything.elでおなじみだが、contentswitch.elの作者はanything.elの原作者のTamas Patrovics氏だ。*1コードもけっこう似ている。 たとえば、a.rbが以下の内容だとして (require 'contentswitch) 後に M-x contentswitchとしてみる。 RUBY_RELEASE_DATE # => "2008-08-11" RUBY_VE
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く