SlideShare a Scribd company logo
SpringOneを経験してよりよいWebサービスを作るために僕らが取り組むこと
Takahiro Fujii
Thomas Ludwig
1
Introduction
2
Takahiro Fujii(@taka_ft)
Team Maneger
Booking Front Team
Travel Platform Group
Travel Service Development Department
Agenda
3
https://jsug.doorkeeper.jp/events/34341
Spring REST Docsを利用して鮮度の高いDocumentを運用しよう
Takahiro Fujii
4
Topic
Documentation
5
良いドキュメンテーションの仕組み
・良いドキュメンテーションの仕組みとはなにか
・簡単にドキュメントが作れる
・見やすいドキュメントを作成することができる
・ドキュメントを更新するコストが低い
・嘘をつかない(ドキュメントと実装の差分が発生しにくい)
6
良いドキュメンテーションの仕組み
Springを利用している
アプリケーションではどうか?
7
Swagger
8
http://swagger.io/
Swaggerの考慮すべき点
・URI baseのドキュメンテーション
・Documentationのためのコードがロジック側にはいる
・DRYではない
(重複したコードをエンドポイント毎に定義する必要がある)
・Test-Driven Documentationしづらい
・Hypermediaをサポートしていない
・ライブラリのサイズ大きい(約31MB)
※Swaggerは良いツールです
※Sessionの動画でより具体的な点に触れています
9
良いドキュメンテーションの仕組み
・良いドキュメンテーションの仕組みとはなにか
・見やすいデザインが作りやすい
formatを使ってドキュメントを書くことができる
・ドキュメントを作成するために(ロジック側に)実装を必要としない
・ドキュメントが正確だと保証することができる
10
良いドキュメンテーションの仕組み
Springに適した
ドキュメンテーションツール
11
良いドキュメンテーションの仕組み
12
http://asciidoctor.org/
良いドキュメンテーションの仕組み
13
http://docs.spring.io/spring-framework/docs/4.2.x/spring-framework-reference/htmlsingle/#spring-mvc-test-framework
良いドキュメンテーションの仕組み
Springに適した
ドキュメンテーションツール
14
良いドキュメンテーションの仕組み
がAsciiDoctorとSpring MVC Test
を軸に作られました。
15
Spring REST Docs
16
http://projects.spring.io/spring-restdocs/
2015/10/07にでたばっかり!
17
https://github.com/spring-projects/spring-restdocs/releases
こんなものがつくれます(html)
18
こんなものがつくれます(自動生成してくれます)
19
SpringOne’s session
Spring REST DocsはどのようにREST APIのドキュメ
ンテーションを助けてくれるのか
DOCUMENTING RESTFUL APIS
https://2015.event.springone2gx.com/schedule/sessions/documenting_restful_apis.html
Slide
http://www.slideshare.net/SpringCentral/documenting-restful-apis
20
どのようにSpring REST Docsを使うか、
残りの時間でできる限り話します。
21
Spring REST Docs使ってみましょう
Springのサンプル REST apiを
Spring REST Docsを使って、
ドキュメンテーションを作成し
てみます。
※スライドを読み返してくれ
ている方は、右のリンクから
サンプルapiをチェックアウト
して、実際にコードを書きな
がら試してみることをお勧め
します。
22
https://spring.io/guides/gs/rest-service/
イメージ
src/test/javaの下に
*Documentation.javaというクラス
を作成します。
23
spring mvc testのテストコードに、
documentするためのmethodを追
加するようなイメージ
dependency/build設定の追加
24
http://docs.spring.io/spring-restdocs/docs/1.0.0.RELEASE/reference/html5/#getting-started-build-configuration-gradle
http://docs.spring.io/spring-restdocs/docs/1.0.0.RELEASE/reference/html5/#getting-started-build-configuration-maven
まずは公式ドキュメントに書いてある設定を使ってみてください。
各項目で何をしているかの説明も記載されています。
dependency/build設定の追加(1)
25
http://docs.spring.io/spring-restdocs/docs/1.0.0.RELEASE/reference/html5/#getting-started-build-configuration-gradle
http://docs.spring.io/spring-restdocs/docs/1.0.0.RELEASE/reference/html5/#getting-started-build-configuration-maven
Dependencyとして追加するのはこれだけ
(そのうちstarterに入りそうな気もします)
dependency/build設定の追加(2)
26
http://docs.spring.io/spring-restdocs/docs/1.0.0.RELEASE/reference/html5/#getting-started-build-configuration-gradle
http://docs.spring.io/spring-restdocs/docs/1.0.0.RELEASE/reference/html5/#getting-started-build-configuration-maven
*Documentation.javaをunit testの実行対象にします
dependency/build設定の追加(3)
27
http://docs.spring.io/spring-restdocs/docs/1.0.0.RELEASE/reference/html5/#getting-started-build-configuration-gradle
http://docs.spring.io/spring-restdocs/docs/1.0.0.RELEASE/reference/html5/#getting-started-build-configuration-maven
ドキュメント(.adoc形式)をhtmlに変換するために必要です(他の形式にも変更可能)(後述します)
※公式ドキュメントではpropertiesで
この値をsnippetsDirectoryで定義しています
dependency/build設定の追加(4)
28
http://docs.spring.io/spring-restdocs/docs/1.0.0.RELEASE/reference/html5/#getting-started-build-configuration-gradle
http://docs.spring.io/spring-restdocs/docs/1.0.0.RELEASE/reference/html5/#getting-started-build-configuration-maven
生成されたdocumentをjarの中に内包したい場合必要(後述します)
static importが多いので
29
IDEでsuggestされるようにしておく(※上の図不完全)
さぁ、実装してみましょう
30
GreetingDocumentation.javaを実装してみましょう
前処理
31
MockMvcのinstanceを作るときに、Documentationのoutputを指定
Actual code(Sample)
32
Build
この3つの.adocファイルがビルド時に生成される(デフォルト)
※ここを変更するとdocumentが
できるディレクトリを分けられます
adocって?
.adocって何?
33
adocって?
http://asciidoctor.org/docs/what-is-asciidoc/
34
adocって?
・.adocはasciidoctorの拡張子
・Markdownのようなマークアップ言語
・HTMLやPDFなどに変換してくれる機能を有している
35
adocって?
36
[source,bash]
----
$ curl 'http://localhost:8080/greeting?name=takahiro' –I
----
[source,http]
----
GET /greeting?name=takahiro HTTP/1.1Host: localhost
----
[source,http]
----
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 37
{"id":1,"content":"Hello, takahiro!”}
----
curl-request.adoc
http-request.adoc
http-response.adoc
adocを直接開くとこんな感じです。
adocって?(対応
37
curl-request.adoc
http-request.adoc
http-response.adoc
add-on,plugin
firefox : https://addons.mozilla.org/ja/firefox/addon/asciidoctorjs-live-preview/
chrome : https://chrome.google.com/webstore/detail/asciidoctorjs-live-
previe/iaalpfgpbocpdfblpnhhgllgbdbchmia
sublime : https://github.com/asciidoctor/sublimetext-asciidoc
atom : https://github.com/asciidoctor/atom-asciidoc-preview
対応しているブラウザ/ソフト
で開くとこんな感じに表示されます。
で、これをどうすれば?
38
Spring REST Docsって何してくれるの?
39
http://projects.spring.io/spring-restdocs/
snippet : 切れ端・断片
SpringRESTDocsは
snippets(断片)
を自動生成してくれるもの
40
snippetsの親は自分で用意
41
親adoc
42
src/main/asciidocの下に
*.adocというファイルを作成します。
api-guide.adocの中で、
SpringRESTDocsで生成したsnippets
をincludeすることができます。
親adocは、公式ドキュメントにのっている
sample projectのapi-guide.adocを参考にして
作ってみるのがいいかと思います。
43
https://raw.githubusercontent.com/spring-projects/spring-restdocs/v1.0.0.RELEASE/samples/rest-notes-spring-hateoas/src/docs/asciidoc/api-guide.adoc
https://raw.githubusercontent.com/spring-projects/spring-restdocs/v1.0.0.RELEASE/samples/rest-notes-spring-data-rest/src/main/asciidoc/api-guide.adoc
親adocがある状態でもう一度buildしてみると、、
動きます
44
ついにhtmlが
45
指定した形式に変換されたapi-guide.*が作成されます。
pom.xml
もちろん開くことができます。
46
もう一つ
47
jarに内包させることが可能です。(アプリの中に入れる)
48
jarに内包させることが可能です。
49
pom.xml
Spring MVC Test
おさらい
50
1.SpringRESTDocsが部品(snippets)を作ってくれる(with SpringMVCTest)
2. snippetsをincludeする.adocファイルを作ると、ビルド時に
指定した形式に変換してくれる
SpringRESTDocs
*-request.adoc
*-response.adoc
*Documentation.java
api-guide.adoc
*-request.adoc
*-response.adoc
Asciidoctor
api-guide.html
snippets
targetフォルダ
おさらい
51
targetの中にできるので、
例えばJenkinsとかのbuild
からドキュメントが参照できる
api-guide.html
appname.jar
api-guide.html
アプリの中にドキュメントを組み込み、
アプリ配下にドキュメントページ
を組み込める
SpringRESTDocsの何がいいのか
52
・(望むなら)testと一緒にdocumentが生成される
・testが通ったらdocumentがつくられるという仕組みを提供
・正しくないdocumentが限りなく作りにくい
・Wikiにありがちな、更新されないdocumentを作らせない
・Test Driven Documentation
・(一度使い方を理解すれば)新規のアプリで動かすのが楽
※最初はmockでapiを作っておいてドキュメントを先に用意して提供することも可能
テスト
成功
Create document
start
end
false
true
Testからドキュメントを作ることのメリット
53
この結果はtest codeの中で実際にapiをcallして返ってきた値から作られている。
つまり仕様が変わればDocumentは変わる。
(HelloからGood mornningに変えれば生成されるドキュメントも変わる)
Endpointを変えてテストが失敗されればエラーがでてDocumentは生成されない
※もちろんMVC Testでもっと厳密な試験も可能
かんがえること
・Test CodeとしてのDocumentation.javaの位置付け
(*Documentation.javaに書くテストは何のテストなのか)
Document how to separate REST documenting tests from 'real' Junit tests
https://github.com/spring-projects/spring-restdocs/issues/89
・このドキュメンテーションの位置付け
(SpringRESTDocsでつくられるドキュメントは誰のためのドキュメント?)
(例えばこのドキュメンテーションを外部に出せる状態で常に維持するのか
エンジニアのためのものか)
54
Appendix(Support Hypermedia format)
55
Spring sample project : https://spring.io/guides/gs/rest-hateoas/
Appendix(Parameter Description)
56
requestParameters/requestFields/responseFields
Appendix(Customize template)
57
Reference : http://docs.spring.io/spring-restdocs/docs/1.0.0.RELEASE/reference/html5/#documenting-your-api-customizing-snippets
1.0.1 coming soon.
58
Reference : https://github.com/spring-projects/spring-restdocs/milestones
1.0.1 がもうすぐでそうです : )
Thank you !
59

More Related Content

What's hot

5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
CLARA ONLINE, Inc.
 
ゼロから始めるオープンソース生活
ゼロから始めるオープンソース生活ゼロから始めるオープンソース生活
ゼロから始めるオープンソース生活
kazuki kumagai
 
Arachne Unweaved (JP)
Arachne Unweaved (JP)Arachne Unweaved (JP)
Arachne Unweaved (JP)
Ikuru Kanuma
 
JiraとConfluenceのTips集
JiraとConfluenceのTips集JiraとConfluenceのTips集
JiraとConfluenceのTips集
Hiroshi Ohnuki
 
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
Serverworks Co.,Ltd.
 
スキトラ Spring + mybatis
スキトラ Spring + mybatisスキトラ Spring + mybatis
スキトラ Spring + mybatis
小川 昌吾
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
Ryutaro YOSHIBA
 
JIRA / Confluence の 必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだJIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の 必須プラグインはこれだ
Narichika Kajihara
 
こだわりのkintone
こだわりのkintoneこだわりのkintone
こだわりのkintone
Yusuke Amano
 
kintoneの開発プロセスとプロジェクト管理ツール
kintoneの開発プロセスとプロジェクト管理ツールkintoneの開発プロセスとプロジェクト管理ツール
kintoneの開発プロセスとプロジェクト管理ツール
Yuki Okada
 
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Takeshi Hirosue
 
オレ流クラウドデザイン
オレ流クラウドデザインオレ流クラウドデザイン
オレ流クラウドデザイン
Atsushi Kojima
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
貴志 上坂
 
2017spring jjug ccc_f2
2017spring jjug ccc_f22017spring jjug ccc_f2
2017spring jjug ccc_f2
Kazuhiro Wada
 
How to develop a huge Single Page Application
How to develop a huge Single Page ApplicationHow to develop a huge Single Page Application
How to develop a huge Single Page Application
Naoki Yamada
 
Java web application testing
Java web application testingJava web application testing
Java web application testing
Tokuhiro Matsuno
 
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 FallJavaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Yusuke Suzuki
 
ミクシィ 21卒向け Android研修
ミクシィ 21卒向け Android研修ミクシィ 21卒向け Android研修
ミクシィ 21卒向け Android研修
akkuma
 
Confluence &JIRA 導入までの軌跡
Confluence&JIRA導入までの軌跡Confluence&JIRA導入までの軌跡
Confluence &JIRA 導入までの軌跡
CLARA ONLINE, Inc.
 

What's hot (20)

5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
 
ゼロから始めるオープンソース生活
ゼロから始めるオープンソース生活ゼロから始めるオープンソース生活
ゼロから始めるオープンソース生活
 
Arachne Unweaved (JP)
Arachne Unweaved (JP)Arachne Unweaved (JP)
Arachne Unweaved (JP)
 
JiraとConfluenceのTips集
JiraとConfluenceのTips集JiraとConfluenceのTips集
JiraとConfluenceのTips集
 
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
 
スキトラ Spring + mybatis
スキトラ Spring + mybatisスキトラ Spring + mybatis
スキトラ Spring + mybatis
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
 
JIRA / Confluence の 必須プラグインはこれだ
JIRA / Confluence の必須プラグインはこれだJIRA / Confluence の必須プラグインはこれだ
JIRA / Confluence の 必須プラグインはこれだ
 
こだわりのkintone
こだわりのkintoneこだわりのkintone
こだわりのkintone
 
kintoneの開発プロセスとプロジェクト管理ツール
kintoneの開発プロセスとプロジェクト管理ツールkintoneの開発プロセスとプロジェクト管理ツール
kintoneの開発プロセスとプロジェクト管理ツール
 
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
 
オレ流クラウドデザイン
オレ流クラウドデザインオレ流クラウドデザイン
オレ流クラウドデザイン
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
 
DevOpsって何?
DevOpsって何?DevOpsって何?
DevOpsって何?
 
2017spring jjug ccc_f2
2017spring jjug ccc_f22017spring jjug ccc_f2
2017spring jjug ccc_f2
 
How to develop a huge Single Page Application
How to develop a huge Single Page ApplicationHow to develop a huge Single Page Application
How to develop a huge Single Page Application
 
Java web application testing
Java web application testingJava web application testing
Java web application testing
 
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 FallJavaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
Javaエンジニアのためのアーキテクト講座-JJUG CCC 2014 Fall
 
ミクシィ 21卒向け Android研修
ミクシィ 21卒向け Android研修ミクシィ 21卒向け Android研修
ミクシィ 21卒向け Android研修
 
Confluence &JIRA 導入までの軌跡
Confluence&JIRA導入までの軌跡Confluence&JIRA導入までの軌跡
Confluence &JIRA 導入までの軌跡
 

Similar to Spring oneを経験してよりよいwebサービスを作るために僕らが取り組むこと(document編)(SpringRESTDocs)

Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
You&I
 
Joruriシステム概要
Joruriシステム概要Joruriシステム概要
Joruriシステム概要
Koji Sumiyoshi
 
Treasure Agent Monitoring Service (ベータ)
Treasure Agent Monitoring Service (ベータ)Treasure Agent Monitoring Service (ベータ)
Treasure Agent Monitoring Service (ベータ)Treasure Data, Inc.
 
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)
Rakuten Group, Inc.
 
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
Rakuten Group, Inc.
 
20160409_Validating Product Ideas_yukio yoshida_cp04
20160409_Validating Product Ideas_yukio yoshida_cp0420160409_Validating Product Ideas_yukio yoshida_cp04
20160409_Validating Product Ideas_yukio yoshida_cp04
Japan Culture Creation
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
Koichi ITO
 
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure Data
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure DataFluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure Data
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure DataKiyoto Tamura
 
Itca yammer提案110615
Itca yammer提案110615Itca yammer提案110615
Itca yammer提案110615
伸夫 森本
 
Azure Fundamental
Azure FundamentalAzure Fundamental
Azure Fundamental
Yui Ashikaga
 
Serverless LT 20201202
Serverless LT 20201202Serverless LT 20201202
Serverless LT 20201202
ssuserebdd2a
 
アジャイル開発&TFS導入
アジャイル開発&TFS導入アジャイル開発&TFS導入
アジャイル開発&TFS導入
You&I
 
Microsoft Flow は SharePoint Designer ワークフローの代わりになり得るか!?
Microsoft Flow は SharePoint Designer ワークフローの代わりになり得るか!?Microsoft Flow は SharePoint Designer ワークフローの代わりになり得るか!?
Microsoft Flow は SharePoint Designer ワークフローの代わりになり得るか!?
Hiroaki Oikawa
 
Azure Logic Apps で SharePoint をパワーアップしよう!
Azure Logic Apps で SharePoint をパワーアップしよう!Azure Logic Apps で SharePoint をパワーアップしよう!
Azure Logic Apps で SharePoint をパワーアップしよう!
Hirofumi Ota
 
Pivotal Tracker概略
Pivotal Tracker概略Pivotal Tracker概略
Pivotal Tracker概略
You&I
 
KPTの理論と実践 公開用 プロジェクトへの「ふりかえりカイゼン」の導入で学んだこと
KPTの理論と実践 公開用 プロジェクトへの「ふりかえりカイゼン」の導入で学んだことKPTの理論と実践 公開用 プロジェクトへの「ふりかえりカイゼン」の導入で学んだこと
KPTの理論と実践 公開用 プロジェクトへの「ふりかえりカイゼン」の導入で学んだこと
ESM SEC
 
はじめてがアジャイル
はじめてがアジャイルはじめてがアジャイル
はじめてがアジャイルKenichi Takahashi
 
W&B Seminar #5(to share).pdf
W&B Seminar #5(to share).pdfW&B Seminar #5(to share).pdf
W&B Seminar #5(to share).pdf
Akira Shibata
 
ソーシャルワークショップ110610
ソーシャルワークショップ110610ソーシャルワークショップ110610
ソーシャルワークショップ110610
伸夫 森本
 
オープンセミナー2014@広島プレゼン
オープンセミナー2014@広島プレゼンオープンセミナー2014@広島プレゼン
オープンセミナー2014@広島プレゼン
Kakigi Katuyuki
 

Similar to Spring oneを経験してよりよいwebサービスを作るために僕らが取り組むこと(document編)(SpringRESTDocs) (20)

Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
 
Joruriシステム概要
Joruriシステム概要Joruriシステム概要
Joruriシステム概要
 
Treasure Agent Monitoring Service (ベータ)
Treasure Agent Monitoring Service (ベータ)Treasure Agent Monitoring Service (ベータ)
Treasure Agent Monitoring Service (ベータ)
 
楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)楽天トラベルとSpring(Spring Day 2016)
楽天トラベルとSpring(Spring Day 2016)
 
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
CIサーバを制圧せよ! - プロジェクトメトリクスと自動化技術の活用よる混乱の収拾と「最強」の組織の育成
 
20160409_Validating Product Ideas_yukio yoshida_cp04
20160409_Validating Product Ideas_yukio yoshida_cp0420160409_Validating Product Ideas_yukio yoshida_cp04
20160409_Validating Product Ideas_yukio yoshida_cp04
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure Data
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure DataFluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure Data
Fluentdの監視サービス (Treasure Agent Monitoring Service) by Treasure Data
 
Itca yammer提案110615
Itca yammer提案110615Itca yammer提案110615
Itca yammer提案110615
 
Azure Fundamental
Azure FundamentalAzure Fundamental
Azure Fundamental
 
Serverless LT 20201202
Serverless LT 20201202Serverless LT 20201202
Serverless LT 20201202
 
アジャイル開発&TFS導入
アジャイル開発&TFS導入アジャイル開発&TFS導入
アジャイル開発&TFS導入
 
Microsoft Flow は SharePoint Designer ワークフローの代わりになり得るか!?
Microsoft Flow は SharePoint Designer ワークフローの代わりになり得るか!?Microsoft Flow は SharePoint Designer ワークフローの代わりになり得るか!?
Microsoft Flow は SharePoint Designer ワークフローの代わりになり得るか!?
 
Azure Logic Apps で SharePoint をパワーアップしよう!
Azure Logic Apps で SharePoint をパワーアップしよう!Azure Logic Apps で SharePoint をパワーアップしよう!
Azure Logic Apps で SharePoint をパワーアップしよう!
 
Pivotal Tracker概略
Pivotal Tracker概略Pivotal Tracker概略
Pivotal Tracker概略
 
KPTの理論と実践 公開用 プロジェクトへの「ふりかえりカイゼン」の導入で学んだこと
KPTの理論と実践 公開用 プロジェクトへの「ふりかえりカイゼン」の導入で学んだことKPTの理論と実践 公開用 プロジェクトへの「ふりかえりカイゼン」の導入で学んだこと
KPTの理論と実践 公開用 プロジェクトへの「ふりかえりカイゼン」の導入で学んだこと
 
はじめてがアジャイル
はじめてがアジャイルはじめてがアジャイル
はじめてがアジャイル
 
W&B Seminar #5(to share).pdf
W&B Seminar #5(to share).pdfW&B Seminar #5(to share).pdf
W&B Seminar #5(to share).pdf
 
ソーシャルワークショップ110610
ソーシャルワークショップ110610ソーシャルワークショップ110610
ソーシャルワークショップ110610
 
オープンセミナー2014@広島プレゼン
オープンセミナー2014@広島プレゼンオープンセミナー2014@広島プレゼン
オープンセミナー2014@広島プレゼン
 

Recently uploaded

Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
iPride Co., Ltd.
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
ARISE analytics
 
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
Seiya Shimabukuro
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
Osaka University
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
Shinichi Hirauchi
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
ssuserfcafd1
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
Takuya Minagawa
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
kitamisetagayaxxx
 

Recently uploaded (14)

Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
 
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
 

Spring oneを経験してよりよいwebサービスを作るために僕らが取り組むこと(document編)(SpringRESTDocs)

Editor's Notes

  1. https://github.com/spring-projects/spring-restdocs/releases
  2. https://github.com/spring-projects/spring-restdocs/releases
  3. https://github.com/spring-projects/spring-restdocs/releases
  4. https://github.com/spring-projects/spring-restdocs/releases