6月8日

2011/6/8作成

iPad」と「iPad 2」の統合見送りは意見が出なかったので、予告どおり見送り。提案タグを除去して、「統合依頼」ページにも報告。とりあえず、一つ作業リストが減った。

ヴィッテルスバッハ家というドイツの貴族のカテゴリについて削除依頼が出ているんだけど、依頼者がIPユーザなので投票権が無い(削除依頼にはIPユーザや編集回数50回未満のアカウントユーザは投票権が無い。改名提案などIPユーザでも投票できるものもある)。で、議論が停滞しているというか停止してしまっているので、ちょっとお手伝いしてみる。

まず改名にあたっての議論を探してみる。が、どうやら改名自体はドイツ語版でカテゴリ変更があったのでそれに合わせたという事で、特に日本語版で議論や合意があったわけではないみたい。ただし、改名に反対の意見も出てないから、暗黙の合意が形成されたとみることが出来そう。

次に、削除依頼に挙がっている各カテゴリの改名先を探して、そこにある各記事が改名元カテゴリから適切に移動されているかを確認。これは問題なし。

ということで、特に問題なさそうということで、全削除票を投じてみた。ただ、ヴィッテルスバッハ家なるものについて全く知識がないから、この改名が適切かどうか判断できないので、詳しい人から反対意見が出たら取り下げるつもり。

カテゴリ無しと孤立したページの一覧が更新された。孤立したページは1300件。どんどん減るけど、私が作業した以上に減っていくのは、削除されていっているからだろうか。まあ、減るのはいいことなんだけど。ということで、それぞれメンテナンス作業をする。

そういえば孤立したページで思い出したけど、日本中のテレビ中継局の記事を丹念に作成している人がいるんだよなぁ。あれも、百科事典に載せる特筆性があるか疑問があるような気がするんだけど、なにせ情報が充実しているから警告タグが貼られることもない。つまりは、そういうことなのかなぁ。

駅チカ」から「駅チカ (曖昧さ回避)」への改名について、一週間経ったけど反対意見が無かったので改名を実施。以前実施した「エキチカ」からのリダイレクトが二重リダイレクトになってしまうのでその修正も。改名提案に結果の報告、移動に伴って出来た「ノート:駅チカ」のリダイレクトの即時削除依頼。はあはあ。改名はやることがたくさんある。その点、削除依頼の方が、あとは管理者に任せてしまえるから楽だよなぁ。

jawptoolの開発。テストケースの作成をしていく。が、そうしてるとこの期に及んでクラス構成を見直したくなってきたりしたり。ああ、優柔不断。というか、最初から綺麗に設計できないのがダメよなぁ。

CGI.pmとかMeCab.pmとかは使う前にオブジェクトを生成しないといけない。これが結構重いかなぁと思って、最初に1回生成したオブジェクトを使いまわすようにしていたんだけど、実際のところはどうなんだろうと試してみる。ということで100万回CGIとMeCabを生成してみたところ、CGIは85秒、MeCabは372秒。なんだ、全体の何時間とかに比べれば大した時間じゃないじゃん。じゃ、使用するたびにオブジェクトを生成するようにしても問題ないかな。

やっぱりクラス構成を見直すことにする。今度こそテストファーストということで、テストコードを先に書く。テストコードを書くってことは、要するに仕様書をコードで書くってことなんだよねぇ。そういう意味では、テストファーストってウォーターフォール的な開発手法なのか?アジャイルな開発で使われているイメージがあるんだけど。私の捉え方が間違っているのかなぁ。まあ、それはともかく、テストコードを書いて、それにパスするように実際のコードも修正。やってみれば、まあ大した作業量ではないんだけど。

また気持ちが揺らいで、集計機能の作り込みに手をつける。言語間リンクの検出のための正規表現を、今までは/^[a-zA-Z]+:/なんていう、なんちゃってコードで書いていたのを、言語コード一覧からちゃんとした正規表現に改める。

言語間リンクというのは、ウィキペディアの他言語版の同じ記事へのリンクのこと。例えば「ウィキペディア」という記事の英語版への言語間リンクは[[en:Wikipedia]]というようになる。言語間リンクは通常のリンクと違ってサイドバーに言語名が一覧として表示される。

言語コードはISO 639で決められているそうなんだけど、そこにある言語コード一覧を正規表現にしてみた。これであってるのかな。

/^(aar|aa|abk|ab|ace|ach|ada|ady|afa|afh|afr|af|ain|aka|ak|akk|alb|sqi|sq|ale|alg|alt|amh|am|ang|apa|ara|ar|arc|arg|an|arm|hye|hy|arn|arp|art|arw|asm|as|ast|ath|aus|ava|av|ave|ae|awa|aym|ay|aze|az|bad|bai|bak|ba|bal|bam|bm|ban|baq|eus|eu|bar|bas|bat|bej|bel|be|bem|ben|bn|ber|bho|bih|bh|bik|bin|bis|bi|bla|bnt|bos|bs|bra|bre|br|bua|bug|bul|bg|bur|mya|my|byn|cad|cai|car|cat|ca|cau|ceb|cel|cha|ch|chb|che|ce|chg|chi|zho|zh|chm|chn|cho|chr|chu|cu|chv|cv|chy|cop|cor|kw|cos|co|cpe|cpf|cpp|cre|cr|crh|crp|csb|cus|cze|ces|cs|dak|dan|da|dar|day|del|dgr|din|div|dv|doi|dra|dsb|dua|dum|dut|nld|nl|dyu|dzo|dz|efi|egy|eka|elx|eng|en|enm|epo|eo|esk|est|et|ewe|ee|ewo|fan|fao|fo|fas|fa|fat|fij|fj|fin|fi|fiu|fon|fre|fra|fr|frm|fro|fry|frs|frr|fy|ful|ff|fur|gaa|gay|gem|geo|kat|ka|ger|deu|de|gez|gil|gla|gd|gle|ga|glg|gl|glv|gv|gmh|goh|gon|gor|got|grb|grc|gre|ell|el|grn|gn|guj|gu|hai|hat|ht|hau|ha|haw|heb|he|her|hz|hil|him|hin|hi|hit|hmn|hmo|ho|hsb|hun|hu|hup|iba|ibo|ig|ice|isl|is|ido|io|iii|ii|ijo|iku|iu|ile|ie|ilo|ina|ia|inc|ind|id|ine|inh|ipk|ik|ira|iro|ita|it|jav|jv|jbo|jpn|ja|jpr|jrb|kaa|kab|kac|kal|kl|kam|kan|kn|kar|kas|ks|kau|kr|kaw|kaz|kk|kbd|kha|khi|khm|km|kho|kik|ki|kin|rw|kir|ky|kmb|kok|kom|kv|kon|kg|kor|ko|kos|kpe|krc|kro|kru|kua|kj|kum|kur|ku|kut|lad|lah|lam|lao|lo|lat|la|lav|lv|lez|lim|li|lin|ln|lit|lt|lol|loz|ltz|lb|lub|lu|lug|lg|lui|lun|luo|mac|mkd|mk|mad|mag|mah|mh|mai|mak|mal|ml|man|mao|mri|mi|map|mar|mr|mas|may|msa|ms|mdf|men|mga|mic|min|mis|mkh|mlg|mg|mlt|mt|mnc|mni|mno|moh|mol|mo|mon|mn|mos|mul|mun|mus|mwr|myn|myv|nah|nai|nap|nau|na|nav|nv|nbl|nr|nde|nd|ndo|ng|nds|nep|ne|new|nic|niu|nno|nn|nob|nb|nog|non|nor|no|nso|nub|nwc|nya|ny|nym|nyn|nyo|nzi|oci|oc|oji|oj|ojp|ori|or|orm|om|osa|oss|os|ota|oto|paa|pag|pal|pam|pan|pa|pap|pau|peo|per|fas|fa|phn|pli|pi|pol|pl|pon|por|pt|pra|pro|pus|ps|que|qu|raj|rap|rar|roa|roh|rm|rom|rum|ron|ro|run|rn|rus|ru|sad|sag|sg|sah|sai|sal|sam|san|sa|scc|srp|sr|sco|scr|hrv|hr|sel|sem|sga|sgn|shn|sh|sid|sin|si|sio|sit|sla|slo|slk|sk|slv|sl|sma|sme|se|smi|smj|smn|smo|sm|sms|sna|sn|snd|sd|sog|som|so|son|sot|st|spa|es|srd|sc|srr|ssa|ssw|ss|suk|sun|su|sus|sux|swa|sw|swe|sv|syr|tah|ty|tai|tam|ta|tat|tt|tel|te|tem|ter|tet|tgk|tg|tgl|tl|tha|th|tib|bod|bo|tig|tir|ti|tiv|tju|tkl|tlh|tli|tmh|tog|ton|to|tpi|tru|tsi|tsn|tn|tso|ts|tuk|tk|tum|tup|tur|tr|tut|twi|tw|tyv|udm|uga|uig|ug|ukr|uk|umb|und|urd|ur|uzb|uz|vai|ven|ve|vie|vi|vol|vo|vot|wak|wal|war|was|wel|cym|cy|wen|wln|wa|wol|wo|xal|xho|xh|yao|yap|yid|yi|yor|yo|zap|zen|zha|za|zh|zul|zu|zun):/i

集計待ちの間に、だらだらとウィキペディアの旅。botについて興味をもったんで少し調べてたんだけど、標準記述言語はPythonかぁ。Pythonかぁ。まあ、簡単なbotを書くくらいなら、多分そんなに苦労しないとは思うけど。MediaWikiはPHPで書かれているのに、そこはPythonになるという選択がどうなのよ。いやまあ、今時としては妥当かもしれんけど。

しかし、perlってもう世間的にはマイナー言語なんかねぇ。個人的には好きなんだけど。というか、単にLLのなかで私がまともに使えるのがperlくらいしかないってだけなんだけどね。

ようやく集計が終わる。1回だいたい3時間くらいかな。修正するたびに実行してたら開発がはかどらんが、実データを対象にチェックしないと分からないところもあるから難しい。で、レポートを見るんだけど、まだまだ使用数と実数の乖離が激しい。うーん。とりあえず、少し修正して実行して、今日は寝る。続きは明日。


あおやぎのさいと2.0 新人うぃきめでぃあん日記