SlideShare a Scribd company logo
1 of 31
Download to read offline
株式会社Emotion Tech
三上 悟
WebAPI開発に必要な
ドキュメントを作る話
第2回 人形町Techで騒がNight♥
会社紹介
株式会社Emotion Tech(旧 wizpra)
ミッション
「すべての人がイキイキと働ける社会の実現」
事業内容
顧客の声を起点とした経営課題の解決
サービス品質の向上を行うサービス
「Emotion Tech」の開発・運営
サービス紹介
“Emotion Tech”は、顧客・従業員の感情データをリアルタイムに
集計・定量的に分析・可視化できる、ロイヤルティ向上支援クラウドシステム
簡単に説明すると・・・
アンケートに回答して 回答を分析すると
商品の推奨度がわかる
改善点がわかる
改善提案ができる
自己紹介
三上 悟 @saicologic
所属:株式会社Emotion Tech
2017年3月入社。主にバックエンド側のエンジニアです。
最近は、分析基盤とWebAPIを作ってます。
Docker、Embulk、Digdag、Angular
R、Python、Ruby、SQL、TypeScript
AWS
WebAPI開発に必要な
ドキュメントを作る話
課題
Front Side
(Angualr)
Server Side
(Rails + grape)
ここのドキュメントをどうやって管理するか?
現状
Excelで管理されています
・1シートに行列で管理されている
・人手で記述しているため、ソースコードとAPIドキュメントに差異がある
・APIドキュメントが最新版であることが保証されていない
開発はモダンなのに、ここだけレガシー!?
利便性
・ドキュメントを管理したくないから、ソースコードから自動生成して欲しい
・開発中のWebAPIのドキュメントも欲しい
汎用性
・言語が変わってもドキュメントの生成方法は同じにしたい
可読性
・リクエストの必須パラメータ/オプションが知りたい
・パラメータの意味が知りたい
・実行せずともレスポンスの結果が知りたい
・ドキュメントだけでなく実際に仮のデータで見たい
利用制限
・外部提供用のドキュメントも欲しい
欲しいもの
調査対象サービス/ツール 5種
・Apiary
・Swagger
・apidoc
・iodocs
・autodocs
Apiary
・SaaS型のドキュメント管理サービス
・APIドキュメントは、Blueprint(Markdown)で記述する
・Swagger Specにも対応している
・ドキュメントの生成と同時にAPIのモックサーバーが用意される
・SaaSで利用することができる
・Private/Teamで利用する場合は、$99~
・オープンソースでツールが提供されている
・API Blueprint
・dredd( HTTP Testing Framework )
・Apiary CLI
・Snow Crash( API Blueprint Parser)
・aglio (API Blueprint Renderer)
Apiary
https://app.apiary.io/demo547/editor
Swagger
・SaaS型のドキュメント管理サービス
・APIドキュメントは、Swagger Spec(JSON or YAML)で記述する
・ドキュメントの生成と同時にAPIのモックサーバーが用意される
・SaaSで利用することができる(Swagger Hubと呼ばれている)
・Private/Teamで利用する場合は、$49~
・オープンソースでツールが提供されている
・Swagger Editor
・Swagger Codegen
・Swagger UI
・SwaggerHub(Swagger Editor + Swagger UI)
・Apiary Blueprintには対応していない
Swagger
https://app.swaggerhub.com/apis/ldrozdz/Messaging-Redux/current
・オープンソース(Node.js)
・ソースコード内に独自記法で記述する
APIDOC Inline Documentation for RESTful web APIs
APIDOC
http://apidocjs.com/example/
iodocs Interactive API documentation system
・オープンソース(Node.js)
・JSONで記述する
iodocs
http://localhost:3000/foursquare
autodocs Generate documentation from your rack application & request-spec.
・オープンソース
・rspecからMarkdown形式でドキュメントを自動生成する
autodocs
https://github.com/r7kamura/autodoc/blob/master/spec/dummy/doc/recipes.md
比較表
サービス/ツール名 WebMock API Spec
ドキュメント
作成補助
SaaS
Apiary ○ Blueprint
(Markdown) ○ ○
Swagger ○ Swagger Spec
(JSON or YAML) ○ ○
apidoc × apidoc
(コード内コメント) × ×
iodocs ○ JSON × ×
autodocs × Ruby
(rspec) ○ ×
・Web Mockが欲しい
=> Apiary or Swagger or iodocs
・ドキュメント作成補助が欲しい
=> Apiary or Swagger
ApiaryとSwaggerのどちらにするか?
どれを選ぶか
API Spec 比較
Last updated November 4, 2016
API Spec Comparison Tool
Google Trends
Open API Initiative
ORACLE vs Open Community
オススメは、Swagger
・Google TrendsだとSwagger
・オープンの方が扱いやすい
・ツールが充実しているため、Swaggerのほうが良さそう
・swagger-editor Web Editor
・swagger-ui Web UI
・ruby-swagger APISpec(swagger.json)の自動生成
・swagger-rb APISpecのParser
・grape-swagger grapeを使っている場合、swagger-uiが見れる
第2回 人形町Techで騒がnight
第2回 人形町Techで騒がnight

More Related Content

Similar to 第2回 人形町Techで騒がnight

Dyna traceによるuxマネジメント
Dyna traceによるuxマネジメントDyna traceによるuxマネジメント
Dyna traceによるuxマネジメント伸夫 森本
 
IT業界理解お助け資料V2.0
IT業界理解お助け資料V2.0IT業界理解お助け資料V2.0
IT業界理解お助け資料V2.0Jun Chiba
 
IT革命からコミュニティ、コミュニケーション革命に!
IT革命からコミュニティ、コミュニケーション革命に!IT革命からコミュニティ、コミュニケーション革命に!
IT革命からコミュニティ、コミュニケーション革命に!Yuichi Morito
 
日本の中小企業のIT導入10年の振り返り
日本の中小企業のIT導入10年の振り返り日本の中小企業のIT導入10年の振り返り
日本の中小企業のIT導入10年の振り返りYuichi Morito
 
株式会社リブセンス会社説明資料(転職エージェント企業様向け)
株式会社リブセンス会社説明資料(転職エージェント企業様向け)株式会社リブセンス会社説明資料(転職エージェント企業様向け)
株式会社リブセンス会社説明資料(転職エージェント企業様向け)Taku Unno
 
Mongodb x business
Mongodb x businessMongodb x business
Mongodb x businessemin_press
 
アドテクスタジオのデータ分析基盤について
アドテクスタジオのデータ分析基盤についてアドテクスタジオのデータ分析基盤について
アドテクスタジオのデータ分析基盤についてkazuhiro ito
 
世界を変える先端Itテクノロジー
世界を変える先端Itテクノロジー世界を変える先端Itテクノロジー
世界を変える先端ItテクノロジーSatoshi Maemoto
 
20120302 第4回iocj info_scoop_sfdc連携紹介
20120302 第4回iocj info_scoop_sfdc連携紹介20120302 第4回iocj info_scoop_sfdc連携紹介
20120302 第4回iocj info_scoop_sfdc連携紹介infoScoop
 
The stumbling block of team development in the growth phase
The stumbling block of team development in the growth phaseThe stumbling block of team development in the growth phase
The stumbling block of team development in the growth phasessuser1e9374
 
依頼を頼まれるアピールの仕方.pdf
依頼を頼まれるアピールの仕方.pdf依頼を頼まれるアピールの仕方.pdf
依頼を頼まれるアピールの仕方.pdfssusera9322b
 
Adminとうまく共存するためのApex開発Tips
Adminとうまく共存するためのApex開発TipsAdminとうまく共存するためのApex開発Tips
Adminとうまく共存するためのApex開発TipsTakashi Hatamoto
 
「業務システムにモバイルを!実践エンタープライズモバイル開発プロジェクト」
「業務システムにモバイルを!実践エンタープライズモバイル開発プロジェクト」 「業務システムにモバイルを!実践エンタープライズモバイル開発プロジェクト」
「業務システムにモバイルを!実践エンタープライズモバイル開発プロジェクト」 Embarcadero Technologies
 
ノンコーディングでビジネスアプリ作成 PowerApps入門
ノンコーディングでビジネスアプリ作成 PowerApps入門ノンコーディングでビジネスアプリ作成 PowerApps入門
ノンコーディングでビジネスアプリ作成 PowerApps入門Trainocate Japan, Ltd.
 
インハウスSEMの体制(日本語)- Inhouse-SEM-team structure(ja)
インハウスSEMの体制(日本語)- Inhouse-SEM-team structure(ja)インハウスSEMの体制(日本語)- Inhouse-SEM-team structure(ja)
インハウスSEMの体制(日本語)- Inhouse-SEM-team structure(ja)Yoshihiro Okada
 
ビジネス職新卒向け Web基礎研修
ビジネス職新卒向け Web基礎研修ビジネス職新卒向け Web基礎研修
ビジネス職新卒向け Web基礎研修Taku Unno
 
WO!|vol.49|AI×コールセンター
WO!|vol.49|AI×コールセンターWO!|vol.49|AI×コールセンター
WO!|vol.49|AI×コールセンターthinkjam.Inc.
 
Unityでホログラフィックunityちゃんを呼び出す方法
Unityでホログラフィックunityちゃんを呼び出す方法Unityでホログラフィックunityちゃんを呼び出す方法
Unityでホログラフィックunityちゃんを呼び出す方法Satoshi Maemoto
 

Similar to 第2回 人形町Techで騒がnight (20)

Dyna traceによるuxマネジメント
Dyna traceによるuxマネジメントDyna traceによるuxマネジメント
Dyna traceによるuxマネジメント
 
IT業界理解お助け資料V2.0
IT業界理解お助け資料V2.0IT業界理解お助け資料V2.0
IT業界理解お助け資料V2.0
 
IT革命からコミュニティ、コミュニケーション革命に!
IT革命からコミュニティ、コミュニケーション革命に!IT革命からコミュニティ、コミュニケーション革命に!
IT革命からコミュニティ、コミュニケーション革命に!
 
AIとの付き合い方
AIとの付き合い方AIとの付き合い方
AIとの付き合い方
 
日本の中小企業のIT導入10年の振り返り
日本の中小企業のIT導入10年の振り返り日本の中小企業のIT導入10年の振り返り
日本の中小企業のIT導入10年の振り返り
 
株式会社リブセンス会社説明資料(転職エージェント企業様向け)
株式会社リブセンス会社説明資料(転職エージェント企業様向け)株式会社リブセンス会社説明資料(転職エージェント企業様向け)
株式会社リブセンス会社説明資料(転職エージェント企業様向け)
 
Mongodb x business
Mongodb x businessMongodb x business
Mongodb x business
 
アドテクスタジオのデータ分析基盤について
アドテクスタジオのデータ分析基盤についてアドテクスタジオのデータ分析基盤について
アドテクスタジオのデータ分析基盤について
 
世界を変える先端Itテクノロジー
世界を変える先端Itテクノロジー世界を変える先端Itテクノロジー
世界を変える先端Itテクノロジー
 
Dear one amplitude
Dear one amplitudeDear one amplitude
Dear one amplitude
 
20120302 第4回iocj info_scoop_sfdc連携紹介
20120302 第4回iocj info_scoop_sfdc連携紹介20120302 第4回iocj info_scoop_sfdc連携紹介
20120302 第4回iocj info_scoop_sfdc連携紹介
 
The stumbling block of team development in the growth phase
The stumbling block of team development in the growth phaseThe stumbling block of team development in the growth phase
The stumbling block of team development in the growth phase
 
依頼を頼まれるアピールの仕方.pdf
依頼を頼まれるアピールの仕方.pdf依頼を頼まれるアピールの仕方.pdf
依頼を頼まれるアピールの仕方.pdf
 
Adminとうまく共存するためのApex開発Tips
Adminとうまく共存するためのApex開発TipsAdminとうまく共存するためのApex開発Tips
Adminとうまく共存するためのApex開発Tips
 
「業務システムにモバイルを!実践エンタープライズモバイル開発プロジェクト」
「業務システムにモバイルを!実践エンタープライズモバイル開発プロジェクト」 「業務システムにモバイルを!実践エンタープライズモバイル開発プロジェクト」
「業務システムにモバイルを!実践エンタープライズモバイル開発プロジェクト」
 
ノンコーディングでビジネスアプリ作成 PowerApps入門
ノンコーディングでビジネスアプリ作成 PowerApps入門ノンコーディングでビジネスアプリ作成 PowerApps入門
ノンコーディングでビジネスアプリ作成 PowerApps入門
 
インハウスSEMの体制(日本語)- Inhouse-SEM-team structure(ja)
インハウスSEMの体制(日本語)- Inhouse-SEM-team structure(ja)インハウスSEMの体制(日本語)- Inhouse-SEM-team structure(ja)
インハウスSEMの体制(日本語)- Inhouse-SEM-team structure(ja)
 
ビジネス職新卒向け Web基礎研修
ビジネス職新卒向け Web基礎研修ビジネス職新卒向け Web基礎研修
ビジネス職新卒向け Web基礎研修
 
WO!|vol.49|AI×コールセンター
WO!|vol.49|AI×コールセンターWO!|vol.49|AI×コールセンター
WO!|vol.49|AI×コールセンター
 
Unityでホログラフィックunityちゃんを呼び出す方法
Unityでホログラフィックunityちゃんを呼び出す方法Unityでホログラフィックunityちゃんを呼び出す方法
Unityでホログラフィックunityちゃんを呼び出す方法
 

More from Satoru Mikami

Itエンジニアのための自然言語処理入門
Itエンジニアのための自然言語処理入門Itエンジニアのための自然言語処理入門
Itエンジニアのための自然言語処理入門Satoru Mikami
 
バイラルメディアの可視化 拡大版
バイラルメディアの可視化 拡大版バイラルメディアの可視化 拡大版
バイラルメディアの可視化 拡大版Satoru Mikami
 
バイラルメディアの可視化
バイラルメディアの可視化バイラルメディアの可視化
バイラルメディアの可視化Satoru Mikami
 
社会ネットワーク分析第7回
社会ネットワーク分析第7回社会ネットワーク分析第7回
社会ネットワーク分析第7回Satoru Mikami
 

More from Satoru Mikami (6)

Itエンジニアのための自然言語処理入門
Itエンジニアのための自然言語処理入門Itエンジニアのための自然言語処理入門
Itエンジニアのための自然言語処理入門
 
バイラルメディアの可視化 拡大版
バイラルメディアの可視化 拡大版バイラルメディアの可視化 拡大版
バイラルメディアの可視化 拡大版
 
バイラルメディアの可視化
バイラルメディアの可視化バイラルメディアの可視化
バイラルメディアの可視化
 
社会ネットワーク分析第7回
社会ネットワーク分析第7回社会ネットワーク分析第7回
社会ネットワーク分析第7回
 
Atndapi
AtndapiAtndapi
Atndapi
 
Mongodb
MongodbMongodb
Mongodb
 

Recently uploaded

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Recently uploaded (8)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

第2回 人形町Techで騒がnight