タグ

2009年4月27日のブックマーク (38件)

  • 面白ラボBM11(ブッコミイレブン) 2009: TrashRoll

    一つの恋から生まれたアプリ 〜 Trash Roll 〜 これだけ PC を使い込んでいる僕らにとって、 ただのデジタルデータであってもなんだかんだアナログな 感情を揺れ動かすファイルが誰にでも一つや二つはある。 僕は、そんなファイルは4Uからキャプチャした画像なんかとは別に いつもと違うゴミ箱に捨ててやるべきだと思った。 昔の恥ずかしい日記 深夜に書きかけたメールの下書き 就職試験で落ちた会社のエントリーシート そんな忘れてもいいような、明日を見ていくためにはちょっと邪魔な ファイルにはお別れを告げて、とっとと捨ててしまった方がせいせい するんじゃないかと思って作った。 問題なのは、 今さっき 5 年付き合った彼女に電話で 分かれを告げたことだ。 まさかこんなものを捨てることになるとは。 僕は今まさに彼女との思い出のファイルを 捨てようとしている。 留学に行く彼女にとって僕は邪魔な存在だ

  • ウノウラボ Unoh Labs: OpenSocialを始めよう!第1回

    こんにちは五十川です。 先日、gooホームとmixiアプリが立て続けに公開され、いよいよ日でもOpenSocialが注目を集めるようになりました。そこで今回は、これからOpenSocialアプリケーションの開発を始めるにあたっての基礎的な内容をまとめてみたいと思います。 OpenSocialとは Google Code - OpenSocialの冒頭には、OpenSocial は複数のウェブサイト間で使用可能な、ソーシャル アプリケーションの共通 APIの定義であると書かれています。 あるOpenSocial対応のウェブサイトで動作するプログラムは、他のOpenSocial対応アプリケーションでも動作する — 例えばmixiアプリ用のプログラムは、gooホームやMySpaceなどでもそのまま動作する可能性があるというのがOpenSocialの重要な点です。もちろんウェブサイトごとに細部の

  • Tweetie を Growl に対応させる SIMBL プラグイン

    最近 Twitter client に Tweetie を使ってます。 広告がたまに表示されるけど、気にならない程度。個人的には一番自分に合う。 iphonetwitter クライアントもつかいやすいのでとても気に入っています。 いけてなかったのが growl に対応していいなかったこと。 それを差し引いても使いやすいからいいんだけど。 そのうち対応するだろうなーとと思ってたら Tweetie を Growl に対応させる SIMBLE プラグインを発見!!! Tweetie for MacにGrowlを追加(仮) これ当にほしかったから相当うれしい。 同じように Tweetie 使って Growl に表示されない!!って思ってた人は試してみては。 (一時的な急場しのぎのプラグイン(仮)とのことです) SIMBL プラグインもちょっと試してみたい今日この頃。

    Tweetie を Growl に対応させる SIMBL プラグイン
  • migrateファイルにMySQLのLONGBLOBを書く方法: Rails開発日記

    画像や大きなテキストをMySQLに保存する場合、:binaryだとBLOB型になってしまうので、強制的にLONGBLOBを指定する方法。 create_table "photos", :force => true do |t| t.column "title", :string, :limit => 32 t.column "download_filename", :string, :limit => 32 end execute "alter table photos add img LONGBLOB;"

    kamipo
    kamipo 2009/04/27
    execute "alter table photos add img LONGBLOB;"
  • Amazon.co.jp: 集合知プログラミング: Toby Segaran (著), 當山仁健 (翻訳), 鴨澤眞夫 (翻訳): 本

    Amazon.co.jp: 集合知プログラミング: Toby Segaran (著), 當山仁健 (翻訳), 鴨澤眞夫 (翻訳): 本
  • Amazon.co.jp: アルゴリズムデザイン: Jon Kleinberg (著), Eva Tardos (著), 浅野孝夫 (翻訳), 浅野泰仁 (翻訳), 小野孝男 (翻訳), 平田富夫 (翻訳): 本

    Amazon.co.jp: アルゴリズムデザイン: Jon Kleinberg (著), Eva Tardos (著), 浅野孝夫 (翻訳), 浅野泰仁 (翻訳), 小野孝男 (翻訳), 平田富夫 (翻訳): 本
  • IO::Scalarで色々 - 徒書

    tieでSTDOUTをつかまえるの記事に対するid:vkgtaroさんのブックーマークコメントで、IO::Scalarを使う方法を教えてもらいました。以下、Log::Dispatch::Colorfulのテストスクリプトより。 my $err; tie *STDERR, 'IO::Scalar', \$err; 先の2記事(tieでSTDOUTをつかまえる、tieでSTDINを置き換える)ではそれぞれ「printだけ」「readline(<>演算子)だけ」のテストだったので、あのような最小限のクラスでも動いてましたが、様々なI/O操作に対応するのであれば、自分でクラスを作らずにこのIO::Scalarを利用するのがよさそうです。 ちなみにSTDIN/STDOUT を使うテストで使われていたIO::ScalarArrayは、IO::Scalarと同じくIO::stringyに含まれるモジュー

    kamipo
    kamipo 2009/04/27
  • Yahoo!ニュース高速化へのサイトデザイン側からのアプローチ

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、Yahoo!ニュースのデザイナーの黒田・由衛です。 Yahoo!ニュースが2009年4月27日にリニューアルしました。今回のリニューアルでは、お客様に快適にサイトを利用していただけるよう最速でページを表示させることに重点をおきました。 お客様がウェブを閲覧するのは1日の中のほんの限られた時間です。その貴重な時間を割いてYahoo!ニュースに来ていただくわけですから、1ページでも多くの記事を「読みやすく」「ストレスなく」見ていただけるようにするのが、Yahoo!ニュースがお客様にできる最高のおもてなしだと考えています。そこで、今回のリニューアルでは、サイトデザイン側からのアプローチとして以下の2点の施策を行いました。 1

    Yahoo!ニュース高速化へのサイトデザイン側からのアプローチ
  • パーティショニングの使用例 - http session情報

    今日もパーティショニングの話の続きである。 パーティショニングが非常にフィットする(たぶん昨日の例よりも)もう一つのケースは、数日間だけ必要なデータを蓄えておくような場合だ。例えば、HTTPセッションやログ情報などが良い例ではないだろうか。そういう場合には、日付を使ってRANGEパーティショニングをするのである。RANGEパーティショニングでももちろんPruningによって性能の向上は出来るのだが、それよりも何よりも高速に不要なパーティションを破棄できるというのが大きい。パーティションの破棄は、内部的にはテーブルのDROPとほぼ同じ扱いなのである。DROPのスピードはストレージエンジンによるが、InnoDBやMyISAM、NDBMySQL Cluster)ならばいくらデータを含んでいても関係なくDROPは一瞬である。テーブルから大量の行を削除すると、フラグメンテーションが発生したり、イン

    パーティショニングの使用例 - http session情報
    kamipo
    kamipo 2009/04/27
    日付を使ってRANGEパーティショニングをするのである。RANGEパーティショニングでももちろんPruningによって性能の向上は出来るのだが、それよりも何よりも高速に不要なパーティションを破棄できるというのが大きい。
  • パーティショニングの使用例 - カーディナリティが低いカラムを使って検索する場合

    MySQL 5.1で追加された機能にパーティショニングがある。これは適切に利用すれば非常に強力な機能であることは間違いないのだが、使いどころが難しい。なぜなら、 インデックスをつけるだけでカバー出来る場合が多い。 パーショニングを使わずに、単にテーブルを分けてしまえばいい。 テーブルが巨大にならないとあまり効果を実感できない。 使い方を間違えると性能が落ちてしまう。 などの問題があるからだろう。 そんなわけで、今日と明日でパーティショニングが役に立つシーンを2つ紹介しようと思う。今日は一つ目、インデックスをつけたいカラムのカーディナリティが低い場合だ。カーディナリティとは日語に訳すと濃度とか訳されるが、要は値の種類(分散具合)のことである。例えば、YesかNoの2つの値しかとらないカラムは非常にカーディナリティが低く、インデックスをつけるととても効率が悪い。インデックスを使って目的の行を

    パーティショニングの使用例 - カーディナリティが低いカラムを使って検索する場合
    kamipo
    kamipo 2009/04/27
  • SYSDATE()とNOW()の違い。

    MySQLには、現在時刻を求める関数としてSYSDATE()とNOW()という2つの関数が実装されている。そして、それらは微妙に動作が違う。SYSDATE()は関数が呼び出された瞬間の時刻を返すのに対して、NOW()はクエリ開始時の時刻を返す。例えば、100秒かかるような長いクエリにおいて両者を利用した場合、SYSDATE()では結果に最大100秒の差が生じるのに対して、NOW()では差が生じない。NOW()では関数が最初に実行された時に結果がキャッシュされ、以降はキャッシュされた値が利用されるからだ。 次のようにSLEEP()を利用するとわかり易いだろう。 mysql> SELECT SYSDATE(), SLEEP(100), SYSDATE(); +---------------------+------------+---------------------+ | SYSDATE(

    SYSDATE()とNOW()の違い。
    kamipo
    kamipo 2009/04/27
    SYSDATE()はOracle互換のために実装されている関数だ。もし、上記のような厳密な違いが必要ないのであれば、--sysdate-is-nowオプションをつけてMySQLサーバーを起動するといい。
  • perl - 哀愁漂う無限ループの書き方 : 404 Blog Not Found

    2007年07月11日15:00 カテゴリLightweight Languages perl - 哀愁漂う無限ループの書き方 私の出る幕はないなあと思ったのだけど、 きしだのはてな boolean TдT = true; while(TдT){ System.out.println("帰れません"); } 以下のような問いもあったので蛇足することに。 はてなブックマーク - 狐のブクマ / 2007年07月11日 perlならuse utf8すればホントに動くかな。$が付くからだめ?w まずはお約束。見てのように、sigil不要。 #!/usr/bin/env perl use strict; use warnings; use utf8; $\ = "\n"; # make print say; binmode STDOUT, ":utf8"; sub д{1} for(;д;) {

    perl - 哀愁漂う無限ループの書き方 : 404 Blog Not Found
  • Amazon.co.jp: パターン認識と機械学習 上 - ベイズ理論による統計的予測: C. M. ビショップ (著), 元田浩 (翻訳), 栗田多喜夫 (翻訳), 樋口知之 (翻訳), 松本裕治 (翻訳), 村田昇 (翻訳): 本

    Amazon.co.jp: パターン認識と機械学習 上 - ベイズ理論による統計的予測: C. M. ビショップ (著), 元田浩 (翻訳), 栗田多喜夫 (翻訳), 樋口知之 (翻訳), 松本裕治 (翻訳), 村田昇 (翻訳): 本
  • WeekBuildのHACK日記 ディスククラッシュ

    仕事で使っていたsvnサーバがディスククラッシュした。(T-T) 幸いにも最終的にはsvnのリポジトリフォルダのあるドライブは復活できたのたが、 その顛末を。 (1)ディスククラッシュ発生!。ブルースクリーンになり、OSが起動しない。 また、HDDを別のマシンにつないでも認識できない。 しかも、クラッシュが発生したのはバックアップの採取中。 Windowsが回復不能っぽいメッセージダイアログを連発している中 ファイルをなんとかコピーし、コピー終了後にシャットダウンしたら それが最後だった。。 (2)しかも、バックアップしたのはリポジトリフォルダではなく、ダンプファイル だった。で、 svnadmin loadで復元しようとした。 dumpはサイズが3GB、リポジトリのリビジョンは6000位。 svnadmin loadは1から順にコミットしなおしていくようだ。すごく遅い。 30分で1000

    kamipo
    kamipo 2009/04/27
    svnadmin hotcopy リポジトリパス バックアップ先となるリポジトリを置くフォルダ
  • 岩手県矢巾町矢巾中学校の生徒さん5名がライブドアにやってきたので、Open & Shareについて話した : アルカンタラの熱い夏

    岩手県矢巾町矢巾中学校の生徒さん5名がライブドアにやってきたので、Open & Shareについて話した カテゴリ: 会った まとめてみた 岩手県矢巾町矢巾中学校の生徒さん5名が、修学旅行の自主研修でライブドアの赤坂オフィスにやってきました。 修学旅行の「職業体験学習」の一環として私にインタビューをしたいということだったのですが、中学生と会話する機会がまったくない私は逆に、矢巾中学校の生徒さんにインタビュー(アンケート)をお願いしました。 同じ中学校の5名をサンプルにしたアンケートなので、これだけで何かわかったような気になるわけではありませんが、これをもとに中学生のみなさんと交わした会話には、いろいろな気づきがあってとても勉強になりました。 以下、そのまとめです。何かの参考になれば幸いです。 Q1.次の機器のうち、所有しているものを選択してください。 3名 パソコン(うち2名は家族と共有)

    岩手県矢巾町矢巾中学校の生徒さん5名がライブドアにやってきたので、Open & Shareについて話した : アルカンタラの熱い夏
  • gitのリポジトリを立てる(SSH経由) - walf443's blog

    そういえば、githubに頼りっぱなしで、共有リポジトリを作ってどうのこうのというのは試してなかったなと思いこんな感じでやってみた。 $ sudo useradd -d /home/git -s /bin/rbash -c "" -m -k '' git $ cd /home/git/ $ sudo cat > .bash_profile export PATH=/home/git/bin ^C $ sudo mkdir bin $ sudo ln -s /usr/bin/git /home/git/bin して、gitコマンドしか使えない制限のかかったgitユーザーを作る レポジトリを作るときは、 $ cd /home/git $ sudo -u git mkdir repos $ sudo -u git mkdir repos/project.git $ cd repos/projec

    gitのリポジトリを立てる(SSH経由) - walf443's blog
    kamipo
    kamipo 2009/04/27
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • git で特定ファイルをグローバルに無視する - ogijunグループ

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    git で特定ファイルをグローバルに無視する - ogijunグループ
    kamipo
    kamipo 2009/04/27
    git config --global --add core.excludesfile "$HOME/.gitignore"
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • MooseX::ConfigFromFileもいいよ! - D-6 [相変わらず根無し]

    MooseX::ConfigFromFileもいいよ! http://dann.g.hatena.ne.jp/dann/20080702/p4 MooseX::Getoptを紹介するならMooseX::ConfigFromFileも是非どうぞ。 package MyApp; use Moose; with 'MooseX::Getopt'; with 'MooseX::ConfigFromFile'; # 引数の設定・・・ no Moose; sub get_config_from_file { my ($self, $file) = @_; # ファイルから読み込む・・・ return \%config; } これだけでコマンドラインからも、設定ファイルからも引数を渡せるよ! ちなみにget_config_from_fileの部分は、Config::Anyを使いたいので、以下のようにして

  • git-svnの使い方を覚えた - idesaku blog

    分散SCMを使いたい!と思う今日この頃。 仕事ではSVN(Subversion)を使っているのだが、ちょっとしたお試し編集をするためにブランチを作ることに抵抗がある。ブランチは欲しい、大きめな変更をコミット無しで行いたくない、やはり少しずつコミットして進めていきたい。しかし、変更が全て記録されてしまうのがいただけない。ログが残るのは良いことなのだが、当に使うかどうか未知数な実験的プログラミングのログまで残したくない。使うと決まってから初めて残すようにしたいのだ。 すまん、これまで一緒に仕事をしてきた人々よ。俺はこれまで「ログが残って困ることがなんかある?いらなきゃ無視すればいいだけなんだから、気にするな。ブランチでもなんでもバンバン作ってしまえ!」とうそぶいてきているわけだが…ハッタリかましてました!当は俺も抵抗があるのだ。 そこで、分散SCMだ。さらにいうと、SVKがいまひとつ気に入

    git-svnの使い方を覚えた - idesaku blog
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Test::Fixture::DBIC::Schema - taiyoh独言

    DB周りのロジックテストをしたくて導入してみたのですが、リレーションがらみでcreate_relatedメソッドなんかを使ってると、create時にコケてしまうので、 --- Schema.pm 2008-05-10 14:39:59.000000000 +0900 +++ Schema.pm.new 2009-02-27 16:28:24.000000000 +0900 @@ -71,8 +71,7 @@ my $result = {}; for my $row ( @{ $fixture } ) { - $schema->resultset( $row->{schema} )->create( $row->{data} ); - $result->{ $row->{name} } = $schema->resultset( $row->{schema} )->find( $row->{

    Test::Fixture::DBIC::Schema - taiyoh独言
  • ubuntuでrails環境構築 « ダオカオス☆D流のライフスタイル

    最近、windowsrails開発をするメリットを感じないどころか、ちょっとしたストレスになりつつ。。。 そんなわけで、スペックもてあましまくりのCorei7マシーンにVMWare Serverをインストールして、その上にubuntuをインストールしてrails環境を立ててみました。 基的に、aptでパッケージインストールしましたが、それでも依存パッケージの絡みではまったりしまったり^^; そんなわけで、後々のことを考えてそのときの記録を残してみました。 今回の検証環境 Ubuntu8.10(サーバ版) WindowsXPのVMWare Server上で動作 今回インストールしたもの(主なもの) ruby1.8.7 gem1.3.2 (最近あがりましたね) rails2.3.2 mongrel1.1.5 SQLite3.5.9 MySQL5.0.69 PostgreS

  • Config::PitとWeb::ScraperとPlaggerで24時間365日のゲーム監視体制

    序文 趣味のネットウォッチのために仕方が無く超便利なPerlを覚えようという感じの otsune です。そんなわけでコーディングの深い話はよくわからんので、今回はPerlとCPANを使ってネットウォッチを支援する手法について書きます。 ウォッチしたいWebページを機械的に監視できれば、あとはPlaggerなどの便利ツールを使って「メールを出す」「im.kayac.comでメッセンジャーにアラートを出す」「ピザを注文する」など好きな処理をすることが出来ます。 RSSフィードやAPIなどがあるWebサイトであれば特に苦労はしないのですが、今回取り上げるOgame.jpはウェブブラウザーゲームなので、フィードなど便利な機能はまったく存在しません。 そこでウォッチしたいWebページに対してWeb::Scraperを使ってYAMLを出力する短いスクリプトを書いてしまいます。 メールを出すなどのこまご

  • パスワード設定をコードに書かない(Config::Pit) - モダンなPerl入門 - モダンなPerl入門

    パスワード設定をコードに書かないようにするには Config::Pit をつかいます。 なぜ必要なの? アカウント情報が必要なWebサービスを利用するスクリプトを作るとき、アカウントやパスワードをスクリプトのコードに直接書き込むと(ハードコーディング)、そのスクリプトがほかの人に見られてしまうことによりパスワードが漏洩してしまいます。 Config::Pitは、外部ファイルにWebサービスのアカウント情報を格納しておき、スクリプト側で必要なときに、読み出しできるようにします。これにより、スクリプト内にアカウント情報をハードコードすることがなくなり、スクリプト単体でのパスワード漏洩が防げます。 例:コードを配布しようとして、 #!/usr/bin/perl use strict; use warnings; use utf8; use Encode; use WWW::Mechanize;

  • 駅データ 無料ダウンロード 『駅データ.jp』

    2024.04.26 スカイレール廃止 データ誤り修正/住所修正等 2024.03.28 一部廃止 JR根室線/誤り修正他 2024.03.18 移設 三河知立 /15日更新誤り修正 2024.03.15 北陸新幹線 他多数修正/更新 2023.09.07 宇都宮芳賀ライトレール線駅コード誤り修正 2023.08.26 新線 宇都宮芳賀ライトレール線/JR宝塚線修正/一部廃止JR日田彦山線/各名称変更 他

  • Zsh について | Linux 関連利用法 | スーパーコンピュータ | ヒトゲノム解析センター

    メインの設定ファイルで、以下のような項目を記述します。なお、各ユーザ固有の zsh の設定は ~/.zshrc のファイルで行います。 (なお rc は UNIX の起動時に実行されるファイル /etc/*rc 系の名残で run command の略) ・ limit、umask、stty などの設定 ・ PATH, LD_LIBRARY_PATH など環境変数の設定 ・ PROMPT、SAVEHIST などシェル変数の設定 ・ alias(エイリアス) の設定 ・ function(関数) の設定 ・ autoload(追加機能) の設定 ・ bindkey(キーバインド) の設定 ・ zstyle(補間などのスタイル) の設定 ・ zshoptions(オプション) の設定 また、必要に応じてシェル変数 OSTYPE により OS ごとの場合分けをします。 exportは変数を環境変

    kamipo
    kamipo 2009/04/27
  • brass.to - a really cool domain parked on Park.io

    The domain name brass.to is being parked on Park.io. Contact the domain owner to make an offer right now...

    kamipo
    kamipo 2009/04/27
    find_or_create_by_idを使うとidを指定してレコードを作成できる。
  • "Wakame" は三年後、「あれはイノベーションだった」と言われても不思議じゃないソフトウェアだ - @kyanny's blog

    先週、株式会社あくしゅさんの新しいオフィスに遊びに行ったとき、 "Wakame" という不思議な名前のソフトウェアのプレゼンテーションがあった。それは衝撃的なソフトウェアで、三年後「あれはイノベーションだった」と言われても不思議ではないと、気で思った。すごく興奮していたが、「来週水曜にリリースするからそれまで黙っててね!」と言われていて、今日やっと "Wakame" についてブログに書くことができるので、僕が見たこと、感じたことを包み隠さず、いまからここで書きます。 "Wakame" は、 Amazon EC2 上で自律的に動作する、サーバマネージングソフトウェアだ。 Amazon EC2 を知っている人向けにごくごく簡単に説明すると、コマンド一発でインスタンスの増減やアプリケーションの複製を管理できる。 Amazon EC2 を知らない人(まぁ僕のブログの読者にそういう人はあまり多くな

    "Wakame" は三年後、「あれはイノベーションだった」と言われても不思議じゃないソフトウェアだ - @kyanny's blog
  • Test::Base でこういうのどう書けば良いのだろう - @kyanny's blog

    追記 http://d.hatena.ne.jp/a666666/20090406/1238986138#c1238990265 でご指摘いただいたように、 yaml フィルターを使って - ~ で undef を表現してやれば良いそうです。 #!/usr/bin/perl use strict; use warnings; use Test::Base; plan tests => 1 * blocks; sub match { my $input = shift; my $re = qr/^(\w+)\s(\w+)\s(\w+)\s?(\w+)?$/; my @matched = $input =~ $re; return \@matched; } filters { expected => [qw(lines chomp array)], }; run_is_deeply input

    Test::Base でこういうのどう書けば良いのだろう - @kyanny's blog
    kamipo
    kamipo 2009/04/27
    yaml フィルターを使って - ~ で undef を表現してやれば良いそうです。
  • YAML でフロースタイルのシーケンス(配列)ではないことを明示するにはどうすればいいのだろう - @kyanny's blog

    さらに追記 http://d.hatena.ne.jp/a666666/20090407/1239068717#c1239083380 でコメントをもらったように、Perl で書き下して YAML::Dump すれば良い話でした。。 追記 http://d.hatena.ne.jp/a666666/20090407/1239068717#c1239070658 でコメントをもらったように、ダブルクォートで囲めば "[foo bar baz]" [] が文字列として解釈された。ありがとうございます。 しかし今度は、 "hoge" が hoge になってしまう・・・アクセスログをパースするプログラムの、正規表現のテストを書いているのだけど、あちらを立てればこちらがたたずといった具合で、次から次へとうまくいかないケースが。。 run_is_deeply とフィルタで済ませずに、テストをいくつかに

    YAML でフロースタイルのシーケンス(配列)ではないことを明示するにはどうすればいいのだろう - @kyanny's blog
    kamipo
    kamipo 2009/04/27
    perl -MYAML -e 'print YAML::Dump qq("hoge"), "[ foo bar ]"'
  • String::ShellQuote でコマンドラインをクォートしてリモートで実行する - @kyanny's blog

    追記 コメント欄で指摘されているように、 Net::SSH::Perl モジュールを利用したほうが無用なことで困らずに済みそうです。 use String::ShellQuote; my $command = q[gunzip -c /path/to/access_log.gz | perl -e 'while(<>){print}']; my $quoted_command = shell_quote($command); # ' => '\'' とクォートされる qx/ssh $server $quoted_command/; しかしこれが何度やっても失敗するサーバがあり、エラーメッセージ Badly placed ()'s. でぐぐってみると csh/tcsh に特有のものらしく、確かに該当サーバのログインシェルは csh だった。 \(\) などとしなくてはならないらしい。が St

    String::ShellQuote でコマンドラインをクォートしてリモートで実行する - @kyanny's blog
  • 「ブラックボックスは不安でしょ」 ひろせまさあきさんのエンジニアライフ - 特集:No okyuu, No Life [okyuu.com]

    コンピュータとは無縁だったひろせさんは「Mosaic」に出会ってからというもの、ネットの世界にのめりこんでいった。公私ともにエンジニアでいることが楽しくて仕方がない。オープンソースを組み合わせてシステムを作り上げるのが彼の矜持のようだ。 この企画はokyuu.com編集部が現在のエンジニア像をリレー形式で追っていくものです。 (取材・文=編集部) 廣瀬正明(ひろせまさあき) 1974年6月25日生 34歳 えとらぼ株式会社 【略歴】 1997年 3月 筑波大学卒業 1997年 6月 新卒で入社した会社が解散 以後、転々とする 2001年 3月 株式会社ケイ・ラボラトリー(現:KLab株式会社) 入社 2003年12月に退社するも、1年ほどで出戻る 2005年 4月 KLab株式会社 入社 2008年11月 えとらぼ株式会社 入社 ――まずITエンジニアになった経緯を教えて

  • グリムス(gremz)|ブログエントリーで苗を育成し植林するエコアクション!ブログパーツ型環境貢献サイト(-)

    レンタルサーバなら「さくらのレンタルサーバ」! 月額換算でわずか131円、缶ジュース1分のお値段で使える格安プランから、ビジネスにも使える多機能&大容量プランまで、 用途と予算に合わせてプランを選べます。 さらにマルチドメイン対応でメールアドレスも無制限。無料ウイルススキャンや無料電話サポートもあるので安心して ご利用いただける共用レンタルサーバサービスです。

  • wakaponさんの超☆痛々しいPerl備忘帳: Benchmark.pmをつかってみる

    そういえばPerlを触り始めてから一回もまともに使ったことが無かった!!1.自分はあまりコードを書かない,書けないのでベンチマークを書いてなかったというのが実際のところ.コードを書いて性能を測らないのはさすがにそろそろまずいと思ったので,今回はコードのCPU消費時間を測定するBenchmark.pmを使ってみた.以下,Benchmark.pmのPODにそって自分の言葉でめもめも.まずはBenchmark.pmの基礎となるtimethisを見ていき,根幹にあるtimeitを探ってみる.続いて,複数のコードを実行するtimetheseを見た後,ベンチマーク結果をより分かりやすくするための,cmptheseについて見ていく.サブルーチンtimethisサブルーチンtimethisは,実行回数または実行時間を指定し,1つのコードについてベンチマークプログラムで消費したCPU時間を測定する.以下,サ

    kamipo
    kamipo 2009/04/27
    第一引数には,第二引数のコードを実行する回数を与える.負数を与えた場合,N秒間コードを実行する.
  • PHP 配列を回すならforかforeachか

    今日、社内で「PHPの配列をループで回すのにforを使うか、foreachを使うか」という話が面白かったので、メモ。 ここでいう配列はキーが数字で、0からの連番であることを想定してます。(キーが数字以外や連番で無い場合は、foreachを使います。) 例えば↓のようにDBテーブルからレコードを読み込んだ内容が入ってる場合、$listをループで回すならforとforeachのどちらを使うべきかという話です。 <?php $list = array(); $list&#91;&#93; = array('id' => 1, 'name' => 'hoge'); $list[] = array('id' => 2, 'name' => 'foo'); $list[] = array('id' => 3, 'name' => 'bar'); ?> for文派 <?php for ($i = 0 ;

    kamipo
    kamipo 2009/04/27
  • Rubyの軽量Webフレームワーク「Sinatra」がステキ - このブログは証明できない。

    フルスタックがウリのRails。そこまで必要ないよ。と、ERBでゴリゴリ。メンドクセー。やっぱ、Railsで。などと、陽はまたのぼりくりかえしてーゆく。RubyのWebフレームワークは他にもあるけど。。軽くていいんだ。PHPを使いたくないだけなんだ。 そんな悩ましさを解消してくれるフレームワークを発見してしまいました。「Sinatra」でございます。こいつは、軽そうだ。 Sinatra サイトのトップページに書かれているコード。これが、サクサク感をかもし出してくれています。 require 'rubygems' require 'sinatra' get '/hi' do "Hello World!" end 説明読まなくても解るよ、これ。 日語の解説スライドがあります。よく解る解説ー。 公式サイトのREADMEを読めば、だいたいOK。 Sinatra: README パラメータを取得し