rabbit-slide-unasuke-omotesandorb-49 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: 7f92821c2ed020ee61e5f58e0c5604585f78ae2e55306152c6221e6bc9a97d06
4
+ data.tar.gz: 6f8186bf8a6796b636d8fa6011046e7315f6ba8b261de53da31d566c251837df
5
+ SHA512:
6
+ metadata.gz: 10322592a1f6903a8179969021acb041afbb0d877fdda0ee3879057b68722a0999875d887926c2c53cb9fffb2ab33135ed315058f7e1f36ff3693f9a7444ec88
7
+ data.tar.gz: 3ec5cb3e2f8e98cd3c2fc86860ebbd9100cc4f2b55c180b6d9af078db2e121d6e9db0f85c4156785e1ec6a70ec5d3f430db05e6fbb3033879d99283ae4993135
data/.rabbit ADDED
@@ -0,0 +1 @@
1
+ slide.md
@@ -0,0 +1,22 @@
1
+ # omotesandorb #49
2
+
3
+ ## 作者向け
4
+
5
+ ### 表示
6
+
7
+ rake
8
+
9
+ ### 公開
10
+
11
+ rake publish
12
+
13
+ ## 閲覧者向け
14
+
15
+ ### インストール
16
+
17
+ gem install rabbit-slide-unasuke-omotesandorb-49
18
+
19
+ ### 表示
20
+
21
+ rabbit rabbit-slide-unasuke-omotesandorb-49.gem
22
+
@@ -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-49
3
+ base_name: slide
4
+ tags: ['ruby', 'rails', 'openapi']
5
+ presentation_date:
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
@@ -0,0 +1,87 @@
1
+ # OpenAPI 3 によるスキーマラスト開発
2
+ subtitle
3
+ : 2019-08-01
4
+
5
+ subtitle
6
+ : 表参道.rb #49
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
+ # OpenAPI 3
28
+ ![](https://www.openapis.org/wp-content/uploads/sites/3/2018/02/OpenAPI_Logo_Pantone-1.png){:relative_width="90"}
29
+
30
+ <https://www.openapis.org/>
31
+
32
+ - YAMLやJSONで REST APIの仕様を記述するやつ
33
+ - Swaggerとか聞いたことある人多いんでは
34
+
35
+ # OpenAPI 3
36
+ - スキーマファースト開発で使われる
37
+ - serverとclientがAPIのschemaを定義してから開発
38
+ - 手戻りが少ない
39
+ - documentができる
40
+ - [スキーマファースト開発のススメ - onk.ninja](https://blog.onk.ninja/2017/09/21/schema_first_development)
41
+
42
+ # OpenAPI 3 例
43
+ ```yaml
44
+ openapi: 3.0.0
45
+ info:
46
+ title: Sample API
47
+ description: Optional multiline or single-line description
48
+ version: 0.1.9
49
+ servers:
50
+ - url: http://api.example.com/v1
51
+ description: Optional server description, e.g. Main (production) server
52
+ - url: http://staging-api.example.com
53
+ description: Optional server description, e.g. Internal staging server for testing
54
+ paths:
55
+ /users:
56
+ get:
57
+ summary: Returns a list of users.
58
+ description: Optional extended description in CommonMark or HTML.
59
+ responses:
60
+ '200': # status code
61
+ description: A JSON array of user names
62
+ ```
63
+
64
+ <https://swagger.io/docs/specification/basic-structure/>
65
+
66
+ # 現実世界には様々なことがある
67
+ - 途中からOpenAPIを導入したい
68
+ - 大量の定義を書かねばならぬ
69
+ - タスクがパンク
70
+ - 終了
71
+
72
+ # `config/routes.rb` があるじゃん
73
+ - ここからなんとか paths のやつだけ自動生成できないか?
74
+
75
+ # できた
76
+ <https://github.com/unasuke/openapi3_definition_generator-rails>
77
+
78
+ # つらみ
79
+ ここからコードを見ながら話します
80
+
81
+ # つらみ
82
+ - 何もかもがPrivate API
83
+
84
+ # まとめ
85
+ - 今月中にブログ書きます
86
+
87
+ ![](img/esa-wip.png){:relative_width='100'}
metadata ADDED
@@ -0,0 +1,64 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rabbit-slide-unasuke-omotesandorb-49
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-08-01 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: ''
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/esa-wip.png
39
+ - img/icon_raw.jpg
40
+ - pdf/omotesandorb-49-slide.pdf
41
+ - slide.md
42
+ homepage: http://slide.rabbit-shocker.org/authors/unasuke/omotesandorb-49/
43
+ licenses: []
44
+ metadata: {}
45
+ post_install_message:
46
+ rdoc_options: []
47
+ require_paths:
48
+ - lib
49
+ required_ruby_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ required_rubygems_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
59
+ requirements: []
60
+ rubygems_version: 3.0.3
61
+ signing_key:
62
+ specification_version: 4
63
+ summary: 'omotesandorb #49'
64
+ test_files: []