rabbit-slide-kou-rubykaigi-2013 2013.6.1.0 → 2013.6.1.1
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.
- data/README.rd +30 -0
- data/be-a-library-developer.rab +164 -320
- data/clear-code.svg +161 -0
- data/config.yaml +2 -2
- data/pdf/rubykaigi-2013-be-a-library-developer.pdf +0 -0
- metadata +3 -2
data/README.rd
CHANGED
@@ -20,12 +20,42 @@ developers".
|
|
20
20
|
|
21
21
|
== License
|
22
22
|
|
23
|
+
=== Slide
|
24
|
+
|
23
25
|
CC BY-SA 3.0
|
24
26
|
|
25
27
|
Use the followings for notation of the author:
|
26
28
|
|
27
29
|
* Kouhei Sutou
|
28
30
|
|
31
|
+
=== Images
|
32
|
+
|
33
|
+
* ClearCode Inc. logo
|
34
|
+
|
35
|
+
==== ClearCode Inc. logo
|
36
|
+
|
37
|
+
CC BY-SA 3.0
|
38
|
+
|
39
|
+
Author: ClearCode Inc.
|
40
|
+
|
41
|
+
=== Fonts
|
42
|
+
|
43
|
+
* Andika
|
44
|
+
* Larabie Fonts
|
45
|
+
|
46
|
+
==== Andika
|
47
|
+
|
48
|
+
SIL Open Font License 1.1
|
49
|
+
|
50
|
+
Copyright: 2004-2011 SIL International (http://www.sil.org/), with
|
51
|
+
Reserved Font Names "Andika" and "SIL".
|
52
|
+
|
53
|
+
==== Larabie
|
54
|
+
|
55
|
+
Author: Ray Larabie
|
56
|
+
|
57
|
+
Copyright: See larabie-copyright.txt
|
58
|
+
|
29
59
|
== For author
|
30
60
|
|
31
61
|
=== Show
|
data/be-a-library-developer.rab
CHANGED
@@ -31,16 +31,14 @@
|
|
31
31
|
= This talk's goal
|
32
32
|
|
33
33
|
(('tag:as-large-as-possible'))
|
34
|
-
You know
|
34
|
+
You know\nhow to develop more better softwares
|
35
35
|
|
36
36
|
= More better?
|
37
37
|
|
38
|
-
|
38
|
+
Show\nby example
|
39
39
|
|
40
40
|
= API
|
41
41
|
|
42
|
-
= API: 1
|
43
|
-
|
44
42
|
# coderay ruby
|
45
43
|
context.save
|
46
44
|
context.circle(50, 50, 10)
|
@@ -49,7 +47,7 @@ By example
|
|
49
47
|
|
50
48
|
(('tag:center'))(('note:from cairo gem'))
|
51
49
|
|
52
|
-
= API:
|
50
|
+
= API: Better
|
53
51
|
|
54
52
|
# coderay ruby
|
55
53
|
context.save do
|
@@ -59,148 +57,70 @@ By example
|
|
59
57
|
|
60
58
|
(('tag:center'))(('note:from cairo gem'))
|
61
59
|
|
62
|
-
= API:
|
63
|
-
|
64
|
-
# coderay ruby
|
65
|
-
context.save do
|
66
|
-
context.circle(50, 50, 10)
|
67
|
-
context.stroke
|
68
|
-
end
|
69
|
-
|
70
|
-
(('tag:center'))(('note:from cairo gem'))
|
71
|
-
|
72
|
-
= API: 2
|
73
|
-
|
74
|
-
# coderay ruby
|
75
|
-
# low level
|
76
|
-
window.get_property("opacity")
|
77
|
-
# better
|
78
|
-
window.opacity
|
79
|
-
|
80
|
-
(('tag:center'))(('note:from gtk2 gem'))
|
60
|
+
= API: Why
|
81
61
|
|
82
|
-
|
62
|
+
Why is it\nmore better?
|
83
63
|
|
84
|
-
|
85
|
-
# low level
|
86
|
-
window.get_property("visible")
|
87
|
-
# better
|
88
|
-
# ???: hint: "visible" is bool
|
64
|
+
= API: Because
|
89
65
|
|
90
|
-
|
66
|
+
Because it's more Ruby-ish
|
91
67
|
|
92
|
-
=
|
93
|
-
|
94
|
-
# coderay ruby
|
95
|
-
# low level
|
96
|
-
window.get_property("visible")
|
97
|
-
# better
|
98
|
-
window.visible?
|
99
|
-
|
100
|
-
(('tag:center'))(('note:from gtk2 gem'))
|
68
|
+
= Ruby-ish?
|
101
69
|
|
102
|
-
|
70
|
+
-ish ==\n
|
71
|
+
Similar to others
|
103
72
|
|
104
|
-
|
105
|
-
# better for record as collection
|
106
|
-
record["name"]
|
107
|
-
# better for record as object
|
108
|
-
record.name
|
109
|
-
|
110
|
-
(('tag:center'))(('note:from groonga gem'))
|
111
|
-
|
112
|
-
= API: 5
|
113
|
-
|
114
|
-
# coderay ruby
|
115
|
-
require "gst"
|
116
|
-
# ???
|
117
|
-
Gst.init # <- What?
|
118
|
-
Gst::ElementFactory.make("playbin")
|
73
|
+
= Remember
|
119
74
|
|
120
|
-
|
75
|
+
File
|
121
76
|
|
122
|
-
=
|
77
|
+
= Remember: File
|
123
78
|
|
124
79
|
# coderay ruby
|
125
|
-
require "gst"
|
126
|
-
# For advanced use
|
127
|
-
Gst.init("--gst-debug=*:9")
|
128
|
-
Gst::ElementFactory.make("playbin")
|
129
80
|
|
130
|
-
|
81
|
+
# Setup
|
82
|
+
file = File.open(path)
|
83
|
+
file.read
|
84
|
+
# Teardown
|
85
|
+
file.close
|
131
86
|
|
132
|
-
=
|
87
|
+
= Remember: File
|
133
88
|
|
134
89
|
# coderay ruby
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
(('tag:center'))(('note:from gstreamer gem'))
|
90
|
+
# Setup
|
91
|
+
File.open(path) do |file|
|
92
|
+
file.read
|
93
|
+
end # Teardown
|
141
94
|
|
142
|
-
=
|
95
|
+
= API: Better (reprise)
|
143
96
|
|
144
97
|
# coderay ruby
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
# ...initialize library...
|
150
|
-
class << self
|
151
|
-
remove_method(:init)
|
152
|
-
remove_method(:const_missing)
|
153
|
-
end; end; end
|
154
|
-
|
155
|
-
= Docuemnt
|
156
|
-
|
157
|
-
= Document: 1
|
158
|
-
|
159
|
-
Install:
|
160
|
-
|
161
|
-
For Debian GNU/Linux:
|
162
|
-
% sudo apt-get install libgtk2.0-dev
|
163
|
-
% gem install gtk2
|
164
|
-
For OS X:
|
165
|
-
...
|
166
|
-
|
167
|
-
= Document: 1 (better)
|
168
|
-
|
169
|
-
Install:
|
170
|
-
|
171
|
-
% gem install gtk2
|
172
|
-
|
173
|
-
= Release
|
174
|
-
|
175
|
-
= Release: 1
|
176
|
-
|
177
|
-
Announce:
|
178
|
-
|
179
|
-
Ruby 1.8.7 was released on June 1st, 2008. In commemoration
|
180
|
-
of the thrid anniversary of Ruby 1.8.7, we have a new
|
181
|
-
patchlevel release today. It includes several bug fixes.
|
182
|
-
For the detail please read the ChangeLog.
|
98
|
+
context.save do # Setup
|
99
|
+
context.circle(50, 50, 10)
|
100
|
+
context.stroke
|
101
|
+
end # Teardown
|
183
102
|
|
184
|
-
|
103
|
+
(('tag:center'))(('note:from cairo gem'))
|
185
104
|
|
186
|
-
|
105
|
+
= More better
|
187
106
|
|
188
|
-
|
107
|
+
Ruby-ish
|
189
108
|
|
190
|
-
|
109
|
+
= In other words
|
191
110
|
|
192
|
-
|
111
|
+
Similar to others
|
193
112
|
|
194
|
-
=
|
113
|
+
= The goal (reprise)
|
195
114
|
|
196
115
|
(('tag:as-large-as-possible'))
|
197
|
-
You know
|
116
|
+
You know\nhow to develop more better softwares
|
198
117
|
|
199
|
-
=
|
118
|
+
= In other words
|
200
119
|
|
201
|
-
|
120
|
+
(('tag:as-large-as-possible'))
|
121
|
+
You know\nwhat is "similar" and do similarly
|
202
122
|
|
203
|
-
=
|
123
|
+
= Describe key idea
|
204
124
|
|
205
125
|
* Share this talk's goal
|
206
126
|
* ((*Describe key idea*))
|
@@ -209,6 +129,8 @@ Showed\nby examples
|
|
209
129
|
|
210
130
|
= Key idea
|
211
131
|
|
132
|
+
(('tag:left'))
|
133
|
+
(('tag:margin-left * 10'))
|
212
134
|
((*R*))emember\n((*t*))han\n((*I*))magine
|
213
135
|
|
214
136
|
= Imagine
|
@@ -231,26 +153,16 @@ Showed\nby examples
|
|
231
153
|
|
232
154
|
= Experience!
|
233
155
|
|
234
|
-
* ((*Experience*))
|
156
|
+
* ((*Experience*)) ← Do this first!
|
235
157
|
* Ask
|
236
158
|
* Observe
|
237
159
|
|
238
|
-
= What should you experience?
|
239
|
-
|
240
|
-
= What
|
241
|
-
|
242
|
-
Library user
|
243
|
-
|
244
|
-
= Library user?
|
245
|
-
|
246
|
-
You experienced!
|
247
|
-
|
248
160
|
= Key idea
|
249
161
|
|
162
|
+
(('tag:left'))
|
163
|
+
(('tag:margin-left * 10'))
|
250
164
|
((*R*))emember\n((*t*))han\n((*I*))magine
|
251
165
|
|
252
|
-
= Remember
|
253
|
-
|
254
166
|
= Apply the key idea
|
255
167
|
|
256
168
|
* Share this talk's goal
|
@@ -258,200 +170,144 @@ You experienced!
|
|
258
170
|
* ((*Apply the key idea*))
|
259
171
|
* Wrap up & The next step
|
260
172
|
|
261
|
-
=
|
173
|
+
= The goal (reprise)
|
262
174
|
|
263
|
-
|
175
|
+
(('tag:as-large-as-possible'))
|
176
|
+
You know\nhow to develop more better softwares
|
264
177
|
|
265
|
-
|
266
|
-
context.save
|
267
|
-
context.circle(50, 50, 10)
|
268
|
-
context.stroke
|
269
|
-
context.restore
|
178
|
+
= To archive the goal
|
270
179
|
|
271
|
-
|
180
|
+
What should you experience?
|
272
181
|
|
273
|
-
=
|
182
|
+
= What
|
274
183
|
|
275
|
-
|
276
|
-
context.save # Setup
|
277
|
-
context.circle(50, 50, 10)
|
278
|
-
context.stroke
|
279
|
-
context.restore # Teardown
|
184
|
+
Ruby user
|
280
185
|
|
281
|
-
|
186
|
+
= Ruby user?
|
282
187
|
|
283
|
-
|
188
|
+
You experienced!
|
284
189
|
|
285
|
-
|
190
|
+
= Try
|
286
191
|
|
287
|
-
=
|
192
|
+
= API: Getter
|
288
193
|
|
289
194
|
# coderay ruby
|
195
|
+
window.get_property("opacity")
|
196
|
+
# What is better API???
|
290
197
|
|
291
|
-
|
292
|
-
file = File.open(path)
|
293
|
-
file.read
|
294
|
-
# Teardown
|
295
|
-
file.close
|
198
|
+
(('tag:center'))(('note:from gtk2 gem'))
|
296
199
|
|
297
|
-
=
|
200
|
+
= API: Getter (better)
|
298
201
|
|
299
202
|
# coderay ruby
|
300
|
-
|
301
|
-
|
302
|
-
file.read
|
303
|
-
raise "error!"
|
304
|
-
end
|
203
|
+
window.get_property("opacity")
|
204
|
+
window.opacity # Better
|
305
205
|
|
306
|
-
|
206
|
+
(('tag:center'))(('note:from gtk2 gem'))
|
307
207
|
|
308
|
-
|
309
|
-
Ensure close
|
208
|
+
= Now,
|
310
209
|
|
311
|
-
|
210
|
+
(('tag:as-large-as-possible'))
|
211
|
+
You will find "remember" is "difficult"
|
312
212
|
|
313
|
-
|
314
|
-
context.save # Setup
|
315
|
-
context.circle(50, 50, 10)
|
316
|
-
context.stroke
|
317
|
-
context.restore # Teardown
|
213
|
+
= Difficult!
|
318
214
|
|
319
|
-
|
215
|
+
Remember!?\n
|
216
|
+
What is\n"Ruby-ish"!?
|
320
217
|
|
321
|
-
=
|
218
|
+
= Difficult?
|
322
219
|
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
context.stroke
|
328
|
-
end
|
220
|
+
* Imagine
|
221
|
+
* Difficult because you didn't know
|
222
|
+
* Remember
|
223
|
+
* Easy because you know ← ((*???*))
|
329
224
|
|
330
|
-
|
225
|
+
= Because
|
331
226
|
|
332
|
-
|
227
|
+
(('tag:as-large-as-possible'))
|
228
|
+
You don't have experience about\n
|
229
|
+
"((*R*))emember ((*t*))han ((*I*))magine"
|
333
230
|
|
334
|
-
|
335
|
-
# low level
|
336
|
-
window.get_property("opacity")
|
337
|
-
# better
|
338
|
-
window.opacity
|
231
|
+
= Your status
|
339
232
|
|
340
|
-
|
233
|
+
* Experience
|
234
|
+
* ((*Ask*)) (Heard) ← You are here!
|
235
|
+
* Observe
|
341
236
|
|
342
|
-
=
|
237
|
+
= To archive the goal
|
343
238
|
|
344
|
-
|
239
|
+
What should you experience?
|
345
240
|
|
346
|
-
=
|
241
|
+
= What
|
242
|
+
|
243
|
+
Library developer
|
244
|
+
|
245
|
+
= Library developer
|
246
|
+
|
247
|
+
Considers about
|
248
|
+
* easy to use API
|
249
|
+
* as Ruby user
|
250
|
+
* easy to understand document
|
251
|
+
* as library user
|
252
|
+
|
253
|
+
= Library developer
|
347
254
|
|
348
|
-
|
255
|
+
Considers them ((*many times*))
|
349
256
|
|
350
|
-
=
|
257
|
+
= "Many times"
|
258
|
+
|
259
|
+
It's very good exercise
|
260
|
+
|
261
|
+
= Examples
|
262
|
+
|
263
|
+
* API
|
264
|
+
* Document
|
265
|
+
|
266
|
+
= API
|
267
|
+
|
268
|
+
= API: Getter (reprise)
|
351
269
|
|
352
270
|
# coderay ruby
|
353
|
-
#
|
271
|
+
# Low level
|
354
272
|
window.get_property("opacity")
|
355
|
-
#
|
273
|
+
# Better
|
356
274
|
window.opacity
|
357
275
|
|
358
276
|
(('tag:center'))(('note:from gtk2 gem'))
|
359
277
|
|
360
|
-
= API:
|
278
|
+
= API: Better?
|
361
279
|
|
362
280
|
# coderay ruby
|
363
|
-
#
|
281
|
+
# Low level
|
364
282
|
window.get_property("visible")
|
365
|
-
#
|
283
|
+
# Better
|
366
284
|
# ???: hint: "visible" is bool
|
367
285
|
|
368
286
|
(('tag:center'))(('note:from gtk2 gem'))
|
369
287
|
|
370
|
-
=
|
371
|
-
|
372
|
-
Predicate
|
373
|
-
|
374
|
-
= Remember: Predicate
|
375
|
-
|
376
|
-
# coderay ruby
|
377
|
-
[].empty?
|
378
|
-
0.zero?
|
379
|
-
|
380
|
-
= API: 3 (better)
|
288
|
+
= API: Better
|
381
289
|
|
382
290
|
# coderay ruby
|
383
|
-
#
|
291
|
+
# Low level
|
384
292
|
window.get_property("visible")
|
385
|
-
#
|
293
|
+
# Better
|
386
294
|
window.visible?
|
387
295
|
|
388
296
|
(('tag:center'))(('note:from gtk2 gem'))
|
389
297
|
|
390
|
-
= API:
|
298
|
+
= API: Getter
|
391
299
|
|
392
300
|
# coderay ruby
|
393
|
-
#
|
301
|
+
# Better for record as collection
|
394
302
|
record["name"]
|
395
|
-
#
|
303
|
+
# Better for record as object
|
396
304
|
record.name
|
397
305
|
|
398
|
-
(('tag:center'))(('note:from
|
399
|
-
|
400
|
-
= API: 5
|
401
|
-
|
402
|
-
# coderay ruby
|
403
|
-
require "gst"
|
404
|
-
# ???
|
405
|
-
Gst.init # <- What?
|
406
|
-
Gst::ElementFactory.make("playbin")
|
407
|
-
|
408
|
-
(('tag:center'))(('note:from gstreamer gem'))
|
409
|
-
|
410
|
-
= API: 5
|
411
|
-
|
412
|
-
# coderay ruby
|
413
|
-
require "gst"
|
414
|
-
# For advanced use
|
415
|
-
Gst.init("--gst-debug=*:9")
|
416
|
-
Gst::ElementFactory.make("playbin")
|
417
|
-
|
418
|
-
(('tag:center'))(('note:from gstreamer gem'))
|
419
|
-
|
420
|
-
= Remember
|
421
|
-
|
422
|
-
Socket
|
423
|
-
|
424
|
-
= Socket in C
|
425
|
-
|
426
|
-
# coderay c
|
427
|
-
int fd;
|
428
|
-
struct sockaddr *address;
|
429
|
-
fd = socket(PF_INET, SOCK_STREAM, 0);
|
430
|
-
/* address.sa_family = ...; */
|
431
|
-
connect(fd, address, address_size);
|
432
|
-
|
433
|
-
= Socket in Ruby
|
434
|
-
|
435
|
-
# coderay ruby
|
436
|
-
TCPSocket.new("www.ruby-lang.org", 80)
|
437
|
-
|
438
|
-
= Point
|
439
|
-
|
440
|
-
Provide defaults
|
441
|
-
|
442
|
-
= API: 5 (better)
|
443
|
-
|
444
|
-
# coderay ruby
|
445
|
-
require "gst"
|
446
|
-
# Make optional
|
447
|
-
# Gst.init
|
448
|
-
Gst::ElementFactory.make("playbin")
|
449
|
-
|
450
|
-
(('tag:center'))(('note:from gstreamer gem'))
|
306
|
+
(('tag:center'))(('note:from rroonga gem'))
|
451
307
|
|
452
308
|
= Docuemnt
|
453
309
|
|
454
|
-
= Document:
|
310
|
+
= Document: Install
|
455
311
|
|
456
312
|
Install:
|
457
313
|
|
@@ -461,57 +317,15 @@ Install:
|
|
461
317
|
For OS X:
|
462
318
|
...
|
463
319
|
|
464
|
-
=
|
465
|
-
|
466
|
-
You installed Nokogiri
|
467
|
-
|
468
|
-
= Remember: Nokogiri
|
469
|
-
|
470
|
-
% gem install nokogiri
|
471
|
-
...
|
472
|
-
libxml2 is missing. ...
|
473
|
-
...
|
474
|
-
*** extconf.rb failed ***
|
475
|
-
|
476
|
-
= Remember: Nokogiri
|
477
|
-
|
478
|
-
% sudo apt-get install libxml2-dev
|
479
|
-
|
480
|
-
= Remember: Nokogiri
|
481
|
-
|
482
|
-
% gem install nokogiri
|
483
|
-
...
|
484
|
-
libxslt is missing. ...
|
485
|
-
...
|
486
|
-
*** extconf.rb failed ***
|
487
|
-
|
488
|
-
= Document: 1 (better)
|
320
|
+
= Document: Better
|
489
321
|
|
490
322
|
Install:
|
491
323
|
|
492
324
|
% gem install gtk2
|
493
|
-
(with auto "apt-get install")
|
494
|
-
|
495
|
-
= Release
|
496
|
-
|
497
|
-
= Release: 1
|
498
|
-
|
499
|
-
Announce:
|
500
|
-
|
501
|
-
Ruby 1.8.7 was released on June 1st, 2008. In commemoration
|
502
|
-
of the thrid anniversary of Ruby 1.8.7, we have a new
|
503
|
-
patchlevel release today. It includes several bug fixes.
|
504
|
-
For the detail please read the ChangeLog.
|
505
|
-
|
506
|
-
= Release: 1: not good
|
507
|
-
|
508
|
-
((*read the ChangeLog*))
|
509
|
-
|
510
|
-
= Release: 1: better
|
511
325
|
|
512
|
-
|
326
|
+
(('tag:center'))(('note:libgtk2-0-dev is installed automatically'))
|
513
327
|
|
514
|
-
|
328
|
+
(('tag:center'))(('note:"gem install GEM_NAME" is popular install way'))
|
515
329
|
|
516
330
|
= Wrap up
|
517
331
|
|
@@ -523,24 +337,37 @@ TODO
|
|
523
337
|
= This talk's goal
|
524
338
|
|
525
339
|
(('tag:as-large-as-possible'))
|
526
|
-
You know
|
340
|
+
You know\nhow to develop more better softwares
|
341
|
+
|
342
|
+
= More better
|
343
|
+
|
344
|
+
Ruby-ish\n
|
345
|
+
Similar to others
|
527
346
|
|
528
347
|
= Key idea
|
529
348
|
|
349
|
+
(('tag:left'))
|
350
|
+
(('tag:margin-left * 10'))
|
530
351
|
((*R*))emember\n((*t*))han\n((*I*))magine
|
531
352
|
|
532
353
|
= Remember than Imagine
|
533
354
|
|
534
355
|
* Imagine
|
535
|
-
* Difficult
|
356
|
+
* Difficult because you didn't know
|
536
357
|
* Remember
|
537
|
-
* Easy
|
358
|
+
* Easy because you know
|
538
359
|
|
539
360
|
= For development
|
540
361
|
|
541
362
|
* Experience library user
|
542
363
|
* You must done!
|
543
364
|
* Then ((*remember*)) the experience
|
365
|
+
* But it is difficult becuase
|
366
|
+
you don't have experience about "((*remember*))"
|
367
|
+
|
368
|
+
= Experience lib developer
|
369
|
+
|
370
|
+
It's very good exercise
|
544
371
|
|
545
372
|
= The next step
|
546
373
|
|
@@ -549,14 +376,31 @@ You know how to develope more better softwares
|
|
549
376
|
* Apply the key idea
|
550
377
|
* Wrap up & ((*The next step*))
|
551
378
|
|
552
|
-
=
|
379
|
+
= The next step
|
380
|
+
|
381
|
+
Use "library developer" experiense to other things
|
382
|
+
|
383
|
+
= For example,
|
384
|
+
|
385
|
+
Use it to develop other softwares
|
553
386
|
|
554
|
-
=
|
387
|
+
= Develope other softwares
|
555
388
|
|
556
|
-
|
557
|
-
*
|
558
|
-
|
389
|
+
You can remember about
|
390
|
+
* a better bug report
|
391
|
+
* How to reproduce?
|
392
|
+
* a better patch
|
393
|
+
* How to commit?
|
559
394
|
|
560
395
|
= Conclusion
|
561
396
|
|
562
|
-
|
397
|
+
Be a library developer!
|
398
|
+
|
399
|
+
= FYI
|
400
|
+
|
401
|
+
# image
|
402
|
+
# src = clear-code.svg
|
403
|
+
# relative_height = 20
|
404
|
+
|
405
|
+
* We accept applications about our internship
|
406
|
+
* You can develop a library with us
|
data/clear-code.svg
ADDED
@@ -0,0 +1,161 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) -->
|
3
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
|
4
|
+
<!ENTITY ns_svg "http://www.w3.org/2000/svg">
|
5
|
+
<!ENTITY ns_xlink "http://www.w3.org/1999/xlink">
|
6
|
+
]>
|
7
|
+
<svg version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="393.746" height="64.625"
|
8
|
+
viewBox="0 0 393.746 64.625" overflow="visible" enable-background="new 0 0 393.746 64.625" xml:space="preserve">
|
9
|
+
<g>
|
10
|
+
<linearGradient id="XMLID_20_" gradientUnits="userSpaceOnUse" x1="179.6377" y1="37.624" x2="179.6377" y2="108.6575">
|
11
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
12
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
13
|
+
</linearGradient>
|
14
|
+
<path fill="url(#XMLID_20_)" d="M175.268,37.465c-0.168-3.205,0.662-6.361,2.492-9.469c1.828-3.107,5.662-4.773,11.498-4.996v-5.25
|
15
|
+
c-4.145,0.057-7.289,0.893-9.43,2.508c-2.143,1.615-3.787,3.773-4.936,6.473v-7.855h-4.875V63h5.25V37.465z"/>
|
16
|
+
<linearGradient id="XMLID_21_" gradientUnits="userSpaceOnUse" x1="142.4102" y1="37.626" x2="142.4102" y2="108.6586">
|
17
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
18
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
19
|
+
</linearGradient>
|
20
|
+
<path fill="url(#XMLID_21_)" d="M152.643,33.941c-0.07,0.672-0.242,1.188-0.52,1.551c-1.15,0.84-3.303,1.391-6.459,1.656
|
21
|
+
s-6.563,0.699-10.223,1.301c-3.66,0.602-6.808,1.859-9.445,3.773c-2.637,1.916-4.012,4.957-4.123,9.121
|
22
|
+
c0.027,3.66,1.287,6.678,3.779,9.053s6.076,3.615,10.751,3.729c4.389-0.168,7.918-1.063,10.588-2.682
|
23
|
+
c2.668-1.619,4.688-3.211,6.059-4.775c-0.168,2.195,0.285,3.854,1.361,4.979s2.719,1.701,4.928,1.729
|
24
|
+
c1.033-0.057,1.844-0.141,2.432-0.25c0.586-0.111,0.979-0.166,1.174-0.166V59.25c-0.225,0-0.49,0.021-0.797,0.063
|
25
|
+
c-0.309,0.043-0.588,0.063-0.838,0.063c-1.326-0.027-2.217-0.246-2.672-0.656c-0.457-0.41-0.67-0.883-0.641-1.422V29.791
|
26
|
+
c0.027-3.232-1.27-6.02-3.891-8.361c-2.621-2.34-6.775-3.566-12.463-3.68c-6.094,0.168-10.542,1.693-13.351,4.58
|
27
|
+
s-4.197,6.127-4.17,9.725h5c0.082-2.602,1.074-4.865,2.973-6.791c1.899-1.926,5.166-2.93,9.8-3.014
|
28
|
+
c5.592,0.277,8.869,1.607,9.83,3.986c0.961,2.381,1.301,4.082,1.021,5.105C152.748,32.404,152.713,33.271,152.643,33.941z
|
29
|
+
M152.748,47.568c-0.168,3.727-1.793,6.66-4.875,8.801c-3.082,2.143-6.682,3.229-10.799,3.256
|
30
|
+
c-3.358-0.084-5.859-0.918-7.496-2.502c-1.637-1.582-2.455-3.467-2.455-5.654c0.055-2.766,0.986-4.807,2.793-6.121
|
31
|
+
s4.077-2.23,6.806-2.748c2.73-0.516,5.537-0.928,8.422-1.236c2.883-0.307,5.418-0.781,7.604-1.426V47.568z"/>
|
32
|
+
<linearGradient id="XMLID_22_" gradientUnits="userSpaceOnUse" x1="25.689" y1="37.625" x2="25.689" y2="108.6543">
|
33
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
34
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
35
|
+
</linearGradient>
|
36
|
+
<path fill="url(#XMLID_22_)" d="M27.327,64.625c8.059-0.309,14.08-2.654,18.068-7.041s5.982-9.234,5.982-14.543h-5.5
|
37
|
+
c-0.057,4.674-1.707,8.613-4.953,11.818s-7.695,4.877-13.348,5.016c-8.227-0.363-13.957-3.355-17.188-8.979
|
38
|
+
c-3.232-5.623-4.777-11.764-4.637-18.422c0.055-8.557,1.924-15.254,5.604-20.092S20.288,5.084,27.116,5
|
39
|
+
c6.338,0.254,10.953,1.969,13.844,5.148s4.32,6.34,4.293,9.477h5.625c0.027-4.51-1.855-8.838-5.646-12.984
|
40
|
+
C41.438,2.494,35.499,0.281,27.411,0C18.862,0.084,12.178,2.959,7.358,8.623s-7.271,13.531-7.355,23.6
|
41
|
+
c-0.086,8.748,2.023,16.252,6.326,22.51C10.629,60.992,17.629,64.289,27.327,64.625z"/>
|
42
|
+
<linearGradient id="XMLID_23_" gradientUnits="userSpaceOnUse" x1="64.1553" y1="37.624" x2="64.1553" y2="108.6556">
|
43
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
44
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
45
|
+
</linearGradient>
|
46
|
+
<rect x="61.655" y="1.75" fill="url(#XMLID_23_)" width="5" height="61.25"/>
|
47
|
+
<linearGradient id="XMLID_24_" gradientUnits="userSpaceOnUse" x1="95.7114" y1="37.626" x2="95.7114" y2="108.6586">
|
48
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
49
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
50
|
+
</linearGradient>
|
51
|
+
<path fill="url(#XMLID_24_)" d="M95.96,64.125c6.076-0.281,10.648-1.998,13.715-5.154s4.6-6.301,4.6-9.43h-5.125
|
52
|
+
c-0.029,2.445-1.174,4.744-3.436,6.896s-5.373,3.299-9.334,3.438c-5.107-0.168-8.846-2.002-11.217-5.504s-3.541-7.668-3.514-12.496
|
53
|
+
h33.25c0-4.883-0.453-8.795-1.359-11.74c-0.906-2.943-2.279-5.281-4.119-7.012c-1.063-1.166-2.678-2.332-4.844-3.498
|
54
|
+
c-2.168-1.166-4.984-1.791-8.449-1.875c-5.988,0.027-10.732,2.037-14.23,6.029c-3.5,3.992-5.291,9.783-5.373,17.375
|
55
|
+
c-0.057,6.094,1.434,11.383,4.471,15.867C84.031,61.506,89.019,63.873,95.96,64.125z M85.708,26.959
|
56
|
+
c2.482-3,5.871-4.568,10.168-4.709c4.451,0.084,7.832,1.578,10.141,4.48s3.479,6.617,3.508,11.145H81.9
|
57
|
+
C81.955,33.598,83.224,29.959,85.708,26.959z"/>
|
58
|
+
<linearGradient id="XMLID_25_" gradientUnits="userSpaceOnUse" x1="374.5576" y1="37.626" x2="374.5576" y2="108.6586">
|
59
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
60
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
61
|
+
</linearGradient>
|
62
|
+
<path fill="url(#XMLID_25_)" d="M392.387,30.135c-0.906-2.943-2.279-5.281-4.119-7.012c-1.063-1.166-2.678-2.332-4.844-3.498
|
63
|
+
c-2.168-1.166-4.984-1.791-8.449-1.875c-5.988,0.027-10.732,2.037-14.23,6.029c-3.5,3.992-5.291,9.783-5.373,17.375
|
64
|
+
c-0.057,6.094,1.434,11.383,4.471,15.867c3.035,4.484,8.023,6.852,14.965,7.104c6.076-0.281,10.648-1.998,13.715-5.154
|
65
|
+
s4.6-6.301,4.6-9.43h-5.125c-0.029,2.445-1.174,4.744-3.436,6.896s-5.373,3.299-9.334,3.438c-5.107-0.168-8.846-2.002-11.217-5.504
|
66
|
+
s-3.541-7.668-3.514-12.496h33.25C393.746,36.992,393.293,33.08,392.387,30.135z M360.746,37.875
|
67
|
+
c0.055-4.277,1.324-7.916,3.809-10.916c2.482-3,5.871-4.568,10.168-4.709c4.451,0.084,7.832,1.578,10.141,4.48
|
68
|
+
s3.479,6.617,3.508,11.145H360.746z"/>
|
69
|
+
<linearGradient id="XMLID_26_" gradientUnits="userSpaceOnUse" x1="325.7422" y1="37.6221" x2="325.7422" y2="108.6547">
|
70
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
71
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
72
|
+
</linearGradient>
|
73
|
+
<path fill="url(#XMLID_26_)" d="M340.742,26.563c-1.004-2.145-2.74-4.121-5.209-5.93s-5.654-2.77-9.557-2.883
|
74
|
+
c-6.898,0.141-12.004,2.381-15.313,6.721s-4.949,9.846-4.922,16.516c0.055,7.127,1.773,12.736,5.152,16.83s8.07,6.195,14.074,6.309
|
75
|
+
c4.238-0.113,7.621-1.014,10.145-2.701c2.523-1.689,4.4-3.666,5.629-5.93V63h5V1.75h-5V26.563z M336.967,55.227
|
76
|
+
c-2.711,3.043-6.375,4.551-10.99,4.523c-5.527-0.223-9.428-2.24-11.701-6.053c-2.273-3.811-3.369-8.02-3.283-12.627
|
77
|
+
c-0.057-5.34,1.107-9.777,3.492-13.311s6.342-5.369,11.869-5.51c4.754,0.057,8.395,1.727,10.926,5.008
|
78
|
+
c2.531,3.283,3.811,7.916,3.838,13.896C341.061,47.494,339.678,52.184,336.967,55.227z"/>
|
79
|
+
<linearGradient id="XMLID_27_" gradientUnits="userSpaceOnUse" x1="278.2129" y1="37.626" x2="278.2129" y2="108.6586">
|
80
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
81
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
82
|
+
</linearGradient>
|
83
|
+
<path fill="url(#XMLID_27_)" d="M278.195,17.75c-7.473,0.223-12.756,2.609-15.848,7.16s-4.596,9.881-4.512,15.992
|
84
|
+
c-0.111,6.094,1.371,11.424,4.449,15.992c3.078,4.57,8.381,6.979,15.91,7.23c7.803-0.309,13.188-2.807,16.152-7.502
|
85
|
+
s4.377-9.936,4.238-15.721c0.082-6.363-1.455-11.764-4.615-16.201S285.551,17.945,278.195,17.75z M289.791,54.326
|
86
|
+
c-2.391,3.504-6.256,5.313-11.596,5.424c-5.289-0.111-9.135-1.926-11.541-5.445c-2.406-3.518-3.596-8.014-3.568-13.486
|
87
|
+
c-0.027-5.367,1.203-9.777,3.693-13.227s6.379-5.23,11.668-5.342c5.367,0.168,9.205,2.039,11.512,5.613s3.432,7.949,3.377,13.123
|
88
|
+
C293.363,46.377,292.182,50.822,289.791,54.326z"/>
|
89
|
+
<g>
|
90
|
+
<linearGradient id="XMLID_28_" gradientUnits="userSpaceOnUse" x1="223.7988" y1="37.6279" x2="223.7988" y2="108.6677">
|
91
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
92
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
93
|
+
</linearGradient>
|
94
|
+
<path fill="url(#XMLID_28_)" d="M224.074,0.081c-7.198,0.132-13.027,1.608-17.498,4.417h34.445
|
95
|
+
C236.807,1.706,231.174,0.219,224.074,0.081z"/>
|
96
|
+
<linearGradient id="XMLID_29_" gradientUnits="userSpaceOnUse" x1="223.5742" y1="37.624" x2="223.5742" y2="108.6555">
|
97
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
98
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
99
|
+
</linearGradient>
|
100
|
+
<path fill="url(#XMLID_29_)" d="M224.074,11.206c2.342,0.06,4.392,0.409,6.167,1.032h17.711c-1.063-2.07-2.484-3.979-4.31-5.706
|
101
|
+
c-0.344-0.325-0.725-0.616-1.095-0.917h-37.586c-1.46,1.111-2.755,2.385-3.874,3.831c-0.688,0.889-1.308,1.827-1.893,2.792h18.388
|
102
|
+
C219.465,11.614,221.628,11.27,224.074,11.206z"/>
|
103
|
+
<linearGradient id="XMLID_30_" gradientUnits="userSpaceOnUse" x1="205.4512" y1="37.624" x2="205.4512" y2="108.6555">
|
104
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
105
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
106
|
+
</linearGradient>
|
107
|
+
<path fill="url(#XMLID_30_)" d="M210.559,17.624c1.113-1.815,2.637-3.224,4.523-4.27h-16.517
|
108
|
+
c-1.128,2.052-2.058,4.249-2.746,6.623h13.511C209.701,19.163,210.101,18.371,210.559,17.624z"/>
|
109
|
+
<linearGradient id="XMLID_31_" gradientUnits="userSpaceOnUse" x1="241.376" y1="37.624" x2="241.376" y2="108.6555">
|
110
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
111
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
112
|
+
</linearGradient>
|
113
|
+
<path fill="url(#XMLID_31_)" d="M234.299,14.542c1.841,1.619,2.979,3.432,3.426,5.436h12.385
|
114
|
+
c-0.186-2.364-0.716-4.574-1.607-6.623h-15.859C233.235,13.709,233.795,14.099,234.299,14.542z"/>
|
115
|
+
<linearGradient id="XMLID_32_" gradientUnits="userSpaceOnUse" x1="201.6338" y1="37.624" x2="201.6338" y2="108.6555">
|
116
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
117
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
118
|
+
</linearGradient>
|
119
|
+
<path fill="url(#XMLID_32_)" d="M208.844,21.094h-13.303c-0.535,2.088-0.907,4.297-1.117,6.623h12.797
|
120
|
+
C207.518,25.32,208.053,23.107,208.844,21.094z"/>
|
121
|
+
<linearGradient id="XMLID_33_" gradientUnits="userSpaceOnUse" x1="200.6426" y1="37.623" x2="200.6426" y2="108.6546">
|
122
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
123
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
124
|
+
</linearGradient>
|
125
|
+
<path fill="url(#XMLID_33_)" d="M206.945,33.017c-0.026-1.452,0.026-2.843,0.146-4.183h-12.77
|
126
|
+
c-0.087,1.306-0.139,2.637-0.127,4.015c-0.006,0.89,0.031,1.751,0.07,2.608h12.757C206.972,34.664,206.941,33.854,206.945,33.017z
|
127
|
+
"/>
|
128
|
+
<linearGradient id="XMLID_34_" gradientUnits="userSpaceOnUse" x1="201.4766" y1="37.623" x2="201.4766" y2="108.6546">
|
129
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
130
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
131
|
+
</linearGradient>
|
132
|
+
<path fill="url(#XMLID_34_)" d="M207.121,36.574h-12.798c0.164,2.328,0.509,4.531,1.017,6.623h13.29
|
133
|
+
C207.859,41.203,207.36,38.992,207.121,36.574z"/>
|
134
|
+
<linearGradient id="XMLID_35_" gradientUnits="userSpaceOnUse" x1="205.0684" y1="37.624" x2="205.0684" y2="108.6555">
|
135
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
136
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
137
|
+
</linearGradient>
|
138
|
+
<path fill="url(#XMLID_35_)" d="M211.018,47.634c-0.744-1.022-1.377-2.134-1.917-3.319h-13.467
|
139
|
+
c0.655,2.361,1.525,4.574,2.636,6.623h16.233C213.156,50.062,211.988,48.969,211.018,47.634z"/>
|
140
|
+
<linearGradient id="XMLID_36_" gradientUnits="userSpaceOnUse" x1="241.373" y1="37.624" x2="241.373" y2="108.6555">
|
141
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
142
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
143
|
+
</linearGradient>
|
144
|
+
<path fill="url(#XMLID_36_)" d="M234.182,49.733c-0.498,0.445-1.038,0.839-1.598,1.204h15.771c0.94-2.024,1.542-4.232,1.808-6.623
|
145
|
+
h-12.31C237.302,46.224,236.084,48.031,234.182,49.733z"/>
|
146
|
+
<linearGradient id="XMLID_37_" gradientUnits="userSpaceOnUse" x1="223.3477" y1="37.624" x2="223.3477" y2="108.6555">
|
147
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
148
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
149
|
+
</linearGradient>
|
150
|
+
<path fill="url(#XMLID_37_)" d="M242.689,58.161c2.159-1.782,3.833-3.827,5.077-6.106h-17.263
|
151
|
+
c-1.959,0.846-4.209,1.32-6.766,1.401c-2.716-0.053-5.084-0.53-7.129-1.401h-17.682c0.683,1.137,1.413,2.241,2.244,3.276
|
152
|
+
c1,1.245,2.135,2.355,3.39,3.347H242C242.228,58.502,242.468,58.344,242.689,58.161z"/>
|
153
|
+
<linearGradient id="XMLID_38_" gradientUnits="userSpaceOnUse" x1="223.2773" y1="37.627" x2="223.2773" y2="108.6514">
|
154
|
+
<stop offset="0" style="stop-color:#008CFF"/>
|
155
|
+
<stop offset="1" style="stop-color:#FFFFFF"/>
|
156
|
+
</linearGradient>
|
157
|
+
<path fill="url(#XMLID_38_)" d="M240.446,59.795h-34.339c4.486,2.947,10.359,4.504,17.631,4.661
|
158
|
+
C230.331,64.336,235.895,62.775,240.446,59.795z"/>
|
159
|
+
</g>
|
160
|
+
</g>
|
161
|
+
</svg>
|
data/config.yaml
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rabbit-slide-kou-rubykaigi-2013
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2013.6.1.
|
4
|
+
version: 2013.6.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-05-
|
12
|
+
date: 2013-05-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rabbit
|
@@ -83,6 +83,7 @@ files:
|
|
83
83
|
- config.yaml
|
84
84
|
- Rakefile
|
85
85
|
- README.rd
|
86
|
+
- clear-code.svg
|
86
87
|
- be-a-library-developer.rab
|
87
88
|
- pdf/rubykaigi-2013-be-a-library-developer.pdf
|
88
89
|
homepage: http://slide.rabbit-shocker.org/authors/kou/rubykaigi-2013/
|