日向夏特殊応援部隊

俺様向けメモ

2011-01-01から1年間の記事一覧

MyTAP + my_prove + MySQL::Sandbox で快適 SQL Unit Testing

MyTAP という MySQL 上で Test Anything Protocol を実現してしまうというプロダクトがあります。これと TAP::Parser::SourceHandler::MyTAP に付属している my_prove コマンドを使うとかなり簡単に SQL プログラミングでテストを行う事が出来ます。また MyS…

replication status plugin のインストール

Replication Status Plugin という物がありまして、SHOW SLAVE STATUS で取れる値が information_schema.SLAVE_STATUS テーブルから取れるよって代物です。SHOW 系のコマンドって変数代入出来ないから SQL でホゲホゲする事が出来ないんですよね。なのでこう…

Pod ドキュメントを除外してソースのみを見る

それ perldoc -M と Pod::Strip で出来ます。例えば、 $ perldoc -MPod::Strip AnyEventみたいな感じですね。AnyEvent の pod 部が多過ぎてソース読むのが大変だったので、これで読みやすくなりますね。 ひょっとしたらもっと良い、あるいはシンプルな方法が…

Lion での EV(libev) のインストール

どうも Lion 環境下だとそのまま EV-4.03 はインストール出来ないみたいですね。 memoryless sources — Lion で Plack をインストールすると EV のテストでエラーがでる。 9891 – static const struct optimized-away incorrectly by llvm-gcc Trouble insta…

YAPC Asia 2011 でのスライド公開と感想など

まずは自分のスライドですが公開しました。 Mobage オープンプラットフォームの事件簿 ちょっと Mac の PowerPoint のせいかどうか分からないけどスライドがプロジェクタに映らず急遽 PDF に変換したりして、最大化出来なかったりしてお見苦しい所があったか…

変数とストアドプロシージャについて

追記しました (2011-08-08T16:57:50Z)割と弊社では MySQL の event scheduler を使ってみたり、ストアドプロシージャ、トリガーなど積極的に使っています。 今回はストアドプロシージャを書く上で、変数を色々使うのですが備忘録としてメモっておきます。MyS…

SET TIMESTAMP 構文で時刻の固定

SELECT * FROM hidek WHERE created_on < UNIX_TIMESTAMP() - ? ORDER BY created_on ASC LIMIT 100; とかそういうクエリをテストしたい場合、Fixture の日時が固定値だと色々と不都合がありますね。そういう時は、http://dev.mysql.com/doc/refman/5.1/ja/s…

Iterator::GruopedRange 0.02 Released

さて、ちょっとしたことからタイトルのようなモジュールを書いて見ました。Iterator::GroupedRange モジュールは簡単に説明すると、リストまたは別の(複数行ずつ返す)イテレータから指定行数分まとめて列挙するというモジュールです。0.01 で SYNOPSIS を思…

クリンスイの蛇口直結型浄水器買った

巷で水道水から200Bq/kgだかのヨウ素131が検出されただとかって話が出ている件ですが、これがどの程度危険な数値なのかどうか、あるいは甲状腺に対する悪影響、特に乳幼児に対して宜しくないらしいとの事のようですね。ちょうどマンションにある蛇口直結型の…

KeyedMutex::Memcached ってモジュールをリリースして何も言ってなかった件

id:kazuhooku さんがかつて作った KeyedMutex を memcached でやってしまおうと言うのがこのモジュールの目的です。KeyedMutex の場合は、keyedmutexd と言うそれ専用の daemon を立ち上げなければいけませんが、このモジュールの場合は既存のシステムに mem…

Test::Mock::Guard Released

さっき nekokak さんと xaicron さんにそそのかされて Test::Mock::Guard ってモジュールを書いてみました。そもそも Perl には Test::MockObject と言う汎用の Mock モジュールがあるんですけど、あれこれ余計な機能がたくさんついてたり Mock 化すると多分…

IV, NV などを B モジュールで調べる

makamaka さんが YAPC Asia 2010 にて発表した XSからPPへ - YAPC::Asia Tokyo 2010 に既に書いてあるんだけど、備忘録を兼ねて。JSON にする際に違いが出てくる訳ですがまずは論より証拠。 $ perl -MJSON -e 'warn encode_json(+{ foo => 1, bar => "1", ba…

Range Partitioning と日付型の選び方

だいぶ前に身を持って知った訳ですが、どう見ても BK なのでここに書いておきますよと。 型 データサイズ 日付演算 1日未満の分割 刈り込み (pruning) datetime 8 byte ○ × ○ timestamp 4 byte ○ ○ × uint(10) 4 byte × ○ ○ 1日未満の分割が必要無く、データ…

JSON-RPC, RESTful API とクエリパラメータ

OpenSocial の JSON-RPC, RESTful API の設計についてのよもやま話です。 JSON-RPC とクエリパラメータ OpenSocial Core API Server Specification 1.1 に URL Addression と言うセクションがあります。 これは JSON-RPC を http GET で呼び出す際に params …

カラム数の多いテーブルの SELECT 用にカラムを明示的に列挙する、または GROUP_CONCAT() が便利と言う話

カラム数が結構多いテーブルに対して SELECT * とは書きたく無くて明示的にカラム名を指定したいって時に徒手空拳で頑張って書いても良いんですけど、information_schema 使えば楽出来るよねーって話。 CREATE DATABASE akb48; USE akb48; CREATE TABLE memb…

生 DBI ユーザーのための DBI Cookbook (6)

さて、今日は selectcol_arrayref です。昨日、会社のグルメな同僚に教えて貰いました。ちょうど 生 DBI ユーザーのための DBI Cookbook (1) - Yet Another Hackadelic にて selectall_arrayref + Slice, selectall_hashref などの使い方を書きましたが、こ…

あけましておめでとうございます

皆様あけましておめでとうございます。本年も宜しくお願い致します。早いものでDeNA に入社してから二年経ってしまいました。実はプログラマとなってから二年間在籍したのはこの会社が初めてで、まだまだ楽しい出来事が待っていそうだなと思える会社だなと改…