Sphinx-users.jp
        小宮健
お前だれよ
                            Twitter: @tk0miya
 仕事
   (株)タイムインターメディア所属
   テクニカルオフィサ(技術責任者)として活動
 参加コミュニティ
   Sphinx-users.jp
   Python mini hack-a-thon
 Sphinx を中心にツールを開発
    blockdiag シリーズ
    Sphinx 拡張機能の開発
      Googlechart やカレンダー機能
 #bookathon 他読書会やってます
http://www.flickr.com/photos/huskyte/7512877940/in/photostream/
今日の発表について


 役に立つ話はやりません
Excel 方眼紙の撲滅もしませ
           ん
   Excel 推進もしません
Excel 方眼紙撲滅委員会とは

 Excel 方眼紙を撲滅するための秘密結社
 表計算はいいと思います
 ツールを作って/使って楽したい


 要は『適材適所』しようということ


 ひとり委員会です。
Excel 方眼紙が嫌いなところ

 マージが大変
 誰かが図を壊すことが多い
 更新が超面倒
 ずれてる
 方眼師(Excel 職人)のドヤ顔
 最新版でどこが変わったのかよくわからな
  い
 そこで登場、更新履歴シート
Excel で画面遷移図を書く
 Writing screen transions with Excel
更新が超面倒
 Writing screen transions with Excel
更新が超面倒
 Hard to add/remove elements

                                ここに 1 画面追加
更新が超面倒
 Expanding right node…


                          1.スキマを作る
更新が超面倒
 Remove unnecessary arrows


                          2.不要な矢印を消す
更新が超面倒
 Add new page-node…


                       3.図形を配置する
更新が超面倒
 Connect allows new node and other.


                           4.矢印を調整
ずれる
 Winding nodes… :-p
ずれてる
 Winding nodes… :-p
ずれてる
 Winding arrows… :-p
ずれてる
 Winding arrows… :-p
ずれてる
 Winding arrows… :-p
誰かが図を壊す

 Excel で画面仕様書を書く
誰かが図を壊す

 やっぱりずれる
誰かが図を壊す

 やっぱりずれる


            !?
解決策 / Resolutions
 blockdiag シリーズを使おう
 テキストを図に変換するツール群
    blockdiag:ブロック図、画面遷移図、フローチャート
    seqdiag:シーケンス図
    actdiag:アクティビティ図
    nwdiag:ネットワーク図、ラック図、パケットヘッダ
     図
    sphinxcontrib-webmocks: 画面仕様書
 blockdiag は定義ファイル(テキスト)から画像を生成
 する
  レイアウトは自動的に行われる
  増えても減っても適切にレイアウト
  自由に並べ替えたい人には向きません
blockdiag の例
 このテキストが…
 {
   トップページ -> ログイン -> マイペー
 ジ;
   トップページ -> 商品一覧 -> 商品詳細;
 }
seqdiag の例
 このテキストが…

 {
     A => B => C;
 }
nwdiag の例
 このテキストが…
 {
     network { web01; web02; }
     network { web01; web02; db01; }
 }
rackdiag の例
 このテキストが…
 {
     1: UPS [2U, 0.5A, 10kg];
     3: DB Master
     4: Web Server (1)
     5: Web Server (2)
     6: LoadBalancer
 }
packetdiag の例
 このテキストが…
 {
     0-7: Source Port
     8-15: Destination Port
     16-31: Sequence Number
     32-47: Acknowledgment Number
 }
sphinxcontrib-webmocks の例

 このテキストが…
  .. page::

  :名前: :text:`_`
  :都道府県: :select:`東京,神奈川,さいた
 ま`
  :住所: :textarea:`_`

  :button:`submit`
blockdiag シリーズと他のツールの比
  較
 Excel 他
    レイアウトは手動で行う
    好きなように並べることができる
    並べないといけない
    マージが地獄
 blockdiag
    レイアウトは自動的に行われる
    配置のことは考えなくて良い
    好きなようには並べられない
    テキストなのでコミットできる、差分(diff)も取れる
上司を説得したりとか…
      同僚が覚えてくれなかったりとか…
Excel で書かれた資料と混在したりとか…
blockdiag の欠点

 自由にレイアウトできない
   → Excel 方眼紙は無敵
 書き方を覚える必要がある
   → Excel はだれでも使える(ことになって
    る)
 環境を整備する必要がある
   → Excel はどこにでも入っている
 自由にレイアウトできない
   → Excel はどこでも吹き出し付けられる!
Sphinx-users.jp
        小宮健
真の blockdiag の欠点

 方眼紙ベースじゃない
 拡張子が .xls ではない
 ずらしたり壊したりできない
世の中は Excel 縛りなことが多い

 なんだかんだ言ってみんな使える
 過去の資産が Excel ですよ
 Office は買えるけど、Visio は買えない
 ロートル上司が(ry
 お客さんの指定が(ry
blockdiagcontrib-excelhogan

 blockdiagをExcel方眼紙に対応させるプラグ
  イン
 デモやります。
blockdiagcontrib-excelhogan

 blockdiagをExcel方眼紙に対応させるプラグ
 イン
blockdiagcontrib-excelhogan

 blockdiagをExcel方眼紙に対応させるプラグ
 イン
  本当に方眼紙 (塗りつぶし)
blockdiag Excel 対応版(OLE)

 blockdiag でExcel方眼紙を出力させる
 @mzp さん作
 OLE を使って、シェイプを生成
 Windows かつ Excel 入り環境でのみ動作
blockdiag Excel 対応版(OLE)

 blockdiag でExcel方眼紙を出力させる
blockdiag Excel 対応版(OLE)

 blockdiag でExcel方眼紙を出力させる
まとめ

 blockdiag は Excel にも対応している
 方眼紙は手で書かない
 作図は手を抜きましょう
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy

Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy