rabbit-slide-kou-rwc-2014 2014.11.13.3 → 2014.11.13.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 296b8ed62cc21faccced4aa6d04fec2224bad386
4
- data.tar.gz: 9ed7e1b4b05fee30d35520dc9c4ae3f057692721
3
+ metadata.gz: 4f87bb783c6bcc935ec1c694e5ccb83f51cddd9f
4
+ data.tar.gz: d11bcab2096be053e8a5148ac4ab1361c2aa7b6a
5
5
  SHA512:
6
- metadata.gz: 2724073566b910b1672501133f99bfa9a941df855451911ba2c5ee29d55f8887b0d207bbb12e3f53cc987c91f663b872f0a2d70c965d4ebec3d18464eef6c829
7
- data.tar.gz: c130fe7bb55b105c7cb22c508eeb30f57bd940a0b27157feafd1324f483cb048c49c1056b135268726103ecc8ef88e260fd92ee599b1683b1ff788c97650819b
6
+ metadata.gz: 0216962a3226673b473b64b4ec2f024c35af779cfdb53c5198316c6cd24bb25e738c4c5d8a427e32a3bed5d15662632b2ada2e6591dde2a767466ad135ee7e15
7
+ data.tar.gz: 87796bb946cb7ce732741965019320add58730de521e9bc0d07464824e964f2253a75f8acb7e937a735347be218086dc19dfa2b5a3bb8ea752916507fca0b56f
@@ -6,7 +6,7 @@ tags:
6
6
  - ruby
7
7
  - full-text-search
8
8
  presentation_date: 2014-11-13
9
- version: 2014.11.13.3
9
+ version: 2014.11.13.4
10
10
  licenses:
11
11
  - CC BY-SA 4.0
12
12
  slideshare_id:
@@ -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
- * Worker→Supervisorがない
180
- * 無停止更新ができない
207
+ * 無停止アップグレード×
181
208
 
182
209
  = ServerEngineモデル2
183
210
 
184
211
  * スレッドは難しい
185
- * エラーに気づいている?
186
- * rescueしてる?joinしてる?
212
+ * エラーをちゃんと処理しないと\n
213
+ 問題を見逃す
187
214
  * シグナルは難しい
188
215
  * 終了中に何度でもSIGINT
189
- * 終了フラグを立てるくらいしか\n
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
- * 多機能だと遅くなる(('note:ことが多い'))
375
+ * 多機能だと遅くなる(ことが多い)
350
376
  * 組み込みの機能より拡張性
351
377
  * →プラグイン機能
352
378
  * Fluentd, ROMA, Droonga
@@ -368,7 +394,7 @@ Rubyを\n
368
394
  * テストしやすさ
369
395
  * ドライバー・スタブを提供
370
396
  * リリースしやすさ
371
- * gem, GitHubから直接
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
 
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.3
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 00:00:00.000000000 Z
11
+ date: 2014-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rabbit