rabbit-slide-unasuke-rubykaigi-2025-followup 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.rabbit +2 -0
- data/README.md +24 -0
- data/Rakefile +17 -0
- data/config.yaml +23 -0
- data/img/discord-log.png +0 -0
- data/img/icon.jpg +0 -0
- data/img/timetable.png +0 -0
- data/pdf/rubykaigi-2025-followup-slide.pdf +0 -0
- data/slide.md +78 -0
- data/slide.rab +32 -0
- data/theme.rb +113 -0
- metadata +67 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 951f086db750b63117017d1af33367828b170d605842b08906c589c97ea7d156
|
4
|
+
data.tar.gz: 737703105efbbaa0f7eceaded2d838f7e82535fa69a2a1d50c2f4b98b06b842c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7e59ad96970e83256b8bcf92331cb95be81d7bb67f3cd588ea511fcc5ef215273832e9589ae95938f3a502402f13907feef68b9b6b08949d372b48a4fdd8431e
|
7
|
+
data.tar.gz: f2d9da6efa0652c70fafe8f412e8e032a5a576b8e01139c2fa6c39151a9fa7aa3ff63b8294e4d74a0c1e98d7d9971846eaa7beaf418ac9a4764395d237ad3584
|
data/.rabbit
ADDED
data/README.md
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# RubyKaigi 2025 followup
|
2
|
+
|
3
|
+
https://rhc.connpass.com/event/356128/
|
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-2025-followup
|
20
|
+
|
21
|
+
### 表示
|
22
|
+
|
23
|
+
rabbit rabbit-slide-unasuke-rubykaigi-2025-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-2025-followup
|
3
|
+
base_name: slide
|
4
|
+
tags: ["ruby", "tls"]
|
5
|
+
presentation_date: 2025-08-30
|
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-2025-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:
|
data/img/discord-log.png
ADDED
Binary file
|
data/img/icon.jpg
ADDED
Binary file
|
data/img/timetable.png
ADDED
Binary file
|
Binary file
|
data/slide.md
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
# QUIC(TLS 1.3)実装進捗
|
2
|
+
|
3
|
+
author
|
4
|
+
: unasuke
|
5
|
+
|
6
|
+
content-source
|
7
|
+
: RubyKaigi 2025 follow up
|
8
|
+
|
9
|
+
date
|
10
|
+
: 2025-08-30
|
11
|
+
|
12
|
+
theme
|
13
|
+
: theme
|
14
|
+
|
15
|
+
# 自己紹介
|
16
|
+
|
17
|
+
* Name: うなすけ
|
18
|
+
* Work: フリーランス
|
19
|
+
* Kaigi on Rails 2025オーガナイザー (09/26-27 開催)
|
20
|
+
* {::tag name='x-small'}GitHub <https://github.com/unasuke>{:/tag}
|
21
|
+
* {::tag name='x-small'}Fediverse <https://mstdn.unasuke.com/@unasuke>{:/tag}
|
22
|
+
* {::tag name='x-small'}X <https://twitter.com/yu_suke1994>{:/tag}
|
23
|
+
* {::tag name='x-small'}<https://unasuke.com>{:/tag}
|
24
|
+
|
25
|
+
{:relative_width='24' align='right' relative_margin_right='-8' relative_margin_top='20'}
|
26
|
+
|
27
|
+
# 元ネタない勢(1人)
|
28
|
+
|
29
|
+
{:relative_width='100'}
|
30
|
+
|
31
|
+
# 経緯
|
32
|
+
1. QUICプロトコルをRubyで実装したい
|
33
|
+
2. 一旦Python実装のRuby移植は不完全ながらできた(これがGrantでの成果)
|
34
|
+
3. より"Rubyらしい"コードになるように実装し直している
|
35
|
+
4. *QUICを実装するためにはTLS 1.3を実装しないといけない* ← イマココ
|
36
|
+
|
37
|
+
\\nずっとTLS 1.3の実装してる
|
38
|
+
|
39
|
+
|
40
|
+
# 進捗
|
41
|
+
実際にご覧いただこう
|
42
|
+
|
43
|
+
# 今のは何?
|
44
|
+
* `www.example.com` に対して (https) HTTP/1.1 でGET requestを飛ばしている
|
45
|
+
* TLS handshakeをする
|
46
|
+
* 返ってきた暗号化されたデータを解く
|
47
|
+
* 標準出力に表示しておしまい
|
48
|
+
|
49
|
+
# 取り組んでいたこと
|
50
|
+
* Client側Handshake flowのリファクタ
|
51
|
+
* そもそもHTTPSでreq/resをするサンプルクライアントの実装
|
52
|
+
* 色々不足していたものたちの実装&リファクタ
|
53
|
+
|
54
|
+
# 取り組んでいたことlist
|
55
|
+
* [QUIC実装月報 2025年3月 \| うなすけとあれこれ](https://blog.unasuke.com/2025/quic-impl-monthly-report-202503/)
|
56
|
+
* 進捗らしい進捗があるのはここだけかも
|
57
|
+
* [QUIC実装月報 2025年4月 \| うなすけとあれこれ](https://blog.unasuke.com/2025/quic-impl-monthly-report-202504/)
|
58
|
+
* [QUIC実装月報 2025年5月 \| うなすけとあれこれ](https://blog.unasuke.com/2025/quic-impl-monthly-report-202505/)
|
59
|
+
* [QUIC実装月報 2025年6月 \| うなすけとあれこれ](https://blog.unasuke.com/2025/quic-impl-monthly-report-202506/)
|
60
|
+
* [QUIC実装月報 2025年7月 \| うなすけとあれこれ](https://blog.unasuke.com/2025/quic-impl-monthly-report-202507/)
|
61
|
+
|
62
|
+
# やってたよ
|
63
|
+
ruby-jp discordの `#weekly-shinchoku` で垂れ流しています
|
64
|
+
|
65
|
+
{:relative_width='60'}
|
66
|
+
|
67
|
+
# 実際にご覧いただこう2
|
68
|
+
実際にご覧いただこう
|
69
|
+
|
70
|
+
# HELP ME
|
71
|
+
会場にお越しのTLS有識者の方
|
72
|
+
|
73
|
+
|
74
|
+
# 今後の展望
|
75
|
+
* 明日からまた開発中断します
|
76
|
+
* Kaigi on Rails 2025のため……
|
77
|
+
* 10月から復活!
|
78
|
+
* したい……
|
data/slide.rab
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
= タイトル
|
2
|
+
|
3
|
+
# : subtitle
|
4
|
+
# サブタイトル
|
5
|
+
: author
|
6
|
+
unasuke
|
7
|
+
# : institution
|
8
|
+
# 所属
|
9
|
+
# : content-source
|
10
|
+
# イベント名
|
11
|
+
# : date
|
12
|
+
# 2025-08-28
|
13
|
+
# : allotted-time
|
14
|
+
# 5m
|
15
|
+
# : start-time
|
16
|
+
# 2025-08-28T14:01:18+09:00
|
17
|
+
# : end-time
|
18
|
+
# 2025-08-28T14:06:18+09:00
|
19
|
+
# : theme
|
20
|
+
# default
|
21
|
+
|
22
|
+
= 最初のスライド
|
23
|
+
|
24
|
+
* 項目1
|
25
|
+
* 項目2
|
26
|
+
* 項目3
|
27
|
+
|
28
|
+
= 二番目のスライド
|
29
|
+
|
30
|
+
# image
|
31
|
+
# src = https://raw.github.com/rabbit-shocker/rabbit/master/sample/lavie.png
|
32
|
+
# relative_height = 100
|
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-2025-followup
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- unasuke
|
8
|
+
bindir: bin
|
9
|
+
cert_chain: []
|
10
|
+
date: 2025-08-30 00:00:00.000000000 Z
|
11
|
+
dependencies:
|
12
|
+
- !ruby/object:Gem::Dependency
|
13
|
+
name: rabbit
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - ">="
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: 2.0.2
|
19
|
+
type: :runtime
|
20
|
+
prerelease: false
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
requirements:
|
23
|
+
- - ">="
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: 2.0.2
|
26
|
+
description: https://rhc.connpass.com/event/356128/
|
27
|
+
email:
|
28
|
+
- yusuke1994525@gmail.com
|
29
|
+
executables: []
|
30
|
+
extensions: []
|
31
|
+
extra_rdoc_files: []
|
32
|
+
files:
|
33
|
+
- ".rabbit"
|
34
|
+
- README.md
|
35
|
+
- Rakefile
|
36
|
+
- config.yaml
|
37
|
+
- img/discord-log.png
|
38
|
+
- img/icon.jpg
|
39
|
+
- img/timetable.png
|
40
|
+
- pdf/rubykaigi-2025-followup-slide.pdf
|
41
|
+
- slide.md
|
42
|
+
- slide.rab
|
43
|
+
- theme.rb
|
44
|
+
homepage: https://slide.rabbit-shocker.org/authors/unasuke/rubykaigi-2025-followup/
|
45
|
+
licenses:
|
46
|
+
- MIT
|
47
|
+
metadata:
|
48
|
+
source_code_uri: https://github.com/unasuke/rubykaigi-2025-followup
|
49
|
+
markup_language: markdown
|
50
|
+
rdoc_options: []
|
51
|
+
require_paths:
|
52
|
+
- lib
|
53
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0'
|
58
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
requirements: []
|
64
|
+
rubygems_version: 3.6.9
|
65
|
+
specification_version: 4
|
66
|
+
summary: RubyKaigi 2025 followup
|
67
|
+
test_files: []
|