Changeset 24981 for docs/tokuhirom

Show
Ignore:
Timestamp:
11/27/08 00:36:44 (6 years ago)
Author:
tokuhirom
Message:

added slides for HECon#1

Location:
docs/tokuhirom
Files:
10 added
1 modified
1 copied

Legend:

Unmodified
Added
Removed
  • docs/tokuhirom/20081126-hecon/main.txt

    r23798 r24981  
    1 PerlがもっともLightweightな件 
     1HTTP::Engine とPerl における Web Application のあり方についての、愛、思想 
    22<div style="text-align: right"> 
    3 2008-11-14(Sat) LL温泉のLT 
     32008-11-26(Wed) HECon#1 
    44tokuhirom 
    55</div> 
    66---- 
    7 Lightweight? 
     7Why HTTP::Engine? 
    88---- 
    9 軽量言語とは 
    10 脳にかける負担がすくないこと 
     9abstraction layer 
    1110---- 
    12 Perl がもっともいい 
     11HTTP Servers 
     12↓ ↑ 
     13Web Applications. 
    1314---- 
    14 Perl はプログラマの柔軟性を活かそうとしている 
     15というようなことは 
     16みんなわかってるんだろ? 
    1517---- 
    16 WHY? 
     18思想やらについて 
     19雑多に話す 
    1720---- 
    18 たとえば 
     21What's Web Application Framework? 
    1922---- 
    20 たくさんのメソッドをつくりたい 
     23ウェブアプリケーションの共通点 
     24common part of web applications. 
    2125---- 
    22 コピペしたいなあ…… 
     26主目的のためだけにコードをかきたい 
     27you can write code only for main purpose 
    2328---- 
    24 そこで 
     29なにが最強のフレームワークなのか、まだわからない 
     30We don't know about best waf. 
    2531---- 
    26 Module::Compile::TT 
     32なぜ HTTP::Engine が必要か 
     33Why HTTP::Engine?? 
    2734---- 
    28 >|| 
    29 sub foo { 
    30     my $self = shift; 
    31     $self->{foo} = shift if @_; 
    32     $self->{foo}; 
    33 } 
    34 sub bar { 
    35     my $self = shift; 
    36     $self->{bar} = shift if @_; 
    37     $self->{bar}; 
    38 } 
    39 ||< 
     35?? 
    4036---- 
    41 >|| 
    42 use tt ( fields => [qw/foo bar/] ); 
    43 [% FOREACH fields IN fields %] 
    44 sub [% field %] { 
    45     my $self = shift; 
    46     $self−>{'[% field %]'} = shift if @_; 
    47     $self−>{'[% field %]'}; 
    48 } 
    49 [% END %] 
    50 no tt; 
    51 ||< 
     37WAF が多いのは是か非か 
    5238---- 
    53 ソースコードフィルタ 
     39現時点ではいいことだ。 
     40Good for now! 
    5441---- 
    55 すばらしいですね 
     42まだだ、まだたりないよ 
    5643---- 
    57 たとえば 
     44Web Application は多様だ。 
     45Web Application has many variations 
    5846---- 
    59 >|| 
    60 sub get { 
    61     my ($self, $key) = @_; 
    62     $self->{$key}; 
    63 } 
    64 ||< 
     47多様な WAF があるべきだ 
     48WAF should have many variations 
    6549---- 
    66 use Method::Signatures; 
     50Catalyst 
     51Jifty 
     52Maypole 
     53CGI::Application 
    6754---- 
    68 >|| 
    69 method get($key) { 
    70     $self->{$key}; 
    71 } 
    72 ||< 
     55Sledge 
     56TripletaiL 
     57Egg 
     58Boofy 
    7359---- 
    74 Perl に実行時に動的に 
    75 パッチをあてている! 
     60車輪の再発明? 
     61reinvention of the wheel? 
    7662---- 
    77 すばらしいですね 
     63悪いこっちゃない 
     64Not Bad 
    7865---- 
    79 たとえば 
     66車輪の再発明は、なにかをうみだす 
     67reinvention of the wheel makes inovation. 
    8068---- 
    81 Switch 文をかきたいケド 
    82 Perl には Switch がない 
     69と、私はしんじてます。 
     70I believe. 
    8371---- 
    84 if 文いっぱいかくのめんどい 
     72でも! 
     73But 
    8574---- 
    86 use Switch; 
     75車輪は小さいほうがいい 
     76Small wheel is better. 
    8777---- 
    88 >|| 
    89 switch ($val) { 
    90     case 1     { print "number 1" } 
    91     case "a"   { print "string a" } 
    92     case /\w+/ { print "pattern" } 
    93 } 
    94 ||< 
     78そこで HTTP::Engine ですよ 
     79HTTP::Engine!!! 
    9580---- 
    96 ソースコードフィルタって 
    97 すばらしいですね 
     81HTTP::Engine はあなたのフレームワークを小さくします。 
     82HTTP::Engine makes your waf smaller. 
    9883---- 
    99 SQL を楽に書きたい 
     84ここまではいいかなー? 
     85OK? 
    10086---- 
    101 >|| 
    102 for my $row (SELECT * FROM t;) { 
    103     print "v: $row[0]\n"; 
    104 } 
    105 ||< 
     87あなたのフレームワークを小さくしたい 
     88I want to make small your framework. 
    10689---- 
    107 実にすばらしいですね!!! 
     90書くコードがちいさければ 
     91If code is small, 
     92---- 
     93毎回書くこともできる 
     94write framework for each application/company 
     95---- 
     96パーツをかいてます 
     97We writing parts. 
     98---- 
     99Dispatcher 
     100- HTTPx::Dispatcher(tokuhirom) 
     101- Path::Router(stevan) 
     102- Path::Dispatcher(sartak) 
     103etc 
     104---- 
     105HTTPx::Dispatcher is lightweight. 
     106- doesn't need Moooooooooooooose 
     107---- 
     108session manager 
     109- HTTP::Session 
     110fast, pluggable. 
     111---- 
     112いい感じ 
     113feels good 
     114---- 
     115自分の手で。 
     116DIY! DIY! 
    108117---- 
    109118まとめ 
    110119---- 
    111 Perl の柔軟性は神! 
     120Write your own web application 
     121with HTTP::Engine! 
     122---- 
     123イジョウ。 
     124That's all 
     125