タカラジェンヌ一覧を作成するためにスクリプトを書いた話

約2年ぶりだが、唐突にblogを更新しようと思う。
大体、暮れが押し迫ってくると、「1年あっという間だったな」と思うものだが、昨年末はその感覚が全くなかった。

何故か。

実は昨年の7月頃に宝塚に興味を持ったのだが、そのせいで宝塚のことを全然知らなかった1年前が遠い昔のように感じていたのではないかと思い至った。

 

きっかけは運動会

7月頃に、劇団新感線の「五右衛門VS轟天」の予習として、過去作を調べていたところ「天海祐希」がファンから「ゆりちゃん」と呼ばれていることに気が付いた。「宝塚は愛称で呼ぶんだなー」と思って、色々調べている内に、宝塚で10年に一度開催される大運動会の存在を知り、そこで何かが私の琴線に触れた。

宝塚歌劇大運動会とは、綱引きや玉入れをしたり、選抜メンバーでリレーをしたり、応援合戦でソーラン節を踊ったり、本当に中学や高校でやるような運動会だ。
ゆるい気持ちでやっていたならば見られたものじゃないが、本気で自分の組を勝たせようと頑張って、泣きじゃくったりしているのが感動的だった。

昔からくだらないことを大真面目にやっているのに弱い。

そしてそれをやっているのが、スタイル抜群の美女ばかりだという事実。
入場行進で各組のパフォーマンスがあるのだが、宙組のパフォーマンスが以前勤務先のイベントで偶然観ていた「銀河英雄伝説@TAKARAZUKA」だということにも心惹かれた。

私の人生に、他人の運動会のDVDを購入する日が来るとは。
分からないものだ。

普通ならばそこから劇場に通うものなのかもしれないが、チケットの入手方法がよく分からないので、映像作品や専門誌を見て、タカラジェンヌの顔と名前を覚える作業にはまっている。宝塚は現在102周年目なので、現時点で101期分のタカラジェンヌがいる。覚えても覚えても終わりが見えないのが楽しい。

前述の通り「愛称」で呼び合う文化があるのだが、「愛称」は本名に由来するものが多く、「芸名」との関連がないので、名前を2個覚えるのと同じ労力がかかる。また、最初の内は舞台化粧がみんな同じ顔に見えるし、難易度が高いのだが、むしろそこが燃えるのだ。


 

で、本題

これまで全然知らなかったタカラジェンヌの名前を大量に覚えたので、何人覚えたのか数えてみようと思った。

Wikipediaに入団の期ごとに「宝塚歌劇団n期生」というページがあるので、それを自動取得してCSVファイルに出力するスクリプトを書いて、名簿を作成した。
それをざっと眺め、名前を見て顔が思い浮かぶ人に丸を付けていったところ、255人に丸がついた。その内、23人は以前から知っていた人だったので除くと、約半年間で日常生活に関係ない人の名前を232個を覚えたことになる。これが多いのか少ないのか分からないが、ちょっとした達成感がある。

これを読んでいるみなさんも知っているタカラジェンヌを数えたくなってきたことだろう。分かってますよ。
タカラジェンヌ一覧抽出スクリプトをgithubで公開したので、ご自由にお使いください。

https://github.com/ymda/takarazuka-list-generator

コードを実行すると、↓こんな感じのファイルが出来ます。

芸名 読み仮名 誕生日 出身地 出身校 芸名の由来 愛称 役柄 退団年 備考

データはWikipediaのAPIから取得した。wikitableをCSVに変換するときに、要素中の脚注とかリンクとかを消さないと区切りがずれるのが面倒で、結構試行錯誤した。途中、「Webページを直接スクレイピングした方が楽なのでは」とも思ったが、APIを用意しているサイトをスクレイピングするのは「清く正しく美しく」ない気がしたので我慢。
また、基本的には「宝塚歌劇団n期生」のnを1からカウントアップしていくのだが、7期と8期だけ「宝塚歌劇団7・8期生」となっているので置き換えが必要だった。これは「7・8期生問題」と呼ばれている。私の中で。7・8期生は詳細な期が分からないので、便宜上7期生として扱っている。

それ以外も、基本Wikipedia情報なので、信頼性はご自分で判断していただきたい。

もっといい方法がありそうな気もするけど、とりあえず目的は果たしたので、良しとする。
レンタルサーバでcron起動する都合上Rubyを選択したが、あんまり経験のない言語なので自信はない。人の目に触れてブラッシュアップされていくことを期待して公開したので、ツッコミ大歓迎です。他力本願!
あと、Wikipedia側の表の構造が変えられると動きがおかしくなるんで、その時はお知らせいただきたい。対応できるものはしたいと思います。

何なら、直して Pull Request 送ってくれてもいいんですよ。

SQLのコメントを削除する

やたらめったらコメントが入ったSQLを読む機会があったので、SQL中のコメントを削除するコマンドをメモしておく。

––コメントを削除
:%s/--.*$/

/* */コメントを削除
:%s/¥/.*¥/

ついでにタブをスペースに変換
:%s/¥t/ /g

ついでに空行の削除
:g/^$/d

並カンのまとめ

並カン(並列プログラミングカンファレンス)に行ってきた。
「家に帰ってblog書くまでが勉強会です」とどこかで聞いたので、一晩たっちゃったけどまとめ。

並カン ATND
http://atnd.org/events/2092

プログラム

  1. はじめに (主催 mootohさん)
  2. 並列プログラミングの入門&おさらい的な話 (wraith13さん)
  3. ローレイヤーでの並列処理の設計 (goyokiさん)
  4. STM (hayamizさん)
  5. 並列 HPU 言語 MUDA (syoyoさん)
  6. マルチコア時代の Lock-free 入門 (yamasaさん)
  7. Haskell 周り (shelarcyさん)
  8. 東京Ruby会議03の告知 (ayuminさん)

はじめに (主催 mootohさん)

「これまでは並列処理は(スパコンとかの)特殊な人がやるものだったけど、これからは普通の人もやることになる。『普通のプログラマがカジュアルに並列処理を語る場』として並カンを開催した。」というお話。「基本は並列処理である。逐次処理は変則的。」という言葉が印象的だった。

おすすめ本

並列プログラムの作り方
Nicholas Carriero David Gelernter
共立出版
売り上げランキング: 85685

並列プログラミングの入門&おさらい的な話 (wraith13さん)

発表資料はこちら(pptx)

並列プログラミングのときに問題になることの話がメインで、「並列って大変だな」と思った。「1→2が0になったり3になったり」とか怖い。「スレッドセーフな言語/ライブラリだからマルチスレッドでも安心はまちがいのはじまり」とか、そうなのか。

ローレイヤーでの並列処理の設計 (goyokiさん)

発表資料はこちら(PDF) ←2010/02/08 追記

FPGA/HDL のお話
発表資料はいずれ公開するとのことなので、公開されたらリンク予定。

電子回路とかクロック周波数とか、大学の授業を思い出した。Web系の私からするとレイヤーが違いすぎて興奮。冷却スプレーによるデバッグとかすごすぎる。

STM (hayamizさん)

発表資料はこちら

STM(Software Transactional Memory)のお話。ふむふむと聞いていたら、かなり最後の方で「取り消し可能な命令しかトランザクション中に実行できないので、I/Oができない」と言われ、「え・・・」という空気に。そこだけ排他制御でいいんだろうけど。Clojureを触ってみようと思う。

並列 HPU 言語 MUDA (syoyoさん)

MUDA

View more presentations from syoyo.

(↑2010/02/12 追記)
MUDAというGPU向けの統合開発環境のお話。だと思う。
前提となっているらしいCUDAも知らなかったので、ちょっと難しかった。「HPU時代のハイパフォーマンス計算を行って、ベクタエンジン/コアを使い切るぞ」ということかな。

マルチコア時代の Lock-free 入門 (yamasaさん)

発表資料はこちら

並列に処理できない部分が少しでもあると、性能に影響するので「Lock-freeアルゴリズム」を使って並列性を高めようというお話。とても分かりやすかった。最後の方で、「メモリ回収の問題が複雑だがGCがある言語を使えば解決」という話があったので、C++派閥が絶望する場面も。私はほぼJavaなので、「C++の皆さん、いつかライブラリが解決してくれるといいですね」と思った。

Haskell 周り (shelarcyさん)

発表資料はこちら

正直疲れていたのと、Haskellが慣れないのとで上手く理解できなかった。メモも「宣言型言語」としか書かれていない。もったいないことをした。

東京Ruby会議03の告知 (ayuminさん)

東京Ruby会議はセッションが10個も並列だから、並カンの人たちも来てくださいというお話。
その場でSkypeで連絡して、受付ページがアップされるというパフォーマンスがあった。
予定が空いていたので軽い気持ちで参加登録したのだが、今日見たら既に閉め切っていて、Railsくらいしか使ってないのに申し訳ないという気持ちに。


当日のハッシュタグ(#namikan)のまとめ

Togetter(トゥギャッター) – まとめ「並カン2010」

※ 当日、会場で用意してくれた無線LANにみんながつないで、おそらくほとんどの人がハッシュタグをウォッチしていたせいで、API制限に引っかかるというハプニングがあった。技術系のカンファレンスではこれからよく起こることになりそう。

最後に
知らない話ばかりで面白かった。次回があれば、デバッグとかテストとかの話が聞けると嬉しい。スピーカー、スタッフの皆さん、ありがとうございました。

続・blog+FLASH

昨日のMTタグの問題は、ブラウザでチェックしたときにエラーになっても、MovableTypeのテンプレートに組み込んでから動かせば、正常に動くことが分かった。とりあえずテンプレートとFLASHのスクリプトは書いたので、後はFLASHのデザインをするだけだが、ここでいったん保留。

blog+FLASHの挑戦

昨日寒かったので、用心してものすごく厚着で行ったら、今日は暖かい日だった。
金曜は授業が午前中一コマしかないので、午後から銀行を回ったり、色々と用事をこなした。

家に帰ってからwebいじり。今はbloggerというblogを使っているのだが、カテゴリが作れないのと、RSSの生成が面倒なのがちょっと不満。今度はCGIなどを設置できるレンタルサーバを借りてMovable Typeというblogに乗り換える計画だ。一月近く前からそれは作ってあったのだが、乗り換えるのにそれだけではつまらないので、blogにFLASHを使いたいと思って挑戦した。本を見ながら初めてXMLを書いた。しかし、普通であれば日本語が使えるはずの部分で日本語を使うとエラーが出る。仕方ないので、その部分を「blog_no_title」とか、読んだらついつい外国人っぽいアクセントで読んでしまいそうな書き方にした。それで上手く行くかと思ったのだが、今度はMovable Type特有のMTタグの<>が普通のHTMLタグと混同されてしまってエラーがでる。どうしたらいいんだ。

仕込み四日目

昨日の午前中は公演準備。午後は夜まで課題のCGIを書いていた。午後九時ごろに、やっととりあえず提出できるレベルになった。CGIは面倒だな。

今日も今日とて公演準備。開場の外壁に吊るす看板を作った。数名のスタッフに沢山協力してもらって、やっとできた。計算が甘かったな。みんなの時間を奪ってしまって申し訳ない。あと、小屋入り後初めての通しがあった。講堂は利用にお金がかからないので、小屋入りしてからの準備期間を一週間近く取ってある。だから、通しも何度もできるし、本番の舞台での練習もいっぱいできる。余裕があるので、小屋入りしてからも色々出来ていい。明日は何を作ろうか。

昨日のWeb製作で、本格的にやりたくなってきたので、HTMLの本も購入。CGIの次にHTMLって、普通逆だな。

仕込み二日目

今日は昨日ほどは力仕事はなかった。講堂の天井裏とでもいうところに、照明を吊るすところがあるのだが、そこで作業をしていたら、ものすごく暑かった。そこはボイラーのシステムのようなものが剥き出しになっていて、銃撃戦が似合いそうな場所だ。遥か下に客席が見えて、気持ちもいい。

これから、アンケートと吊り看板の準備をして、CGIを書かねば。

そういう事じゃないんだよなー

今日はレポートをやったり、試験を受けたりした。放課後は公演の仕込みとばらしについての会議。もう仕込み前は明日しかないのか。やることがあり過ぎる。あと昨日面接だったインターンシップ先から電話がかかってきた。無事合格した。一安心。

学校帰りに本屋に寄って、CGIについての本を買った。今のところ面白そう。夏休みを利用してスキルアップ作戦だ。

TSUTAYAに行って先週借りたDVDを返却した。日記にも書いたが、途中で止まりまくってイライラしたものだ。返却時に「もしかしたら1本無料になったりするかも」と思い、「その『ムーラン・ルージュ』、傷で途中から見れないですよ」と、あたかも次の人の事を考えて忠告しているかのように言ってみたら、「あ、すみません。今日別のディスクを無料でお貸しします」と、また『ムーラン・ルージュ』を渡される。そういう事じゃないんだよなー。今日から一週間にそんな余裕は無いし、観るくらいなら寝るし。しかも延滞料金は発生するらしい。忙しくて返すの忘れたりしたら、むしろ損じゃないか。貧乏性だから、明日返却となれば睡眠を削ったりするかもしれないけどね。