15
Sphinx users jp Sphinxusers .jp 小宮健

Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

Sphinx users jpSphinx‐users.jp小宮健

Page 2: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

自己紹介:小宮健

仕事Twitter: @tk0miya

(株)タイムインターメディア所属

テクニカルオフィサ(技術責任者)として活動

参加コミュニティ

Sphinx‐users.jp Python mini hack‐a‐thon

Sphinx を中心にツールを開発p を中心に ルを開発

blockdiag シリーズ

Sphinx 拡張機能の開発Sphinx 拡張機能の開発

sphinxcontrib‐googlechartなど

rst2pdf (コミッタ)p ( )

Page 3: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

ドキュメント書いてますか?

携わっているネットワークの資料はありますか?

ネットワーク図

運用手順書

ワークフロー

変更があったときに更新できていますか?変更があ たときに更新 き ますか?

機器の追加、削除、リプレース

手順の変更手順の変更

接続情報

忙しくてなかなか更新できないという話を耳にします 忙しくてなかなか更新できないという話を耳にします

今回はこれらの資料のうちネットワ ク図を取り上げます 今回はこれらの資料のうちネットワーク図を取り上げます

Page 4: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

ネットワーク図との格闘

普段、ネットワーク図をどのツールで書いていますか?

Excel Visio 専用ツール (Network Notepad など)

(Excel で) ネットワーク図を作るときの苦労

ノードの追加/削除が大変

あまり見栄えが良くない

見栄えを気にすると終わらない見 終

ネットワーク図作成ツール nwdiag を開発ネットワ ク図作成ツ ル g を開発

Page 5: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

ネットワーク図作成ツール:nwdiag

nwdiag はネットワーク図生成ツール

テキストデータから画像ファイルを生成する

{network {  web01; web02;  }network {  web01; web02; db01; }{ ; ; ; }

}

Page 6: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

ネットワーク図作成ツール:nwdiag

特徴

テキストからネットワーク図を生成することができる

論理ネットワーク図に対応している

文法はシンプル

自動レイアウトのため、更新の手間が小さい

メリット

スピーディ、お手軽、楽しい

デメリット

レイアウトの手動調整ができない

Page 7: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

nwdiagの書き方(1)

network キーワードでネットワークを定義します

{network {

address = “192.168.0.0/24”;address    192.168.0.0/24 ;}

}}

Page 8: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

nwdiagの書き方(2)

ネットワークの中にホストを定義します

{network {

address = “192.168.0.0/24”;address    192.168.0.0/24 ;

web01 [address   “192 168 0 1”];web01 [address =  192.168.0.1 ];web02 [address =  “192.168.0.2”];

}}}

Page 9: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

nwdiagの書き方(3)

nwdiag コマンドで画像に変換します。

% nwdiag network.diagg g# => network.png

% nwdiag –o output.png network.diag#  > output png# => output.png

%  di T k di% nwdiag –Tsvg network.diag# => network.svg

Page 10: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

nwdiagの書き方(3)

出力結果の画像:

Page 11: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

利用例とデモ

利用例

http://bit.ly/kR5tYF http://bit.ly/qZvung

Interactive Shell を利用したデモ

Web ブラウザで動作するデモアプリ

http://interactive.blockdiag.com/p // g /

Page 12: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

blockdiagシリーズの紹介

blockdiag: ブロック図

{A ‐> B ‐> C;A  > B  > C;

B ‐> D;}}

Page 13: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

blockdiagシリーズの紹介

seqdiag: シーケンス図

{{A => B => C;

}}

Page 14: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

他のツールとの連携

blockdiagシリーズは多くのツールと連携可能

Sphinx Wiki

MediaWiki TracR d i Redmine

moinmoin

from Web API from Web API

Page 15: Sphinx users jpusers - JANOGSphinx‐users.jp Python mini hack‐a‐thon Sphinx をを中心中心ににルをツールを開発開発 blockdiag シリーズ Sphinx 拡張機能の開発

まとめ

blockdiagシリーズ

かんたんに見栄えのよい図を生成できる

自動レイアウトで本質に集中できる

ドキュメント作りを楽しく

今後も機能、図の種類を増やしていく予定 (自動化など)

Enjoy documentation with blockdiag !Enjoy documentation with blockdiag ! http://blockdiag.com/ Twitter: #blockdiag Twitter: #blockdiag