2012-04-30

サイクリングしてみた

休日は普段は子供と遊んでいたらあっという間に終わってしまうのですが、なんか急に妻と妻の実家が子供連れてどっかに遊びに行ってくれることになった。

うれしい半面、こういう暇には慣れてないので困る。で、気候も良かったので、なんとなくサイクリングしてみた。まあ僕の自転車は普通のママチャリ*1なのだが、気にせず10km以上こいでたらしい。(往復なので20km以上か)。最近運動不足だったので、たまにはこういうのもいいね、とか思った。

*1:子供が乗れるように後席がついてる

2012-02-06

[db][雑談]DBのサンプルデータでいいものないかなー

お仕事で、DB/SQL の初心者向け教育資料を作っていたのですが、なんかいいサンプルないかなー?とか思いました。

色々考えた末、某有名スポーツのデータを使ったのですが、たとえば売り物にする場合*1に問題になるだろうし、売り物にはならなくても全社的に使う資料とかになったりすると*2まずそうです。

標準のサンプルでも悪くはないんだけど、必ずしも分かりやすくないしなー、とか思うわけです。

みんな知ってて、公開されてて、版権問題なくて、DB や SQL の題材としてふさわしいデータって何かないですかねー???

2011-12-28

テスト投稿

2011-12-25

[perl][test]Perl Advent Calendar にもう一回記事を書いてみました

表記のとおりです。書いたのは昨日でしたが、紹介してませんでした。

Perl 以外の何かをテストする


前回がマニアックだったので、今回は普通の話を書いてみたつもりです。

以前、最近のお仕事の話という記事でも書いた、「ストアド書くのつまんねーなー」という気持ちと、「Perl 書きてーなー」という気持ちをミックスさせたら、クライアントモジュールを作ってテストコード書いてたでござる、という話をtips 的に書き直した内容ですね。

考え方自体は他の言語でも適用できると思うので、Perl 使いもそうじゃない人もぜひご一読ください。

2011-12-12

[perl][test]Perl Advent Calendar に記事を書きました

Perl Advent Calendar の Test Track にbless を使った Casual な Test Double について という記事を書きました。なんか「それ Test Double じゃなくね?」とかツッコミが入りそうな微妙な内容な気もしますが、興味のある方は読んでみて下さいね~。

ちなみに、僕はいままで、「Test Double」 って呼称をあんまり使ってなくて、(間違っていると知りながら、普及している)「Mock(モック)」という呼称を使ってました*1が、正しい呼び方を使った方がいいかな、と思ってそうしております。

2011-12-03

[雑談][仕事]OB訪問された話

ウチの大学の後輩からOB訪問されました。

自分の入った会社が景気悪くて新卒採用してなかったし、僕の研究室が自分の代を最後に無くなってしまったこともあり、これまでOB訪問されたことがありませんでした。僕自身の就活の時は知ってる先輩にちょっと話を聞いた程度しかOB訪問しなかったし。

と、まあそんな状態なので、何しゃべっていいか良く分からずな感じで、ダラダラと取り留めなく、前の会社の話とか今の会社の話とか、業界の話とか適当に(?)*1してみました。

同じ業界でも会社が変わると仕事は全然違うし、同じ会社でも職場が違うと全然仕事が違ったりするし、あるいは同じ会社の同じ職場でも立場が変わるとやっぱり違うし、同じ仕事してたとしても、人によってやりがいとか結果は全然変わってくるしなので、仕事って難しいなー、と思ったりしました。

あとは、僕は人と話すのは多分そんなに得意な方では無いはずなのだけど、お題が決まってると結構話せるもんなんだなー、とか思ったり。

2011-11-21

[perl][cpan][雑談]DBD::mysqlPPの話(その2)

http://d.hatena.ne.jp/tsucchi1022/20111022/1319262791 の続きみたいな話。

メンテを引き継いでからは、基本的にプレースホルダーまわりのバグフィックスを中心にやっていました。つーか分かるところが今のところその辺くらいしか無かったから。

まずもとあった SQL インジェクションのバグを潰しました。あとは LIMIT かけた際に不必要にクォートしてしまう不具合があって、それを直したりしました。ただ、基本的にはクォートするかどうかは、数値か文字列かで判定するべきなのですが、現在はやっつけな感じの実装になっています。

ドライバ(Net::MySQL)側に結構クリティカルな不具合があって、(どういう基準かはよく分からないのだけど)難しいステートメントを投げるとハングしてしまうことがあります。これは MySQL通信プロトコルを理解しないとどうにもならないので、手をつけられずにいるのですが、これを直さないと DBD::mysql からテストを持ってくるとか夢のまた夢な話になってしまうので、なんとかせないかんなー、とは思っています。

あとは、僕が E::MM を全然分かって無いのが良くないのですが、MANIFEST がうまく作れてなかったり、META.yml が更新されてなかったりして、結構無駄に悩んだりしたので、Module::Install ベースに移行したいな、と考えていて、手元には変更したブランチもあったりします。やっぱり xt 使いたいんだよねー。

プレースホルダーまわりは、テストコードも整備したし、そのための仕組みも作れたので、他の部分も少しずつ取り組んでいきたいなー、とは思っています。