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

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: df1a87d2cddea4895876485d34b19342798ffbca
4
- data.tar.gz: a1857fdc0f474c177c2087c716460fe5ca3002ff
3
+ metadata.gz: 296b8ed62cc21faccced4aa6d04fec2224bad386
4
+ data.tar.gz: 9ed7e1b4b05fee30d35520dc9c4ae3f057692721
5
5
  SHA512:
6
- metadata.gz: 10c634ea1b78ca0e0b66308a6ccf167f6f9ff601690aa05bcf1ff288e186b00d2bfdb550575dfde28bfd7d0e9e629d50e4dda62571e5a35480eea37409e8e5cb
7
- data.tar.gz: 42c2f9f44a8f536c8d59f1e236a8b4bf744a371db7172640648d4117efa1d21fda888af7c82a1b82d69c854756fada5def6cf8b19f8a3afd233602a709973fef
6
+ metadata.gz: 2724073566b910b1672501133f99bfa9a941df855451911ba2c5ee29d55f8887b0d207bbb12e3f53cc987c91f663b872f0a2d70c965d4ebec3d18464eef6c829
7
+ data.tar.gz: c130fe7bb55b105c7cb22c508eeb30f57bd940a0b27157feafd1324f483cb048c49c1056b135268726103ecc8ef88e260fd92ee599b1683b1ff788c97650819b
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ require "rabbit/task/slide"
5
5
  spec = nil
6
6
  Rabbit::Task::Slide.new do |task|
7
7
  spec = task.spec
8
- # spec.files += Dir.glob("doc/**/*.*")
8
+ spec.files += Dir.glob("images/**/*.*")
9
9
  # spec.files -= Dir.glob("private/**/*.*")
10
10
  spec.add_runtime_dependency("clear-code")
11
11
  end
@@ -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.2
9
+ version: 2014.11.13.3
10
10
  licenses:
11
11
  - CC BY-SA 4.0
12
12
  slideshare_id:
@@ -9,31 +9,11 @@
9
9
  : date
10
10
  2014/11/13
11
11
  : allotted-time
12
- 30m
12
+ 25m
13
13
  : theme
14
14
  .
15
15
 
16
- = 趣意書 - 今
17
-
18
- * 今ではRubyは「当たり前」
19
- * Rubyはキャズム理論の段階を\n
20
- 順当に進んできている
21
- * Rubyは「レートマジョリティ」\n
22
- にも到達しつつある
23
- * 「レートマジョリティ」 =\n
24
- 「普通の人々」
25
-
26
- = 趣意書 - これから
27
-
28
- * 「レートマジョリティ」に\n
29
- 浸透させるには?
30
- * 技術だけを追求するのではなく、\n
31
- 心理的、経済的、政治的な障害なども考慮する必要がある
32
- * Ruby普及における重要なテーマ
33
- * これらの障害を乗り越えた\n
34
- 「浸透(penetration)」
35
-
36
- = 趣意書 - まとめ
16
+ = 趣意書
37
17
 
38
18
  Rubyを\n
39
19
  普通の人々に\n
@@ -42,62 +22,32 @@ Rubyを\n
42
22
  = この発表の内容
43
23
 
44
24
  浸透促進案の\n
45
- ご提案
46
-
47
- = 浸透の定義
25
+ 提案
48
26
 
49
- Rubyを使っても\n
50
- 驚かない
27
+ = 浸透対象の普通の人々
51
28
 
52
- = 普通の人々
29
+ * よくプログラムを書く人
30
+ * ただしRubyとは縁遠い
31
+ * たまにプログラムを書く人
32
+ * インフラの人とか
53
33
 
54
- * IT系
55
- * いつもプログラムを書いている人
56
- * たまにプログラムを書く人
57
- * プログラムを使う人
58
- * 非IT系
59
- * こども
34
+ = 浸透方法
60
35
 
61
- = 領域拡大な浸透方法
62
-
63
- * IT系
64
- * ((*いつもプログラムを書いている人*))
65
- * ((*たまにプログラムを書く人*))
66
- * プログラムを使う人
67
- * 非IT系
68
- * こども
69
-
70
- = 新規開拓な浸透方法
71
-
72
- * IT系
73
- * いつもプログラムを書いている人
74
- * たまにプログラムを書く人
75
- * ((*プログラムを使う人*))
76
- * 非IT系
77
- * ((*こども*))
78
-
79
- = 提案方針
80
-
81
- * 領域拡大にフォーカス
82
- * 新規開拓は考えない
83
- * おんがえしさんのofrubyは\n
84
- 1つのやり方のように思える
85
-
86
- = 領域拡大
87
-
88
- * 他の言語からの移行を促す
89
36
  * 技術的な攻め方
90
37
  * 多機能・高機能・高性能
38
+ * 他よりいいですよ
91
39
  * 心理的・政治的な攻め方
92
- * 流行り(('note:(「みんな」使っていますよ)'))
40
+ * 流行り
41
+ * 「みんな」使っていますよ
93
42
 
94
- = 領域拡大 - 提案方針
43
+ = 提案方針
95
44
 
96
- * 他の言語からの移行を促す
97
45
  * 技術的な攻め方
98
46
  * 多機能・高機能・高性能
47
+ * 他よりいいですよ
99
48
  * 心理的・政治的な攻め方
100
- * ((*流行り*))(('note:(「みんな」使っていますよ)'))
49
+ * ((*流行り*))
50
+ * 「みんな」使っていますよ
101
51
 
102
52
  = 流行っている状態
103
53
 
@@ -126,25 +76,29 @@ Rubyを使っても\n
126
76
  * Ruby製アプリを優先して選ぶ
127
77
  * 使っていることを広くアピール
128
78
 
129
- = Ruby製アプリ作りを支援
79
+ = Ruby製アプリ作りを促す
130
80
 
131
81
  * 成功事例
132
82
  * 後続が真似したくなればよい
133
83
  * そんなに流行らなくてもよい
134
84
  * 開発ノウハウ
135
85
  * 後続が開発しやすくなる
86
+ * ライブラリー化されていると尚よし
136
87
 
137
- = 領域拡大の対象分野案
88
+ = どんなアプリがよいか
138
89
 
139
90
  ミドルウェア\n
140
91
  ↓\n
141
- アプリは\n
142
- 好きな言語で書ける
92
+ 自作のアプリは\n
93
+ 好きな言語で書ける\n
94
+ (('note:(言語による採用障壁が低め)'))\n
95
+ (('note:(例:RabbitMQはErlang製だがアプリはErlang以外が多い)'))
143
96
 
144
97
  = ミドルウェア
145
98
 
146
99
  * データストア(RDBMSやKVS)
147
100
  * 検索システム
101
+ * メールシステム
148
102
  * メッセージキュー
149
103
  * ログ活用(分析や監視)
150
104
 
@@ -160,6 +114,8 @@ Rubyを使っても\n
160
114
  = 開発ノウハウ
161
115
 
162
116
  * トレードオフと向き合う
117
+ * どこを強みにするか
118
+ * どこは競合と戦わないか
163
119
  * 全方位で勝つことはできない
164
120
  * Rubyだって速さじゃCに勝てない
165
121
  * でも楽しさならCに勝てる
@@ -191,20 +147,186 @@ Rubyを使っても\n
191
147
 
192
148
  * ((*処理を減らす*))
193
149
  * マルチプロセス
194
- * 1スレッド・パイプ・spawn
150
+ * 後述
195
151
  * Cで拡張ライブラリーを書く
196
152
  * Fluentd: MessagePack
197
153
  * Droonga: MessagePack, Groonga
198
154
 
155
+ = マルチプロセス実装
156
+
157
+ * ServerEngine(ライブラリー)
158
+ * nスレッド+シグナル+fork(('note:(spawn)'))
159
+ * Droonga
160
+ * 1スレッド+パイプ+spawn(('note: +イベントループ'))
161
+ * ↑の方がオススメ
162
+
163
+ = ServerEngine
164
+
165
+ # image
166
+ # src = images/serverengine-model.svg
167
+ # relative_height = 100
168
+
169
+ == スライドプロパティー
170
+
171
+ : enable-title-on-image
172
+ false
173
+
174
+ = ServerEngineモデル1
175
+
176
+ * 基本はSupervisor→Worker
177
+ * gracefulな再起動をしにくい
178
+ * 新Workerの準備完了を知れない
179
+ * Worker→Supervisorがない
180
+ * 無停止更新ができない
181
+
182
+ = ServerEngineモデル2
183
+
184
+ * スレッドは難しい
185
+ * エラーに気づいている?
186
+ * rescueしてる?joinしてる?
187
+ * シグナルは難しい
188
+ * 終了中に何度でもSIGINT
189
+ * 終了フラグを立てるくらいしか\n
190
+ できない
191
+
192
+ = ServerEngineモデル3
193
+
194
+ * ライブラリー化していてえらい
195
+
196
+ = Droonga
197
+
198
+ # image
199
+ # src = images/droonga-model.svg
200
+ # relative_height = 100
201
+
202
+ == スライドプロパティー
203
+
204
+ : enable-title-on-image
205
+ false
206
+
207
+ = Droongaモデル1
208
+
209
+ * 通信はSupervisor↔Worker
210
+ * gracefulな再起動をしやすい
211
+ * 新Workerが準備完了\n
212
+ →Supervisorに通知\n
213
+ →旧Workerをgracefulに終了
214
+ * 無停止更新ができる
215
+
216
+ = Droongaモデル2
217
+
218
+ * シンプルになる
219
+ * 1スレッド・シグナルなし
220
+ * stop中にn回stopがこない
221
+ * 終了処理中に割り込まれない
222
+ * イベント駆動は複雑
223
+
199
224
  = ネットワークネック
200
225
 
201
226
  * ノンブロッキングI/Oと多重化
202
227
  * 拡張ライブラリー必須
203
228
  * →Cool.io, nio4r, EventMachine
229
+ * イベント駆動なコードは複雑
204
230
  * 通信量を減らす
205
231
  * ((*データを減らす*))
206
232
  * ムリなら圧縮(zlib, LZ4)
207
233
 
234
+ = イベント駆動なコード
235
+
236
+ # coderay ruby
237
+
238
+ Coolio::TCPServer.new(HOST, PORT) do |client|
239
+ n_reads = 0
240
+ client.on_read do |data|
241
+ p data
242
+ client.write(data)
243
+ n_reads += 1
244
+ if n_reads == 2
245
+ client.on_write_complete {client.close}
246
+ end
247
+ end
248
+ end
249
+
250
+ = 同期っぽく書けるAPI
251
+
252
+ # coderay ruby
253
+
254
+ Coolio::TCPServer.new(HOST, PORT) do |client|
255
+ Fiber.run do # <- 並行にしたい処理を明示
256
+ client.extend(Synchronizable) # <- 42行
257
+ 2.times do
258
+ data = client.read
259
+ p data
260
+ client.write(data)
261
+ end
262
+ client.close
263
+ end
264
+ end
265
+
266
+ = 同期っぽく書けるAPI
267
+
268
+ * ユーザーがFiberを書くのが\n
269
+ カッコ悪い
270
+ * 同期っぽい中で\n
271
+ 並行に処理したくなったら?
272
+ * pubsubっぽいことをしたいとか
273
+
274
+ = Promiseな世界
275
+
276
+ # coderay ruby
277
+
278
+ server.accept.then do |client|
279
+ client.read.then do |data|
280
+ p data
281
+ client.write(data)
282
+ end.then do
283
+ client.close
284
+ end
285
+ end.catch do |error|
286
+ end
287
+
288
+ = Promiseな世界
289
+
290
+ * 繰り返しを書きにくい
291
+ * メソッドチェーンがカッコ悪い
292
+ * catchがカッコ悪い
293
+
294
+ = API案:基本
295
+
296
+ # coderay ruby
297
+
298
+ # 同期っぽいAPI
299
+ clinet = server.accept
300
+ # 非同期API
301
+ server.accept do |request|
302
+ begin
303
+ client = request.socket
304
+ rescue
305
+ end
306
+ end
307
+
308
+ = API案:組み合わせ
309
+
310
+ # coderay ruby
311
+
312
+ server.accept do |request|
313
+ client = request.socket
314
+ 2.times do
315
+ data = client.read
316
+ p data
317
+ client.write(data)
318
+ end
319
+ client.close
320
+ end
321
+
322
+ = API案
323
+
324
+ * Fiberが見えない
325
+ * 書き方の組み合わせが自然
326
+ * ブロックなし→同期っぽいAPI
327
+ * ブロックあり→非同期API
328
+ * 実装していない😜
329
+
208
330
  = I/Oとメモリーネック
209
331
 
210
332
  * データストアをCで書く
@@ -295,7 +417,6 @@ Rubyを使っても\n
295
417
  = まとめ2:促進案
296
418
 
297
419
  * たくさん作る
298
- * ノウハウを広める
299
420
  * たくさんの人が使う
300
421
  * 他の方がよさそうでも\n
301
422
  Ruby製を優先して使う
@@ -304,7 +425,9 @@ Rubyを使っても\n
304
425
  = まとめ3:作るノウハウ
305
426
 
306
427
  * 最高速で勝負しない
428
+ * ボトルネックにならなければよい
307
429
  * 多機能で勝負しない
430
+ * 組込機能より拡張性
308
431
  * 使いやすさで勝負する
309
432
 
310
433
  = おまけ
@@ -324,7 +447,7 @@ Droongaの紹介
324
447
  * 処理はプラグイン可能
325
448
  * Rubyで簡単に(('note:(予定)'))書ける
326
449
  * Groonga互換API提供
327
- * Groonga = 既存検索エンジン
450
+ * Groonga = 既存全文検索エンジン
328
451
 
329
452
  = Droongaの実装:性能
330
453
 
@@ -353,4 +476,8 @@ Droongaの紹介
353
476
 
354
477
  = Droonga
355
478
 
356
- http://droonga.org/
479
+ http://droonga.org/\n
480
+ \n
481
+ 11/29(いい肉の日)\n
482
+ Groongaイベント開催(('note:(東京)'))\n
483
+ (('note:http://groonga.doorkeeper.jp/events/15816'))
@@ -0,0 +1,299 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="595.30145"
13
+ height="392.28558"
14
+ id="svg2"
15
+ version="1.1"
16
+ inkscape:version="0.48.5 r10040"
17
+ sodipodi:docname="droonga-model.svg">
18
+ <defs
19
+ id="defs4">
20
+ <marker
21
+ inkscape:stockid="Arrow1Mstart"
22
+ orient="auto"
23
+ refY="0.0"
24
+ refX="0.0"
25
+ id="Arrow1Mstart"
26
+ style="overflow:visible">
27
+ <path
28
+ id="path4214"
29
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
30
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
31
+ transform="scale(0.4) translate(10,0)" />
32
+ </marker>
33
+ <marker
34
+ inkscape:stockid="Arrow1Mend"
35
+ orient="auto"
36
+ refY="0"
37
+ refX="0"
38
+ id="Arrow1Mend"
39
+ style="overflow:visible">
40
+ <path
41
+ id="path3859"
42
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
43
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
44
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
45
+ inkscape:connector-curvature="0" />
46
+ </marker>
47
+ </defs>
48
+ <sodipodi:namedview
49
+ id="base"
50
+ pagecolor="#ffffff"
51
+ bordercolor="#666666"
52
+ borderopacity="1.0"
53
+ inkscape:pageopacity="0.0"
54
+ inkscape:pageshadow="2"
55
+ inkscape:zoom="0.70710678"
56
+ inkscape:cx="662.27779"
57
+ inkscape:cy="403.43322"
58
+ inkscape:document-units="px"
59
+ inkscape:current-layer="layer1"
60
+ showgrid="false"
61
+ inkscape:window-width="1282"
62
+ inkscape:window-height="906"
63
+ inkscape:window-x="2444"
64
+ inkscape:window-y="29"
65
+ inkscape:window-maximized="0"
66
+ fit-margin-top="10"
67
+ fit-margin-left="10"
68
+ fit-margin-right="10"
69
+ fit-margin-bottom="10" />
70
+ <metadata
71
+ id="metadata7">
72
+ <rdf:RDF>
73
+ <cc:Work
74
+ rdf:about="">
75
+ <dc:format>image/svg+xml</dc:format>
76
+ <dc:type
77
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
78
+ <dc:title />
79
+ </cc:Work>
80
+ </rdf:RDF>
81
+ </metadata>
82
+ <g
83
+ inkscape:label="レイヤー 1"
84
+ inkscape:groupmode="layer"
85
+ id="layer1"
86
+ transform="translate(-23.285713,-74.344803)">
87
+ <rect
88
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
89
+ id="rect2985"
90
+ width="220"
91
+ height="237.14285"
92
+ x="34.285713"
93
+ y="206.6479"
94
+ rx="5" />
95
+ <text
96
+ xml:space="preserve"
97
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
98
+ x="59.999996"
99
+ y="283.67981"
100
+ id="text2987"
101
+ sodipodi:linespacing="125%"><tspan
102
+ sodipodi:role="line"
103
+ id="tspan2989"
104
+ x="59.999996"
105
+ y="283.67981">Supervisor</tspan></text>
106
+ <rect
107
+ rx="5"
108
+ y="172.54739"
109
+ x="420.8837"
110
+ height="163.08299"
111
+ width="130.70349"
112
+ id="rect3063"
113
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
114
+ <text
115
+ xml:space="preserve"
116
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
117
+ x="439.74088"
118
+ y="206.99771"
119
+ id="text2993"
120
+ sodipodi:linespacing="125%"><tspan
121
+ sodipodi:role="line"
122
+ id="tspan2995"
123
+ x="439.74088"
124
+ y="206.99771">Worker</tspan></text>
125
+ <text
126
+ xml:space="preserve"
127
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
128
+ x="290.98492"
129
+ y="221.79292"
130
+ id="text2997"
131
+ sodipodi:linespacing="125%"><tspan
132
+ sodipodi:role="line"
133
+ id="tspan2999"
134
+ x="290.98492"
135
+ y="221.79292">spawn</tspan></text>
136
+ <rect
137
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
138
+ id="rect3022"
139
+ width="55.142883"
140
+ height="50"
141
+ x="189.85652"
142
+ y="85.344803"
143
+ rx="5" />
144
+ <text
145
+ sodipodi:linespacing="125%"
146
+ id="text3024"
147
+ y="121.05922"
148
+ x="66.999336"
149
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
150
+ xml:space="preserve"><tspan
151
+ y="121.05922"
152
+ x="66.999336"
153
+ id="tspan3026"
154
+ sodipodi:role="line">Process</tspan></text>
155
+ <text
156
+ xml:space="preserve"
157
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
158
+ x="299.87509"
159
+ y="122.60308"
160
+ id="text3028"
161
+ sodipodi:linespacing="125%"><tspan
162
+ sodipodi:role="line"
163
+ x="299.87509"
164
+ y="122.60308"
165
+ id="tspan4658">Event loop</tspan></text>
166
+ <text
167
+ sodipodi:linespacing="125%"
168
+ id="text4294"
169
+ y="359.75641"
170
+ x="277.13925"
171
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
172
+ xml:space="preserve"><tspan
173
+ y="359.75641"
174
+ x="277.13925"
175
+ id="tspan4296"
176
+ sodipodi:role="line">command</tspan></text>
177
+ <rect
178
+ rx="5"
179
+ y="218.89105"
180
+ x="461.40274"
181
+ height="50"
182
+ width="55.142883"
183
+ id="rect4668"
184
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#a40000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
185
+ <rect
186
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
187
+ id="rect4298"
188
+ width="130.70349"
189
+ height="163.08299"
190
+ x="448.8837"
191
+ y="232.54739"
192
+ rx="5" />
193
+ <text
194
+ sodipodi:linespacing="125%"
195
+ id="text4300"
196
+ y="266.99771"
197
+ x="467.74088"
198
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
199
+ xml:space="preserve"><tspan
200
+ y="266.99771"
201
+ x="467.74088"
202
+ id="tspan4302"
203
+ sodipodi:role="line">Worker</tspan></text>
204
+ <rect
205
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#a40000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
206
+ id="rect4666"
207
+ width="55.142883"
208
+ height="50"
209
+ x="483.40274"
210
+ y="280.89105"
211
+ rx="5" />
212
+ <rect
213
+ rx="5"
214
+ y="292.54739"
215
+ x="476.8837"
216
+ height="163.08299"
217
+ width="130.70349"
218
+ id="rect4310"
219
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
220
+ <text
221
+ xml:space="preserve"
222
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
223
+ x="495.74084"
224
+ y="326.99771"
225
+ id="text4312"
226
+ sodipodi:linespacing="125%"><tspan
227
+ sodipodi:role="line"
228
+ id="tspan4314"
229
+ x="495.74084"
230
+ y="326.99771">Worker</tspan></text>
231
+ <path
232
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
233
+ d="m 265,231.36218 139,0"
234
+ id="path4361"
235
+ inkscape:connector-curvature="0" />
236
+ <path
237
+ inkscape:connector-curvature="0"
238
+ id="path4545"
239
+ d="m 405.5,371.36218 -139,0"
240
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend);marker-start:url(#Arrow1Mstart)" />
241
+ <rect
242
+ rx="5"
243
+ y="85.344803"
244
+ x="472.08905"
245
+ height="50"
246
+ width="55.142883"
247
+ id="rect4560"
248
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#a40000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
249
+ <text
250
+ xml:space="preserve"
251
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
252
+ x="299.56345"
253
+ y="262.96283"
254
+ id="text3219"
255
+ sodipodi:linespacing="125%"><tspan
256
+ sodipodi:role="line"
257
+ id="tspan3221"
258
+ x="299.56345"
259
+ y="262.96283">pipe</tspan></text>
260
+ <text
261
+ sodipodi:linespacing="125%"
262
+ id="text4650"
263
+ y="402.96283"
264
+ x="279.56345"
265
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
266
+ xml:space="preserve"><tspan
267
+ y="402.96283"
268
+ x="279.56345"
269
+ id="tspan4652"
270
+ sodipodi:role="line">(ready)</tspan></text>
271
+ <text
272
+ xml:space="preserve"
273
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
274
+ x="287.56345"
275
+ y="436.96283"
276
+ id="text4654"
277
+ sodipodi:linespacing="125%"><tspan
278
+ sodipodi:role="line"
279
+ id="tspan4656"
280
+ x="287.56345"
281
+ y="436.96283">(stop)</tspan></text>
282
+ <rect
283
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#a40000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
284
+ id="rect4662"
285
+ width="55.142883"
286
+ height="50"
287
+ x="117.12144"
288
+ y="317.27582"
289
+ rx="5" />
290
+ <rect
291
+ rx="5"
292
+ y="348.63116"
293
+ x="514.51544"
294
+ height="50"
295
+ width="55.142883"
296
+ id="rect4664"
297
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#a40000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
298
+ </g>
299
+ </svg>
@@ -0,0 +1,366 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
6
+ xmlns:cc="http://creativecommons.org/ns#"
7
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
+ xmlns:svg="http://www.w3.org/2000/svg"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
+ width="595.30145"
13
+ height="392.28558"
14
+ id="svg2"
15
+ version="1.1"
16
+ inkscape:version="0.48.5 r10040"
17
+ sodipodi:docname="fluentd-model.svg">
18
+ <defs
19
+ id="defs4">
20
+ <marker
21
+ inkscape:stockid="Arrow1Mend"
22
+ orient="auto"
23
+ refY="0"
24
+ refX="0"
25
+ id="Arrow1Mend"
26
+ style="overflow:visible">
27
+ <path
28
+ id="path3859"
29
+ d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
30
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
31
+ transform="matrix(-0.4,0,0,-0.4,-4,0)"
32
+ inkscape:connector-curvature="0" />
33
+ </marker>
34
+ </defs>
35
+ <sodipodi:namedview
36
+ id="base"
37
+ pagecolor="#ffffff"
38
+ bordercolor="#666666"
39
+ borderopacity="1.0"
40
+ inkscape:pageopacity="0.0"
41
+ inkscape:pageshadow="2"
42
+ inkscape:zoom="0.70710678"
43
+ inkscape:cx="607.13933"
44
+ inkscape:cy="237.28517"
45
+ inkscape:document-units="px"
46
+ inkscape:current-layer="layer1"
47
+ showgrid="false"
48
+ inkscape:window-width="1282"
49
+ inkscape:window-height="906"
50
+ inkscape:window-x="2444"
51
+ inkscape:window-y="29"
52
+ inkscape:window-maximized="0"
53
+ fit-margin-top="10"
54
+ fit-margin-left="10"
55
+ fit-margin-right="10"
56
+ fit-margin-bottom="10" />
57
+ <metadata
58
+ id="metadata7">
59
+ <rdf:RDF>
60
+ <cc:Work
61
+ rdf:about="">
62
+ <dc:format>image/svg+xml</dc:format>
63
+ <dc:type
64
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
65
+ <dc:title></dc:title>
66
+ </cc:Work>
67
+ </rdf:RDF>
68
+ </metadata>
69
+ <g
70
+ inkscape:label="レイヤー 1"
71
+ inkscape:groupmode="layer"
72
+ id="layer1"
73
+ transform="translate(-23.285713,-74.344803)">
74
+ <rect
75
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
76
+ id="rect2985"
77
+ width="220"
78
+ height="237.14285"
79
+ x="34.285713"
80
+ y="206.6479"
81
+ rx="5" />
82
+ <text
83
+ xml:space="preserve"
84
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
85
+ x="59.999996"
86
+ y="245.67981"
87
+ id="text2987"
88
+ sodipodi:linespacing="125%"><tspan
89
+ sodipodi:role="line"
90
+ id="tspan2989"
91
+ x="59.999996"
92
+ y="245.67981">Supervisor</tspan></text>
93
+ <rect
94
+ rx="5"
95
+ y="172.54739"
96
+ x="420.8837"
97
+ height="163.08299"
98
+ width="130.70349"
99
+ id="rect3063"
100
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
101
+ <text
102
+ xml:space="preserve"
103
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
104
+ x="439.74088"
105
+ y="206.99771"
106
+ id="text2993"
107
+ sodipodi:linespacing="125%"><tspan
108
+ sodipodi:role="line"
109
+ id="tspan2995"
110
+ x="439.74088"
111
+ y="206.99771">Worker</tspan></text>
112
+ <text
113
+ xml:space="preserve"
114
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
115
+ x="304.98492"
116
+ y="221.79292"
117
+ id="text2997"
118
+ sodipodi:linespacing="125%"><tspan
119
+ sodipodi:role="line"
120
+ id="tspan2999"
121
+ x="304.98492"
122
+ y="221.79292">fork</tspan></text>
123
+ <text
124
+ xml:space="preserve"
125
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
126
+ x="287.45297"
127
+ y="401.95447"
128
+ id="text3001"
129
+ sodipodi:linespacing="125%"><tspan
130
+ sodipodi:role="line"
131
+ id="tspan3003"
132
+ x="287.45297"
133
+ y="401.95447">signal</tspan></text>
134
+ <rect
135
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
136
+ id="rect3005"
137
+ width="167.14285"
138
+ height="50"
139
+ x="57.142857"
140
+ y="264.88501"
141
+ rx="5" />
142
+ <rect
143
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
144
+ id="rect3022"
145
+ width="55.142883"
146
+ height="50"
147
+ x="249.85652"
148
+ y="85.344803"
149
+ rx="5" />
150
+ <text
151
+ sodipodi:linespacing="125%"
152
+ id="text3024"
153
+ y="121.05922"
154
+ x="126.99934"
155
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
156
+ xml:space="preserve"><tspan
157
+ y="121.05922"
158
+ x="126.99934"
159
+ id="tspan3026"
160
+ sodipodi:role="line">Process</tspan></text>
161
+ <text
162
+ xml:space="preserve"
163
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
164
+ x="343.87509"
165
+ y="122.60308"
166
+ id="text3028"
167
+ sodipodi:linespacing="125%"><tspan
168
+ sodipodi:role="line"
169
+ id="tspan3030"
170
+ x="343.87509"
171
+ y="122.60308">Thread</tspan></text>
172
+ <text
173
+ xml:space="preserve"
174
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
175
+ x="85.984802"
176
+ y="300.8696"
177
+ id="text3032"
178
+ sodipodi:linespacing="125%"><tspan
179
+ sodipodi:role="line"
180
+ id="tspan3034"
181
+ x="85.984802"
182
+ y="300.8696">Logging</tspan></text>
183
+ <rect
184
+ rx="5"
185
+ y="324.88501"
186
+ x="57.142857"
187
+ height="50"
188
+ width="167.14285"
189
+ id="rect3036"
190
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
191
+ <rect
192
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
193
+ id="rect3038"
194
+ width="167.14285"
195
+ height="50"
196
+ x="57.142857"
197
+ y="384.88501"
198
+ rx="5" />
199
+ <text
200
+ sodipodi:linespacing="125%"
201
+ id="text3040"
202
+ y="361.83914"
203
+ x="70.832512"
204
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
205
+ xml:space="preserve"><tspan
206
+ y="361.83914"
207
+ x="70.832512"
208
+ id="tspan3042"
209
+ sodipodi:role="line">Heartbeat</tspan></text>
210
+ <text
211
+ xml:space="preserve"
212
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
213
+ x="96.974648"
214
+ y="420.00665"
215
+ id="text3044"
216
+ sodipodi:linespacing="125%"><tspan
217
+ sodipodi:role="line"
218
+ x="96.974648"
219
+ y="420.00665"
220
+ id="tspan3048">Signal</tspan></text>
221
+ <rect
222
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
223
+ id="rect3067"
224
+ width="102.35905"
225
+ height="30.620224"
226
+ x="434.74088"
227
+ y="216.54738"
228
+ rx="5" />
229
+ <rect
230
+ rx="5"
231
+ y="254.54738"
232
+ x="434.74088"
233
+ height="30.620224"
234
+ width="102.35905"
235
+ id="rect3072"
236
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
237
+ <rect
238
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
239
+ id="rect3074"
240
+ width="102.35905"
241
+ height="30.620224"
242
+ x="434.74088"
243
+ y="292.54739"
244
+ rx="5" />
245
+ <text
246
+ sodipodi:linespacing="125%"
247
+ id="text4294"
248
+ y="309.75641"
249
+ x="267.13925"
250
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
251
+ xml:space="preserve"><tspan
252
+ y="309.75641"
253
+ x="267.13925"
254
+ id="tspan4296"
255
+ sodipodi:role="line">heartbeat</tspan></text>
256
+ <rect
257
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
258
+ id="rect4298"
259
+ width="130.70349"
260
+ height="163.08299"
261
+ x="448.8837"
262
+ y="232.54739"
263
+ rx="5" />
264
+ <text
265
+ sodipodi:linespacing="125%"
266
+ id="text4300"
267
+ y="266.99771"
268
+ x="467.74088"
269
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
270
+ xml:space="preserve"><tspan
271
+ y="266.99771"
272
+ x="467.74088"
273
+ id="tspan4302"
274
+ sodipodi:role="line">Worker</tspan></text>
275
+ <rect
276
+ rx="5"
277
+ y="276.54736"
278
+ x="462.74088"
279
+ height="30.620224"
280
+ width="102.35905"
281
+ id="rect4304"
282
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
283
+ <rect
284
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
285
+ id="rect4306"
286
+ width="102.35905"
287
+ height="30.620224"
288
+ x="462.74088"
289
+ y="314.54736"
290
+ rx="5" />
291
+ <rect
292
+ rx="5"
293
+ y="352.54739"
294
+ x="462.74088"
295
+ height="30.620224"
296
+ width="102.35905"
297
+ id="rect4308"
298
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
299
+ <rect
300
+ rx="5"
301
+ y="292.54739"
302
+ x="476.8837"
303
+ height="163.08299"
304
+ width="130.70349"
305
+ id="rect4310"
306
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
307
+ <text
308
+ xml:space="preserve"
309
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
310
+ x="495.74084"
311
+ y="326.99771"
312
+ id="text4312"
313
+ sodipodi:linespacing="125%"><tspan
314
+ sodipodi:role="line"
315
+ id="tspan4314"
316
+ x="495.74084"
317
+ y="326.99771">Worker</tspan></text>
318
+ <rect
319
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
320
+ id="rect4316"
321
+ width="102.35905"
322
+ height="30.620224"
323
+ x="490.74084"
324
+ y="336.54736"
325
+ rx="5" />
326
+ <rect
327
+ rx="5"
328
+ y="374.54736"
329
+ x="490.74084"
330
+ height="30.620224"
331
+ width="102.35905"
332
+ id="rect4318"
333
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
334
+ <rect
335
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
336
+ id="rect4320"
337
+ width="102.35905"
338
+ height="30.620224"
339
+ x="490.74084"
340
+ y="412.54739"
341
+ rx="5" />
342
+ <path
343
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
344
+ d="m 265,231.36218 139,0"
345
+ id="path4361"
346
+ inkscape:connector-curvature="0" />
347
+ <path
348
+ inkscape:connector-curvature="0"
349
+ id="path4545"
350
+ d="m 405.5,331.36218 -139,0"
351
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)" />
352
+ <path
353
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend)"
354
+ d="m 265,419.36218 139,0"
355
+ id="path4547"
356
+ inkscape:connector-curvature="0" />
357
+ <rect
358
+ rx="5"
359
+ y="85.344803"
360
+ x="452.08905"
361
+ height="50"
362
+ width="55.142883"
363
+ id="rect4560"
364
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
365
+ </g>
366
+ </svg>
data/theme.rb CHANGED
@@ -1,4 +1,7 @@
1
1
  @x_large_font_size *= 0.8
2
2
  @title_slide_title_font_size = @x_large_font_size
3
3
 
4
+ @image_timer_image = "mini-usa-taro.png"
5
+ @image_slide_number_image = "mini-alice.png"
6
+
4
7
  include_theme("clear-code")
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.2
4
+ version: 2014.11.13.3
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-06 00:00:00.000000000 Z
11
+ date: 2014-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rabbit
@@ -50,6 +50,8 @@ files:
50
50
  - Rakefile
51
51
  - config.yaml
52
52
  - distributed-full-text-search-middleware-in-ruby.rab
53
+ - images/droonga-model.svg
54
+ - images/serverengine-model.svg
53
55
  - pdf/rwc-2014-distributed-full-text-search-middleware-in-ruby.pdf
54
56
  - theme.rb
55
57
  homepage: http://slide.rabbit-shocker.org/authors/kou/rwc-2014/