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 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
@@ -31,16 +31,14 @@
31
31
  = This talk's goal
32
32
 
33
33
  (('tag:as-large-as-possible'))
34
- You know how to develope more better softwares
34
+ You know\nhow to develop more better softwares
35
35
 
36
36
  = More better?
37
37
 
38
- By example
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: 1 (better)
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: 1 (better)
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
- = API: 3 (better?)
62
+ Why is it\nmore better?
83
63
 
84
- # coderay ruby
85
- # low level
86
- window.get_property("visible")
87
- # better
88
- # ???: hint: "visible" is bool
64
+ = API: Because
89
65
 
90
- (('tag:center'))(('note:from gtk2 gem'))
66
+ Because it's more Ruby-ish
91
67
 
92
- = API: 3 (better)
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
- = API: 4
70
+ -ish ==\n
71
+ Similar to others
103
72
 
104
- # coderay ruby
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
- (('tag:center'))(('note:from gstreamer gem'))
75
+ File
121
76
 
122
- = API: 5
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
- (('tag:center'))(('note:from gstreamer gem'))
81
+ # Setup
82
+ file = File.open(path)
83
+ file.read
84
+ # Teardown
85
+ file.close
131
86
 
132
- = API: 5 (better)
87
+ = Remember: File
133
88
 
134
89
  # coderay ruby
135
- require "gst"
136
- # Make optional
137
- # Gst.init
138
- Gst::ElementFactory.make("playbin")
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
- = Implementation
95
+ = API: Better (reprise)
143
96
 
144
97
  # coderay ruby
145
- class << Gst
146
- def const_missing(name)
147
- init; const_get(name); end
148
- def init(*argv)
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
- = Release: 1: not good
103
+ (('tag:center'))(('note:from cairo gem'))
185
104
 
186
- ((*read the ChangeLog*))
105
+ = More better
187
106
 
188
- = Release: 1: better
107
+ Ruby-ish
189
108
 
190
- How?\nLet's think later
109
+ = In other words
191
110
 
192
- = Confirmation
111
+ Similar to others
193
112
 
194
- = This talk's goal
113
+ = The goal (reprise)
195
114
 
196
115
  (('tag:as-large-as-possible'))
197
- You know how to develope more better softwares
116
+ You know\nhow to develop more better softwares
198
117
 
199
- = More better
118
+ = In other words
200
119
 
201
- Showed\nby examples
120
+ (('tag:as-large-as-possible'))
121
+ You know\nwhat is "similar" and do similarly
202
122
 
203
- = Table of contents
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
- = API
173
+ = The goal (reprise)
262
174
 
263
- = API: 1
175
+ (('tag:as-large-as-possible'))
176
+ You know\nhow to develop more better softwares
264
177
 
265
- # coderay ruby
266
- context.save
267
- context.circle(50, 50, 10)
268
- context.stroke
269
- context.restore
178
+ = To archive the goal
270
179
 
271
- (('tag:center'))(('note:from cairo gem'))
180
+ What should you experience?
272
181
 
273
- = API: 1: Point
182
+ = What
274
183
 
275
- # coderay ruby
276
- context.save # Setup
277
- context.circle(50, 50, 10)
278
- context.stroke
279
- context.restore # Teardown
184
+ Ruby user
280
185
 
281
- (('tag:center'))(('note:from cairo gem'))
186
+ = Ruby user?
282
187
 
283
- = Remember
188
+ You experienced!
284
189
 
285
- File
190
+ = Try
286
191
 
287
- = Remember: File
192
+ = API: Getter
288
193
 
289
194
  # coderay ruby
195
+ window.get_property("opacity")
196
+ # What is better API???
290
197
 
291
- # Setup
292
- file = File.open(path)
293
- file.read
294
- # Teardown
295
- file.close
198
+ (('tag:center'))(('note:from gtk2 gem'))
296
199
 
297
- = Remember: File
200
+ = API: Getter (better)
298
201
 
299
202
  # coderay ruby
300
- # Ensure teardown
301
- File.open(path) do |file|
302
- file.read
303
- raise "error!"
304
- end
203
+ window.get_property("opacity")
204
+ window.opacity # Better
305
205
 
306
- = do ... end style
206
+ (('tag:center'))(('note:from gtk2 gem'))
307
207
 
308
- Merit:\n
309
- Ensure close
208
+ = Now,
310
209
 
311
- = API: 1
210
+ (('tag:as-large-as-possible'))
211
+ You will find "remember" is "difficult"
312
212
 
313
- # coderay ruby
314
- context.save # Setup
315
- context.circle(50, 50, 10)
316
- context.stroke
317
- context.restore # Teardown
213
+ = Difficult!
318
214
 
319
- (('tag:center'))(('note:from cairo gem'))
215
+ Remember!?\n
216
+ What is\n"Ruby-ish"!?
320
217
 
321
- = API: 1 (better)
218
+ = Difficult?
322
219
 
323
- # coderay ruby
324
- # Ensure teardown
325
- context.save do
326
- context.circle(50, 50, 10)
327
- context.stroke
328
- end
220
+ * Imagine
221
+ * Difficult because you didn't know
222
+ * Remember
223
+ * Easy because you know ← ((*???*))
329
224
 
330
- (('tag:center'))(('note:from cairo gem'))
225
+ = Because
331
226
 
332
- = API: 2
227
+ (('tag:as-large-as-possible'))
228
+ You don't have experience about\n
229
+ "((*R*))emember ((*t*))han ((*I*))magine"
333
230
 
334
- # coderay ruby
335
- # low level
336
- window.get_property("opacity")
337
- # better
338
- window.opacity
231
+ = Your status
339
232
 
340
- (('tag:center'))(('note:from gtk2 gem'))
233
+ * Experience
234
+ * ((*Ask*)) (Heard) ← You are here!
235
+ * Observe
341
236
 
342
- = API: 2: Point
237
+ = To archive the goal
343
238
 
344
- property\n==\nattribute
239
+ What should you experience?
345
240
 
346
- = Remember
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
- Normal object
255
+ Considers them ((*many times*))
349
256
 
350
- = API: 2
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
- # low level
271
+ # Low level
354
272
  window.get_property("opacity")
355
- # better
273
+ # Better
356
274
  window.opacity
357
275
 
358
276
  (('tag:center'))(('note:from gtk2 gem'))
359
277
 
360
- = API: 3 (better?)
278
+ = API: Better?
361
279
 
362
280
  # coderay ruby
363
- # low level
281
+ # Low level
364
282
  window.get_property("visible")
365
- # better
283
+ # Better
366
284
  # ???: hint: "visible" is bool
367
285
 
368
286
  (('tag:center'))(('note:from gtk2 gem'))
369
287
 
370
- = Remember
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
- # low level
291
+ # Low level
384
292
  window.get_property("visible")
385
- # better: "?" suffix
293
+ # Better
386
294
  window.visible?
387
295
 
388
296
  (('tag:center'))(('note:from gtk2 gem'))
389
297
 
390
- = API: 4
298
+ = API: Getter
391
299
 
392
300
  # coderay ruby
393
- # better for record as collection
301
+ # Better for record as collection
394
302
  record["name"]
395
- # better for record as object
303
+ # Better for record as object
396
304
  record.name
397
305
 
398
- (('tag:center'))(('note:from groonga gem'))
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: 1
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
- = Remember
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
- How?\nLet's think later
326
+ (('tag:center'))(('note:libgtk2-0-dev is installed automatically'))
513
327
 
514
- TODO
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 how to develope more better softwares
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
- = Be a library developer
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
- = Why?
387
+ = Develope other softwares
555
388
 
556
- * It is good experience for "remember than imagine"
557
- * "library developer" experience is useful to
558
- develope other softwares such as Ruby
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
- TODO
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
@@ -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>
@@ -6,10 +6,10 @@ tags:
6
6
  - rubykaigi
7
7
  - library
8
8
  presentation_date: 2013/06/01
9
- version: 2013.6.1.0
9
+ version: 2013.6.1.1
10
10
  licenses:
11
11
  - CC BY-SA 3.0
12
- slideshare_id:
12
+ slideshare_id: rubykaigi-2013
13
13
  speaker_deck_id:
14
14
  ustream_id:
15
15
  vimeo_id:
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.0
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-23 00:00:00.000000000 Z
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/