rabbit-slide-myokoym-sinatrasapporo-20141220 2014.12.20.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rabbit +1 -0
- data/2013-14-summary.rab +532 -0
- data/GTK.png +0 -0
- data/README.md +24 -0
- data/Rakefile +17 -0
- data/chuork01-ss.png +0 -0
- data/config.yaml +22 -0
- data/firehats.png +0 -0
- data/lavie.png +0 -0
- data/logo-gy.svg +208 -0
- data/my-icon.png +0 -0
- data/osc2014hokkaido.jpg +0 -0
- data/pdf/sinatrasapporo-20141220-2013-14-season.pdf +0 -0
- data/ruby-kaja-2013.jpg +0 -0
- metadata +86 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: fbdd48eb608f5a57b1c5dbee46e3429a9afd9964
|
4
|
+
data.tar.gz: 94c7ae94a577f8b26100279621ce3407a560d697
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 57c2a2850c8f16977159f2fa46e0787e2cffc3019dd41b89ced8c26b2b32a07f1ad1292b6d0bf091301d94a483ff9eedc6f0091903686c981c5ab9a969f10e32
|
7
|
+
data.tar.gz: 074f4708a5ebe99900033f44af0ae28a16093871759945329ca81d0e98fc2e828187be9d56390371376c6b72aee706d9866f993c5803249237c1cf166d38bb70
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2013-14-summary.rab
|
data/2013-14-summary.rab
ADDED
@@ -0,0 +1,532 @@
|
|
1
|
+
= ゲーム vs. Sinatra
|
2
|
+
|
3
|
+
# : subtitle
|
4
|
+
# Sinatra札幌2013-14 my活動報告
|
5
|
+
: author
|
6
|
+
Masafumi Yokoyama
|
7
|
+
# : institution
|
8
|
+
# Sinatra札幌
|
9
|
+
: content-source
|
10
|
+
Sinatra/Padrino勉強会
|
11
|
+
: date
|
12
|
+
2014/12/20
|
13
|
+
: allotted-time
|
14
|
+
40m
|
15
|
+
: theme
|
16
|
+
nyankosakana
|
17
|
+
|
18
|
+
= 自己紹介
|
19
|
+
|
20
|
+
# image
|
21
|
+
# src = my-icon.png
|
22
|
+
# relative_width = 40
|
23
|
+
# align = right
|
24
|
+
# relative_argin_right = -10
|
25
|
+
|
26
|
+
* @myokoym
|
27
|
+
* Sinatra札幌
|
28
|
+
* 将棋アマ三段
|
29
|
+
* ヌルゲーマー
|
30
|
+
|
31
|
+
= 札幌の将棋事情
|
32
|
+
|
33
|
+
* 北海道将棋会館
|
34
|
+
* 札幌市中央区)南4西9
|
35
|
+
* 北海道将棋連盟のブログ
|
36
|
+
* (('note:http://doshoren.blog.fc2.com/'))
|
37
|
+
* 札幌将棋情報のブログ
|
38
|
+
* (('note:http://blogs.yahoo.co.jp/sapporoshogijoho'))
|
39
|
+
|
40
|
+
= Ruby Kaja 2013
|
41
|
+
|
42
|
+
# image
|
43
|
+
# src = ruby-kaja-2013.jpg
|
44
|
+
# relative_height = 100
|
45
|
+
|
46
|
+
= よろしくお願いします。\n\nm(_ _)m
|
47
|
+
|
48
|
+
= 話すこと
|
49
|
+
|
50
|
+
* 第一部
|
51
|
+
* 2013年から2014年にかけてのSinatra札幌での活動について
|
52
|
+
* 第二部
|
53
|
+
* 表題の件
|
54
|
+
|
55
|
+
= 第一部
|
56
|
+
|
57
|
+
== property
|
58
|
+
|
59
|
+
:as_large_as_possible
|
60
|
+
true
|
61
|
+
|
62
|
+
= 年表(序盤)
|
63
|
+
|
64
|
+
* 2013/11/24
|
65
|
+
* 最初の勉強会
|
66
|
+
* Sinatraと見せかけてRabbitの話
|
67
|
+
* 2014/02/08
|
68
|
+
* 札幌市中央区Ruby会議01
|
69
|
+
* RubyでGUIする話
|
70
|
+
|
71
|
+
= 札幌市中央区Ruby会議01
|
72
|
+
|
73
|
+
# image
|
74
|
+
# src = chuork01-ss.png
|
75
|
+
# relative_height = 100
|
76
|
+
# reflect_ratio = 0.1
|
77
|
+
|
78
|
+
== プロパティ
|
79
|
+
|
80
|
+
:enable-title-on-image
|
81
|
+
true
|
82
|
+
|
83
|
+
= 年表(中盤)
|
84
|
+
|
85
|
+
* 2014/05/10
|
86
|
+
* 二回目の勉強会
|
87
|
+
* Sinatraと見せかけてGosu(ゲーム用ライブラリ)の話
|
88
|
+
* 2014/06/14
|
89
|
+
* OSC 2014 Hokkaido
|
90
|
+
* Sinatraの帽子を使ったゲームを展示
|
91
|
+
|
92
|
+
= OSC 2014 Hokkaido
|
93
|
+
|
94
|
+
# image
|
95
|
+
# src = osc2014hokkaido.jpg
|
96
|
+
# relative_height = 100
|
97
|
+
# reflect_ratio = 0.1
|
98
|
+
|
99
|
+
== プロパティ
|
100
|
+
|
101
|
+
:enable-title-on-image
|
102
|
+
true
|
103
|
+
|
104
|
+
= 年表(終盤)
|
105
|
+
|
106
|
+
* 2014/08/17
|
107
|
+
* SinatraSapporoSuturday#01
|
108
|
+
* ArduinoでLEDをチカチカして納涼
|
109
|
+
* 2014/10/11、2014/11/16
|
110
|
+
* SinatraSapporoSaturday#02
|
111
|
+
* SinatraSapporoSunday#03
|
112
|
+
* Padrinoを使い始めた
|
113
|
+
|
114
|
+
= ちょっとwait
|
115
|
+
|
116
|
+
# coderay ruby
|
117
|
+
events.count |event|
|
118
|
+
event.Sinatraメイン?
|
119
|
+
end
|
120
|
+
|
121
|
+
= #=> 0
|
122
|
+
|
123
|
+
= 理由
|
124
|
+
|
125
|
+
(('tag:center'))
|
126
|
+
何かと組み合わせて使っていた
|
127
|
+
|
128
|
+
= 何か
|
129
|
+
|
130
|
+
* 1. Rabbit
|
131
|
+
* (('note:http://slide.rabbit-shocker.org/authors/myokoym/sinatrasapporo01/'))
|
132
|
+
|
133
|
+
* 2. Gosu
|
134
|
+
* (('note:http://slide.rabbit-shocker.org/authors/myokoym/sinatrasapporo02/'))
|
135
|
+
|
136
|
+
= 何か
|
137
|
+
|
138
|
+
* ((*1. Rabbit*))
|
139
|
+
* (('note:http://slide.rabbit-shocker.org/authors/myokoym/sinatrasapporo01/'))
|
140
|
+
|
141
|
+
* 2. Gosu
|
142
|
+
* (('note:http://slide.rabbit-shocker.org/authors/myokoym/sinatrasapporo02/'))
|
143
|
+
|
144
|
+
= Rabbit
|
145
|
+
|
146
|
+
# blockquote
|
147
|
+
Rubyist用プレゼンツール
|
148
|
+
|
149
|
+
(('note:http://rabbit-shocker.org/'))
|
150
|
+
|
151
|
+
= Lavieさん
|
152
|
+
|
153
|
+
# image
|
154
|
+
# src = lavie.png
|
155
|
+
# relative_height = 100
|
156
|
+
|
157
|
+
= Rabbit
|
158
|
+
|
159
|
+
* 文章はテキストで記述
|
160
|
+
* RD、Wiki、Markdownなど
|
161
|
+
* 装飾(テーマ)はRubyで記述
|
162
|
+
* RubyGemsで簡単に追加
|
163
|
+
* バージョン管理しやすい
|
164
|
+
|
165
|
+
= Ruby-GNOME2
|
166
|
+
|
167
|
+
# image
|
168
|
+
# src = logo-gy.svg
|
169
|
+
# relative_height = 80
|
170
|
+
|
171
|
+
(('tag:center'))
|
172
|
+
(('note:http://ruby-gnome2.sourceforge.jp/ja/'))
|
173
|
+
|
174
|
+
= Ruby-GNOME2
|
175
|
+
|
176
|
+
# blockquote
|
177
|
+
Ruby-GNOME2はGNOMEで使用されるGTK+などの主要なライブラリの
|
178
|
+
Rubyバインディング集です。
|
179
|
+
|
180
|
+
(('note:http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/49734'))
|
181
|
+
|
182
|
+
= Ruby-GNOME2
|
183
|
+
|
184
|
+
# blockquote
|
185
|
+
GTK+はマルチプラットフォーム対応のGUIツールキットなので、マ
|
186
|
+
ルチプラットフォーム対応のGUIアプリケーションをRubyで書くこ
|
187
|
+
とができます。
|
188
|
+
|
189
|
+
(('note:http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/49734'))
|
190
|
+
|
191
|
+
= バージョンについて
|
192
|
+
|
193
|
+
# image
|
194
|
+
# src = GTK.png
|
195
|
+
# relative_width = 30
|
196
|
+
# align = right
|
197
|
+
|
198
|
+
* Ruby/GTK2
|
199
|
+
* Ruby/GTK3
|
200
|
+
|
201
|
+
= Ruby/GTK2
|
202
|
+
|
203
|
+
GTK+ 2のRubyバインディング
|
204
|
+
|
205
|
+
* gem install gtk2
|
206
|
+
* 旧バージョン
|
207
|
+
* GTK+ 2の開発はほぼ終了
|
208
|
+
* 採用実績が多く、安定性は高い
|
209
|
+
* Rabbit(プレゼンツール)
|
210
|
+
* mikutter(Twitterクライアント)
|
211
|
+
|
212
|
+
= Ruby/GTK3
|
213
|
+
|
214
|
+
GTK+ 3のRubyバインディング
|
215
|
+
|
216
|
+
* gem install gtk3
|
217
|
+
* 新バージョン
|
218
|
+
* GTK+ 3に対応
|
219
|
+
* GObject Introspection
|
220
|
+
* 新機能(CSS対応の強化など)
|
221
|
+
* 新ウィジェット
|
222
|
+
|
223
|
+
= 迷ったら
|
224
|
+
|
225
|
+
* Twitterやメーリングリストなどでご相談ください
|
226
|
+
* 日本語MLあります
|
227
|
+
* ruby-gnome2-devel-ja
|
228
|
+
|
229
|
+
= 何か
|
230
|
+
|
231
|
+
* 1. Rabbit
|
232
|
+
* (('note:http://slide.rabbit-shocker.org/authors/myokoym/sinatrasapporo01/'))
|
233
|
+
|
234
|
+
* ((*2. Gosu*))
|
235
|
+
* (('note:http://slide.rabbit-shocker.org/authors/myokoym/sinatrasapporo02/'))
|
236
|
+
|
237
|
+
= Gosu
|
238
|
+
|
239
|
+
# blockquote
|
240
|
+
Gosu is a 2D game development library for the Ruby and
|
241
|
+
C++ programming languages, available for Mac OS X,
|
242
|
+
Windows, and Linux.
|
243
|
+
|
244
|
+
(('note:http://www.libgosu.org/'))
|
245
|
+
|
246
|
+
= Gosu
|
247
|
+
|
248
|
+
* 2Dゲーム開発ライブラリ
|
249
|
+
* RubyとC++向け
|
250
|
+
* マルチプラットフォーム
|
251
|
+
* OS X、Windows、Linux、Raspbian
|
252
|
+
* iOS(C++)、Android(WIP)
|
253
|
+
|
254
|
+
= Gosu 0.8.6
|
255
|
+
|
256
|
+
* 現時点での最新リリース版
|
257
|
+
* gem install gosu
|
258
|
+
* SDL2ベース
|
259
|
+
* Ruby 2.1対応
|
260
|
+
* RubyInstaller for Windowsも
|
261
|
+
|
262
|
+
= SDL
|
263
|
+
|
264
|
+
* Simple DirectMedia Layer
|
265
|
+
* マルチメディアライブラリ
|
266
|
+
* 主にゲーム用途
|
267
|
+
* C言語で記述
|
268
|
+
* マルチプラットフォーム
|
269
|
+
|
270
|
+
= SDL2
|
271
|
+
|
272
|
+
* zlib License
|
273
|
+
* MITより緩い
|
274
|
+
* iOS、Android対応
|
275
|
+
* などなど
|
276
|
+
|
277
|
+
= 第一部まとめ
|
278
|
+
|
279
|
+
= Sinatra最高
|
280
|
+
|
281
|
+
# image
|
282
|
+
# src = firehats.png
|
283
|
+
# relative_height = 100
|
284
|
+
# reflect_ratio = 0.1
|
285
|
+
|
286
|
+
== プロパティ
|
287
|
+
|
288
|
+
:enable-title-on-image
|
289
|
+
true
|
290
|
+
|
291
|
+
= 第二部
|
292
|
+
|
293
|
+
== property
|
294
|
+
|
295
|
+
:as_large_as_possible
|
296
|
+
true
|
297
|
+
|
298
|
+
= テーマ
|
299
|
+
|
300
|
+
(('tag:center'))
|
301
|
+
(('tag:xx-large'))
|
302
|
+
vs.
|
303
|
+
|
304
|
+
= vs.(versus)
|
305
|
+
|
306
|
+
# blockquote
|
307
|
+
【前置詞】\n
|
308
|
+
1. (訴訟・競技などで)…対,…に対する\n
|
309
|
+
2. …と対比して、比較して
|
310
|
+
|
311
|
+
= 対比させてみる
|
312
|
+
|
313
|
+
= 粒度を合わせる
|
314
|
+
|
315
|
+
* GUIアプリケーション
|
316
|
+
* Ruby/GTK2、GTK+
|
317
|
+
* ゲーム
|
318
|
+
* Gosu、SDL
|
319
|
+
* Webアプリケーション
|
320
|
+
* Sinatra、Rack
|
321
|
+
|
322
|
+
= ポイント
|
323
|
+
|
324
|
+
* 動作環境
|
325
|
+
* 画面構成
|
326
|
+
* 更新方法
|
327
|
+
|
328
|
+
= ポイント
|
329
|
+
|
330
|
+
* ((*動作環境*))
|
331
|
+
* 画面構成
|
332
|
+
* 更新方法
|
333
|
+
|
334
|
+
= 動作環境
|
335
|
+
|
336
|
+
# RT
|
337
|
+
GTK+, SDL, Rack
|
338
|
+
デスクトップ(ネイティブ)アプリ, デスクトップ(ネイティブ)アプリ, Webサーバー、Webブラウザー
|
339
|
+
|
340
|
+
= 構図
|
341
|
+
|
342
|
+
(('tag:center'))
|
343
|
+
(('tag:large'))
|
344
|
+
ネイティブアプリ
|
345
|
+
|
346
|
+
(('tag:center'))
|
347
|
+
vs.
|
348
|
+
|
349
|
+
(('tag:center'))
|
350
|
+
(('tag:large'))
|
351
|
+
Webアプリ
|
352
|
+
|
353
|
+
= ネイティブアプリ
|
354
|
+
|
355
|
+
* 動作速度が速い
|
356
|
+
* デバイスの機能を活かせる
|
357
|
+
* push通知など
|
358
|
+
|
359
|
+
= Webアプリ
|
360
|
+
|
361
|
+
* リリース、インストールが楽
|
362
|
+
* 他のサービスと連携しやすい
|
363
|
+
* 使われる技術が限られる
|
364
|
+
* HTTP、JavaScript
|
365
|
+
|
366
|
+
= 適材\n適所
|
367
|
+
|
368
|
+
== property
|
369
|
+
|
370
|
+
:as_large_as_possible
|
371
|
+
true
|
372
|
+
|
373
|
+
= ポイント
|
374
|
+
|
375
|
+
* 動作環境
|
376
|
+
* ((*画面構成*))
|
377
|
+
* 更新方法
|
378
|
+
|
379
|
+
= 画面構成
|
380
|
+
|
381
|
+
# RT
|
382
|
+
GUIアプリ, ゲーム系, Webアプリ
|
383
|
+
(OSと紐付いた)パーツを組み合わせる, 一から形を決めて描画する, (ブラウザの)パーツを組み合わせる
|
384
|
+
|
385
|
+
= ポイント
|
386
|
+
|
387
|
+
* 動作環境
|
388
|
+
* 画面構成
|
389
|
+
* ((*更新方法*))
|
390
|
+
|
391
|
+
= 更新方法
|
392
|
+
|
393
|
+
# RT
|
394
|
+
GTK+, SDL, Rack
|
395
|
+
イベント駆動, フレームレート×イベント, HTTP、JavaScript
|
396
|
+
|
397
|
+
= 更新方法
|
398
|
+
|
399
|
+
* イベント駆動
|
400
|
+
* フレームレート
|
401
|
+
* HTTP
|
402
|
+
|
403
|
+
= 更新方法
|
404
|
+
|
405
|
+
* ((*イベント駆動*))
|
406
|
+
* フレームレート
|
407
|
+
* HTTP
|
408
|
+
|
409
|
+
= イベント駆動
|
410
|
+
|
411
|
+
# blockquote
|
412
|
+
起動すると共にイベントを待機し、起こったイベントにしたがって処理を行う
|
413
|
+
|
414
|
+
= イベント駆動
|
415
|
+
|
416
|
+
* イベントを待機
|
417
|
+
* イベントハンドラ
|
418
|
+
* イベント
|
419
|
+
* マウス、キーボードなど
|
420
|
+
|
421
|
+
= イベントハンドラ\n(コールバック関数)
|
422
|
+
|
423
|
+
* イベントが起こったときの処理を記述
|
424
|
+
* クリックやアクティブ化など
|
425
|
+
|
426
|
+
= Ruby/GTK2の\nイベントハンドラ
|
427
|
+
|
428
|
+
# coderay ruby
|
429
|
+
window.signal_connect("destroy") do
|
430
|
+
# ウィンドウが閉じられた時の処理
|
431
|
+
end
|
432
|
+
|
433
|
+
button.signal_connect("clicked") do
|
434
|
+
# ボタンがクリックされた時の処理
|
435
|
+
end
|
436
|
+
|
437
|
+
= 更新方法
|
438
|
+
|
439
|
+
* イベント駆動
|
440
|
+
* ((*フレームレート*))
|
441
|
+
* HTTP
|
442
|
+
|
443
|
+
= フレームレート
|
444
|
+
|
445
|
+
* 1秒間に一定回数の処理を行う
|
446
|
+
* 1秒間に60回の場合、60fps
|
447
|
+
* ((*f*))rame ((*p*))er ((*s*))econd
|
448
|
+
|
449
|
+
= 1フレームの主な処理
|
450
|
+
|
451
|
+
* 状態の更新
|
452
|
+
* イベントや時間経過による
|
453
|
+
* 画面への描画
|
454
|
+
|
455
|
+
= Gosu
|
456
|
+
|
457
|
+
# coderay ruby
|
458
|
+
class Game < Gosu::Window
|
459
|
+
def update
|
460
|
+
# 1秒間に約60回呼ばれる
|
461
|
+
end
|
462
|
+
|
463
|
+
def draw
|
464
|
+
# updateとセットで呼ばれる
|
465
|
+
end
|
466
|
+
end
|
467
|
+
|
468
|
+
Game.new(640, 480, false).show
|
469
|
+
|
470
|
+
= 更新方法
|
471
|
+
|
472
|
+
* イベント駆動
|
473
|
+
* フレームレート
|
474
|
+
* ((*HTTP*))
|
475
|
+
|
476
|
+
= HTTP
|
477
|
+
|
478
|
+
* 「何を」「どう」したいか
|
479
|
+
* リクエスト-レスポンス型
|
480
|
+
|
481
|
+
= 「何を」
|
482
|
+
|
483
|
+
* URL
|
484
|
+
* http://<ホスト名>/[パス]...
|
485
|
+
|
486
|
+
= 「どう」
|
487
|
+
|
488
|
+
* メソッド
|
489
|
+
* GET
|
490
|
+
* POST
|
491
|
+
* ...
|
492
|
+
|
493
|
+
= Sinatra
|
494
|
+
|
495
|
+
# coderay ruby
|
496
|
+
get "/" do
|
497
|
+
# http://host.name/ の処理
|
498
|
+
end
|
499
|
+
|
500
|
+
post "/new"
|
501
|
+
# フォーム等の /new の処理
|
502
|
+
end
|
503
|
+
|
504
|
+
= リクエスト-レスポンス型
|
505
|
+
|
506
|
+
* いわゆるクラサバ
|
507
|
+
* サーバーがレスポンスを返したら一区切り
|
508
|
+
* 基本的に状態を保存しない
|
509
|
+
* セッションやDBなどを使えば可能
|
510
|
+
|
511
|
+
= JavaScript
|
512
|
+
|
513
|
+
* プログラミング言語
|
514
|
+
* 何でもできる
|
515
|
+
* マルチメディアな使い方も
|
516
|
+
|
517
|
+
= 結論
|
518
|
+
|
519
|
+
(('tag:center'))
|
520
|
+
やっぱり
|
521
|
+
|
522
|
+
(('tag:center'))
|
523
|
+
(('tag:xx-large'))
|
524
|
+
適材適所
|
525
|
+
|
526
|
+
= おわりに
|
527
|
+
|
528
|
+
* Sinatra楽しいょ!
|
529
|
+
* ゲームやGUIも楽しいょ!
|
530
|
+
* 組み合わせても○
|
531
|
+
* ゲームのデータやハイスコアをWebで管理するとか
|
532
|
+
* コミュニティでチーム開発?
|
data/GTK.png
ADDED
Binary file
|
data/README.md
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# ゲーム vs. Sinatra
|
2
|
+
|
3
|
+
Sinatra札幌の2013年~2014年の活動を振り返ると、いろいろなものとSinatraを組み合わせたものがほとんどでした。そこで、Ruby/GTK2(GTK+)、Gosu(SDL)、Sinatra(Rack)を例として、GUIアプリケーション、ゲーム、Webアプリケーションを対比させてみたいと思います。
|
4
|
+
|
5
|
+
## 作者向け
|
6
|
+
|
7
|
+
### 表示
|
8
|
+
|
9
|
+
rake
|
10
|
+
|
11
|
+
### 公開
|
12
|
+
|
13
|
+
rake publish
|
14
|
+
|
15
|
+
## 閲覧者向け
|
16
|
+
|
17
|
+
### インストール
|
18
|
+
|
19
|
+
gem install rabbit-slide-myokoym-sinatra-padrino-20141220
|
20
|
+
|
21
|
+
### 表示
|
22
|
+
|
23
|
+
rabbit rabbit-slide-myokoym-sinatra-padrino-20141220.gem
|
24
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require "rabbit/task/slide"
|
2
|
+
|
3
|
+
# Edit ./config.yaml to customize meta data
|
4
|
+
|
5
|
+
spec = nil
|
6
|
+
Rabbit::Task::Slide.new do |task|
|
7
|
+
spec = task.spec
|
8
|
+
# task.spec.files += Dir.glob("doc/**/*.*")
|
9
|
+
# task.spec.files -= Dir.glob("private/**/*.*")
|
10
|
+
task.spec.add_runtime_dependency("rabbit-theme-nyankosakana", ">= 1.0.3")
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Tag #{spec.version}"
|
14
|
+
task :tag do
|
15
|
+
sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
|
16
|
+
sh("git", "push", "--tags")
|
17
|
+
end
|
data/chuork01-ss.png
ADDED
Binary file
|
data/config.yaml
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
id: sinatrasapporo-20141220
|
3
|
+
base_name: 2013-14-season
|
4
|
+
tags:
|
5
|
+
- rabbit
|
6
|
+
- sinatrasapporo
|
7
|
+
presentation_date: 2014/12/20
|
8
|
+
version: 2014.12.20.0
|
9
|
+
licenses:
|
10
|
+
- CC BY-NC-ND 4.0
|
11
|
+
slideshare_id:
|
12
|
+
speaker_deck_id:
|
13
|
+
ustream_id:
|
14
|
+
vimeo_id:
|
15
|
+
youtube_id:
|
16
|
+
author:
|
17
|
+
markup_language: :rd
|
18
|
+
name: Masafumi Yokoyama
|
19
|
+
email: myokoym@gmail.com
|
20
|
+
rubygems_user: myokoym
|
21
|
+
slideshare_user: myokoym
|
22
|
+
speaker_deck_user: myokoym
|
data/firehats.png
ADDED
Binary file
|
data/lavie.png
ADDED
Binary file
|
data/logo-gy.svg
ADDED
@@ -0,0 +1,208 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
3
|
+
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
4
|
+
<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
|
5
|
+
<svg
|
6
|
+
id="svg1712"
|
7
|
+
sodipodi:version="0.31.1"
|
8
|
+
width="48mm"
|
9
|
+
height="48mm"
|
10
|
+
sodipodi:docname="ruby-gnome2-logo.svg"
|
11
|
+
xmlns="http://www.w3.org/2000/svg"
|
12
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
13
|
+
xmlns:xlink="http://www.w3.org/1999/xlink">
|
14
|
+
<defs
|
15
|
+
id="defs1714">
|
16
|
+
<linearGradient
|
17
|
+
id="linearGradient1916">
|
18
|
+
<stop
|
19
|
+
style="stop-color:#ffffff;stop-opacity:1;"
|
20
|
+
offset="0.000000"
|
21
|
+
id="stop1917" />
|
22
|
+
<stop
|
23
|
+
style="stop-color:#ffffff;stop-opacity:0;"
|
24
|
+
offset="1.000000"
|
25
|
+
id="stop1918" />
|
26
|
+
</linearGradient>
|
27
|
+
<linearGradient
|
28
|
+
id="linearGradient1902">
|
29
|
+
<stop
|
30
|
+
style="stop-color:#ca0000;stop-opacity:1;"
|
31
|
+
offset="0.000000"
|
32
|
+
id="stop1903" />
|
33
|
+
<stop
|
34
|
+
style="stop-color:#ff0000;stop-opacity:1;"
|
35
|
+
offset="1.000000"
|
36
|
+
id="stop1904" />
|
37
|
+
</linearGradient>
|
38
|
+
<linearGradient
|
39
|
+
xlink:href="#linearGradient1902"
|
40
|
+
id="linearGradient1905"
|
41
|
+
x1="0.513044"
|
42
|
+
y1="0.00781252"
|
43
|
+
x2="0.530435"
|
44
|
+
y2="1.02344"
|
45
|
+
gradientUnits="objectBoundingBox"
|
46
|
+
spreadMethod="pad" />
|
47
|
+
<linearGradient
|
48
|
+
xlink:href="#linearGradient1902"
|
49
|
+
id="linearGradient1906"
|
50
|
+
x1="0.446902"
|
51
|
+
y1="0.162147"
|
52
|
+
x2="0.502765"
|
53
|
+
y2="1.27691"
|
54
|
+
gradientUnits="objectBoundingBox"
|
55
|
+
gradientTransform="scale(1.29717,0.770907)"
|
56
|
+
spreadMethod="pad" />
|
57
|
+
<linearGradient
|
58
|
+
xlink:href="#linearGradient1902"
|
59
|
+
id="linearGradient1907"
|
60
|
+
x1="0.424574"
|
61
|
+
y1="0.018628"
|
62
|
+
x2="0.507418"
|
63
|
+
y2="1.15493"
|
64
|
+
gradientUnits="objectBoundingBox"
|
65
|
+
gradientTransform="scale(1.19219,0.838794)"
|
66
|
+
spreadMethod="pad" />
|
67
|
+
<linearGradient
|
68
|
+
xlink:href="#linearGradient1902"
|
69
|
+
id="linearGradient1908"
|
70
|
+
x1="0.470901"
|
71
|
+
y1="0.143159"
|
72
|
+
x2="0.637678"
|
73
|
+
y2="1.10951"
|
74
|
+
gradientUnits="objectBoundingBox"
|
75
|
+
gradientTransform="scale(1.14531,0.873129)"
|
76
|
+
spreadMethod="pad" />
|
77
|
+
<linearGradient
|
78
|
+
xlink:href="#linearGradient1902"
|
79
|
+
id="linearGradient1909"
|
80
|
+
x1="0.432286"
|
81
|
+
y1="0.0380868"
|
82
|
+
x2="0.508571"
|
83
|
+
y2="0.906466"
|
84
|
+
gradientUnits="objectBoundingBox"
|
85
|
+
gradientTransform="scale(0.975022,1.02562)"
|
86
|
+
spreadMethod="pad" />
|
87
|
+
<linearGradient
|
88
|
+
xlink:href="#linearGradient1916"
|
89
|
+
id="linearGradient1915"
|
90
|
+
x1="0.502058"
|
91
|
+
y1="0.0390639"
|
92
|
+
x2="0.625514"
|
93
|
+
y2="0.984375"
|
94
|
+
gradientUnits="objectBoundingBox"
|
95
|
+
spreadMethod="pad" />
|
96
|
+
<linearGradient
|
97
|
+
xlink:href="#linearGradient1916"
|
98
|
+
id="linearGradient1926"
|
99
|
+
x1="0.530058"
|
100
|
+
y1="0.0468785"
|
101
|
+
x2="0.68306"
|
102
|
+
y2="0.921875"
|
103
|
+
gradientUnits="objectBoundingBox"
|
104
|
+
spreadMethod="pad" />
|
105
|
+
<linearGradient
|
106
|
+
xlink:href="#linearGradient1916"
|
107
|
+
id="linearGradient1927"
|
108
|
+
x1="0.460829"
|
109
|
+
y1="0.046875"
|
110
|
+
x2="0.483871"
|
111
|
+
y2="1.13281"
|
112
|
+
gradientUnits="objectBoundingBox"
|
113
|
+
spreadMethod="pad" />
|
114
|
+
<linearGradient
|
115
|
+
xlink:href="#linearGradient1916"
|
116
|
+
id="linearGradient1929"
|
117
|
+
x1="0.400004"
|
118
|
+
y1="1.77922e-06"
|
119
|
+
x2="0.782857"
|
120
|
+
y2="1.125"
|
121
|
+
gradientUnits="objectBoundingBox"
|
122
|
+
spreadMethod="pad" />
|
123
|
+
<linearGradient
|
124
|
+
xlink:href="#linearGradient1916"
|
125
|
+
id="linearGradient1931"
|
126
|
+
x1="0.573662"
|
127
|
+
y1="0.101556"
|
128
|
+
x2="0.852714"
|
129
|
+
y2="1.03906"
|
130
|
+
gradientUnits="objectBoundingBox"
|
131
|
+
spreadMethod="pad" />
|
132
|
+
<linearGradient
|
133
|
+
xlink:href="#linearGradient1916"
|
134
|
+
id="linearGradient1933"
|
135
|
+
x1="0.528806"
|
136
|
+
y1="0.132809"
|
137
|
+
x2="0.575917"
|
138
|
+
y2="0.851562"
|
139
|
+
gradientUnits="objectBoundingBox"
|
140
|
+
spreadMethod="pad" />
|
141
|
+
</defs>
|
142
|
+
<sodipodi:namedview
|
143
|
+
id="base"
|
144
|
+
gridspacingx="0.5mm"
|
145
|
+
gridspacingy="0.5mm"
|
146
|
+
showgrid="true"
|
147
|
+
snaptogrid="true" />
|
148
|
+
<path
|
149
|
+
transform="translate(-5.31497,33.6614)"
|
150
|
+
style="font-size:12;fill:url(#linearGradient1909);fill-rule:evenodd;stroke:#800000;stroke-width:3.54331;fill-opacity:1;stroke-dasharray:none;stroke-opacity:1;"
|
151
|
+
d="M 132.874 47.8346 C 132.874 60.2362 114.936 72.2117 100.984 79.7244 C 77.9528 92.126 74.6188 102.47 86.811 111.614 C 93.8977 116.929 106.299 120.472 106.299 100.984 C 106.299 93.8976 136.417 88.5826 136.417 99.2126 C 136.417 122.312 109.843 134.646 97.441 134.646 C 63.7795 134.646 37.2047 98.3693 37.2047 74.4094 C 37.2047 50.4496 67.3229 31.8897 91.2402 30.1181 C 115.158 28.3464 132.874 30.1181 132.874 47.8346 z "
|
152
|
+
id="path1895"
|
153
|
+
sodipodi:nodetypes="csssscccc" />
|
154
|
+
<path
|
155
|
+
style="font-size:12;fill:url(#linearGradient1908);fill-rule:evenodd;stroke:#800000;stroke-width:3.54331;fill-opacity:1;stroke-dasharray:none;stroke-opacity:1;"
|
156
|
+
d="M 51.378 63.7795 C 53.1497 70.8661 53.1496 76.1811 49.6063 77.9527 C 44.2913 79.7244 35.4331 69.0945 35.4331 63.7795 C 35.433 58.4646 37.2047 53.1496 42.5197 53.1496 C 47.4095 53.1496 49.6063 56.6929 51.378 63.7795 z "
|
157
|
+
id="path1897"
|
158
|
+
sodipodi:nodetypes="ccscs"
|
159
|
+
transform="translate(-14.1732,-5.31498)" />
|
160
|
+
<path
|
161
|
+
style="font-size:12;fill:url(#linearGradient1907);fill-rule:evenodd;stroke:#800000;stroke-width:3.54331;fill-opacity:1;stroke-dasharray:none;stroke-opacity:1;"
|
162
|
+
d="M 57.8567 58.6367 C 57.8567 65.7233 52.5417 81.6682 47.2267 81.6682 C 39.9618 81.6682 36.5968 69.2666 36.5968 63.9517 C 36.5968 53.3217 41.9118 48.0068 50.7701 48.0068 C 55.6599 48.0068 57.8567 51.5501 57.8567 58.6367 z "
|
163
|
+
id="path1899"
|
164
|
+
sodipodi:nodetypes="cssss"
|
165
|
+
transform="translate(36.041,-33.8336)" />
|
166
|
+
<path
|
167
|
+
style="font-size:12;fill:url(#linearGradient1906);fill-rule:evenodd;stroke:#800000;stroke-width:3.54331;fill-opacity:1;stroke-dasharray:none;stroke-opacity:1;"
|
168
|
+
d="M 50.77 63.9516 C 51.3511 71.1142 50.77 79.8966 47.2267 81.6682 C 40.1401 83.4399 34.8252 67.4949 34.8252 63.9516 C 34.8252 57.1059 38.7937 51.5501 43.6834 51.5501 C 48.5732 51.5501 50.1874 56.7689 50.77 63.9516 z "
|
169
|
+
id="path1900"
|
170
|
+
sodipodi:nodetypes="ccscs"
|
171
|
+
transform="translate(9.46618,-24.9753)" />
|
172
|
+
<path
|
173
|
+
style="font-size:12;fill:url(#linearGradient1905);fill-rule:evenodd;stroke:#800000;stroke-width:3.54331;fill-opacity:1;stroke-dasharray:none;stroke-opacity:1;"
|
174
|
+
d="M 67.3229 51.378 C 67.3229 72.6378 38.6039 91.4602 31.8898 88.5827 C 19.4882 83.2678 24.8032 62.0079 28.3465 56.693 C 36.8003 44.0122 47.8347 40.7481 54.9213 40.7481 C 65.6979 40.7481 67.3229 46.063 67.3229 51.378 z "
|
175
|
+
id="path1901"
|
176
|
+
sodipodi:nodetypes="cssss"
|
177
|
+
transform="translate(83.2677,-33.6615)" />
|
178
|
+
<path
|
179
|
+
style="font-size:12;fill:url(#linearGradient1915);fill-rule:evenodd;stroke-width:1pt;"
|
180
|
+
d="M 125.787 81.4961 C 125.787 90.3542 113.386 100.984 104.528 106.299 C 97.0994 76.2137 56.6269 131.807 35.4331 118.701 C 24.8032 92.126 58.4646 69.0945 81.4961 65.5512 C 109.843 62.0079 127.558 67.3227 125.787 81.4961 z "
|
181
|
+
id="path1914"
|
182
|
+
sodipodi:nodetypes="ccccc" />
|
183
|
+
<path
|
184
|
+
style="font-size:12;fill:url(#linearGradient1933);fill-rule:evenodd;stroke-width:1pt;"
|
185
|
+
d="M 129.331 134.646 C 122.244 150.591 122.244 124.016 99.2126 148.819 C 100.984 145.276 102.756 143.504 102.756 136.417 C 102.756 132.874 104.528 131.102 113.386 129.331 C 120.472 127.559 131.102 127.559 129.331 134.646 z "
|
186
|
+
id="path1932"
|
187
|
+
sodipodi:nodetypes="ccccc" />
|
188
|
+
<path
|
189
|
+
style="font-size:12;fill:url(#linearGradient1931);fill-rule:evenodd;stroke-width:1pt;"
|
190
|
+
d="M 33.6614 53.1496 C 33.6614 55.1055 31.8898 56.6929 28.3465 56.6929 C 24.8032 56.6929 23.0315 62.1921 23.0315 60.2362 C 21.2598 51.3779 26.3906 49.6063 28.3465 49.6063 C 30.3024 49.6063 33.6614 51.1936 33.6614 53.1496 z "
|
191
|
+
id="path1930"
|
192
|
+
sodipodi:nodetypes="ccccc" />
|
193
|
+
<path
|
194
|
+
style="font-size:12;fill:url(#linearGradient1929);fill-rule:evenodd;stroke-width:1pt;"
|
195
|
+
d="M 58.4646 35.4331 C 56.6929 33.6614 57.3662 33.6614 54.9213 33.6614 C 51.378 33.6614 51.378 38.9764 46.063 38.9764 C 46.063 35.4331 47.8346 28.3465 53.1496 28.3465 C 55.5945 28.3465 58.4646 31.8898 58.4646 35.4331 z "
|
196
|
+
id="path1928"
|
197
|
+
sodipodi:nodetypes="ccccc" />
|
198
|
+
<path
|
199
|
+
style="font-size:12;fill:url(#linearGradient1926);fill-rule:evenodd;stroke-width:1pt;"
|
200
|
+
d="M 92.126 23.0315 C 92.126 25.9654 93.2882 21.2598 90.3543 21.2598 C 79.7244 21.2598 81.4961 30.1181 74.4094 28.3465 C 74.4094 21.2598 79.7244 15.9449 83.2677 15.9449 C 88.5827 15.9449 92.126 15.9449 92.126 23.0315 z "
|
201
|
+
id="path1925"
|
202
|
+
sodipodi:nodetypes="ccccc" />
|
203
|
+
<path
|
204
|
+
style="font-size:12;fill:url(#linearGradient1927);fill-rule:evenodd;stroke-width:1pt;"
|
205
|
+
d="M 148.819 17.7165 C 148.819 20.6504 147.047 26.5747 145.276 30.1181 C 145.276 7.0866 106.299 44.2913 118.701 17.7165 C 122.245 14.1732 129.33 7.08662 141.732 8.85826 C 148.819 10.6299 148.819 15.9449 148.819 17.7165 z "
|
206
|
+
id="path1924"
|
207
|
+
sodipodi:nodetypes="ccccc" />
|
208
|
+
</svg>
|
data/my-icon.png
ADDED
Binary file
|
data/osc2014hokkaido.jpg
ADDED
Binary file
|
Binary file
|
data/ruby-kaja-2013.jpg
ADDED
Binary file
|
metadata
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-myokoym-sinatrasapporo-20141220
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2014.12.20.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Masafumi Yokoyama
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-12-20 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rabbit
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.0.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.2
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rabbit-theme-nyankosakana
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.0.3
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.0.3
|
41
|
+
description: Sinatra札幌の2013年~2014年の活動を振り返ると、いろいろなものとSinatraを組み合わせたものがほとんどでした。そこで、Ruby/GTK2(GTK+)、Gosu(SDL)、Sinatra(Rack)を例として、GUIアプリケーション、ゲーム、Webアプリケーションを対比させてみたいと思います。
|
42
|
+
email:
|
43
|
+
- myokoym@gmail.com
|
44
|
+
executables: []
|
45
|
+
extensions: []
|
46
|
+
extra_rdoc_files: []
|
47
|
+
files:
|
48
|
+
- ".rabbit"
|
49
|
+
- 2013-14-summary.rab
|
50
|
+
- GTK.png
|
51
|
+
- README.md
|
52
|
+
- Rakefile
|
53
|
+
- chuork01-ss.png
|
54
|
+
- config.yaml
|
55
|
+
- firehats.png
|
56
|
+
- lavie.png
|
57
|
+
- logo-gy.svg
|
58
|
+
- my-icon.png
|
59
|
+
- osc2014hokkaido.jpg
|
60
|
+
- pdf/sinatrasapporo-20141220-2013-14-season.pdf
|
61
|
+
- ruby-kaja-2013.jpg
|
62
|
+
homepage: http://slide.rabbit-shocker.org/authors/myokoym/sinatrasapporo-20141220/
|
63
|
+
licenses:
|
64
|
+
- CC BY-NC-ND 4.0
|
65
|
+
metadata: {}
|
66
|
+
post_install_message:
|
67
|
+
rdoc_options: []
|
68
|
+
require_paths:
|
69
|
+
- lib
|
70
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
80
|
+
requirements: []
|
81
|
+
rubyforge_project:
|
82
|
+
rubygems_version: 2.2.2
|
83
|
+
signing_key:
|
84
|
+
specification_version: 4
|
85
|
+
summary: "ゲーム vs. Sinatra"
|
86
|
+
test_files: []
|