11月
30
2009
「プランニングポーカー」っていうのは、アジャイル方面の見積りグッズ。
アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~ でも紹介されてる。

どう使うかっていうと、ある見積もるべきストーリー群がある時に。
- それがどのようなタスクであるか話し合い
- 各自がそのタスクが何「ストーリーポイント」であるかを考えて
- カードを出す
- 大きくずれてたら、なぜそうしたかなどを聞いたりして調整
- ポイント確定
- 全部終わったら今回のスプリント(=今週あるいは半月などの単位)でどのストーリーまでを消化するか予定を決める。
実際にやっていて、このやり方の重要な点はこういうところだと思う。
- 各自が自分で考えた見積ポイントを出す。
- 時間単位でなくストーリーポイントという抽象的単位(あるタスクに対する相対的見積り)である。やる度に自分のチームはこの見積り方法で週何ポイント消化できる、という精度が上がっていく。実時間でいちいち見積らないところが重要。
- 「大きい見積りは精度が低い」というのが表現されている。ストーリーポイントは基本的にはフィボナッチ数で、13の次は 20, 40, 100。ストーリーを分割する目安にもなる。
ちゃんとしたやり方とか考え方は最初に挙げた「見積り本」に載ってるのでそちらを読むべし。↑間違ってるかもしれないのと、バックログとか優先度の考え方とか前提になることがいろいろ多い。
自分のプロジェクトではカード買うまでは手で紙に書いてやってたんだけど、カード買ったらずいぶん手軽になった気がする。ま、さらに慣れるとプランニングじゃんけんになるらしい けども。
んで、カード購入方法。Mountain Goat Software のサイトから、Planning Poker をカートに入れて、英語で住所とクレジットカード番号を入れて取り寄せるだけである。実際のところ普通に1週間もかからずさっくり届く。送料は高い。1セット$2.50 で10セット注文したけれども、Shipping: $39.85 とな。あと例によって JCB とか使えないから注意。
注文するなら円高のいまのうちですよ(適当)。
あと余ってるんで近いひとで試してみたいという方は連絡ください。w
11月
23
2009
Python の初歩的小ネタ。
Python では、あるリストの逆順を得るには、破壊的な reverse() メソッドを用いるか、逆順のイテレータを得るreversed()関数がある。
somelist.reverse() # somelist 自体が変更される
reversed(somelist) # somelist を逆順に辿るイテレータを得る
たいていはこの2つで足りるけども、たまーに somelist の逆順のリストが欲しいことがある。その場合は、(まず)つぎの2つの方法がある。
list(reversed(somelist))
# あるいは
somelist[::-1]
後者がなんとなくテクニカルっぽいけども、普通に考えて list(reversed(...)) でいいんじゃなかろうか(速度もそんな変わらん)。
もちろん、reversed() で足りるならその方が良いだろう。(リストのコピーしないだろうから)
11月
10
2009
tiarra の Auto::Random に食わせるソースを出力するためのスクリプトの個人的メモ。俗に言うすももせいゆう機能(わからんて)。
例によって声優相性診断所さんのリストを使わせてもらってます。
#!/usr/local/bin/ruby
# -*- coding: UTF-8 -*-
$KCODE = 'u'
require 'open-uri'
require 'nkf'
require 'uri'
uri = 'http://' + %w(tomoch s28 xrea com).join('.') + 'ime.cgi' # 本当はちゃんと書いてます.
out = 'va.txt'
vas = open(uri){|f| f.readlines }
lines = vas.collect {|va|
name = va.gsub(/\<.*?\>/,'').split[1]
if name
wikilink = 'http://ja.wikipedia.org/wiki/' + URI.encode(name)
"#{name}: #{wikilink}"
else
nil
end
}.compact
open(out, 'w'){|f|
f.puts lines.join("\n")
}
前は wget で一発だったんだけど Wikipedia のリンクが必要になったのでごにょごにょ。
Tags: 声優
11月
04
2009
gem で入れた nicovideo プラグイン を動画ダウンロード用のスクリプトで使っていたけど、
ニコニコ動画(9)になって動作しなくなっていたのでとりあえずダウンロードだけ動くようにした。(XPath 部分直しただけ)
require 'nicovideo'
module Nicovideo
class VideoPage < Page
def parse(page)
# title
@title = page.title.toutf8.sub(/#{BASE_TITLE1}$/ou, '')
# tags
div = page.parser.search("div#video_tags")
@tags = div.to_html.scan(/<a href=\"tag\/[\w\%]+?\">(.+?)<\/a>/ou).inject([]) {|arr, v|
puts_debug v[0]
arr << v[0]
}
# published_at
str = page.search("div[@id='WATCHHEADER']//p[@class='font12']/strong")[0].inner_text
tm = str.scan(/\d+/)
@published_at = Time.mktime(*tm)
end
end
end
ダウンロード以外はやっぱり動かないので注意。マイリスト回りのコードにも影響があるので commit しにくいなー……。
Tags: ruby, ニコニコ動画
10月
27
2009
開発用に英語キーボードな MacBook に Bootcamp で Windows 7 入れてみたわけだけど、
Ctrl と CAPS は当然として、 さりげなく Alt と Command(Windows) キーが普段と違ってしまい開発環境としては如何ともしがたく。
Alt キーはスペースバーの横じゃないとダメなのよねー。
そんなわけでキーバインドの変更が本当に必要になった。
今まで Vista な開発機には XKeymacs 使ってたけど、動作が今一つ自分の理想ではなかったのでそろそろ違うのを選びたかったところ。
というわけで 2000/XP の頃に「窓使いの憂鬱」を使ってたので後継である 「のどか」 をチョイス。 Vista の頃の mayu 後継はドライバ署名でいろいろあった気がしてたけど、最近署名が付いたというのがやはり大きい。
Windows 7 で前述のAlt-Commandキーの交換もできたのを確認して、さくっと PayPal で送金。
現状のほぼ最小設定はこんな感じ。
include "104.nodoka"
include "default.nodoka"
mod alt += LeftWindows
mod windows -= LeftWindows
key *LeftWindows = *LeftAlt
mod windows += LeftAlt
mod alt -= LeftAlt
key *LeftAlt = *LeftWindows
返事が見事に GMail の SPAM 箱に落ちてて正式版の取得が遅れたのは御愛嬌。:)
しかしこれでようやっと Windows7 上での開発のスタート地点に立ったってところだなー。まだ東方星蓮船専用機だし…
Tags: nodoka
10月
14
2009
久々に Rails アプリいじる。 Rails の scaffold で /adminonly/users みたいなのを定義しようとしたがまじめにやるとファイルの移動+定義変更とか面倒。デフォルトのルールもあるので prefix だけ付けても仕方ない。
……と思ったところでデフォルトルール( /controller/action/id ってやつね)を切ればいいことに気づいた。風呂リフレッシュ大事だわあ。
ActionController::Routing::Routes.draw do |map|
map.resources :users, :path_prefix => '/adminonly'
end
どうせ今は ActiveResource 型のルーティングがメインなのだからデフォルトルール的なものは個別に定義すべきであろう。(と言い聞かせる)
10月
10
2009
開発手法に興味があるなら、まずこの2冊でアジャイル開発に踏み出すのがよかろう。
というか一緒に仕事する人は読んでください > 弊社の人とか。
こういう仕事のやり方はどうだい? というコンサルティングをしてくれる本だと思えば OK だ。
とりあえず「できるところから始める」でいいと思うけど、効率化していくとほとんどのことは
既存のプラクティスに近付いて行くんだよな。プラクティスとして紹介されているだけのことはあるのだ。
いろいろ自分の仕事でやってみて改善されたと思うことは、
- 本質的でない仕事が減った(チケットでタスク管理とか実際面倒でね?)
- 変化に強くなった: コンピュータでやるより紙のほうが早いことって結構あるんだ
- コミュニケーションが飛躍的に増えた: スタンドアップミーティング、ペアプログラミング、ふりかえり、普段の井戸端会議 etc.etc…
- 楽しく仕事をするのを心がけられるようになった
うちはできてる! と思う人は根本的にそもそも近いんじゃないかと思う。それでも部分的にでも得るものはあるんじゃないかしらん。
褒めすぎたので困ったことも書く。
- チームの理解がないと効果半減…: チームの人の理解は容易なはずだ
- 顧客の理解がないと効果半減…: むずかしい(特に日本では?)
- 壁が必要: 意外に難しい。でかい磁石の付くホワイトボードが最適だが。
- ネットワーク越しは難しい: 無理。顧客も近くに置きたいのにチームも外はなかなか難しい。規模と個人の技量の問題ではあるがー。
- 少しずつ導入してるので慣れるに時間がかかってる。「メンター」であるような精通したコンサルとかいないからねー。
個人的には Trac ステを目標にしてみてはどうか。別に Trac 面倒だと思うけど嫌いなわけじゃないし、
実際全部捨ててはいないんだけども(BTS と Wiki は必要)。
そんなことを作業待ちの間に本読みながら考えておりましたとさ。
Tags: アジャイル
9月
05
2009
FreeBSD の ports から入れた multimedia/ffmpeg の出力の mp3 がひどいことになっていてなんでだろう、と思っていたがバージョンのせいだった模様。のメモ。
Continue Reading »
Tags: freebsd
7月
31
2009
HoLY (holysugar) です。
Amazon API の変更により、 2009/08/15 に前の API を使ったアプリケーションは使えなくなってしまうのですが、ようやく
Amazon ISBN Anchor を対応させました。
ご利用の方にはリリースがとても遅くなってしまったことを大変お詫び申し上げます。時間がありませんので、速やかにアップデートをお願いします。
ダウンロードはこちらから。Amazon ISBN Anchor Plugin 2.0.0 のダウンロード
ファイルを上書きしてから一度「停止する」の後、「利用する」ことでバージョンアップできます。
Continue Reading »
Tags: amazon, wordpress
7月
14
2009
んで GitHub で公開。
http://github.com/holysugar/gae-amazon-proxy/tree/master
しかし作ってみた、のはいいがもういろいろ出てまわってるんだよなあ。:)
基本的にはただただしさんの amazon-auth-proxy の Python での GAE への移植。
たぶん、他の人のと似たようなバグがあるだろう。チェックしておかねばなあ。
最終目的は isbn anchor plugin 用の(透過でない) Proxy なんで、この Proxy を(おおっぴらに)公開はいまのところしてない。
今の仕事は Python を使ってがりがり書いてるせいか、特に Python で書くことに何の違和感もなくなってしまったなあ。何の制約もなければ Ruby やら Rails やらを使ってるんだけれども、 GAE 上で何かするなら Python でいいべ、と。これくらいのコードならすごく書きやすいし。
う、テスト書いてませんごめんなさい……(誰に謝ってるんだ)。
Tags: amazon, python