rabbit-slide-hasumikin-RubyKaigi2023 2022.05.13.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.
data/README.rd ADDED
@@ -0,0 +1,24 @@
1
+ = Build Your Own SQLite3
2
+
3
+ Presentation slide for RubyKaigi 2023
4
+
5
+ == For author
6
+
7
+ === Show
8
+
9
+ rake
10
+
11
+ === Publish
12
+
13
+ rake publish
14
+
15
+ == For viewers
16
+
17
+ === Install
18
+
19
+ gem install rabbit-slide-hasumikin-RubyKaigi2023
20
+
21
+ === Show
22
+
23
+ rabbit rabbit-slide-hasumikin-RubyKaigi2023.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,24 @@
1
+ ---
2
+ id: RubyKaigi2023
3
+ base_name: BuildYourOwnSQLite3
4
+ tags:
5
+ - PicoRuby
6
+ - SQLite3
7
+ - RP2040
8
+ presentation_date: '2023-05-13'
9
+ presentation_start_time:
10
+ presentation_end_time:
11
+ version: 2022.05.13.0
12
+ licenses: ["MIT License"]
13
+ slideshare_id:
14
+ speaker_deck_id:
15
+ ustream_id:
16
+ vimeo_id:
17
+ youtube_id:
18
+ author:
19
+ markup_language: :rd
20
+ name: HASUMI Hitoshi
21
+ email: hasumikin@gmail.com
22
+ rubygems_user: hasumikin
23
+ slideshare_user:
24
+ speaker_deck_user:
data/demo.md ADDED
@@ -0,0 +1,14 @@
1
+ # Demo
2
+
3
+ * gtkterm
4
+ * connect demo micon
5
+ * cd /sd
6
+ * pwd
7
+ * date
8
+ * irb
9
+
10
+ sudo fdisk -l | grep FAT
11
+ sudo umount -f /dev/sdb1
12
+ sudo mount -t vfat /dev/sdb1 /media/sd -w -o umask=0
13
+
14
+ (sdb1 may differ)
Binary file
Binary file
Binary file
data/images/R2P2.jpg ADDED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/images/hasumi.jpg ADDED
Binary file
Binary file
data/images/kosaki.png ADDED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
data/images/vfs1.gif ADDED
Binary file
@@ -0,0 +1,115 @@
1
+ 以下すべて、スライドに書かれるとは限りませんが、発表の中で言う可能性があります
2
+
3
+ ## 一見すると一般名詞だが、ソフトウェア用語(固有名詞)であるもの
4
+
5
+ - Lemon
6
+ - Bison
7
+ - Rails
8
+ - gem
9
+ - library
10
+ - steep
11
+ - terminal
12
+ - shell
13
+ - thread
14
+ - fiber
15
+ - task
16
+ - builtin
17
+ - executable(実行ファイルのこと)
18
+ - null
19
+ - nil
20
+ - true
21
+ - false
22
+ - array
23
+ - string
24
+ - hash
25
+
26
+ たとえば「レイルズ」と言った場合にはそのまま「Rails」と訳せばOKです
27
+ これらは他のセッションでも頻出すると思います。
28
+ 英→日の通訳時は、すべてそのまま発声すればよいです。
29
+ たとえば「gem」を「宝石」と訳すのはNGで、たんに「ジェム」と言えばよいです
30
+
31
+ ## そのほか登場する可能性のある専門用語
32
+
33
+ カッコ内は発音。書いていない場合は単にアルファベット読みすればOK
34
+
35
+ ### ハードウェア用語
36
+
37
+ - MCU(CPUの仲間)
38
+ - RP2040 -> RP-twenty-forty。MCUの一種
39
+ - Cortex m0+ (コーテクスエムゼロプラス。Cortex m4などのバリエーションあり)
40
+ - LED(発光ダイオード)
41
+ - 以下をまとめてperipheralと言うことがあります。マイコン用語です
42
+ - GPIO
43
+ - ADC(アナログ→デジタルコンバータのこと)
44
+ - DAC(↑の逆)
45
+ - SPI
46
+ - I2C(アイスクエアドスィー)
47
+
48
+ ### ソフトウェア用語
49
+
50
+ - VFS(たんにヴィーエフエスと言えばよい。Virtual File Systemのこと)
51
+ - GUI(ジーユーアイ。グイでも通じます。Graphical User Interface)
52
+ - CUI(Character User Interface)
53
+ - IREP(アイレップ。internal representation = 内部表現)
54
+ - VM(たんにヴィーエムと言っても通じますが、virtual machineと言い換える方がいいかもしれません)
55
+ - VM code
56
+ - RVALUE(アールヴァリュー。Rubyにおける値の内部表現)
57
+ - Rake(レイク。ビルドシステムの一種)
58
+ - Make(メイク。ビルドシステムの一種)
59
+ - CMake(シーメイク。ビルドシステムの一種)
60
+ - mrbgem(エムアールビージェム。mgem = エムジェムと言うこともあり、同じ意味)
61
+ - picogem(ピコジェム)
62
+ - 以上の3つは単数形で言ったり複数形で言ったりします。単数形は特定のgemを指し、複数形はその仕組み全体を指します
63
+ - FAT(ファットまたはエフエーティー。ファイルシステムの一種。FAT12、FAT16、FAT32という3種類のバリエーションあり)
64
+
65
+ ### 個別のソフトウェア名称
66
+
67
+ - SQLite3(エスキューライトスリー。「スリー」を言わないことが多い)
68
+ - MySQL(マイエスキューエル)
69
+ - PostgreSQL(ポストグレスキューエル。日本人は「ポスグレ」などと言うことが多い)
70
+ - Rubygems(ルビージェムズ)
71
+ - Ruby on Rails(ルビーオンレイルズ。これが単数形になることは決してありません)
72
+ - IRB(アイアールビー。バリエーションにMIRB、PicoIRBがあります)
73
+ - vim(ヴィム)
74
+ - emacs(イーマクス)
75
+ - textbringer(テクストブリンガ)
76
+ - YACC(ヤック。Lemonの仲間)
77
+ - sh(シェル。shellとおなじ)
78
+ - bash(バッシュ。shellの一種)
79
+ - zsh(ズィーシェル。shellの一種)
80
+ - Curses(カースィズ)
81
+ - Readline(リードライン)
82
+ - Git(ギット)
83
+ - libc(リブシー。バリデーションにglibcなどあり)
84
+
85
+ ### OS
86
+
87
+ - Android
88
+ - iOS
89
+ - macOS
90
+ - MS-DOS(エムエスドス)
91
+ - Linux(リーヌクス)
92
+ - Ubuntu(ウブントゥ。日本人は「うぶんつ」と発声します。Linuxの一種)
93
+ - Windows
94
+ - POSIX(パズィクス。OSの仕様の一種)
95
+
96
+ ### Webサービス
97
+
98
+ - GitHub(ギットハブ)
99
+ - GitLab(ギットラブ)
100
+
101
+ ## 適切な翻訳がある日本語
102
+
103
+ - 規約 -> convention
104
+ - 構造体 -> Struct(ストラクト)。IREP構造体、mrb構造体のように使う
105
+ - (キーボードが)「割れてるやつ」 -> Split-type keyboard
106
+ - ラズパイ -> Raspberry Pi(ラズベリーパイ)
107
+ - ラズパイピコまたはラズピコ -> Raspberry Pi Pico(ラズベリーパイピコ)。ピコがつくのとつかないのは別のものです
108
+ - ラズパイ財団 -> Raspberry Pi Foundation
109
+ - マイコン -> Microcontroller(Microcomputerではないので注意)
110
+ - 標準入力 -> Standard input
111
+ - 標準出力 -> Standard output
112
+ - 標準入出力 -> Standard IO(アイオー)。STDIO(エスティーディーアイオーとも)
113
+ - GCされる -> being garbage collected
114
+ - 静的型 -> Static typing
115
+ - 型チェック -> Type check
data/theme.rb ADDED
@@ -0,0 +1,191 @@
1
+ # puts font_families.sort
2
+ @xxx_large_font_size = screen_size(10.5 * Pango::SCALE)
3
+ @xx_large_font_size = screen_size(9 * Pango::SCALE)
4
+ @x_large_font_size = screen_size(8 * Pango::SCALE)
5
+ @large_font_size = screen_size(6.5 * Pango::SCALE)
6
+ @normal_font_size = screen_size(4.5 * Pango::SCALE)
7
+ @small_font_size = screen_size(4 * Pango::SCALE)
8
+ @x_small_font_size = screen_size(3 * Pango::SCALE)
9
+ @xx_small_font_size = screen_size(2.5 * Pango::SCALE)
10
+
11
+ @font_family = find_font_family('Montserrat')
12
+ @monospace_font_family = 'Courier Prime'
13
+ @title_font_family = find_font_family('Montserrat')
14
+
15
+ # colors
16
+ foreground = "#333333"
17
+ red = "#ba083d"
18
+ dark_gray = "#000000"
19
+ light_gray = "#a9a7ad"
20
+ preformatted_foreground = "#00ffc2"
21
+
22
+ @default_headline_line_color = light_gray
23
+ @default_headline_line_width = 2
24
+ @default_headline_line_expand = true
25
+
26
+ @default_emphasis_color = red
27
+ @default_emphasis_level2_color = "#ffffff"
28
+
29
+ set_graffiti_color red
30
+ set_graffiti_line_width 5
31
+
32
+ #@table_frame_color = "#ffffff"
33
+ #@table_fill_color = "#0f0428"
34
+ #@table_body_frame_color = "#ffffff"
35
+ #@table_body_fill_color = "#3f3468"
36
+ #@table_head_frame_color = "#ffffff"
37
+ #@table_head_fill_color = "#rf0428"
38
+
39
+ @preformatted_fill_color = dark_gray
40
+ @preformatted_frame_color = light_gray
41
+ @preformatted_frame_width = 10
42
+ # @preformatted_centering = true
43
+
44
+ @space = screen_y(1)
45
+
46
+ @image_slide_number_start_flag_color = "#53575a"
47
+ @image_slide_number_goal_flag_color = red
48
+
49
+ #@slide_headline_hide = true
50
+
51
+ @slide_background_image = 'images/assets/background-slide.png'
52
+ include_theme("slide-background-image")
53
+
54
+ @title_slide_background_image = 'images/assets/background-title.png'
55
+ include_theme("title-slide-background-image")
56
+
57
+ include_theme('default')
58
+
59
+ match(Slide, HeadLine) do |heads|
60
+ heads.margin_top = 20
61
+ heads.prop_set("weight", "normal")
62
+ heads.prop_set "size", @large_font_size
63
+ set_font_family(heads)
64
+ end
65
+ match(Slide) do |slides|
66
+ slides.margin_left = 100
67
+ slides.margin_right = 100
68
+ slides.prop_set("foreground", foreground)
69
+ end
70
+
71
+ match TitleSlide do |slides|
72
+ slides.margin_left = 770
73
+ slides.prop_set("foreground", foreground)
74
+ end
75
+ match TitleSlide, Title do |title|
76
+ title.margin_top = -20
77
+ title.prop_set "size", @xxx_large_font_size
78
+ title.prop_set "font-family", @title_font_family
79
+ title.prop_set "weight", "bold"
80
+ end
81
+ match TitleSlide, Subtitle do |subtitle|
82
+ subtitle.margin_top = -40
83
+ subtitle.prop_set "size", @xxx_large_font_size
84
+ subtitle.prop_set "font-family", @title_font_family
85
+ subtitle.prop_set "weight", "bold"
86
+ end
87
+ match TitleSlide, Author do |authors|
88
+ authors.margin_top = 50
89
+ authors.prop_set "size", @large_font_size
90
+ end
91
+ match TitleSlide, ContentSource do |cs|
92
+ cs.margin_top = 10
93
+ cs.prop_set "size", @x_small_font_size
94
+ cs.prop_set "weight", "bold"
95
+ cs.prop_set "style", "normal"
96
+ cs.prop_set "foreground", red
97
+ end
98
+ match TitleSlide, Date do |date|
99
+ date.prop_set "size", @x_small_font_size
100
+ date.prop_set "style", "normal"
101
+ end
102
+ match TitleSlide, Institution do |i|
103
+ i.prop_set "size", @x_small_font_size
104
+ i.prop_set "style", "normal"
105
+ end
106
+
107
+ #@slide_logo_image = 'images/mark_g.png'
108
+ #include_theme('slide-logo')
109
+
110
+ @item_image_1 = 'images/assets/bullet-point-36.png'
111
+ @item_image_2 = 'images/assets/bullet-point-36.png'
112
+ @item_image_3 = 'images/assets/bullet-point-24.png'
113
+
114
+ include_theme("default-item-mark")
115
+
116
+ add_image_path("rabbit-images")
117
+
118
+ slide_body = [Slide, Body]
119
+ item_list_item = [ItemList, ItemListItem]
120
+
121
+ indent = 50
122
+
123
+ match(*(slide_body + (item_list_item * 1))) do |items|
124
+ name = "item1"
125
+ items.delete_pre_draw_proc_by_name(name)
126
+ items.delete_post_draw_proc_by_name(name)
127
+ draw_image_mark(items, @item_image_1, name, indent: indent)
128
+ end
129
+
130
+ match(*(slide_body + (item_list_item * 2))) do |items|
131
+ name = "item2"
132
+ items.delete_pre_draw_proc_by_name(name)
133
+ items.delete_post_draw_proc_by_name(name)
134
+ draw_image_mark(items, @item_image_2, name, indent: indent)
135
+ end
136
+
137
+ match(*(slide_body + (item_list_item * 3))) do |items|
138
+ name = "item3"
139
+ items.delete_pre_draw_proc_by_name(name)
140
+ items.delete_post_draw_proc_by_name(name)
141
+ draw_image_mark(items, @item_image_3, name, indent: indent)
142
+ end
143
+
144
+ enum_list_item = [EnumList, EnumListItem]
145
+
146
+ match(*(slide_body + enum_list_item + item_list_item)) do |items|
147
+ name = "enum-item1"
148
+ items.delete_pre_draw_proc_by_name(name)
149
+ items.delete_post_draw_proc_by_name(name)
150
+ draw_image_mark(items, @item_image_1, name, indent: indent)
151
+ end
152
+
153
+ match(*(slide_body + enum_list_item + (item_list_item * 2))) do |items|
154
+ name = "enum-item2"
155
+ items.delete_pre_draw_proc_by_name(name)
156
+ items.delete_post_draw_proc_by_name(name)
157
+ draw_image_mark(items, @item_image_2, name, indent: indent)
158
+ end
159
+
160
+ # table
161
+ all_table = ["**", Table]
162
+ match(*(all_table + [TableBody, TableRow, TableCell])) do |cells|
163
+ set_font_family(cells, @monospace_font_family)
164
+ end
165
+ match(*(all_table + [TableHead, TableRow, TableHeader])) do |headers|
166
+ set_font_family(headers, @monospace_font_family)
167
+ end
168
+
169
+ match("**", Emphasis, Emphasis) do |texts|
170
+ texts.prop_set("foreground", @default_emphasis_level2_color)
171
+ texts.prop_set("weight", "normal")
172
+ end
173
+
174
+ # Chapter
175
+ match Slide do |slides|
176
+ slides.each do |slide|
177
+ if slide.match?(/sub_chapter/)
178
+ slide.horizontal_centering = true
179
+ elsif slide.match?(/chapter/)
180
+ set_font_family slide, @title_font_family
181
+ slide.horizontal_centering = true
182
+ elsif slide.match?(/cite/)
183
+ slide.prop_set "foreground", foreground
184
+ slide.horizontal_centering = true
185
+ end
186
+ end
187
+ end
188
+
189
+ match("**", PreformattedBlock) do |blocks|
190
+ blocks.prop_set("foreground", preformatted_foreground)
191
+ end
metadata ADDED
@@ -0,0 +1,91 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-hasumikin-RubyKaigi2023
3
+ version: !ruby/object:Gem::Version
4
+ version: 2022.05.13.0
5
+ platform: ruby
6
+ authors:
7
+ - HASUMI Hitoshi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-05-13 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: Presentation slide for RubyKaigi 2023
28
+ email:
29
+ - hasumikin@gmail.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".rabbit"
35
+ - BuildYourOwnSQLite3.rab
36
+ - README.rd
37
+ - Rakefile
38
+ - config.yaml
39
+ - demo.md
40
+ - images/GPK60-46W.jpg
41
+ - images/GPK60-46W_top.jpg
42
+ - images/QR_github-com-picoruby.png
43
+ - images/R2P2.jpg
44
+ - images/assets/2023_graphic_kit/background.png
45
+ - images/assets/2023_graphic_kit/ogp.png
46
+ - images/assets/background-slide.png
47
+ - images/assets/background-title.png
48
+ - images/assets/bullet-point-24.png
49
+ - images/assets/bullet-point-36.png
50
+ - images/assets/bullet-point-48.png
51
+ - images/assets/bullet-point.png
52
+ - images/assets/main-visual-large.png
53
+ - images/assets/main-visual-medium.png
54
+ - images/assets/main-visual-small.png
55
+ - images/hasumi.jpg
56
+ - images/initial-V.png
57
+ - images/kosaki.png
58
+ - images/out-of-memory_1.png
59
+ - images/out-of-memory_2.png
60
+ - images/out-of-memory_fixed.png
61
+ - images/picoruby.png
62
+ - images/rpi_pico.jpg
63
+ - images/transparent.png
64
+ - images/vfs1.gif
65
+ - memo_同時通訳用語集.md
66
+ - pdf/RubyKaigi2023-BuildYourOwnSQLite3.pdf
67
+ - theme.rb
68
+ homepage: https://slide.rabbit-shocker.org/authors/hasumikin/RubyKaigi2023/
69
+ licenses:
70
+ - MIT License
71
+ metadata: {}
72
+ post_install_message:
73
+ rdoc_options: []
74
+ require_paths:
75
+ - lib
76
+ required_ruby_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ requirements: []
87
+ rubygems_version: 3.4.13
88
+ signing_key:
89
+ specification_version: 4
90
+ summary: Build Your Own SQLite3
91
+ test_files: []