Erlang and I and Sphinx.
Upcoming SlideShare
Loading in...5
×
 

Erlang and I and Sphinx.

on

  • 2,149 views

 

Statistics

Views

Total Views
2,149
Views on SlideShare
2,146
Embed Views
3

Actions

Likes
1
Downloads
6
Comments
0

2 Embeds 3

https://twitter.com 2
https://twimg0-a.akamaihd.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Erlang and I and Sphinx. Erlang and I and Sphinx. Presentation Transcript

  • Erlangと私とSphinx- Happy Life with Erlang and Sphinx-
    Tokyo Erlang Workshop #5
    2010/08/27
    渋川よしき
  • 自己紹介:渋川よしき
    Twitter: @shibukawa
    仕事
    大手製造業の社内SE
    社外で技術習得して社内で楽をする
    参加コミュニティ
    SphinxUsers.jp
    翻訳ハッカソンとかを継続開催予定
    日本XPユーザグループ代表
    9/4にXP祭り2010を早稲田で開催
    とちぎRuby
    Python温泉(系)
    11/14にPython Hack-a-thon
    今年出した本
    IT業界を楽しく生き抜くためのつまみぐい勉強法(技術評論社)
    エキスパートPythonプログラミング(アスキーメディアワークス)
  • Erlangと私とSphinx
    Erlang
    勉強したい
    2009年
    2010年
  • Erlangと私とSphinx
    初Erlang
    (fizz-buzz)
    2009年
    2010年
    川崎code-campで初Erlang
  • Erlangと私とSphinx
    2009年
    2010年
    実践EUnitを翻訳
    http://articles.shibu.jp/category/776137-1.html
  • Erlangと私とSphinx
    2009年
    2010年
    EUnitのリファレンスを翻訳
    http://articles.shibu.jp/category/777978-1.html
  • Erlangと私とSphinx
    2009年
    2010年
    Erlang Efficiency Guideを翻訳
    http://erlang.shibu.jp/efficiency_guide/
  • Erlangと私とSphinx
    2009年
    2010年
    この翻訳で初めてSphinxを導入
  • Erlangと私とSphinx
    2009年
    2010年
    Sphinxの0.6系の翻訳
    http://sphinx.shibu.jp/
  • Erlangと私とSphinx
    2009年
    2010年
    OSC 2009 Tokyo/FallでLT
    http://blog.shibu.jp/article/33377933.html
  • Erlangと私とSphinx
    2009年
    2010年
    本の原稿もSphinx
  • Erlangと私とSphinx
    2009年
    2010年
    SphinxUsers.jp設立・会長就任
  • Erlangと私とSphinx
    2009年
    2010年
    翻訳本もSphinx
  • Erlangと私とSphinx
    2009年
    2010年
    Sphinx 1.0翻訳
  • SphinxとWikiの比較
    □Sphinx
    □Wiki
    プレーンテキストによる簡易マークアップ
    レンダリング
     ->静的HTML生成
     ->PDF/LaTeXなど
    エディタでオフライン編集
     ->バージョン管理なし
    キーワードに対してリンク
    ツリー構造
    プレーンテキストによる簡易マークアップ
    レンダリング
     ->HTML
     ->Webアプリケーション
    ブラウザでオンライン編集
     ->バージョン管理内蔵
    ページに対してリンク
    セミラティス構造
  • SphinxとWikiの構造の違い
    toRuby
    toRuby
    Wiki
    たのしいRuby
    dRubyによる・・・
    Ruby
    RWiki
    def 書籍情報
    とちぎRuby会議
    るびま
    01
    Hiki
    レポート
    参考図書
    02
  • SphinxとWikiの感想の比較
    □Sphinx
    □Wiki
    ツリーによるナビ
     ->ロジカルツリー
     ->トップダウン構造
    水平に広げやすい
    構造がぶれない
    スモールリファクタリングしやすい
    Webサーフィン感覚
     ->Wikipediaで時間を消耗
     ->迷子ページも
     ->全体像つかみにくい
    深めやすい
    構造は自由
    構造修正は大工事・・・
  • Pythonのドキュメンテーションには手書きと自動作成と2種類あった。
    両方とも開発者、ユーザともにメリット、デメリットがある。手書きの方が
    品質は高いが、メンテナンスは苦痛である
    Werkzeug0.2ではこの2つの組み合わせに挑戦した。Docutilsをベース
    にコードからの自動抽出を追加し、完全にコードとドキュメントの同期が
    取れるようになった。Georg Brandlはこのツールを書き直し、Sphinx
    としてリリースした。これはPython 2.6, 3.0のドキュメントでも使用され、
    Python以外のプロジェクトもサポートしている
    これは今までで最高のドキュメントツールだ。自動相互リンク、索引の作成
    もサポートしている。拡張APIを使えばさらなる自動化も期待できる
    Twitterの写真を引用しました
  • それ以外にも・・・
    BPStudy #30でSphinxの紹介
    Python Hack-a-thonでSphinxハンズオン開催
    電子書籍の動向調査の原稿依頼がキタ
    産業技術大学院大学で発表
  • それ以外にも・・・
    BPStudy #30でSphinxの紹介
    Python Hack-a-thonでSphinxハンズオン開催
    電子書籍の動向調査の原稿依頼がキタ
    産業技術大学院大学で発表
    Erlangを勉強するつもりが、
    気づいたらSphinxエヴァンジェリストに!
  • でも、ちょっと待って!
  • Sphinx 1.0から新機能
    Python、C以外のドキュメントも書けるように
    自分で対応言語を増やせる
    Rubyのソース
    ビルド結果
    .. rb:module:: berrymq
    .. rb:function:: talk(識別子)
    メッセージを送ります
    クライアントとコネクションを張ったら :rb:func:`talk` が使えるようになります
    berrymq.talk(識別子)
    メッセージを送ります
    クライアントとコネクションを張ったらtalk()が使えるようになります
  • ということで・・・
  • Erlangドメインを実装
  • 今のところの対応
    Erlang専用の4つのディレクティブとロールを追加
    モジュール
    関数
    マクロ
    レコード
  • モジュールディレクティブ
    モジュール名を引数に取る
    モジュール索引に項目が追加され、ページジャンプできる
    これを設置した後の関数は、これの中にあるとみなされる。
    .. erl:module:: lists
  • 関数ディレクティブ
    関数名を引数に取る
    メソッドの省略、返値も記述できる
    引数、返値の説明は:param:, :type:, :return:, :rtype:フィールドを使う
    .. erl:function:: append(ListOfLists) -> ok
    :paramListOfLists: くっつけたいリストのリスト
    ここに箇条書きでもなんでも自由に文章書けます。
  • マクロ、レコードディレクティブ
    マクロ名、レコード名
    ディレクティブ内に自由に文章が書ける
    レコードの要素ごとの説明が書けるようにはなってません。作成中です。
    .. erl:macro:: NOTEST
    テストの実行をやめる
    .. erl:record:: #person
    人の情報
  • モジュールロール
    ドキュメントの文章中から、モジュールの定義場所へのリンクを貼る
    Erlangのテスティングフレームワークには、2種類あり、簡単な方が :erl:mod:`eunit` です。
  • 関数ロール
    ドキュメントの文章中から、関数の定義場所へのリンクを貼る。
    arityとモジュールを指定する(同じモジュール内ならばモジュールは省略可)
    :erl:func:`sets:from_list/1` と、 :erl:func:`sets:to_list/1` を使えば、重複要素のないリストが簡単に作れます。
  • マクロ、レコードロール
    arityがない以外は関数のロールとほぼ一緒です。
    他のロールもですが、 < > を使うと、ドキュメントに表示されるラベルを変えることもできます。
    :erl:macro:`APRILFOOL` は、エイプリルフールにコンパイルする時にのみ設定されるマクロです。
    :erl:func:`これ <lists:reverse/1>` を2回実行すると、時間コストはややかかります。
  • 使い方
    easy_installsphinxcontrib-erlangdomain
    Sphinxのプロジェクトを作ったら、extensionsに’sphinxcontrib.erlangdomain’を追加
  • Sphinxでドキュメント書くといいこと
    豊富なマークアップを活用して記述できる
    大規模文章でも書きやすい
    Erlangはドキュメントを大事にする文化
    iPadに出すとモテる!?
  • Sphinxについての詳しい情報はSphinxUsers.jpへ
    インストール方法
    リファレンスの完全日本語訳
    Sphinxを使った日本語サイト一覧
    ウェブサイトの作り方
    チュートリアル
    ePubの出し方
    翻訳のやり方
    よい文書の書き方
  • Sphinxのこれから良くなる点
    PDF出力
    お手軽rst2pdfだと見た目が・・・日本人も参戦!
    http://twitter.com/tk0miyaさんががんばってます!
    LaTeX経由・・・すみません僕の環境ではまだ成功してません。pTeXLive入れればいいの?
    各国語対応
    検索機能だとか。
    GUI
    詳しくない人に広めるなら欲しいよね?
  • Sphinxで救われる方
    仕事のドキュメントがExcelで疲れた方
    仕事のドキュメントがWordでリファレンス作りに疲れた方
    仕事のドキュメントがLaTeXでコンパイルエラーに疲れた方
    仕事のドキュメントがヘビー級なCMSで、不要な二酸化炭素を排出している気がして、気になって眠れない方
    SphinxとErlangで、
    Happy Documentation Life!
  • そういえばErlangはどうなったの?
  • Project Euler
    日本人で一時、1位に!
    現在は2位です。ヒヨッコですが。