Changeset 19430

Show
Ignore:
Timestamp:
09/17/08 16:33:52 (5 years ago)
Author:
tokuhirom
Message:

updated

Location:
docs/tokuhirom
Files:
1 added
2 removed
3 modified
1 copied

Legend:

Unmodified
Added
Removed
  • docs/tokuhirom/20080829-llfuture-codegolf/assets/presen.css

    r18368 r19430  
    2929#topics pre { 
    3030    padding-left: 4px; 
    31     font-size: 50%; 
     31    font-size: 80%; 
     32    background-color: #202010; 
    3233} 
    3334 
  • docs/tokuhirom/20080829-llfuture-codegolf/index.html

    r18367 r19430  
    2121    </div> 
    2222 
    23     <script type="text/javascript" src="assets/jquery-1.2.1.js"></script> 
     23    <script type="text/javascript" src="assets/jquery-1.2.6.js"></script> 
    2424    <script type="text/javascript" src="assets/presen.js"></script> 
    2525</body> 
  • docs/tokuhirom/20080829-llfuture-codegolf/main.txt

    r18318 r19430  
    1 Queueueueueue 
     1きみならどう書く? 
     2〜横向きのピラミッドを作る〜 
    23<div style="text-align: right"> 
    3 2008-08-27(Wed) MicroBlogCon#1 
    4 tokuhirom 
     42008-08-30(Sat) LL Future 
     5松野徳大 
     6MobileFactory Inc. 
    57</div> 
    68---- 
    7 焦点。 
    8 Gearman/TheSchwartz と Q4M 
     9<img src="assets/img/wassr.png" width="640" /> 
     10【未承諾広告】wassr.jp 
    911---- 
    10 随時ツッコミ歓迎 
    11 (主に id:kazuhooku の) 
     12INPUT: 4 
    1213---- 
    13 Gearman 
     14OUTPUT: 
     15>|| 
     16 * 
     17 ** 
     18 *** 
     19 **** 
     20 *** 
     21 ** 
     22 * 
     23||< 
    1424---- 
    15 client, gearmand, worker 
     25Perl にしぼって 
     26はなします 
    1627---- 
    17 gearmand 
    18 - Gearman::Server 
    19 - pure perl 
    20 - binary protocol 
    21 - store jobs on memory 
    22 ---- 
    23 Gearman::Worker 
    24 - select(2) でまってるからリアルタイムだョ 
    25 ---- 
    26 Gearman::Client 
    27 - perl, ruby, python 
    28 ---- 
    29 Gearman::Client::Async 
    30 - Danga::Socket 
    31 - epoll(2)/kqueue(2)/select(2) 
    32 - 非同期に結果をうけとれる 
    33 - DJabberd 
    34 -- based on Danga::Socket 
    35 -- XMPP Server 
    36 ---- 
    37 用途 
    38 - Danga::Socket な鯖でブロッキング(DJabberd) 
    39 - ヒトコトを投稿したときのフック 
    40 ---- 
    41 フックでやること多すぎにつき 
    42 - IM に通知 
    43 - fav otsune 
    44 - リアルタイムで処理したいけど、Apache ではやるほどのこともない 
    45 ---- 
    46 TheSchwartz 
    47 ---- 
    48 - reliable job queue 
    49 - MySQL にがんばるの術 
    50 - インストール楽すぎる 
    51 ---- 
    52 reliable? 
    53 ---- 
    54 Yes! Gearman is not a reliable! 
    55 - 落ちちゃうときもある 
    56 - お茶目な存在 
    57 ---- 
    58 実装 
    59 - 1秒に一回ぐらい SQL うってジョブないかみてる 
    60 ---- 
    61 用途 
    62 - Feed の生成 
    63 - 画像ブログパーツのさくせい 
    64 - cron のスクリプト 
    65 - gearman → TheSchwartz 
    66 - etc. 
    67 ---- 
    68 Perl モジュールの読み込みおそいよー >< 
    69 そこで TheSchwartz 
    70 ---- 
    71 ポイント 
    72 - リアルタイム性がない 
    73 - 信頼できる男。MySQL 
    74 ---- 
    75 Q4M 
    76 ---- 
    77 持続的な非同期コミュニケーションのための 
    78 ミドルウェア 
    79 ---- 
    80 MySQL5.1 storage engine 
    81 ---- 
     28冗長に。 
    8229>|| 
    83 while (1) { 
    84     SELECT queue_wait('queue'); # XXX block! 
    85     my @row = SELECT ROW * FROM queue or next; 
    86     # snip 
     30my $n = <>; 
     31for (1..$n) { 
     32    print'*' x $_, "\n" 
     33} 
     34for (reverse(1..$n-1)) { 
     35    print'*' x $_, "\n" 
    8736} 
    8837||< 
    8938---- 
    90 Q4Mでしかできないこと 
    91 - キューの (reliable) forward 
    92 - 特定のフィールドの条件を指定した conditional subscription 
    93 ってあたりになるのかなぁ 
    94 (id:kazuhooku 談) 
     39>|| 
     40 * 
     41 ** 
     42 *** 
     43 **** 
     44 
     45 *** 
     46 ** 
     47 * 
     48||< 
    9549---- 
    96 みんな Q4M つかえばいいよ! 
     50*この時点でも 
    9751---- 
    98 Q4M の欠点。 
     52くりかえし 
     53>|| 
     54'*' x 3 => *** 
     55||< 
    9956---- 
    100 インスコまんどいお >< 
     57暗黙の $_ 
     58>|| 
     59print "$_\n" for 0..100; 
     60||< 
    10161---- 
    102 That's all. 
    103 Thanks. 
     62*55B 
     63---- 
     64for をまとめる 
     65>|| 
     66print'*'x$_."\n" 
     67    for (1..$ARGV[0]) 
     68       ,reverse(1..$ARGV[0]-1) 
     69||< 
     70Songmu さん 
     71---- 
     72*51B 
     73---- 
     74引数をキャッシュ 
     75>|| 
     76print'*'x$_."\n" 
     77    for 1..($z=pop) 
     78       ,reverse(1..$z-1) 
     79||< 
     80Songmu さん 
     81---- 
     82*47B 
     83---- 
     84STDIN から 
     85>|| 
     86print'*'x$_."\n" 
     87    for 1..($n=<>) 
     88       ,reverse 1..$n-1 
     89||< 
     90turugina さん 
     91---- 
     92*43B 
     93---- 
     94a!b!s! a!b!s! 
     95>|| 
     96print   '*'x($n-abs($_))."\n" 
     97    for -($n=<>)..$n 
     98||< 
     99wataken44 さん 
     100---- 
     101*37B 
     102---- 
     103デフォルト引数 
     104>|| 
     105print   '*'x($n-abs)."\n" 
     106    for -($n=<>)..$n 
     107||< 
     108Songmu さん 
     109---- 
     110*最優秀賞 
     111---- 
     112*39B 
     113---- 
     114 **2 !! 
     115>|| 
     116print   '*'x$_."\n" 
     117    for split//,('1'x<>)**2 
     118||< 
     119hogee さん 
     120---- 
     1211 x <> 
     122>|| 
     1231 => 1 
     1242 => 11 
     1253 => 111 
     1264 => 1111 
     1275 => 11111 
     1286 => 111111 
     1297 => 1111111 
     130||< 
     131---- 
     132>|| 
     1331       ** 2 = 1 
     13411      ** 2 = 121 
     135111     ** 2 = 12321 
     1361111    ** 2 = 1234321 
     13711111   ** 2 = 123454321 
     138111111  ** 2 = 12345654321 
     1391111111 ** 2 = 1234567654321 
     140||< 
     141---- 
     142 **2 !! 
     143>|| 
     144print   '*'x$_."\n" 
     145    for split//, ('1'x<>)**2 
     146||< 
     147hogee さん 
     148---- 
     149おばふろ。 
     1500から8 
     151---- 
     152なんで 0 から 8? 
     153---- 
     154>|| 
     155  ("1"x9)  **2 
     156= 111111111**2 
     157= 12345678987654321 
     158||< 
     159---- 
     160>|| 
     161  ("1"x10)  **2 
     162= 1111111111**2 
     163= 1234567900987654321 
     164||< 
     165---- 
     166>|| 
     167('1'x<>)**2 
     168    = 1.23456789876543e+16 
     169||< 
     170999999999999999 ヨリ大キイ 
     171---- 
     172>|| 
     173#define IVdf        "ld" 
     174||< 
     175This symbol defines the format string used for printing a Perl UV 
     176as a signed decimal integer 
     177>|| 
     178sprintf(tmpbuf,"%"IVdf, (IV)SvIVX(sv)); 
     179||< 
     180---- 
     181optimize 
     182---- 
     183*37B 
     184---- 
     185>|| 
     186print'*'x$_."\n" 
     187    for ('1'x<>)**2 = ~/\d/g 
     188||< 
     189hogee さん 
     190---- 
     191発想の転換によりすばらしいコードに。 
     192---- 
     193というわけで、 
     194先生。 
     195ダメ出しおねがいします