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.
- checksums.yaml +7 -0
- data/.rabbit +1 -0
- data/README.md +22 -0
- data/Rakefile +17 -0
- data/config.yaml +19 -0
- data/img/esa-wip.png +0 -0
- data/img/icon_raw.jpg +0 -0
- data/pdf/omotesandorb-49-slide.pdf +0 -0
- data/slide.md +87 -0
- metadata +64 -0
checksums.yaml
ADDED
@@ -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
|
data/README.md
ADDED
@@ -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
|
+
|
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("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,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:
|
data/img/esa-wip.png
ADDED
Binary file
|
data/img/icon_raw.jpg
ADDED
Binary file
|
Binary file
|
data/slide.md
ADDED
@@ -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
|
+
{:relative_width="24" align="right" relative_margin_right="-10" relative_margin_top="42"}
|
26
|
+
|
27
|
+
# OpenAPI 3
|
28
|
+
{: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
|
+
{: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: []
|