ラベル Pyspa の投稿を表示しています。 すべての投稿を表示
ラベル Pyspa の投稿を表示しています。 すべての投稿を表示

2013-03-23

Python 旅館 2013.03

Python 旅館 2013.03 に参加しました。


Python 温泉の簡易版です。なんと温泉もありません。

というイベントです。前回参加したのはいつだったかなと思い、検索してみたら、 2010年4月でした。3年前です。泊りのイベントは初めてで、知っている人も少なくて、どきどきしながら行ったことを覚えています。何をしたかは、まったく覚えていません。検索してみたら...


文字コード周りの挙動がアヤシイときにはbuchoに助けてもらいました。

そんな偉そうなことしたかなぁ。


@torufurukawa と酔っぱらいUstreamしてたらあんまり出来ませんでした。

これはよく覚えています。

さて、今回は簡単な課題を持って参加しました。とおるメモという駄文集がありまして、これを Kindle Direct Publishing で出版することです。もはや Python でも、プログラミングでもありません。と見せかけて、HTML から epub 形式に変換するまでを Python 3 で書きました。

もともと、簡易オレオレなマークアップで書いたテキストファイルから、スクリプトを使って静的なページ群を作っていました。m4 使ったり、XSLT 使ったりした記憶がありますが、もはや、どこにいったのか分かりません。@ae35 が reST 形式に変換したものを作ってくれていますが、今回は自分でやってみようと思いました。Python 3.3 を使ってみたかったんだい。

各文章の HTML から題名、日付、本文を取得するのに、 Beautiful Soup を使って HTML をパースしてから取り出しました。find_all() メソッドしか使っていません。いつの間にかバージョンが4になっていて、 beautifulsoup4 はそれ以前のものとはまったく別物になっているようです。

ちまちま作っていくときに、何度 print hoge と書いてエラーが出たことか。なかなか慣れませんね。Python 2 を使う時でも、 print(hoge) って書くように気をつけているつもりだったんですけどね。

その後は、まとめて torumemo.rst としてテキストファイルに吐き出すだけでした。タイトル、日付、1つ以上の段落で、ひとつの文書が構成されているので、ベタで出力しました。

それを Sphinx を使って、epub 形式にビルドしました。困ったことがひとつありました。epub テーマで変換すると、各ページのヘッダに「とおるメモ 1.0 document」、フッタに「(c) ふるかわとおる 2013, Created using Sphinx 1.1.3」 になり、それぞれハイパーリングがつきます。あと、index.rst に書いていなくても、空っぽのインデックスページができてしまう。ちと、これ要らないんすけど...。

これはもしやテーマを自作しなければいけないのか、と焦ってしまいました。テーマの作り方とか読んでしまいましたよ、はい。だらだらドキュメントを読んでいってるうちに、簡単な解決策がありました。

まずフッタとインデックスは、conf.py で指定できます。
html_use_index = False
html_show_sphinx = False
ヘッダは layout.html という、すべてのテーマが継承しているファイル  document という文字列が定義されているようでした。ようでしたというのは、このあたりで調べるのをやめました。というのは、 conf.py に自前の CSS を定義できることに気づいたからです。


def setup(app):
  app.add_stylesheet('torumemo.css')

これ。で、torumemo.css の中で

div.related {display: none}

という強引な方法で不可視にしています。データとしては含まれている、という、セマンティック的にひどい状態です。

とこんなことを書いているうちに、Kindle ストアで買えるようになるはずなのですが、Amazon からのメールに書かれていた「このURLで公開されているぜ」というページが 404 です。なんか時間がかかるみたいなので、もう今日はいいです。

2012-12-04

中間地点としての PySpa - PySpaアドベントカレンダー4日目

このエントリは、PySpaアドベントカレンダー という「思いの丈を綴る(なんでも良い)」ブログイベント4日目の記事です。比較的歳をとってから、プログラマになろうとしたおっさんの吐露です。


能書き


PySpa とは「Python温泉」を語源とするはずで、開発合宿と見せかけて、なんとなくソフトウェア開発者やその周辺の人たちが、温泉旅館を借りきる集まりのひとつ、と理解しています。

アドベントカレンダー栄えある1日目は @akisutesama が書いているわけですが、いきなり事実誤認があるわけですよ。

例えば今回のアドベントカレンダー参加メンバーだと 
12/1 akisutesama
12/3 tokibito
12/4 torufurukawa
12/8 shimizukawa
あたりがPySpa経由で雇用されたビープラウド社員だったりします。

待てやこら。PySpa に初参加したときには、すでにビープラウドを退職した後ですよ。

とはいえ、私のソフトウェア開発者としてのキャリア形成で、PySpa は重要な要素なのです。さて、このアドベントカレンダー、なんでも良いって説明なので、俺のPythonとPySpaの話をしちゃうぞ♡  ハウツーとしての意味はありませんが、考古学的価値はあるかも知れません。


いまはむかし…


34歳ごろ、計測器メーカーでマーケティングの仕事をしつつ、2ちゃんねるの「35歳なんだけどプログラマになれる?」みたいなスレを見ていました。学生の頃からプログラマになりたかったのですが、面接に落ちたり、大学院を中退したり、面接に落ちたり、面接に落ちたり、女の子に振られたりしているうちに、負けることに慣れきってしまい、いろんなことを諦めていました。その割には、でもやっぱりプログラマやりたなぁ、などとぐずぐず2ちゃんねるですよ。

どういうきっかけがあったのか、まったく覚えていませんが「転職して職業としてプログラマになろう!」と決めたような気がします。どうせキャバ嬢にそそのかされたとか、そんなことがきっかけでしょう。で、面接とか受け始めるのですが、まあ、30代未経験が受かるわけがありません。

そういうとき、ググると、自分に都合のいい解釈ができるウェブサイトがすぐに見つかります。そのひとつがアクセンスのおまけ というページです。たぶん、ここに書かれていたような気がするのですが、当時「Python ハッカーを募集」って書いてあったのです。いまはもう書かれていません。ほら、世界は俺を求めている、とか思って安心だけしていました。いかにも不採用になりそうだったので、応募していません。

ハッカーに会おう


ひっぱってすみません、もうすぐ PySpa 出てきます。

普通に自分の職歴で転職しようとすると、どうしても、計測制御分野でマーケティング担当とか、マネージャとかになってしまうんですよね。ちがうんだよ。プログラマになりたいんだよ。ってなわけで、きっとハッカーたちが居るであろう勉強会に顔を出そうと思いました。初対面で話すとかまったくできないので、話聞いて帰るだけでした。行ってたのは Python Code Reading という勉強会で、そこで Python 3.0 の紹介をやらせてもらえることになりました。

講師をやると、その後の懇親会で、何もしなくても話しかけてもらえます。これすごく楽なんですよね。そのとき @atusi さんにも話しかけてもらえました。

atusi「いつも、どんなとこ行ってるんですか?」
私「いえ、ここ (Python Code Reading) しか来てないんです」
atusi「Python やってるんだったら、 BPStudy と Python 温泉っていうのに行ってみたらいいですよ」

おまたせしました、やっと登場、Python 温泉 a.k.a PySpa です。

atusi「Python 温泉は、集まってコード書いたりだらだらやってるだけなんですけどね。」

おお、ハッカーと温泉で仲良くなって、会社に入れてもらおう!という甘い策略を思いつきました。

私「ありがとうございます。早速申し込んでみます」


しかし…


当時の PySpa は、開催の告知をしたら、一瞬にして枠が埋まってしまって、ぜんぜん参加できなかったのです。くぅぅぅぅ。

けど真っ向勝負をしていたら、いつまでたってもプログラマになれないわけですから、PySpa に参加し、アクセンスの人と仲良くなり、うっかり間違って採用される、という目論見を持ち続けていました。

一方で、ソフトウェア開発の勉強会は、転職とは関係なく面白かったので、Python Code Reading や BP Study には、ときどき参加するようにしていました。あ、いや、ちょっとは期待があったかも。すみません、すみません。その後、ビープラウドで募集があったときに拾ってもらい、めでたくプログラマになれたわけです。


で、PySpa は?


その後も PySpa は開催されていたのですが、仕事や個人の都合、あるいは震災があったりとかで、参加していませんでした。やっと参加したのは、今年になってからです。

PySpa 経由で転職、というのは、まったく見当違いな目論見だったわけですが、 PySpa という道標があったから、その界隈にうろうろすることになり、プログラマになれました。

いまどき、35歳でプログラマになりたいような人がいるのか分かりませんし、PySpa を目指してもおそらくプログラマになれる気はしませんが。これを読んで PySpa 目指すよりも、手を動かしたほうがいい気がします。なので、この文章から教訓や方法論は得られないでしょう。最初に書いたように、おっさんの吐露です。

けど、まあ、何か偉そうに書いちゃおう。思いの丈を綴っていいらしいし。はっきり言って、プログラマになって後悔したことなんて、何回もあります。これからもあるでしょう。マーケやってたほうがモテたかも知れません。けど、プログラマになっていなかったら、もっと大きな後悔をしたはずです。死ぬまでずーーーーーっと「私は本当はプログラマになりたかったのに」と悔い続けたであろうことは、想像に難くありません。行動の諦めはいいくせに、気持ちだけ未練がましい私が、なんとか蟻地獄から抜け出せたのは、PySpa をゆるいながらも目指し続けていたからです。

ちなみに PySpa は、当初想像していたものとは、ぜんぜん違いました。


明日は、Python と人生とお酒の先輩である @turky です。