SlideShare a Scribd company logo
1 of 19
APIドキュメントのはな
し
小宮健 (Takeshi KOMIYA) @tk0miya
SphinxCon JP 2015
Who am I ?
 仕事
 (株)タイムインターメディア所属
 Commiter of Sphinx
 Mr. Sphinx Extension Generator
 Communities:
 Sphinx-users.jp
 Sphinx+翻訳 Hack-a-thon
 毎月開催しています (Every month!)
 Watch http://sphinxjp.connpass.com/
Twitter: @tk0miya
Who am I ?
 blockdiag というツールを作ってます
 テキスト(DSL like .dot)から画像を生成し
ます{
トップページ -> ログイン -> マイペー
ジ;
トップページ -> 商品一覧 -> 商品詳細;
}
Who am I ? (Books, Articles)
 Sphinx 関連の書籍、記事を書いています
 Sphinx をはじめよう
 Software Design 2015/12月号 (来月もね!)
近況
 最近は Rails プロジェクトで仕事をしてい
ます
 …がコードを書けていません
 少し前まで Web API の設計をしていまし
た
 API の定義を書くだけのかんたんなお仕事
 (I designed API docs in nearest job)
Web API の設計
 Web API I/F 定義って何で書きます?
 WSDL (Web Service Description Lang)
 WADL (Web Application Description Lang)
 RADL (RESTful A1PI Description Lang)
 JSON Hyper Schema
 Swagger
 RAML (RESTful API Modeling Lang)
 API Blueprint (markdown)
Web API の設計 / Designing Web API
 最初は JSON Schema を考えた
 Heroku の Platform API でも使っているし…
 実際に試してみると…?
 大量に定義しようとするとだるい (very tired…)
 あれはコンピュータが解釈するもの(hard to
write)
 もっと手軽に書ける文法が欲しい… (hard
syntax)
 ということで
 API Blueprint を利用することにしました
API Blueprint
 Web API Language (Markdown based)
 色んなものに変換できる
 HTML
 mock API server
 Client libs
 JSON Schema
 様々なツールが対応し(はじめ)ている
 More details: see apiblueprint.org
API Blueprint
# GET /message
+ Response 200 (text/plain)
Hello World!
API Blueprint のメリット / Merit
 オープンなフォーマットである (Open
Format)
 見た目がきれい (Cool outputs)
 さっくり書いて共有するには悪くない
(EasyUse)
API Blueprint のデメリット (1) / Demerit
 実装レベルはツールによってまちまち
 apiary.io は実装がしっかりしている
 Web サービスなのでクローズドな内容には使いづら
い
 OSS である aglio は対応してない機能がある
 他のツールはまだ枯れていない感じ
API Blueprint のデメリット (2) / Demerit
 他のドキュメントと連携しづらい
 システムの全体像を書いたり…
 API の主要シーケンスを書いたり…
 拡張が使えなかったり…
 blockdiag とかね :-)
 それ Sphinx でできるよ!
 と思って Sphinx 拡張を書いてみました。
Sphinx meets API Blueprint
 sphinxcontrib-blueprint
 NEWEST sphinx extesion in the world
 Released at 20:00 (JST)
 総開発期間 2日
 This is concept release :-p
How to use sphinxcontrib-apiblueprint
 Install
 How to use
.. apiblueprint:: [filename]
pip install sphinxcontrib-apiblueprint
Demo
 デモします。
現時点での問題点
 見づらい (not cool )
 API を :ref: できない (do not refer API)
 Github Flavored Markdown を解釈できない
 内部では commonmark としてパース
 テーブル記法が使えない!
 未対応の記法がある
 (does not support any notation)
Next step
 まずは完成させる 
 (implement more)
 その次は Sphinx っぽいアレンジを
 (make it more Sphinx-ish)
Sphinx っぽいアレンジ / Sphinx-ish?
 入力 / Input
 Support more format(swagger, JSON Schema)
 構造化 / Structuring
 httpdomain
 Combination with extensions
 出力 / Output
 More cool design!
まとめ
 API Blueprint を使ってみました
 sphinxcontrib-apiblueprint を作りました
 改善しようと思っています
 興味がある人いませんか

More Related Content

What's hot

Sphinxを使って本を書こう #pyconjp 2012
Sphinxを使って本を書こう #pyconjp 2012Sphinxを使って本を書こう #pyconjp 2012
Sphinxを使って本を書こう #pyconjp 2012Takayuki Shimizukawa
 
SIerでもSphinxを使いたい! 前編
SIerでもSphinxを使いたい! 前編SIerでもSphinxを使いたい! 前編
SIerでもSphinxを使いたい! 前編kk_Ataka
 
マークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumiマークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumiTakeshi Komiya
 
Sphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjpSphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjpTakeshi Komiya
 
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話Takayuki Shimizukawa
 
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会Takayuki Shimizukawa
 
社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみた社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみたIosif Takakura
 
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介Takayuki Shimizukawa
 
Sphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメントSphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメントGo Yamada
 
ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版Keiichiro Shikano
 
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメントSphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメントIosif Takakura
 
Sphinxの使い方事例
Sphinxの使い方事例Sphinxの使い方事例
Sphinxの使い方事例Go Yamada
 
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pmsphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pmTakeshi Komiya
 
個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100Go Yamada
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組みTakayuki Shimizukawa
 
SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括kk_Ataka
 
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07Takeshi Komiya
 
ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01Takeshi Komiya
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」Yoshiki Shibukawa
 

What's hot (20)

Sphinxを使って本を書こう #pyconjp 2012
Sphinxを使って本を書こう #pyconjp 2012Sphinxを使って本を書こう #pyconjp 2012
Sphinxを使って本を書こう #pyconjp 2012
 
Sphinx GO!!
Sphinx GO!!Sphinx GO!!
Sphinx GO!!
 
SIerでもSphinxを使いたい! 前編
SIerでもSphinxを使いたい! 前編SIerでもSphinxを使いたい! 前編
SIerでもSphinxを使いたい! 前編
 
マークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumiマークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumi
 
Sphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjpSphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjp
 
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
 
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会
 
社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみた社内のマニュアルをSphinxで作ってみた
社内のマニュアルをSphinxで作ってみた
 
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
 
Sphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメントSphinx で手軽に作るドキュメント
Sphinx で手軽に作るドキュメント
 
ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版
 
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメントSphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
 
Sphinxの使い方事例
Sphinxの使い方事例Sphinxの使い方事例
Sphinxの使い方事例
 
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pmsphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
sphinx + blockdiag で始めるドキュメント生活 2011/05 yokohama.pm
 
個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100個人的ドキュメンテーションツール トップ100
個人的ドキュメンテーションツール トップ100
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
 
SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括SIerでもSphinxを使いたい!総括
SIerでもSphinxを使いたい!総括
 
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
手軽にメンテナンスできるドキュメントのヒミツ - blockdiag #odstudy 2011/07
 
ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01ドキュメントの話、しませんか? #428rk01
ドキュメントの話、しませんか? #428rk01
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
 

Similar to APIドキュメントの話 #sphinxjp

デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略Fumiya Sakai
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力ThinReports
 
fluxflex meetup in Tokyo
fluxflex meetup in Tokyofluxflex meetup in Tokyo
fluxflex meetup in TokyoKyosuke Inoue
 
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in TokyoFluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in TokyoKyosuke Inoue
 
Osc2008tokyo秋 なでしこ勉強会
Osc2008tokyo秋 なでしこ勉強会Osc2008tokyo秋 なでしこ勉強会
Osc2008tokyo秋 なでしこ勉強会kujirahand kujira
 
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまでSphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまでStudy Group by SciencePark Corp.
 
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)YuzoHirakawa
 
Visual Studio 2017 事はじめ
Visual Studio 2017 事はじめVisual Studio 2017 事はじめ
Visual Studio 2017 事はじめHideaki Aoyagi
 
EclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling reportEclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling reportAkira Tanaka
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminarManabu Shimobe
 
What's new in 4.0 of LibreOffice / LibreOffice 4.0の新機能
What's new in 4.0 of LibreOffice / LibreOffice 4.0の新機能What's new in 4.0 of LibreOffice / LibreOffice 4.0の新機能
What's new in 4.0 of LibreOffice / LibreOffice 4.0の新機能Naruhiko Ogasawara
 
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Saki Homma
 
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようDjango ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようTakayuki Shimizukawa
 
Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!一希 大田
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたYasuharu Seki
 
MilkCocoaを使ってスタイリッシュなプレゼンをする!
MilkCocoaを使ってスタイリッシュなプレゼンをする!MilkCocoaを使ってスタイリッシュなプレゼンをする!
MilkCocoaを使ってスタイリッシュなプレゼンをする!Cyber Mergina
 
Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。Manato KAMEYA
 
ABC 2012 Spring Robot Summit
ABC 2012 Spring Robot Summit ABC 2012 Spring Robot Summit
ABC 2012 Spring Robot Summit 三七男 山本
 
AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825Yasuharu Suzuki
 

Similar to APIドキュメントの話 #sphinxjp (20)

デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
fluxflex meetup in Tokyo
fluxflex meetup in Tokyofluxflex meetup in Tokyo
fluxflex meetup in Tokyo
 
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in TokyoFluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
 
APICのREST API入門
APICのREST API入門APICのREST API入門
APICのREST API入門
 
Osc2008tokyo秋 なでしこ勉強会
Osc2008tokyo秋 なでしこ勉強会Osc2008tokyo秋 なでしこ勉強会
Osc2008tokyo秋 なでしこ勉強会
 
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまでSphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
SphinxのCIの続き Azure DevOpsでのビルド結果を、認証付きAzure App Serviceに公開するところまで
 
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)
Web Component Framework Urushiのご紹介(OSC2017 Tokyo/Spring)
 
Visual Studio 2017 事はじめ
Visual Studio 2017 事はじめVisual Studio 2017 事はじめ
Visual Studio 2017 事はじめ
 
EclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling reportEclipseCon Europe 2019 modeling report
EclipseCon Europe 2019 modeling report
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
 
What's new in 4.0 of LibreOffice / LibreOffice 4.0の新機能
What's new in 4.0 of LibreOffice / LibreOffice 4.0の新機能What's new in 4.0 of LibreOffice / LibreOffice 4.0の新機能
What's new in 4.0 of LibreOffice / LibreOffice 4.0の新機能
 
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
 
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようDjango ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
 
Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!Visual studio 2019 updates pickup!
Visual studio 2019 updates pickup!
 
ソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみたソニーでElectronアプリをリリースしてみた
ソニーでElectronアプリをリリースしてみた
 
MilkCocoaを使ってスタイリッシュなプレゼンをする!
MilkCocoaを使ってスタイリッシュなプレゼンをする!MilkCocoaを使ってスタイリッシュなプレゼンをする!
MilkCocoaを使ってスタイリッシュなプレゼンをする!
 
Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。Room metro Tokyo #3 発表資料です。
Room metro Tokyo #3 発表資料です。
 
ABC 2012 Spring Robot Summit
ABC 2012 Spring Robot Summit ABC 2012 Spring Robot Summit
ABC 2012 Spring Robot Summit
 
AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825AWS Lambda + Python資料 ver0.94 20160825
AWS Lambda + Python資料 ver0.94 20160825
 

More from Takeshi Komiya

個人的なさがしもののはなし #rubyhiroba
個人的なさがしもののはなし #rubyhiroba個人的なさがしもののはなし #rubyhiroba
個人的なさがしもののはなし #rubyhirobaTakeshi Komiya
 
俺の嫁と行った場所 #pykonjp2014
俺の嫁と行った場所 #pykonjp2014俺の嫁と行った場所 #pykonjp2014
俺の嫁と行った場所 #pykonjp2014Takeshi Komiya
 
発見・探検・ぼくのだいあぐ #pykonjp2014
発見・探検・ぼくのだいあぐ #pykonjp2014発見・探検・ぼくのだいあぐ #pykonjp2014
発見・探検・ぼくのだいあぐ #pykonjp2014Takeshi Komiya
 
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasiaExcel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasiaTakeshi Komiya
 
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacPythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacTakeshi Komiya
 
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsugChef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsugTakeshi Komiya
 
Paratrooper chef の紹介 @ Chef Casual Talks Vol.2 #eytokyo
Paratrooper chef の紹介 @ Chef Casual Talks Vol.2 #eytokyoParatrooper chef の紹介 @ Chef Casual Talks Vol.2 #eytokyo
Paratrooper chef の紹介 @ Chef Casual Talks Vol.2 #eytokyoTakeshi Komiya
 
明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudyTakeshi Komiya
 
Roundsmanの紹介 @ Chef Casual Talks Vol.1 #eytokyo
Roundsmanの紹介 @ Chef Casual Talks Vol.1 #eytokyo Roundsmanの紹介 @ Chef Casual Talks Vol.1 #eytokyo
Roundsmanの紹介 @ Chef Casual Talks Vol.1 #eytokyo Takeshi Komiya
 
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03Takeshi Komiya
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesTakeshi Komiya
 
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudyExcel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudyTakeshi Komiya
 
Life with Sphinx 2012 #sphinxconjp
Life with Sphinx 2012 #sphinxconjpLife with Sphinx 2012 #sphinxconjp
Life with Sphinx 2012 #sphinxconjpTakeshi Komiya
 
Excel 方眼紙撲滅委員会 活動報告 2012.09 #yapcasia #ltthon
Excel 方眼紙撲滅委員会 活動報告 2012.09 #yapcasia #ltthonExcel 方眼紙撲滅委員会 活動報告 2012.09 #yapcasia #ltthon
Excel 方眼紙撲滅委員会 活動報告 2012.09 #yapcasia #ltthonTakeshi Komiya
 
Excel 方眼紙撲滅委員会 活動報告 2012.09 #pyconjp
Excel 方眼紙撲滅委員会 活動報告 2012.09 #pyconjpExcel 方眼紙撲滅委員会 活動報告 2012.09 #pyconjp
Excel 方眼紙撲滅委員会 活動報告 2012.09 #pyconjpTakeshi Komiya
 
最近つくった Sphinx 拡張の話 2012.08 #pyfes
最近つくった Sphinx 拡張の話 2012.08 #pyfes最近つくった Sphinx 拡張の話 2012.08 #pyfes
最近つくった Sphinx 拡張の話 2012.08 #pyfesTakeshi Komiya
 
Excel 方眼紙撲滅委員会 活動報告 2012.08 #pyfes
Excel 方眼紙撲滅委員会 活動報告 2012.08 #pyfesExcel 方眼紙撲滅委員会 活動報告 2012.08 #pyfes
Excel 方眼紙撲滅委員会 活動報告 2012.08 #pyfesTakeshi Komiya
 
五番目のダイアグ、現る。 2012.08 #pyfes #blockdiag
五番目のダイアグ、現る。 2012.08 #pyfes #blockdiag五番目のダイアグ、現る。 2012.08 #pyfes #blockdiag
五番目のダイアグ、現る。 2012.08 #pyfes #blockdiagTakeshi Komiya
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfesTakeshi Komiya
 
blockdiagの最新動向 2011.11 #odstudy
blockdiagの最新動向 2011.11 #odstudyblockdiagの最新動向 2011.11 #odstudy
blockdiagの最新動向 2011.11 #odstudyTakeshi Komiya
 

More from Takeshi Komiya (20)

個人的なさがしもののはなし #rubyhiroba
個人的なさがしもののはなし #rubyhiroba個人的なさがしもののはなし #rubyhiroba
個人的なさがしもののはなし #rubyhiroba
 
俺の嫁と行った場所 #pykonjp2014
俺の嫁と行った場所 #pykonjp2014俺の嫁と行った場所 #pykonjp2014
俺の嫁と行った場所 #pykonjp2014
 
発見・探検・ぼくのだいあぐ #pykonjp2014
発見・探検・ぼくのだいあぐ #pykonjp2014発見・探検・ぼくのだいあぐ #pykonjp2014
発見・探検・ぼくのだいあぐ #pykonjp2014
 
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasiaExcel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
 
Pythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapacPythonユーザのための構成管理入門 #pyconapac
Pythonユーザのための構成管理入門 #pyconapac
 
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsugChef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
Chef の気まぐれ環境構築 〜季節の Capistrano を添えて〜 #jawsug
 
Paratrooper chef の紹介 @ Chef Casual Talks Vol.2 #eytokyo
Paratrooper chef の紹介 @ Chef Casual Talks Vol.2 #eytokyoParatrooper chef の紹介 @ Chef Casual Talks Vol.2 #eytokyo
Paratrooper chef の紹介 @ Chef Casual Talks Vol.2 #eytokyo
 
明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy明日から始める Chef 入門 #bpstudy
明日から始める Chef 入門 #bpstudy
 
Roundsmanの紹介 @ Chef Casual Talks Vol.1 #eytokyo
Roundsmanの紹介 @ Chef Casual Talks Vol.1 #eytokyo Roundsmanの紹介 @ Chef Casual Talks Vol.1 #eytokyo
Roundsmanの紹介 @ Chef Casual Talks Vol.1 #eytokyo
 
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
春を先取り!OpsWorksとChef ではじめる恋色コーデ術! #pyfes 2013.03
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfes
 
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudyExcel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
 
Life with Sphinx 2012 #sphinxconjp
Life with Sphinx 2012 #sphinxconjpLife with Sphinx 2012 #sphinxconjp
Life with Sphinx 2012 #sphinxconjp
 
Excel 方眼紙撲滅委員会 活動報告 2012.09 #yapcasia #ltthon
Excel 方眼紙撲滅委員会 活動報告 2012.09 #yapcasia #ltthonExcel 方眼紙撲滅委員会 活動報告 2012.09 #yapcasia #ltthon
Excel 方眼紙撲滅委員会 活動報告 2012.09 #yapcasia #ltthon
 
Excel 方眼紙撲滅委員会 活動報告 2012.09 #pyconjp
Excel 方眼紙撲滅委員会 活動報告 2012.09 #pyconjpExcel 方眼紙撲滅委員会 活動報告 2012.09 #pyconjp
Excel 方眼紙撲滅委員会 活動報告 2012.09 #pyconjp
 
最近つくった Sphinx 拡張の話 2012.08 #pyfes
最近つくった Sphinx 拡張の話 2012.08 #pyfes最近つくった Sphinx 拡張の話 2012.08 #pyfes
最近つくった Sphinx 拡張の話 2012.08 #pyfes
 
Excel 方眼紙撲滅委員会 活動報告 2012.08 #pyfes
Excel 方眼紙撲滅委員会 活動報告 2012.08 #pyfesExcel 方眼紙撲滅委員会 活動報告 2012.08 #pyfes
Excel 方眼紙撲滅委員会 活動報告 2012.08 #pyfes
 
五番目のダイアグ、現る。 2012.08 #pyfes #blockdiag
五番目のダイアグ、現る。 2012.08 #pyfes #blockdiag五番目のダイアグ、現る。 2012.08 #pyfes #blockdiag
五番目のダイアグ、現る。 2012.08 #pyfes #blockdiag
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
 
blockdiagの最新動向 2011.11 #odstudy
blockdiagの最新動向 2011.11 #odstudyblockdiagの最新動向 2011.11 #odstudy
blockdiagの最新動向 2011.11 #odstudy
 

Recently uploaded

UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (9)

UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 

APIドキュメントの話 #sphinxjp

  • 2. Who am I ?  仕事  (株)タイムインターメディア所属  Commiter of Sphinx  Mr. Sphinx Extension Generator  Communities:  Sphinx-users.jp  Sphinx+翻訳 Hack-a-thon  毎月開催しています (Every month!)  Watch http://sphinxjp.connpass.com/ Twitter: @tk0miya
  • 3. Who am I ?  blockdiag というツールを作ってます  テキスト(DSL like .dot)から画像を生成し ます{ トップページ -> ログイン -> マイペー ジ; トップページ -> 商品一覧 -> 商品詳細; }
  • 4. Who am I ? (Books, Articles)  Sphinx 関連の書籍、記事を書いています  Sphinx をはじめよう  Software Design 2015/12月号 (来月もね!)
  • 5. 近況  最近は Rails プロジェクトで仕事をしてい ます  …がコードを書けていません  少し前まで Web API の設計をしていまし た  API の定義を書くだけのかんたんなお仕事  (I designed API docs in nearest job)
  • 6. Web API の設計  Web API I/F 定義って何で書きます?  WSDL (Web Service Description Lang)  WADL (Web Application Description Lang)  RADL (RESTful A1PI Description Lang)  JSON Hyper Schema  Swagger  RAML (RESTful API Modeling Lang)  API Blueprint (markdown)
  • 7. Web API の設計 / Designing Web API  最初は JSON Schema を考えた  Heroku の Platform API でも使っているし…  実際に試してみると…?  大量に定義しようとするとだるい (very tired…)  あれはコンピュータが解釈するもの(hard to write)  もっと手軽に書ける文法が欲しい… (hard syntax)  ということで  API Blueprint を利用することにしました
  • 8. API Blueprint  Web API Language (Markdown based)  色んなものに変換できる  HTML  mock API server  Client libs  JSON Schema  様々なツールが対応し(はじめ)ている  More details: see apiblueprint.org
  • 9. API Blueprint # GET /message + Response 200 (text/plain) Hello World!
  • 10. API Blueprint のメリット / Merit  オープンなフォーマットである (Open Format)  見た目がきれい (Cool outputs)  さっくり書いて共有するには悪くない (EasyUse)
  • 11. API Blueprint のデメリット (1) / Demerit  実装レベルはツールによってまちまち  apiary.io は実装がしっかりしている  Web サービスなのでクローズドな内容には使いづら い  OSS である aglio は対応してない機能がある  他のツールはまだ枯れていない感じ
  • 12. API Blueprint のデメリット (2) / Demerit  他のドキュメントと連携しづらい  システムの全体像を書いたり…  API の主要シーケンスを書いたり…  拡張が使えなかったり…  blockdiag とかね :-)  それ Sphinx でできるよ!  と思って Sphinx 拡張を書いてみました。
  • 13. Sphinx meets API Blueprint  sphinxcontrib-blueprint  NEWEST sphinx extesion in the world  Released at 20:00 (JST)  総開発期間 2日  This is concept release :-p
  • 14. How to use sphinxcontrib-apiblueprint  Install  How to use .. apiblueprint:: [filename] pip install sphinxcontrib-apiblueprint
  • 16. 現時点での問題点  見づらい (not cool )  API を :ref: できない (do not refer API)  Github Flavored Markdown を解釈できない  内部では commonmark としてパース  テーブル記法が使えない!  未対応の記法がある  (does not support any notation)
  • 17. Next step  まずは完成させる   (implement more)  その次は Sphinx っぽいアレンジを  (make it more Sphinx-ish)
  • 18. Sphinx っぽいアレンジ / Sphinx-ish?  入力 / Input  Support more format(swagger, JSON Schema)  構造化 / Structuring  httpdomain  Combination with extensions  出力 / Output  More cool design!
  • 19. まとめ  API Blueprint を使ってみました  sphinxcontrib-apiblueprint を作りました  改善しようと思っています  興味がある人いませんか

Editor's Notes

  1. This is example of blockdiag. Connect nodes with arrow operator. After execute blockdiag command, you can get images.
  2. This is example of blockdiag. Connect nodes with arrow operator. After execute blockdiag command, you can get images.