rabbit-slide-kou-rwc-2014 2014.11.13.3 → 2014.11.13.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 4f87bb783c6bcc935ec1c694e5ccb83f51cddd9f
         | 
| 4 | 
            +
              data.tar.gz: d11bcab2096be053e8a5148ac4ab1361c2aa7b6a
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0216962a3226673b473b64b4ec2f024c35af779cfdb53c5198316c6cd24bb25e738c4c5d8a427e32a3bed5d15662632b2ada2e6591dde2a767466ad135ee7e15
         | 
| 7 | 
            +
              data.tar.gz: 87796bb946cb7ce732741965019320add58730de521e9bc0d07464824e964f2253a75f8acb7e937a735347be218086dc19dfa2b5a3bb8ea752916507fca0b56f
         | 
    
        data/config.yaml
    CHANGED
    
    
| @@ -28,8 +28,10 @@ Rubyを\n | |
| 28 28 |  | 
| 29 29 | 
             
              * よくプログラムを書く人
         | 
| 30 30 | 
             
                * ただしRubyとは縁遠い
         | 
| 31 | 
            +
                * →よくRubyを書くようになる
         | 
| 31 32 | 
             
              * たまにプログラムを書く人
         | 
| 32 33 | 
             
                * インフラの人とか
         | 
| 34 | 
            +
                * →たまにRubyを書くようになる
         | 
| 33 35 |  | 
| 34 36 | 
             
            = 浸透方法
         | 
| 35 37 |  | 
| @@ -69,19 +71,19 @@ Rubyを\n | |
| 69 71 |  | 
| 70 72 | 
             
            = 多有用アプリ状況を目指す
         | 
| 71 73 |  | 
| 72 | 
            -
              * Ruby製アプリを作る
         | 
| 73 | 
            -
                * そこそこ有用で十分
         | 
| 74 | 
            -
                * たくさん作る
         | 
| 75 74 | 
             
              * Ruby製アプリ使う
         | 
| 76 75 | 
             
                * Ruby製アプリを優先して選ぶ
         | 
| 77 76 | 
             
                * 使っていることを広くアピール
         | 
| 77 | 
            +
              * Ruby製アプリを作る
         | 
| 78 | 
            +
                * そこそこ有用で十分
         | 
| 79 | 
            +
                * たくさん作る
         | 
| 78 80 |  | 
| 79 81 | 
             
            = Ruby製アプリ作りを促す
         | 
| 80 82 |  | 
| 81 | 
            -
              *  | 
| 83 | 
            +
              * 成功事例(きっかけ)
         | 
| 82 84 | 
             
                * 後続が真似したくなればよい
         | 
| 83 85 | 
             
                * そんなに流行らなくてもよい
         | 
| 84 | 
            -
              *  | 
| 86 | 
            +
              * 開発ノウハウ(助け)
         | 
| 85 87 | 
             
                * 後続が開発しやすくなる
         | 
| 86 88 | 
             
                * ライブラリー化されていると尚よし
         | 
| 87 89 |  | 
| @@ -105,13 +107,14 @@ Rubyを\n | |
| 105 107 | 
             
            = Rubyでミドルウェア
         | 
| 106 108 |  | 
| 107 109 | 
             
              * 成功事例
         | 
| 108 | 
            -
                * Fluentd
         | 
| 110 | 
            +
                * Fluentd, ROMA
         | 
| 111 | 
            +
                * milter manager
         | 
| 109 112 | 
             
                * 分散全文検索エンジンを開発中\n
         | 
| 110 113 | 
             
                  (('note:(Droonga)'))
         | 
| 111 114 | 
             
              * 開発ノウハウ
         | 
| 112 | 
            -
                *  | 
| 115 | 
            +
                * →これから紹介
         | 
| 113 116 |  | 
| 114 | 
            -
            =  | 
| 117 | 
            +
            = 開発ノウハウ:方針
         | 
| 115 118 |  | 
| 116 119 | 
             
              * トレードオフと向き合う
         | 
| 117 120 | 
             
                * どこを強みにするか
         | 
| @@ -122,9 +125,26 @@ Rubyを\n | |
| 122 125 |  | 
| 123 126 | 
             
            = 強みの選び方
         | 
| 124 127 |  | 
| 128 | 
            +
              * 使いやすさで勝負する
         | 
| 125 129 | 
             
              * 最高速で勝負しない
         | 
| 126 130 | 
             
              * 多機能で勝負しない
         | 
| 131 | 
            +
             | 
| 132 | 
            +
            = ミドルウェアの使いやすさ
         | 
| 133 | 
            +
             | 
| 134 | 
            +
              * 導入・設定・運用の簡単さ
         | 
| 135 | 
            +
                * 多くのミドルウェアは大変←ヒント
         | 
| 136 | 
            +
                * 例:設定なしで動くと簡単
         | 
| 137 | 
            +
              * 止めないことが前提
         | 
| 138 | 
            +
                * 無停止で設定再読み込み
         | 
| 139 | 
            +
                * 無停止でアップグレード
         | 
| 140 | 
            +
             | 
| 141 | 
            +
            = 強みの選び方 - 使いやすさ
         | 
| 142 | 
            +
             | 
| 127 143 | 
             
              * 使いやすさで勝負する
         | 
| 144 | 
            +
                * ユーザーの手間を減らす
         | 
| 145 | 
            +
                * かゆいところに手が届く
         | 
| 146 | 
            +
              * 最高速で勝負しない
         | 
| 147 | 
            +
              * 多機能で勝負しない
         | 
| 128 148 |  | 
| 129 149 | 
             
            = 性能
         | 
| 130 150 |  | 
| @@ -134,10 +154,17 @@ Rubyを\n | |
| 134 154 | 
             
                * ミドルウェアが\n
         | 
| 135 155 | 
             
                  ボトルネックにならない程度
         | 
| 136 156 |  | 
| 137 | 
            -
            =  | 
| 157 | 
            +
            = ミドルウェアと性能
         | 
| 158 | 
            +
             | 
| 159 | 
            +
              * ミドルウェア=サーバー
         | 
| 160 | 
            +
                * 並行処理をいかにがんばるか
         | 
| 161 | 
            +
              * 評価基準
         | 
| 162 | 
            +
                * レイテンシー(1リクエストに注目)
         | 
| 163 | 
            +
                * スループット(単位時間に注目)
         | 
| 138 164 |  | 
| 139 | 
            -
             | 
| 140 | 
            -
             | 
| 165 | 
            +
            = ボトルネックの解消方法
         | 
| 166 | 
            +
             | 
| 167 | 
            +
              * なりやすい箇所
         | 
| 141 168 | 
             
                * CPU
         | 
| 142 169 | 
             
                * ネットワーク
         | 
| 143 170 | 
             
              * なるかもしれない箇所
         | 
| @@ -174,20 +201,19 @@ Rubyを\n | |
| 174 201 | 
             
            = ServerEngineモデル1
         | 
| 175 202 |  | 
| 176 203 | 
             
              * 基本はSupervisor→Worker
         | 
| 177 | 
            -
              * graceful | 
| 204 | 
            +
              * gracefulな再起動をしにくい\n
         | 
| 205 | 
            +
                (('note:(無停止で設定再読み込みできれば必要ない)'))
         | 
| 178 206 | 
             
                * 新Workerの準備完了を知れない
         | 
| 179 | 
            -
             | 
| 180 | 
            -
              * 無停止更新ができない
         | 
| 207 | 
            +
              * 無停止アップグレード×
         | 
| 181 208 |  | 
| 182 209 | 
             
            = ServerEngineモデル2
         | 
| 183 210 |  | 
| 184 211 | 
             
              * スレッドは難しい
         | 
| 185 | 
            -
                *  | 
| 186 | 
            -
             | 
| 212 | 
            +
                * エラーをちゃんと処理しないと\n
         | 
| 213 | 
            +
                  問題を見逃す
         | 
| 187 214 | 
             
              * シグナルは難しい
         | 
| 188 215 | 
             
                * 終了中に何度でもSIGINT
         | 
| 189 | 
            -
             | 
| 190 | 
            -
                  できない
         | 
| 216 | 
            +
              * forkは難しい
         | 
| 191 217 |  | 
| 192 218 | 
             
            = ServerEngineモデル3
         | 
| 193 219 |  | 
| @@ -223,13 +249,13 @@ Rubyを\n | |
| 223 249 |  | 
| 224 250 | 
             
            = ネットワークネック
         | 
| 225 251 |  | 
| 252 | 
            +
              * 通信量を減らす
         | 
| 253 | 
            +
                * ((*データを減らす*))(ムリなら圧縮)\n
         | 
| 254 | 
            +
                  (('note:(LZ4で十分ならLZ4、ムリならzlib)'))
         | 
| 226 255 | 
             
              * ノンブロッキングI/Oと多重化
         | 
| 227 256 | 
             
                * 拡張ライブラリー必須
         | 
| 228 257 | 
             
                * →Cool.io, nio4r, EventMachine
         | 
| 229 258 | 
             
                * イベント駆動なコードは複雑
         | 
| 230 | 
            -
              * 通信量を減らす
         | 
| 231 | 
            -
                * ((*データを減らす*))
         | 
| 232 | 
            -
                * ムリなら圧縮(zlib, LZ4)
         | 
| 233 259 |  | 
| 234 260 | 
             
            = イベント駆動なコード
         | 
| 235 261 |  | 
| @@ -337,16 +363,16 @@ Rubyを\n | |
| 337 363 |  | 
| 338 364 | 
             
            = 強みの選び方 - 性能
         | 
| 339 365 |  | 
| 366 | 
            +
              * 使いやすさで勝負する
         | 
| 340 367 | 
             
              * 最高速で勝負しない
         | 
| 341 368 | 
             
                * でも、十分な速度は目指す
         | 
| 342 369 | 
             
                * ボトルネックにならなければよい
         | 
| 343 370 | 
             
              * 多機能で勝負しない
         | 
| 344 | 
            -
              * 使いやすさで勝負する
         | 
| 345 371 |  | 
| 346 372 | 
             
            = 機能
         | 
| 347 373 |  | 
| 348 374 | 
             
              * 多機能をウリにしない
         | 
| 349 | 
            -
                *  | 
| 375 | 
            +
                * 多機能だと遅くなる(ことが多い)
         | 
| 350 376 | 
             
              * 組み込みの機能より拡張性
         | 
| 351 377 | 
             
                * →プラグイン機能
         | 
| 352 378 | 
             
                * Fluentd, ROMA, Droonga
         | 
| @@ -368,7 +394,7 @@ Rubyを\n | |
| 368 394 | 
             
              * テストしやすさ
         | 
| 369 395 | 
             
                * ドライバー・スタブを提供
         | 
| 370 396 | 
             
              * リリースしやすさ
         | 
| 371 | 
            -
                * gem | 
| 397 | 
            +
                * gem
         | 
| 372 398 |  | 
| 373 399 | 
             
            = ユーザー向け
         | 
| 374 400 |  | 
| @@ -381,30 +407,13 @@ Rubyを\n | |
| 381 407 |  | 
| 382 408 | 
             
            = 強みの選び方 - 機能
         | 
| 383 409 |  | 
| 410 | 
            +
              * 使いやすさで勝負する
         | 
| 384 411 | 
             
              * 最高速で勝負しない
         | 
| 385 412 | 
             
              * 多機能で勝負しない
         | 
| 386 413 | 
             
                * 組込機能よりも簡単拡張で勝負
         | 
| 387 414 | 
             
                * Ruby初心者でも開発できる簡単さ
         | 
| 388 415 | 
             
                * →プラグイン開発でRubyデビュー\n
         | 
| 389 416 | 
             
                  (('note:(tDiaryスタイルのRuby浸透方法)'))
         | 
| 390 | 
            -
              * 使いやすさで勝負する
         | 
| 391 | 
            -
             | 
| 392 | 
            -
            = 使いやすさ1
         | 
| 393 | 
            -
             | 
| 394 | 
            -
              * 設定は少ないほうがよい
         | 
| 395 | 
            -
                * 適切なデフォルト値
         | 
| 396 | 
            -
                * 自動調整
         | 
| 397 | 
            -
                * 起動後に設定
         | 
| 398 | 
            -
              * 起動するだけなら設定なしで
         | 
| 399 | 
            -
                * 起動するまでが一番くじけやすい
         | 
| 400 | 
            -
             | 
| 401 | 
            -
            = 使いやすさ2
         | 
| 402 | 
            -
             | 
| 403 | 
            -
              * セットアップなしにする
         | 
| 404 | 
            -
                * サービスとしても提供
         | 
| 405 | 
            -
                * →登録したらすぐ使える
         | 
| 406 | 
            -
                * →管理もしなくてよい
         | 
| 407 | 
            -
                * →ローカルでテストしにくい
         | 
| 408 417 |  | 
| 409 418 | 
             
            = まとめ1
         | 
| 410 419 |  | 
| @@ -416,19 +425,20 @@ Rubyを\n | |
| 416 425 |  | 
| 417 426 | 
             
            = まとめ2:促進案
         | 
| 418 427 |  | 
| 419 | 
            -
              * たくさん作る
         | 
| 420 428 | 
             
              * たくさんの人が使う
         | 
| 421 429 | 
             
                * 他の方がよさそうでも\n
         | 
| 422 430 | 
             
                  Ruby製を優先して使う
         | 
| 423 431 | 
             
                * 使っていることを広める
         | 
| 432 | 
            +
              * たくさん作る
         | 
| 424 433 |  | 
| 425 434 | 
             
            = まとめ3:作るノウハウ
         | 
| 426 435 |  | 
| 436 | 
            +
              * 使いやすさで勝負する
         | 
| 437 | 
            +
                * ユーザーの手間を減らす
         | 
| 427 438 | 
             
              * 最高速で勝負しない
         | 
| 428 439 | 
             
                * ボトルネックにならなければよい
         | 
| 429 440 | 
             
              * 多機能で勝負しない
         | 
| 430 441 | 
             
                * 組込機能より拡張性
         | 
| 431 | 
            -
              * 使いやすさで勝負する
         | 
| 432 442 |  | 
| 433 443 | 
             
            = おまけ
         | 
| 434 444 |  | 
| @@ -460,19 +470,14 @@ Droongaの紹介 | |
| 460 470 | 
             
            = Droongaの実装:機能
         | 
| 461 471 |  | 
| 462 472 | 
             
              * プラグインで拡張可能
         | 
| 463 | 
            -
              * プラグイン例
         | 
| 464 | 
            -
                * Groonga互換API
         | 
| 465 | 
            -
              * プラグインの作りやすさ
         | 
| 466 | 
            -
                * これからがんばる
         | 
| 467 473 |  | 
| 468 474 | 
             
            = Droongaの実装:使いやすさ
         | 
| 469 475 |  | 
| 470 476 | 
             
              * インストール
         | 
| 471 477 | 
             
                * インストーラー提供で簡易化
         | 
| 472 | 
            -
              *  | 
| 473 | 
            -
                *  | 
| 474 | 
            -
             | 
| 475 | 
            -
                * これからがんばる
         | 
| 478 | 
            +
              * これからがんばる
         | 
| 479 | 
            +
                * 設定・更新・運用
         | 
| 480 | 
            +
                * プラグインの作りやすさ
         | 
| 476 481 |  | 
| 477 482 | 
             
            = Droonga
         | 
| 478 483 |  | 
| Binary file | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: rabbit-slide-kou-rwc-2014
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2014.11.13. | 
| 4 | 
            +
              version: 2014.11.13.4
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Kouhei Sutou
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2014-11- | 
| 11 | 
            +
            date: 2014-11-12 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: rabbit
         |