タグ

2013年2月17日のブックマーク (4件)

  • Perl 5.13.2 がもたらした package NAMESPACE BLOCK 構文があたえるもの - tokuhirom's blog

    開発版の Perl 5.13.2 がリリースされたが、5.13.2 の目玉はなんといっても package NAMESPACE BLOCK 構文だろう。 use 5.13.2; use warnings; package Point { use Moose; has 'x' => (is => 'rw', isa => 'Int'); has 'y' => (is => 'rw', isa => 'Int'); __PACKAGE__->meta->make_immutable; no Moose; }; のように、パッケージを宣言することができるようになった。 この構文は非常に大きい変化をもたらす。 1 ファイルに複数のクラスを書くことが苦でなくなる。package NAME BOCK 構文を利用する場合、BLOCK の中はインデントすることになるため、複数パッケージを1つのファイルにか

  • ログアウト機能の目的と実現方法

    このエントリでは、Webアプリケーションにおけるログアウト機能に関連して、その目的と実現方法について説明します。 議論の前提 このエントリでは、認証方式として、いわゆるフォーム認証を前提としています。フォーム認証は俗な言い方かもしれませんが、HTMLフォームでIDとパスワードの入力フォームを作成し、その入力値をアプリケーション側で検証する認証方式のことです。IDとパスワードの入力は最初の1回ですませたいため、通常はCookieを用いて認証状態を保持します。ログアウト機能とは、保持された認証状態を破棄して、認証していない状態に戻すことです。 Cookieを用いた認証状態保持 前述のように、認証状態の保持にはCookieを用いることが一般的ですが、Cookieに auth=1 とか、userid=tokumaru などのように、ログイン状態を「そのまま」Cookieに保持すると脆弱性になります

    ログアウト機能の目的と実現方法
  • 「capistrano設定の共通化(+ Tips集)」についてKyoto.rbで発表してきました - $shibayu36->blog;

    Kyoto.rbがあったので、Rubyのことはよくわからないながら、capistranoの話をして来ました。設定の共通化についてと、思いついたTips集を発表して来ました。サンプルはhttps://github.com/shibayu36/capistrano-deploy-sampleにおいてあります。 130207 kyotorb from Yuki Shibazaki capistranoとは デプロイ用ツール コマンド一つでアプリケーションのデプロイが出来たりする 特にRailsに特化してる capistrano設定を社内などで共通化したい 共通化しないとprojectごとでdeploy方法が違って死ねる とはいえ一つのファイルで管理していると破綻する 最近の共通化の方針 やりたいことごとにファイルを作って共通化する default設定, deploy用, cron, perlbr

  • 第140回 ブロックを渡せるのはRubyだけじゃない! Perlだって渡せるんだ! - bingo_nakanishiの他言語出身者のためのPerl入門

    YAPCが始まりましたね。 去年は参加したのですが(聴衆の方ですが)、今年は非常にとてつもなく残念な事に参加できません。 でも気分だけでもひたりたいのでPerlのお話を少々。 Rubyに備わったブロックという概念 Rubyは言語自体に高階関数をブロックという形でもっており、 eachなどで使われているのは有名です。 例: array = [1,3,5,9] array.each{|i| puts i} eachに与えている { }の部分がブロックです。 自前でブロックを受け取る関数を作りたければ yield を使えばよいでしょう。 今回のお話の内容は「Perlでもブロックを渡せる」ということなので、 eachの機能, yieldの機能は知っておられるという前提で先にすすみたいと思います。 Perlのブロックを使った例 それではRubyの話はこれくらいにしてPerlの話にまいりましょう。 ま

    第140回 ブロックを渡せるのはRubyだけじゃない! Perlだって渡せるんだ! - bingo_nakanishiの他言語出身者のためのPerl入門