SlideShare a Scribd company logo
1 of 126
Download to read offline
日本UNIXユーザ会 2011年6月勉強会




                        Sphinx-users.jp
                               小宮健、清水川貴之
自己紹介:小宮 健
                                     Twitter: @tk0miya
 仕事
   (株)タイムインターメディア所属
   テクニカルオフィサ(技術責任者)として活動
 参加コミュニティ
   Sphinx-users.jp
   Python mini hack-a-thon
 Sphinx を中心にツールを開発
    blockdiag シリーズ
    Sphinx 拡張機能の開発
     sphinxcontrib-googlechart など
  rst2pdf (コミッタ)
ドキュメントとは?




 ドキュメント【document】
  1. 資料的な文書。記録。
  2. 記録映画。記録文学。
  3. コンピューターで、プログラム開発の際に作る仕様書や使
     用説明書。
                         (goo 辞書より)
ドキュメントとは?
 IT業界では設計書、手順書、利用マニュアルなどを指す
 設計書
   業務の全体像、経緯
   アーキテクチャやシステム間の連携
   システム構成、インフラ構成が把握できる
 手順書
   メンテナンス手順、作業手順
 利用マニュアル


 現代のシステムは複雑でマニュアルは必要不可欠なもの
システムは育つ
 システムは頻繁に形を変えていく
    機能、画面の追加
    システム増強
 ドキュメントはシステムの鏡
    システムの変更が反映されるべき


 だが、実際には反映されていないことが多い
   カラムが合わないテーブル定義
   足りない機能一覧
   削除されたページが載っている画面遷移図
もしドキュメントが無かったら…?
 ドキュメントが必要とされる場面
    新しいメンバーが参画するとき
    他のメンバーへの引き継ぎ時
    システムのトラブルが発生したとき


 もしこれらの場面でドキュメントが無かったら…?
    あとでドキュメントを作ると高いコストを支払うことになる


 いつでも手間をかけずに正確な情報へアクセスしたい
求められるドキュメントとは
 必要とされるドキュメントには三つの特徴がある


 内容が正確であること
 簡単に書けること
 誮もがいつでも参照・更新できること
 内容が正確であること
 ドキュメントの内容が現在のシステムと一致している
 システムの変更内容が反映されている
 ドキュメントを読んでシステムを把握できる


 正確でないドキュメントは悪影響ばかり
 あなたは間違っているドキュメントを読みますか?
 簡単に書けること
 ドキュメントに集中できる環境
    ツールによるアシスト
    テンプレートによる構成の再利用
 体裁や形式ではなく、書くべき内容に注力できるように


 書きづらいドキュメントはメンテナンスされない
 ドキュメントを書くのがイヤだと感じたことはありませんか?
 誮もがいつでも参照・更新できること
 ドキュメントがメンバー全員に共有されている
 システムの知識を持った人が更新する
 新しい情報が分かったらなるべく早く更新する


 更新のタイミングを逃すとそのままになってしまう
 「あとで書こう」を忘れてしまったことはありませんか?
 「どこかにあったはず」と探し続けたことはありませんか?
求められるドキュメントとは
 必要とされるドキュメントの三つの特徴
   内容が正確であること
   簡単に書けること
   誮もがいつでも参照・更新できること


 分厚いドキュメントの山では変化に対応できない
 必要なのはシンプルで変化に耐えうる軽量なドキュメント
   Lightweight Documentation
   ドキュメント作りを開発・運用サイクルに組み込む
Lightweight Documentation
 ツールの利用による効率的な更新
 見栄えより中身を重視
 更新できる規模、最低限の内容に押さえる
 すべてのメンバーが参照・更新できること
 自動抽出可能な情報はなるべく自動化する
 Lightweight Documentation を実現するツール
 各種 Wiki クローン
 Sphinx
 blockdiag シリーズ
 Javadoc


 これらのツールを組み合わせてサイクルを回す
まとめ
 ドキュメントは常に必要とされている
    システムの理解・把握や情報共有
    ドキュメント書いてますか?
 必要とされるドキュメント
    内容が正確であること
    簡単に書けること
    誮もがいつでも参照・更新できること
 Lightweight Documentation
    ツールを組み合わせて、変化に対応する
blockdiag シリーズ
 ドキュメントには図がつきもの
    システム構成図
    画面遷移図
    フローチャート
    UML 系の図 (クラス図、シーケンス図など)
    ネットワーク図


 図を作るのはとても手間がかかってしまうもの
   = Lightweight ではない!
blockdiag シリーズ
 テキストを図に変換するツール群
   blockdiag:ブロック図、画面遷移図、フローチャート
   seqdiag:シーケンス図
   actdiag:アクティビティ図
   nwdiag:ネットワーク図


 blockdiag は定義ファイル(テキスト)から画像を生成する
    レイアウトは自動的に行われる
    多くの図形作成ツール(GUI ベース)と異なる考え方
blockdiag 定義の例
 変換元テキスト
   {
       トップページ -> ログイン -> マイページ;
       トップページ -> 商品一覧 -> 商品詳細;
   }

 変換後の画像
 blockdiag シリーズのキーワード
    メンテナンス性
    スピード感
    Enjoy


 Lightweight Documentation を支えるツールの一つ
 ドキュメンテーションツールとの連携
    Sphinx
    Redmine
    Trac
    moinmoin
    Mediawiki
    Web API


 既存のドキュメントに対して簡単に図を埋め込める
他のツールとの比較
 ブロック図やシーケンス図を作るときに利用するツール
 Excel, Visio
 Cacoo
 astah*
 PlantUML


 多くのツールは要素を自分で並べていく必要がある
   意図したとおりに要素を並べることができる
   変更の際は並べ替え作業がメインになる
追加/削除が大変


           ここに 1 画面追加
追加/削除が大変



           1.スキマを作る
追加/削除が大変



           2.不要な矢印を消す
追加/削除が大変



           3.図形を配置する
追加/削除が大変



           4.矢印を調整
ずれる
ずれる
ずれる
ずれる
ずれる
blockdiag のインストール
 blockdiag シリーズは easy_install コマンドでインストール
 できます
   要:Python のインストール


     % easy_install blockdiag
     % easy_install seqdiag
     % easy_install actdiag
     % easy_install nwdiag


※一部環境では依存パッケージでハマることが多いので、
 マニュアルをご覧下さい
 (http://blockdiag.com/blockdiag-ja/build/html/introduction.html)
blockdiag による図の生成
 図を生成する際は blockdiag コマンドを実行する

 % blockdiag sample.diag # → sample.png
定義ファイルの書き方 (blockdiag 編)
 blockdiag では「->」で要素を結びつけます


  {
      A -> B -> C;
  }
定義ファイルの書き方 (blockdiag 編)
 要素の背景色、形を変えることができます
  {
      A [color = red];
      B [shape = diamond];
      C [style = dotted];

      A -> B -> C;
  }
blockdiag で書けること (1)
 各要素ごとに色、画像、矢印の向きなどが設定できる
   背景色、線の色、実線/点線
   背景画像
   矢印の向き
blockdiag で書けること (2)
 そのほかの装飾
   ノードのグルーピング
   遷移の説明文 (短め)
blockdiag で書けること (3)
 ノードの shape 属性を指定する
    node1 [shape = “roundedbox”]
 基本系
blockdiag で書けること (4)
 ノードの shape 属性を指定する
    node1 [shape = “roundedbox”]
 フローチャート系
blockdiag で書けること (5)
 ノードの shape 属性を指定する
    node1 [shape = “roundedbox”]
 その他
 これらを組み合わせると複雑な図を書くことができます
 画面遷移図: http://bit.ly/lZkszJ
 ブロック図: http://bit.ly/kYpK6Y
 フローチャート: http://bit.ly/m7fLsM
 組織図: http://bit.ly/l6OOhZ
定義ファイルの書き方 (blockdiag 編)
 seqdiag では「->」「=>」で要素を結びつけます

  {
      // 呼び出し + 戻り方向のシーケンス
      A => B;

      // 一方向のシーケンス
      A -> B;
  }
定義ファイルの書き方 (blockdiag 編)
 ブロックを使うとネストしたシーケンスを記述できる

 {
     A => B {
        // B がアクティブな間のシーケンス
        B => C;
     }
 }
 これらを組み合わせると複雑な図を書くことができます。


 認証システムのシーケンス図: http://bit.ly/lwvEox
 actdiag と nwdiag もシンプルな書式で図を作成できる
    actdiag: http://bit.ly/kkcgIg
    nwdiag: http://bit.ly/kR5tYF


 詳細は blockdiag.com のマニュアルを参照して下さい
blockdiag の周辺ツール
 blockdiag の重要な周辺ツール「Interactive Shell」
    Web ブラウザを利用してリアルタイムに図を作れる
    SVG を利用しているため IE 非対応
    高速に情報を共有するのに向いている


 Interactive Shell を利用して、blockdiag をデモします
今後の展開
 Euro Python (6/20-6/26, イタリア) で LT 発表します
 新たな図、ドキュメントへの対応
   システム構成図
   ネットワーク図 (ラック、ハブ等の物理層)
   画面定義書
 他のツールと連携しての自動生成
   ネットワーク通信のシーケンス図
   ネットワーク図
   プログラム構成図
まとめ
 blockdiag シリーズを使って図を楽に書こう
    並び替えや位置調整に手間をかけない
    図を作るのにスピードを与える
 Sphinx や Trac, Wiki と組み合わせると便利

 楽するためにはもっと知恵と経験が必要
   意見やアイディアを集めてもっと楽したい


 URL: http://blockdiag.com/
 Twitter: #blockdiag
 Google グループ: blockdiag-discuss
自己紹介: 清水川 貴之
http://清水川.jp/ @shimizukawa
 仕事
   株式会社BeProud
   Djangoを使い始めました

 オープンソースコミュニティー活動:
    Sphinx-users.jp 副会長
    Zope/Plone 運営
    その他, pyspa系, XP系

 言語:
   C++/C/8086 -> Python/Rails

 書籍
   エキスパートPythonプログラミング(翻訳)
        アスキー・メディアワークス
イベントの紹介
 エキスパートPythonプログラミング読書会
   6/19(日) 明日です!
   場所: 大阪
   参加方法: ATND http://atnd.org/events/16731


 PyCon JP 2011
    8/27(土)
    場所: 東京
    参加方法: 7月に募集開始予定
    URL: http://2011.pycon.jp/
Sphinxとは何か


ドキュメントを作りたくなってしまう
     魔法のツール
Sphinxとは何か




   テキストエディタが
   あれば編集可能
Sphinxとは何か




様々な出力
形式に対応
Sphinxとは何か



マニュアル作成から
サイト構築まで
応用しやすい
最近Sphinx利用者が増えています

JUS勉強会(2010/12/3)
最近Sphinx利用者が増えています

Sphinx+翻訳Hack-a-thon(2011/2/12)
最近Sphinx利用者が増えています

JUS勉強会(2011/6/18)
こんなところで使われています
 多くのOSSドキュメントやサイトで採用実績あり
   Python 2.6.2ドキュメント
   OpenPNE Web API仕様書
   groongaドキュメント…他多数


 テンプレート機能を用いてサイトを構成
こんなところで使われています



      多くのドキュメントでの
       利用実績多数!

   国内: http://sphinx-users.jp/example.html
   国外: http://sphinx.pocoo.org/examples.html
Sphinxの特徴

プレーンテキストなソースコード
Sphinxの特徴

プレーンテキストなソースコード

メモ帳でも
編集可能
Sphinxの特徴

  ページ間の相互リンク
Sphinxの特徴

   ページ間の相互リンク

        ファイルリンク

用語リンク
Sphinxの特徴

   強力なコードハイライト




実装言語とテンプレートとで200
   前後の言語書式に対応
             http://pygments.org/docs/lexers/
Sphinxの特徴

     拡張機能で
  さまざまなことができる
Sphinxの特徴

       拡張機能で
    さまざまなことができる

   blockdiag拡張     UML描画

                docx出力
            HTML
         テンプレート変更
Pythonコードから
                         数式描画
 ドキュメント生成        楽譜描画
Sphinxの特徴

    ドキュメントは
100%日本語化されている
Sphinxの特徴

    ドキュメントは
100%日本語化されている




     リファレンスマニュアル以外にも
     チュートリアルなどドキュメント多数!
ドキュメントを書くのに、何を使用しています
か?
           ワープロソフト
             Word
             一太郎
             OpenOffice Writer




         MicrosoftのOfficeの
         テンプレートのサイトより転載
ドキュメントを書くのに、何を使用しています
    か?
 表計算
   Excel
   Calc




     MicrosoftのOfficeの
     テンプレートのサイトより転載
ドキュメントを書くのに、何を使用しています
    か?
 プレゼンテーション
   PowerPoint
   KeyNote
   OpenOffice Impress
ドキュメントを書くのに、何を使用しています
  か?
 それ以外
   Wiki
   HTML手書き
   TeX
http://www.flickr.com/photos/boothy/26461481/           http://www.flickr.com/photos/omeyamapyonta/3052096
CC BY-NC by Dr Snafu                                    093/ CC BY-SA by PYONKO




                                  Word                       Excel

                                   Wiki                   Sphinx



http://www.flickr.com/photos/johncarleton/2367673332/   http://www.flickr.com/photos/stompy/11300916/ CC BY-
CC BY-NC-SA by John Carleton                            NC by Abizern
Word - pros




http://www.flickr.com/photos/jetalone/861945664/
CC BY by jetalone
Word - pros
      縦書きで編集できる
      文法チェックしてくれる
      差分比較機能がある
      参考文献、索引、
        差し込み印刷etc…




http://www.flickr.com/photos/jetalone/861945664/
CC BY by jetalone
Word - cons




http://www.flickr.com/photos/jetalone/861945664/
CC BY by jetalone
Word - cons
      巨大な1ファイルになる
        探すのが大変
        複数人で編集が大変
        章の入れ替えとか厳しい




http://www.flickr.com/photos/jetalone/861945664/
CC BY by jetalone
Excel - pros




               http://www.flickr.com/photos/21183810@N00/43665
               18191/ CC BY-NC-SA by Jerome Rothermund
Excel - pros
 Excel扱える人は多い
 ぱっと作るのは早くできる
 ロジカルシンキング的に苦心しなくても、罫線で武装する
 と、見た目が立派に見える




                 http://www.flickr.com/photos/21183810@N00/43665
                 18191/ CC BY-NC-SA by Jerome Rothermund
Excel - cons




               http://www.flickr.com/photos/21183810@N00/43665
               18191/ CC BY-NC-SA by Jerome Rothermund
Excel - cons
 ワークシートで分断され、閲覧性が悪い
 内容の追加でレイアウトの修正が必要になると、修正に
膨大な時間がかかる




                 http://www.flickr.com/photos/21183810@N00/43665
                 18191/ CC BY-NC-SA by Jerome Rothermund
Wiki - pros




http://www.flickr.com/photos/7506006@N07/1197395511
/ CC BY-NC-ND by milky.way
Wiki - pros
      圧倒的に柔軟
        構造化されていなくても、とりあえず入れておける
      複数人での編集・閲覧ができる




http://www.flickr.com/photos/7506006@N07/1197395511
/ CC BY-NC-ND by milky.way
Wiki - cons




http://www.flickr.com/photos/7506006@N07/1197395511
/ CC BY-NC-ND by milky.way
Wiki - cons
      文章の構成、質の維持に目を光らせる必要がある
        あるいは、Wikipediaのように構成を決めておく
      全体の構成を修正するのに手間がかかる
      トップダウン型ではないので、まとめて印刷や他形式に変
        換がやりにくい




http://www.flickr.com/photos/7506006@N07/1197395511
/ CC BY-NC-ND by milky.way
Sphinx - pros




                http://www.flickr.com/photos/18261299@N00/44724083
                86/ CC BY-SA by sweet_redbird
Sphinx - pros
 ドキュメントの背骨がしっかりさせる
 有機的に文章を繋げる仕組みを持っている
   説明ユニット
 プレーンテキスト。バージョンコントロールOK!




                  http://www.flickr.com/photos/18261299@N00/44724083
                  86/ CC BY-SA by sweet_redbird
Sphinx - cons




                http://www.flickr.com/photos/18261299@N00/44724083
                86/ CC BY-SA by sweet_redbird
Sphinx - cons
 背骨を気にして、コンテンツを追加する必要
 マークアップを覚える
 WYSIWIGではない




                  http://www.flickr.com/photos/18261299@N00/44724083
                  86/ CC BY-SA by sweet_redbird
Sphinxのインストール(Linux, MacOS X)
 必要なもの
   Python, easy_install, Sphinxの3点セット
   パッケージ管理ツールを使えば一瞬
       Ubuntu
        $ sudo apt-get install python-sphinx

       Mac OS X
        $ sudo port install python-sphinx
Sphinxのインストール(Windows)
 必要なもの
   Python, easy_install, Sphinxの3点セット
       Python本体(python-2.7.2.msi) のインストール
       easy_install (distribute_setup.py) の取得とインストール

        C:¥> python distribute_setup.py

       Sphinxのインストール
        C:¥> easy_install sphinx




    Demo
Sphinxのインストール(Windows)
 必要なもの
   Sphinxスタンドアロンインストーラのみ
      Sphinx-1.0.7.20110618-py2.7-win32.exe



   これ一つでblockdiagシリーズも導入完了!


  Demo

ただし、まだ実地検証が足りないため、みなさんのレポート
お待ちしております!
Sphinx拡張
 拡張をすることで様々な要求に対応できる
   新たな出力形式に対応したい
  例: docx形式で出力したい

  マークアップを拡張したい
  例: blockdiagを埋め込みたい

  HTMLテンプレートを追加したい

  例: 業務向きなシンプルなのが欲しい

 デフォルトで組み込まれている拡張が多数!
組み込みのSphinx拡張
 autodoc – docstring からの読み込み
 intersphinx – 他のSphinxドキュメントへのリンク
 pngmath – 数式をPNG画像にレンダリング
 jsmath – JavaScriptを用いて数式をレンダリング
 graphviz – Graphvizのグラフを追加
 coverage – ドキュメントのカバレッジ状況の収集
 todo – Todoアイテムのサポート


他にも多くの組み込みSphinx拡張あり
サードパーティのSphinx拡張
 その他特筆すべき拡張
   blockdiagシリーズ
      ブロック遷移図を簡単な記述で作成!


  sdedit
      UMLでシーケンス図を描けます!


  sphinxjp.themes
      HTMLテーマをいくつか追加


  docxbuilder(開発中)
      SphinxでWordファイルを作成
blockdiag by @tk0miya
 ブロック遷移図を文字のみで書けます
 sphinxcontrib-blockdiag でSphinxでブロック遷移図を
 書くことが可能

       .. blockdiag::

         diagram webapp {
           login -> something -> logout -> login
         }
sdedit (Quick Sequence Deiagram Editor)

 UML図をテキストから生成するツール


.. sequence-diagram::

 :maxwidth: 500
 :linewrap: false
 :threadnumber: true

 actor:Actor
 sphinx:Sphinx[a]
 dot:Graphviz
 sdedit:Quick Sequence Diagram Editor

 actor:sphinx.make html
 sphinx:dot.render_diagram()       ただし
 sphinx:sdedit.render_diagram()
                                   Javaのインストールが必要
sphinxjp.themes by @shimizukawa他
sphinx-users.jpスタイル


                        プレゼン表示(s6)
docxbuilder by @shimizukawa
 SphinxからWord形式で出力する拡張




現在開発中
です
Sphinxプロジェクトの作成(準備)
 “sphinx-quickstart”を使います
    $ mkdir Unix-How-to
    $ cd Unix-How-to
    $ sphinx-quickstart


 とりあえずはEnterを連打!            ├──   Makefile
                             ├──   _build
   conf.pyとディレクトリが作成        ├──   _static
                             ├──   _templates
 この3つだけは回答する                ├──   conf.py
   プロジェクト名                  ├──   index.rst
                             └──   make.bat
   バージョン番号
   著者名
              Demo
reSTによるドキュメント作成(記述)
 reST = reStructuredText
    http://sphinx-users.jp/doc10/rest.html
                                                    Demo
                                          ============
 テキストでも見やすい形                             大見出し
                                          ============
   見出し
   コードブロック(ハイライト付き)                      中見出し
                                          =========
   文書内/文書外リンク
                                          小見出し
  表
                                          -------------

                                          -リストアイテム1
 toctreeなどを作成する                          -リストアイテム2
                                           #. 自動採番アイテム1
                                           #. 自動採番アイテム2
Sphinxによるドキュメントの生成(ビルド)

 自動作成されたMakefileをそのまま利用するだけ
      $ make html




                    Demo
============
大見出し                       大見出し
============
                           中見出し
見出し
=========                  ・リストアイテム1
                           ・リストアイテム2
-リストアイテム1                   1. 自動採番アイテム1
-リストアイテム2                   2. 自動採番アイテム2
 #. 自動採番アイテム1
 #. 自動採番アイテム2
応用例(1/2) 出力形式の変更
 HTML以外にもデフォルトでLaTeX、PDF 、ePubに
   $ make latex
   $ make latexpdf
   $ make epub


 HTMLもデフォルトで複数のテーマを使用可

                             Demo
応用例(2/2) blockdiag拡張の利用
 インストール (スタンドアロン版なら導入済み)
      C:¥> easy_install sphinxcontrib-blockdiag
                                                         Demo
 conf.pyの設定
 extensions = []
 extensions.append('sphinxcontrib.blockdiag')

 blockdiag_fontpath = r'C:¥Windows¥Fonts¥msgothic.ttc'



 図の埋め込み記述
 .. blockdiag::

  { A -> B -> C; }
テンプレートの作成
 テンプレートエンジン “Jinja2”を利用している



 自分でテンプレートを作成することも可能
 大まかに分けて2つのhtmlを作成する
   ドキュメント全体の基礎 : layout.html
   各ページ : page.html


 デフォルトテーマ basic のテンプレート継承により時間が
 削減
Sphinxドメイン
 ある言語を説明するマークアップとSphinx内のオブジェ
 クトのリンク
  Python以外にも多くの言語に対応&独自に作成可能
  (Erlang, Ruby, C++, JavaScript…)
  ドキュメント内で相互参照が可能
 例) C
    .. c:function:: int printf(const char *format, …)
Sphinx一問一答



Sphinxのアイコン怖いよ?
ホルスの目
このアイコンはSphinxの本家サイトで使用されているアイコ
ンで、「ホルスの目」と言います。エジプトではスフィンクスは
太陽の神ホルスの一面であると考えられています。

ホルスの目は1/2から1/64の分数を表す楔形文字で構成
されており、これを全部足すと63/64という1の近似に。
これが「ホルスの目分数」で、トト神が魔法で補って1になる
らしい。

「魔法のツールSphinx」
にふさわしいですね。
Sphinx一問一答



 Wordのようなエディタは
     ありますか?
Sphinx一問一答



 Wordのドキュメントが
 たくさんあるんですが、

Sphinxに変換する拡張は
     ありますか?
Sphinx一問一答



    PowerPointに
   出力出来ますか?
Sphinx一問一答



  ○○をしたいときに
 どう書けば良いか‥‥
逆引き辞典はありますか?
逆引き辞典

逆引き辞典、
 出来ました (@r_rudi)




                   http://sphinx-users.jp/
Sphinx一問一答



皆さんの疑問・質問・要望を
   教えてください!
Sphinxのコミュニティー
 Webサイト:
   http://sphinx-users.jp/
 メーリングリスト:
    http://sphinx-users.jp/mailinglist.html
 イベント:
    http://sphinx-users.jp/event/
 Twitter:
    #sphinxjp

More Related Content

What's hot

ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
Yoshiki Shibukawa
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
Takahiro Inoue
 

What's hot (20)

WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
心理的安全性の構造 デブサミ2019夏 structure of psychological safety
心理的安全性の構造 デブサミ2019夏 structure of psychological safety心理的安全性の構造 デブサミ2019夏 structure of psychological safety
心理的安全性の構造 デブサミ2019夏 structure of psychological safety
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
ドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinxドキュメントを作りたくなってしまう魔法のツールSphinx
ドキュメントを作りたくなってしまう魔法のツールSphinx
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
 
今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介
今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介
今更聞けない!?Microsoft Graph で始める Office 365 データ活用と事例の紹介
 
Redmineとgitの 連携利用事例
Redmineとgitの 連携利用事例Redmineとgitの 連携利用事例
Redmineとgitの 連携利用事例
 
Python 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそうPython 3.9からの新定番zoneinfoを使いこなそう
Python 3.9からの新定番zoneinfoを使いこなそう
 
「DX完全に理解した」「DXわけがわからないよ」なユーザ企業の方へ
「DX完全に理解した」「DXわけがわからないよ」なユーザ企業の方へ「DX完全に理解した」「DXわけがわからないよ」なユーザ企業の方へ
「DX完全に理解した」「DXわけがわからないよ」なユーザ企業の方へ
 
Uuidはどこまでuuidか試してみた
Uuidはどこまでuuidか試してみたUuidはどこまでuuidか試してみた
Uuidはどこまでuuidか試してみた
 
2023-03-23_Spiral.AI
2023-03-23_Spiral.AI2023-03-23_Spiral.AI
2023-03-23_Spiral.AI
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
Glue DataBrewでデータをクリーニング、加工してみよう
Glue DataBrewでデータをクリーニング、加工してみようGlue DataBrewでデータをクリーニング、加工してみよう
Glue DataBrewでデータをクリーニング、加工してみよう
 
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 

Similar to ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会

Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudyExcel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Takeshi Komiya
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfes
Takeshi Komiya
 
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjpSphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Takeshi Komiya
 
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
Sphinx ではじめるドキュメント生活 2013 #sphinxconjpSphinx ではじめるドキュメント生活 2013 #sphinxconjp
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
Takeshi Komiya
 
Apache CloudStack Documentation
Apache CloudStack DocumentationApache CloudStack Documentation
Apache CloudStack Documentation
Kimihiko Kitase
 
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28
Takeshi Komiya
 
fluxflex meetup in Tokyo
fluxflex meetup in Tokyofluxflex meetup in Tokyo
fluxflex meetup in Tokyo
Kyosuke Inoue
 
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasiaExcel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Takeshi Komiya
 

Similar to ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会 (20)

Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
APIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjpAPIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjp
 
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudyExcel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfes
 
マークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumiマークアップ言語の拡張 メリットとデメリット #hankumi
マークアップ言語の拡張 メリットとデメリット #hankumi
 
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjpSphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
 
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
Sphinx ではじめるドキュメント生活 2013 #sphinxconjpSphinx ではじめるドキュメント生活 2013 #sphinxconjp
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
 
Apache CloudStack Documentation
Apache CloudStack DocumentationApache CloudStack Documentation
Apache CloudStack Documentation
 
Sphinxの使い方事例
Sphinxの使い方事例Sphinxの使い方事例
Sphinxの使い方事例
 
Sphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjpSphinx拡張 探訪 2014 #sphinxjp
Sphinx拡張 探訪 2014 #sphinxjp
 
The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)
 
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28
ネットワーク図作成ツール nwdiag の紹介 2011/07 #janog28
 
SubversionとSugarsync
SubversionとSugarsyncSubversionとSugarsync
SubversionとSugarsync
 
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
 
fluxflex meetup in Tokyo
fluxflex meetup in Tokyofluxflex meetup in Tokyo
fluxflex meetup in Tokyo
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
[使い倒し]GitHubのIssueとTFS/VSOのWorkItem連動に挑む(2015/08/26)
 
Redmine導入しました(公開版)
Redmine導入しました(公開版)Redmine導入しました(公開版)
Redmine導入しました(公開版)
 
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasiaExcel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
Excel 方眼紙撲滅委員会 活動報告 2013.9 #yapcasia
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
 

More from Takayuki Shimizukawa

【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay
Takayuki Shimizukawa
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Takayuki Shimizukawa
 

More from Takayuki Shimizukawa (20)

Navigating Python: Milestones from Essential Reads
Navigating Python: Milestones from Essential ReadsNavigating Python: Milestones from Essential Reads
Navigating Python: Milestones from Essential Reads
 
IKEv2-VPN PyHackCon2023
IKEv2-VPN PyHackCon2023IKEv2-VPN PyHackCon2023
IKEv2-VPN PyHackCon2023
 
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようDjango ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
 
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
 
Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略Webアプリを並行開発する際のマイグレーション戦略
Webアプリを並行開発する際のマイグレーション戦略
 
『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由『自走プログラマー』 が我々に必要だった理由
『自走プログラマー』 が我々に必要だった理由
 
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころエキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
 
RLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for DjangoRLSを用いたマルチテナント実装 for Django
RLSを用いたマルチテナント実装 for Django
 
独学プログラマーのその後
独学プログラマーのその後独学プログラマーのその後
独学プログラマーのその後
 
【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay【修正版】Django + SQLAlchemy: シンプルWay
【修正版】Django + SQLAlchemy: シンプルWay
 
Sphinx customization for OGP support at SphinxCon JP 2018
Sphinx customization for OGP support at SphinxCon JP 2018Sphinx customization for OGP support at SphinxCon JP 2018
Sphinx customization for OGP support at SphinxCon JP 2018
 
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
 
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016仕事で使うちょっとしたコードをOSSとして開発メンテしていく- Django Redshift Backend の開発 - PyCon JP 2016
仕事で使うちょっとしたコードをOSSとして開発メンテしていく - Django Redshift Backend の開発 - PyCon JP 2016
 
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
 
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い
 
世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015世界のSphinx事情 @ SphinxCon JP 2015
世界のSphinx事情 @ SphinxCon JP 2015
 
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
 
Sphinx autodoc - automated api documentation - PyCon.KR 2015
Sphinx autodoc - automated api documentation - PyCon.KR 2015Sphinx autodoc - automated api documentation - PyCon.KR 2015
Sphinx autodoc - automated api documentation - PyCon.KR 2015
 
Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015
 

ドキュメンテーションを加速するストレスフリーの作図ツール『blockdiag』 jus2011年6月勉強会