-
1.
清水川貴之
-
2.
おまえ誰よ
@shimizukawa (清水川)
Sphinx-users.jp 運営
Sphinxコミッター
一般社団法人PyConJP理事
Python mini hack-a-thon運営
株式会社BeProud所属
-
3.
おまえ誰よ
@shimizukawa (清水川)
Pythonエンジニアです
-
4.
それ何よ
Python mini hack-a-thon運営
一般社団法人PyConJP理事
Sphinx-users.jp 運営
Sphinxコミッター
-
5.
Python mini hack-a-thon
毎月のハッカソンイベント
テーブル16席に20数名
夏と冬は菅平で合宿
pyhack.connpass.com
-
6.
http://pycon.jp/
-
7.
Sphinx-users.jp
sphinxjp.connpass.com
<- 月イチのhack-a-thon
年一のSphinxCon ->
(月イチのTeaNightはデニーズ)
-
8.
Sphinx is 何?
Sphinx はドキュメンテーションジェネレー
タです
SphinxはreSTマークアップから複数の
フォーマットのドキュメントを生成します
8
Sphinx
reSTreSTreStructuredText
(reST) reST Parser
HTML Builder
ePub Builder
LaTeX Builder texlive
HTML
theme
Favorite Editor
-
9.
Sphinxで書かれたドキュメント
Python ライブラリ/ツール:
Python, Sphinx, Flask, Jinja2, Django,
Pyramid, SQLAlchemy, Numpy, SciPy,
scikit-learn, pandas, fabric, ansible, awscli,
…
Python以外のライブラリ/ツール:
Chef, CakePHP(2.x), MathJax, Selenium,
Varnish
9
-
10.
Sphinxの歴史 (ショートver.)
10
Sphinxの
父
メンテナンス
が大変
~2007
書きやすく
メンテナンスしやす
い2007~
-
11.
そんな Sphinx の
コミッターをやってます
作ったのはGeorgです
-
12.
Pythonista 以前
2000年(25)~2005
年(30)
Pythonista 以前
-
13.
Pythonista 以前
2005年(30)~2008
年(33)
Pythonで仕事
-
14.
Pythonista 以前
2009年(34)
Zope/Plone開発勉強会
-
15.
エキPyを翻訳出版できたのは
Zope/Plone勉強会をやってみたら、
たまたま、
エキPyの原書を教えてもらった
英語の翻訳が多少怖くなかったので
目次を翻訳してみた
Python詳しい人がコメントくれた
別イベント主催者がその人と繋いでくれた
アスキーの編集さんと知り合いだった
-
16.
2009年までは準備期間だった?
本を書いてみませんか、と誘われたときに、手を上
げる準備ができているか
Pythonの良い英語の本を翻訳しよう、という話を実
際に進める準備ができているか
チャンスは転がってくるので
素振りして待ち構えよう
-
17.
エキPyの翻訳出版後
エキPyの翻訳で一番知識を得たのは自分。
翻訳で意味を理解するためにPythonの理解が必要だった。
Pythonを勉強して翻訳、の繰り返し。
日本語訳は日本語力, Excite翻訳は友達
読書会を主催して15章x2周で30回以上開催。
色々な質問に答えながら、時々間違えたり答えられなかっ
たりしながら、さらに身に付けていった
原著者のTarekをPyCon JP 2011 に招待
本人に会えた!
-
18.
Pythonでドキュメントと言えばSphinx
2012年頃から、
ときどきSphinxのバグレポを出したり
日本語で動作がおかしいところをPullRequstしたり
2012年10月、突然のSphinxのコミッター募集ア
ナウンス
手を上げた
「やります」という1行のメールでコミッターに
-
19.
Sphinxコミッターのお仕事
9人いたメンテナのうち、活動を開始したのは2名。
もう1名も2か月くらいで音信不通に
Georgも忙しくて実質自分だけでメンテ
チケット約250 -> いま500
もくもくとコード書いて、チケット閉じて、リリー
ス
つらい
-
20.
いろいろと実ってきた感
2015年に、Sphinxの話をしに6カ国7イベントに参
加
スペインでGeorgとSphinx開発したり
他の参加者と意見交換したり
今はもう1名日本人を引き込んで、日本人2人で開
発
Georgともう1名がときどき活動していて、合計4名
※ドラマやアニメに使う時間は、相変わらずない
-
21.
私が今Python入門者だったら?
だれもが必要としていて、不足していることを提供する
有名なライブラリのドキュメントを日本語翻訳する
簡単に価値を提供する側になれる
翻訳するうえで「ちゃんと理解」する必要がでてくるの
で勉強になる
第一人者に(なりたくなくても)なる。エバンジェリス
トになると聞かれる。聞かれると調べて答える。さらに
詳しくなる。
失敗しても、素振りだと思って次をつかまえよう
巨人の肩に乗ろう。すごいものは作れなくても、すごい
ものの手伝いはできる。
-
22.
チャンスを掴む準備をしよう
巨人の肩に乗ろう
継続しよう
まとめ
SphinxエキPy
Tarek Ziade
Python mini hack-a-thon は毎月開催しているPythonのハッカソンです。
会場はいまは新宿のビープラウド社の会議室で行っています。
一般社団法人PyCon JPは日本でのPyCon開催を毎年行う、ということを目的とした組織です。
PyConJPイベント自体は一般社団法人の運営ではなく、毎年スタッフを集めてスタッフが作っています。
Sphinx is 何?
Sphinxはドキュメンテーションジェネレータです。
SphinxはreStructuredTextというテキストマークアップから、複数の出力フォーマットに変換します。
今では、Sphinxは多くのPythonライブラリで使われるドキュメンテーションツールになりました。
Python libraries/tools: Python, Sphinx, Flask, Jinja2, Django, Pyramid, SQLAlchemy, Numpy, SciPy, scikit-learn, pandas, fabric, ansible, awscli, …
そしてPython以外のlibrary/toolsでもSphinxは使われています: Chef, CakePHP(2.x), MathJax, Selenium, Varnish
Sphinxの歴史をちょっとだけ紹介します。
この人がSphinxの父、Georg Brandlさんです。
PyCon JP 2013のキーノートスピーカーでした。
(クリック)
2007年まで、Pythonの公式ドキュメントはLaTeXで書かれていました。
しかし、これはメンテナンスが難しくて、ほぼ不可能。
Georgはこの状況を変えようとしました。
(クリック)
そして、2007年にSphinxを作りました。
Sphinxは書きやすくてメンテナンスしやすいことを目標に作られました。
2000年(25歳)に大学院卒、就職。総務部的なところへ。プログラミングしたかったのに総務になっちゃったので、子会社へ出向してC言語で開発。
Perlのcgiを拾ってきてblogを書いてたけど、カスタマイズしようとして、Perl理解できず挫折
2003年頃に、Zope2を使えばWebの色々ができるらしい、と聞いて使い始める。Zope2をカスタマイズするにはPythonを覚えると良いらしい、というのでZope2本のカスタマイズの章にあったPythonの説明を読んで勉強しはじめた。
2005年、C言語よりも、WebでZope2/Pythonで仕事をしたくなり、2007年にTimeIntermediaへ転職。きっかけはZope3という全く新しいのZopeの勉強会に参加して、こんな会社があるんだ!と思ったこと。
この頃、転職前の1年間くらい、社内の自分だけが使うツールをPythonで作るようにしてました。
Cで書いたらすぐ出来るのにわざわざPythonで書いて、練習してた感じです。
作ってたのは、一定のテキストを処理するプログラムや、組み込み機器にいれるバイナリファイルのデータを読んで情報を表示するやつ。そのバイナリを編集するGUIのエディタがありましたが、たくさん扱ってて更新も多かったので、GUIでちょっと編集してはPythonでデータを読み直して、値が変わったところが○○って意味だろう、みたいな感じでバイナリファイルのデータ解析しながら作ってました。
自分しか使わないつもりで書いてたけど、時々人に渡すこともあって、1つのexeファイルにしたいなあとか、やってました。
この頃、PythonとZopeで仕事をしていたんですが、Python使えれば幸せ、っていうわけでもないなあ、という感じでした。
仕事なんで、保守とかもあるし、常に新しいものを使えるわけでもないです。
仕事でPython書いて、帰ったらテレビでアニメとかドラマとか見て、時々Zopeのドキュメント翻訳、という感じでした。
英語もそんなに得意ではなかったので、寝る前に4行だけ翻訳するのに1時間かかったりとかしてました。
Zopeの中身を完璧に知ってる訳でもないので、英語の意味が分からなかったら、ソースコードを読んで動きを調べたりとかで、1日に1行も進まないときもありました。
そうやってZopeのドキュメントをチマチマと翻訳して、公開はしていたけど、あまり見られていなかった気がします。
Zopeで動作するCMSのPloneというのがあるんですが、Plone研究会というイベントがあります。
そこに時々参加してて、場所はZopeジャパン社だったり、西新宿のアスキーさんだったりでした。
その帰りに、だいたい飲んで帰るんですけど、たかのりさんと寺田さんと、「なんか定期的にあつまって好きな開発をする時間をもちたいよね」、っていう話になって、6月に「第0回 Zope/Plone開発勉強会」というのを始めました。
最初はPlone研究会の人達が来たり、会場のとして私が勤めていたタイムインターメディアを借りてやったのでそこの社員が来てくれたりとかで14人あつまりました。
ここが何かの転換期だったのかなと思います。
当時他にZopeとかPythonとかのモクモク開発イベントってほとんどなかったので、興味があるひとが集まってくれて、自分も教えられる側になったり、教える側になったりしながらやってたんですが、
次の回の時に "Expert Python Programming"(エキPy)というPythonのすごい先進的な本の存在を教えてもらって、感動して即購入しました。
今で言うと、Pythonプロフェッショナルプログラミングのような、言語そのもののことよりも、Python環境でどう開発していくかに焦点を当てた本で、例えば自動テストや、Pythonパッケージの配布方法とかがまとまってました。
この本をPython温泉、っていう合宿で他の参加者に見せたら、みんなの反応が良かったので、目次のページをざーっと翻訳してブログに載せたりしました。
ここで翻訳をザーっとできたのは、Zopeのドキュメント翻訳でなんかコツが分かったのか英語が怖くなくなってたのかの影響だったかもしれません。
その後、そのブログに掲載した翻訳目次に稲田さんという方がコメントくれて、翌月くらいに別のイベントでPython温泉の主催をしたVoluntasという人に稲田さんを紹介されて、よし翻訳して本だそう!って盛り上がりました。
たまたま、Plone研究会でアスキーさんに通っていた縁で、中の人と知り合いになってたので、翻訳をすることになった4人で企画を持ち込んで、そこから4か月くらいで無事出版できた感じです。
実はその前に、本を書いてみませんか、と言われて「力不足なんで」と断った事があります。
誘ってくれた人からしたら、「そんなの分かってるよ」っていう感じだったんじゃないかな。
そのときは、色んな意味で、準備不足だったんだと思います。
そういうのも、英語の本を翻訳しよう、という話を進めるバネになったのかも?
ちなみに、英語の本の翻訳は、自分で本を書き下ろすよりずっと楽です。
そのうえ勉強になります。