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

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: 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/