rabbit-slide-unasuke-omotesandorb-49 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
![](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: []
|