AnyEventでタイマー YAPC::Asiaでの宮川さんの発表を聞いて perl -MAnyEvent -le ' map{ $i = $_; my $c = AnyEvent->condvar; my $w; $w = AnyEvent->timer( after => $i, cb => sub {$w; print "OK"; $c->send}); $c->recv }(0.1,0.5,1,2,0.1)' なんてワンライナーで簡単なタイマーを作れる事を知りました.それで思いついたのがモールス信号,テキストを入力すると何かちかちかと点滅するものを作ってみようと思いました.まず,CPANでMorseをキーワードにして検索してみたところ,モジュールはいくつかでてきましたが,テキストを短点('-')と長点('ー')に変換するものばかりで,長点が短点の何倍の時間なのかなんてことはわかりま
インターネット上で公開されている無料のフォントは数多くある。しかし、それらを効率的に探すとなると大変だ。無料のフォントをまとめたサイトやページは数多く見つかるが、50程度のまとめのものであったり、ライセンスについてあやふやなだったりする。そこで便利なのがMyFontsの検索機能だ。MyFontsではフォント名や作者、その他色々な条件で検索できるが、その条件のひとつに値段があり、その条件だけで検索することができる。何も考えずに"$0以下"という条件で検索するだけで400以上見つけることができるのだ。 検索結果のページでは任意の文字列でのプレビューをすることもできる。オプションとして色やサイズの指定もできるので、サイトのロゴに良さそうなフォントを探している時などはとても重宝するだろう。多くはないがSmall-Capsなどのファミリを持つ場合はそれらのプレビューに切り替えることもできる。Gall
PSGI/Plack勉強会を開きました(ひとりで)。資料はGitHubにあげてあります。いろいろまとめ書き足りてないのですが、自分的には納得したので満足してしまいました。 http://github.com/kentaro/psgi-study 以下にもコピペ。 PSGI/Plackとは? PSGI = Perl Web Server Gateway Interface Specification WebサーバとWebアプリケーションとの間のインタフェイス仕様 Plack = PSGIのリファレンス実装 PSGI実装のひとつ(とはいえ、やたら気合いの入った感じになってるけど) PSGI != Yet Another WAF PSGI != Plack PSGI策定の背景 各Webアプリケーションフレームワークがバラバラに実装していた、WebサーバとWebアプリケーションとのインタフェイスを
サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一本吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には食材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい食材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ
初めまして、リコーの沖田です。この度私もこの blog を書くことになりました。以後よろしくお願いいたします。 みなさんテストは好きですか?私も含めて私の同僚は皆テストが大好きなので、しばしばテストの議論で白熱しすぎてしまいます。今日はそのテストの中から Mock(モック) と Stub(スタブ) について書いてみたいと思います。 Test Double まずテストにおける Mock と Stub についてですが、これらは Test Double という概念の一部です。Double とは代役という意味で、テスト対象となるシステムが依存する外部のコンポーネントの代わりに、それらしく振舞ってくれるコンポーネントを代役として利用しようということです。 例えば Web アプリの Controller の単体テストがしたい場合に、Model の実装が完了するまでテストができないっていうのでは大変です
出ましたね! http://code.google.com/chrome/chromeframe/ Google Chrome FrameはInternet Explorer6/7/8に対応したプラグインで、インストールするとこれらのブラウザが「HTML5に対応」するとされています。 また、Chrome Frameを使うよう指示されたページに対しては、レンダリングエンジンやJavaScriptエンジンもChrome Frameのものが使われるようになるため、かなりの高速化が見込めるとのこと。現在はearly access版です。 と言う訳で、早速触ってみました。 使い方 すごく簡単。 Webページに以下のmetaタグを記述しておくと、Chrome FrameがインストールされたIEでこのHTMLを閲覧したとき、Chrome FrameがレンダリングやJSの実行を肩代わりしてくれます。 <m
原文(投稿日:2009/09/16)へのリンク すべてのアーキテクトが知っておくべき97のこと (InfoQの記事)に続いて、「97のこと」シリーズの続編はすべてのプログラマが知っておくべき97のこと、だ。これらはwikiに集められて、誰でも貢献できるしコメントも受け付けている。 このwikiには既に(この記事を書いた時点で) 88 のエントリが集まっていて読まれている。例えば、 コードだけが真実を知っている by Peter Sommerlad氏 スピードは命取り by Uncle Bob氏 API設計の黄金律 by Michael Feathers氏 自分のIDEを知る by Heinz Kabutz 人々のためにテストを書くWrite Tests for People by Gerard Meszaros氏 InfoQは「すべてのプログラマが知っているべき97のこと」の編集者であるK
『オープンソースソフトウェアの育て方』がひとまず落ち着いたので、次のネタとしてScott Chaconの「Pro Git」の翻訳に参加しています。『入門Git』発売記念ということで、便乗して晒しておこう :-) Pro Git 作者: Scott Chacon出版社/メーカー: Apress発売日: 2009/08/27メディア: ペーパーバック クリック: 20回この商品を含むブログ (2件) を見る GitHubの中の人でもある著者は、今年のRubyKaigiにも登場していたので、実際に話を聴いた人も多いかもしれません。私を含む数名の共同作業で翻訳を進めており、とりあえず前半部分をひととおり訳し終えたところです。 原文 (そのソース) 日本語版 (私の作業用リポジトリ) 書籍の内容がウェブで公開*1されているという、「オープンソースソフトウェアの育て方」のときとよく似たパターンですな。
補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブ、はてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2009年9月24日に公開されたもので、当時の徳丸の考えを示すものを、基本的に内容を変更せずにそのまま転載するものです。 補足終わり このエントリでは、SQLにおいて「暗黙の型変換」を使うべきでない理由として、具体的な「ワナ」をいくつか紹介します。 数値項目に対するSQLインジェクション対策のまとめにて説明したように、RDBの数値型の列に対してSQLインジェクション対策をする方法として、以下の三種類が知られています。 バインド機構を用いる パラメータの数値としての妥当性確認を行う パラメータを文字列リテラルとしてエスケープする このうち、方法3を使うべきでない説明の補足です。具体的には、方法3には、「暗黙の型変換」が発生しますが、それが思わ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く