rabbit-slide-unasuke-omotesandorb-48 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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 9c231ab0dcf55ef67a9793786b85ab78a44482f87fc7b6aa97676cc64d81c3c2
4
+ data.tar.gz: 25673509bc6fd0f43b2fe03a964c40b3786f87629dee5b9dd3313d3a8a99cfae
5
+ SHA512:
6
+ metadata.gz: e89e02f4094cb5f5b858c644e16fb9be1742a635e64cbdcfc6ccece850c42be83ea7d071f4611760bed227de7818ac3a21d47bfc8c560c705a3d8fef218d3f38
7
+ data.tar.gz: b5d6ed1ddfca6ea0e175f7371a053f4460ebaa3eb0ee7a7a740c25c8e28914cff90dfa794eb72c5a9e07b80b3c1c101d296ef21464282db49593b525492d64d9
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ slide.md
@@ -0,0 +1,24 @@
1
+ # omotesandorb #48
2
+
3
+ [表参道.rb #48 - connpass](https://omotesandorb.connpass.com/event/136761/)
4
+
5
+ ## 作者向け
6
+
7
+ ### 表示
8
+
9
+ rake
10
+
11
+ ### 公開
12
+
13
+ rake publish
14
+
15
+ ## 閲覧者向け
16
+
17
+ ### インストール
18
+
19
+ gem install rabbit-slide--omotesandorb-48
20
+
21
+ ### 表示
22
+
23
+ rabbit rabbit-slide--omotesandorb-48.gem
24
+
@@ -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("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
@@ -0,0 +1,19 @@
1
+ ---
2
+ id: omotesandorb-48
3
+ base_name: slide
4
+ tags: ['ruby']
5
+ presentation_date: '2019-07-04'
6
+ version: 1.0.0
7
+ licenses: []
8
+ slideshare_id:
9
+ speaker_deck_id:
10
+ ustream_id:
11
+ vimeo_id:
12
+ youtube_id:
13
+ author:
14
+ markup_language: :markdown
15
+ name: unasuke
16
+ email: yusuke1994525@gmail.com
17
+ rubygems_user: unasuke
18
+ slideshare_user:
19
+ speaker_deck_user:
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,136 @@
1
+ # Sorbet撤退記
2
+ subtitle
3
+ : 2019-07-04
4
+
5
+ subtitle
6
+ : 表参道.rb #48
7
+
8
+ author
9
+ : うなすけ
10
+
11
+ theme
12
+ : unasuke-white
13
+
14
+
15
+ # 自己紹介
16
+ - 名前 : うなすけ
17
+ - 仕事 : 株式会社バンク (エンジニア)
18
+ - インフラ寄りサーバーサイドエンジニア
19
+ - Ruby, Rails, Kubernetes...
20
+
21
+ - {::tag name="x-small"}GitHub [@unasuke](https://github.com/unasuke){:/tag}
22
+ - {::tag name="x-small"}Mastodon [@unasuke@mstdn.unasuke.com](https://mstdn.unasuke.com/@unasuke){:/tag}
23
+ - {::tag name="x-small"}Twitter [@yu\_suke1994](https://twitter.com/yu_suke1994){:/tag}
24
+
25
+ ![](img/icon_raw.jpg){:relative_width="24" align="right" relative_margin_right="-10" relative_margin_top="42"}
26
+
27
+ # 参加表明
28
+ ![](img/omotesandorb-connpass.png){:relative_width="100"}
29
+
30
+ - ~~GitHubが落ちるときの話~~
31
+ - Sorbetを~~applicationに導入して~~試してみる話
32
+
33
+ # 型
34
+ ![](img/tweet_holygrail_mechakucha.png){:relative_width="85"}
35
+
36
+ <https://twitter.com/HolyGrail/status/1143030647121780737>
37
+
38
+ # 型
39
+ ![](img/D9zcUD3VUAA5jWt.jpeg){:relative_width="100"}
40
+
41
+ # Sorbet
42
+ > Sorbet is a fast, powerful type checker designed for Ruby.
43
+ > Built with 💜 at Stripe.
44
+
45
+ ![](https://sorbet.org/img/sorbet-logo-white-sparkles.svg){:relative_height="100"}
46
+
47
+ # Sorbet in RubyKaigi 2019
48
+ - <https://rubykaigi.org/2019/presentations/jez.html>
49
+ - <https://www.youtube.com/watch?v=odmlf_ezsBo>
50
+
51
+ ![](img/sorbet-in-rubykaigi-2019.png){:relative_width="50"}
52
+
53
+ # Sorbet was public released in GitHub
54
+ ![](img/sorbet-on-github.png){:relative_width="100"}
55
+
56
+ at 2019-06-20
57
+
58
+ <https://github.com/sorbet/sorbet>
59
+
60
+ # 「みんな型が欲しいっちゅってる」
61
+ ![](img/everybody-wants-type.png)
62
+
63
+ # やること
64
+ 1. `gem 'sorbet', :group => :development`
65
+ 1. 自明 `bundle install`
66
+ 1. `bundle exec srb init`
67
+ 1. `bundle exec srb tc`
68
+
69
+ <https://sorbet.org/docs/adopting>
70
+
71
+ # bundle exec srb init → OOM Killer
72
+ ![](img/srb-init-takes-huge-resources.png){:relative_width="100"}
73
+
74
+ # bundle exec srb init → 大量の .rbi
75
+ ```shell
76
+ $ ls sorbet/**/*.rbi | wc -l
77
+ 471
78
+ ```
79
+
80
+ # bundle exec srb typecheck めっちゃ警告
81
+ ```shell
82
+ $ docker-compose exec api bundle exec srb tc | wc -l
83
+ 14826
84
+ ```
85
+
86
+ # We have CLI option!
87
+ ```shell
88
+ $ bundle exec srb tc --typed=true
89
+ ```
90
+
91
+ <https://sorbet.org/docs/cli#overriding-strictness-levels>
92
+
93
+ # We have configuration yaml!
94
+ ```yaml
95
+ # -- foo.yaml --
96
+ true:
97
+ - foo.rb
98
+ ```
99
+
100
+ ```shell
101
+ $ bundle exec srb tc --typed-override=foo.yaml foo.rb
102
+ ```
103
+
104
+ <https://sorbet.org/docs/cli#overriding-strictness-levels>
105
+
106
+ # しかしこれは両立できない(現状は)
107
+ - 全ファイルの静的型解析を `ignore`
108
+ - 型注釈を書いたファイルは `true` 以上
109
+
110
+ ということができない!
111
+
112
+ ↓↓↓↓
113
+
114
+ 結果、全 `.rb` に対して `# typed: ignore` を書く?
115
+
116
+ # 末路
117
+ ![](img/tweet-unasuke-doukato.png){:relative_width="75"}
118
+
119
+ <https://twitter.com/yu_suke1994/status/1145998714533601280>
120
+
121
+ # 結論
122
+ ![](img/unasuke-pr-closed.png){:relative_width="100"}
123
+
124
+ はい……
125
+
126
+ # 理想
127
+ ![](img/sorbet-ideal.png){:relative_width="90"}
128
+
129
+ {::tag name="x-small"}
130
+ <https://github.com/unasuke/github-notification-reminder/commit/774205a>
131
+ {:/tag}
132
+
133
+ # 参考資料
134
+ - <https://sorbet.org>
135
+ - <https://soutaro.hatenablog.com/entry/2019/06/26/145305>
136
+ - <https://speakerdeck.com/soutaro/an-introduction-to-typed-ruby-programming>
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-unasuke-omotesandorb-48
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: 2019-07-04 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: "[表参道.rb #48 - connpass](https://omotesandorb.connpass.com/event/136761/)"
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/D9zcUD3VUAA5jWt.jpeg
39
+ - img/everybody-wants-type.png
40
+ - img/icon_raw.jpg
41
+ - img/omotesandorb-connpass.png
42
+ - img/sorbet-ideal.png
43
+ - img/sorbet-in-rubykaigi-2019.png
44
+ - img/sorbet-on-github.png
45
+ - img/srb-init-takes-huge-resources.png
46
+ - img/tweet-unasuke-doukato.png
47
+ - img/tweet_holygrail_mechakucha.png
48
+ - img/unasuke-pr-closed.png
49
+ - pdf/omotesandorb-48-slide.pdf
50
+ - slide.md
51
+ homepage: http://slide.rabbit-shocker.org/authors/unasuke/omotesandorb-48/
52
+ licenses: []
53
+ metadata: {}
54
+ post_install_message:
55
+ rdoc_options: []
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ requirements: []
69
+ rubygems_version: 3.0.3
70
+ signing_key:
71
+ specification_version: 4
72
+ summary: 'omotesandorb #48'
73
+ test_files: []