rabbit-slide-unasuke-rubykaigi-2023-followup 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: cb621c1ee7dc3a1cfd3233a61f09041d84e8108dcf2b6547ae45f6fa106e6b60
4
+ data.tar.gz: 1582588275ae88c2499dae5e64d76d93587fdacb1eec7923ffb808bddc88741b
5
+ SHA512:
6
+ metadata.gz: d9aa705d5636ff08156bab11bc56d0aa06dface2afd2d86172413ea38af1b1344c7aa8676f7b8e9a055ec2f832752c2c4dee39c3fa3a3c0b4e220779b8e1cff3
7
+ data.tar.gz: ce15649c1d26fe269da916c7b1ab33d5fef5948890f26aa60d52b8b8554aacdd6ea9992b62ab1fb28348eca81d8ffc146f4d0d8561e95af7ed84ec42a39d8093
data/.rabbit ADDED
@@ -0,0 +1,2 @@
1
+ --size 1920,1080
2
+ slide.md
data/README.md ADDED
@@ -0,0 +1,24 @@
1
+ # RubyKaigi 2023 followup
2
+
3
+ https://rhc.connpass.com/event/288535/
4
+
5
+ ## 作者向け
6
+
7
+ ### 表示
8
+
9
+ rake
10
+
11
+ ### 公開
12
+
13
+ rake publish
14
+
15
+ ## 閲覧者向け
16
+
17
+ ### インストール
18
+
19
+ gem install rabbit-slide-unasuke-rubykaigi-2023-followup
20
+
21
+ ### 表示
22
+
23
+ rabbit rabbit-slide-unasuke-rubykaigi-2023-followup.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
+ # spec.files += Dir.glob("doc/**/*.*")
9
+ # spec.files -= Dir.glob("private/**/*.*")
10
+ # spec.add_runtime_dependency("rabbit-theme-YOUR-THEME")
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/config.yaml ADDED
@@ -0,0 +1,23 @@
1
+ ---
2
+ id: rubykaigi-2023-followup
3
+ base_name: slide
4
+ tags: ["ruby", "rubykaigi", "quic"]
5
+ presentation_date: 2023-08-19
6
+ presentation_start_time:
7
+ presentation_end_time:
8
+ version: 1.0.0
9
+ licenses: ['MIT']
10
+ slideshare_id:
11
+ speaker_deck_id:
12
+ vimeo_id:
13
+ youtube_id:
14
+ width: 1920
15
+ height: 1080
16
+ source_code_uri: https://github.com/unasuke/rubykaigi-2023-followup
17
+ author:
18
+ markup_language: :markdown
19
+ name: unasuke
20
+ email: yusuke1994525@gmail.com
21
+ rubygems_user: unasuke
22
+ slideshare_user:
23
+ speaker_deck_user:
Binary file
data/img/icon.jpg ADDED
Binary file
data/slide.md ADDED
@@ -0,0 +1,65 @@
1
+ # RubyishなQUIC実装の\\n進捗について
2
+
3
+ author
4
+ : うなすけ
5
+
6
+ content-source
7
+ : RubyKaigi 2023 follow up
8
+
9
+ date
10
+ : 2023-08-19
11
+
12
+ theme
13
+ : theme
14
+
15
+ # 自己紹介
16
+
17
+ * Name: うなすけ
18
+ * Work: フリーランス
19
+ * Kaigi on Rails オーガナイザー (10/27-28 開催)
20
+ * {::tag name='x-small'}GitHub <https://github.com/unasuke>{:/tag}
21
+ * {::tag name='x-small'}ActivityPub <https://mstdn.unasuke.com/@unasuke>{:/tag}
22
+ * {::tag name='x-small'}X (Twitter) <https://twitter.com/yu_suke1994>{:/tag}
23
+ * {::tag name='x-small'}<https://unasuke.com>{:/tag}
24
+
25
+ ![](img/icon.jpg){:relative_width='24' align='right' relative_margin_right='-8' relative_margin_top='20'}
26
+
27
+ # RubyKaigi 2023の復習
28
+ * QUICとは何か、という話はすっ飛ばします
29
+ * PythonのQUIC実装aioquicをRubyに移植した
30
+ * 移植元 → <https://github.com/aiortc/aioquic>
31
+ * 移植先 → <https://github.com/unasuke/raioquic>
32
+ * "Ruby" の "aioquic" で "raioquic"
33
+
34
+ # commit log
35
+ ![](img/commit-log.png){:relative_width="90"}
36
+
37
+ # 言い訳タイム
38
+ * IETF 117 San Francisco
39
+ * 参加記がまだ書けていない……
40
+ * CloudNative Days Fukuoka 2023
41
+ * 発表した
42
+ * <https://event.cloudnativedays.jp/cndf2023/talks/1890>
43
+ * Kaigi on Rails 2023
44
+ * 絶賛準備中!
45
+ * RFC 8446を読んでた(後述)
46
+ * 例のアレ
47
+
48
+ # コードでやったこと
49
+ * HKDF (RFC 5869)
50
+ * <https://www.rfc-editor.org/rfc/rfc5869.html>
51
+ * AEAD (RFC 5116, RFC 9001)
52
+ * <https://www.rfc-editor.org/rfc/rfc5116.html>
53
+ * <https://www.rfc-editor.org/rfc/rfc9001.html#name-aead-usage>
54
+ * YARDを書いている
55
+ * エディタで見せたほうが早い
56
+
57
+ # コード外でやったこと
58
+ * RFC 8446 (TLS 1.3)をイチから読み直した
59
+ * <https://www.rfc-editor.org/rfc/rfc8446.html>
60
+ * <https://datatracker.ietf.org/doc/draft-ietf-tls-rfc8446bis/>
61
+
62
+ # 悩んでいること
63
+ * API
64
+ * "Rubyish" ってなんだ……?
65
+ * 例 `raioquic/lib/raioquic/tls.rb`
data/theme.rb ADDED
@@ -0,0 +1,113 @@
1
+ @default_foreground ||= @foreground
2
+ @default_background ||= @background
3
+ @default_shadow_color ||= @shadow_color
4
+
5
+ # pp font_families
6
+ font_color = '#333'
7
+ @default_font = 'BIZ UDPGothic'
8
+ @font_family = find_font_family(@default_font)
9
+ @bold_font = @default_font
10
+ @bold_font_family = find_font_family(@bold_font)
11
+ @monospace_font = 'Cica'
12
+ @monospace_font_family = find_font_family(@monospace_font)
13
+
14
+ @xxxx_large_font_size = screen_size(10 * Pango::SCALE)
15
+ @xxx_large_font_size = screen_size(8 * Pango::SCALE)
16
+ @xx_large_font_size = screen_size(6 * Pango::SCALE)
17
+ @x_large_font_size = screen_size(4.5 * Pango::SCALE)
18
+ @large_font_size = screen_size(4 * Pango::SCALE)
19
+ @normal_font_size = screen_size(3.5 * Pango::SCALE)
20
+ @small_font_size = screen_size(3.2 * Pango::SCALE)
21
+ @x_small_font_size = screen_size(3 * Pango::SCALE)
22
+ @xx_small_font_size = screen_size(2.8 * Pango::SCALE)
23
+ @xxx_small_font_size = screen_size(2.5 * Pango::SCALE)
24
+ @script_font_size = @x_small_font_size
25
+ @large_script_font_size = @small_font_size
26
+ @x_large_script_font_size = @large_font_size
27
+ @title_slide_title_font_size = @xxx_large_font_size
28
+
29
+ @block_quote_fill_color = "#f8f8f8"
30
+ @preformatted_fill_color = "#f8f8f8"
31
+ @default_headline_line_color = font_color
32
+
33
+ # @title_slide_background_image = 'img/title_bg.png'
34
+ # @slide_background_image = 'img/bg.png'
35
+
36
+ # set_foreground(@default_foreground)
37
+ # set_background(@default_background)
38
+
39
+ add_image_path("ruby-images")
40
+ include_theme("default-icon")
41
+ # include_theme("default-title-text")
42
+ include_theme("default-text")
43
+ include_theme("default-title-slide")
44
+ include_theme("default-slide")
45
+ include_theme("default-item-mark")
46
+ include_theme("default-method-list")
47
+ include_theme("default-preformatted")
48
+ include_theme("default-block-quote")
49
+ include_theme("default-foot-text")
50
+ include_theme("default-description")
51
+ include_theme("image")
52
+ include_theme("table")
53
+ include_theme("newline-in-slides")
54
+ include_theme("per-slide-background-color")
55
+ include_theme("background-image-toolkit")
56
+ include_theme("per-slide-background-image")
57
+ include_theme("body-background-image")
58
+ include_theme("tag")
59
+ include_theme("syntax-highlighting")
60
+ include_theme("default-comment")
61
+
62
+ include_theme("title-slide-background-image")
63
+ include_theme("slide-background-image")
64
+
65
+ match(TitleSlide, "*") do |elems|
66
+ elems.horizontal_centering = true
67
+ elems.prop_set("size", @large_font_size)
68
+ set_font_family(elems)
69
+ end
70
+
71
+ match(TitleSlide, Title) do |titles|
72
+ titles.prop_set("size", @title_slide_title_font_size)
73
+ titles.padding_bottom = @space * 2
74
+ titles.prop_set("weight", "SemiBold")
75
+ end
76
+
77
+ match(Slide, HeadLine) do |heads|
78
+ heads.prop_set("size", @large_font_size)
79
+ heads.prop_set("weight", "bold")
80
+ end
81
+
82
+ match(TitleSlide) do |slides|
83
+ # slides.margin_left = 900
84
+ slides.vertical_centering = true
85
+ slides.prop_set "foreground", font_color
86
+ slides.prop_set("weight", "bold")
87
+ end
88
+ match(TitleSlide, Subtitle) do |subtitle|
89
+ subtitle.margin_top = -20
90
+ subtitle.prop_set("size", @large_font_size)
91
+ end
92
+ match(TitleSlide, Author) do |author|
93
+ author.margin_top = 50
94
+ author.prop_set("size", @large_font_size)
95
+ author.prop_set("weight", "normal")
96
+ end
97
+ match(TitleSlide, Place) do |place|
98
+ place.prop_set("size", @small_font_size)
99
+ end
100
+ match(TitleSlide, "*") do |elems|
101
+ elems.horizontal_centering = true
102
+ end
103
+
104
+ match(TitleSlide, Date) do |dates|
105
+ dates.prop_set("size", @small_font_size)
106
+ # dates.prop_set("style", "italic")
107
+ end
108
+
109
+ match(TitleSlide, ContentSource) do |sources|
110
+ sources.prop_set("size", @small_font_size)
111
+ sources.margin_bottom = @space
112
+ # sources.prop_set("style", "italic")
113
+ end
metadata ADDED
@@ -0,0 +1,67 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-unasuke-rubykaigi-2023-followup
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - unasuke
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-08-21 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
+ description: https://rhc.connpass.com/event/288535/
28
+ email:
29
+ - yusuke1994525@gmail.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".rabbit"
35
+ - README.md
36
+ - Rakefile
37
+ - config.yaml
38
+ - img/commit-log.png
39
+ - img/icon.jpg
40
+ - pdf/rubykaigi-2023-followup-slide.pdf
41
+ - slide.md
42
+ - theme.rb
43
+ homepage: https://slide.rabbit-shocker.org/authors/unasuke/rubykaigi-2023-followup/
44
+ licenses:
45
+ - MIT
46
+ metadata:
47
+ source_code_uri: https://github.com/unasuke/rubykaigi-2023-followup
48
+ post_install_message:
49
+ rdoc_options: []
50
+ require_paths:
51
+ - lib
52
+ required_ruby_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ requirements: []
63
+ rubygems_version: 3.4.6
64
+ signing_key:
65
+ specification_version: 4
66
+ summary: RubyKaigi 2023 followup
67
+ test_files: []