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

Erlang and I and Sphinx.

on

  • 2,142 views

 

Statistics

Views

Total Views
2,142
Slideshare-icon Views on SlideShare
2,139
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位です。ヒヨッコですが。