タグ

2008年8月14日のブックマーク (19件)

  • DBIx-MoCo-0.18

    Added DBIx::MoCo::Fixture by naoya Added session_cache method for obtaining session cache hash ref. Fixed a bug in flush_has_many_keys (deleting session cache) Added info to sql error messages (by naoya) Fixed DateTime problem with null columns (by naoya) Added scalar method to force scalar context from TT etc. (by naoya) Updated documents. (by kentaro)

    DBIx-MoCo-0.18
    asip
    asip 2008/08/14
  • Perl のリスト操作を Ruby 風に - naoyaのはてなダイアリー

    Perl の言語組み込みのリスト操作は関数形式で、push(@array, 1, 2) のような記述になります。一つのリストに対して複数の操作をしたい場合などは、関数呼び出しを複数行にわたって書いていくことになり、少々面倒です。しかし Perl は、Perl のリスト実装である配列のリファレンスに bless してメソッドを定義したクラスを作ることができます。この独自に定義したクラスにプリミティブな操作を加えていって、Ruby のように連続したメソッドの呼び出しによるリスト操作を実現することが可能です。 ここでは List::RubyLike という配列クラスを作成します。まずは手始めに配列に bless して、size() メソッドが呼び出せるようにします。以下のようになります。 package List::RubyLike; use strict; use warnings; sub

    Perl のリスト操作を Ruby 風に - naoyaのはてなダイアリー
    asip
    asip 2008/08/14
  • MOONGIFT: » Googleのデータ処理分散システムMapReduceのオープンソース実装「Skynet」:オープンソースを毎日紹介

    Googleではその超巨大なコンピュータネットワークを使って、データ処理が分散化されている。これにより、大量のデータを瞬時に処理することが可能になっている。この分散処理システムはMapReduceと呼ばれており、Googleの基盤を支えるコア技術の一つだ。 処理状態を確認するコンソール ごく小規模なシステムであればニーズは発生しないかも知れないが、数十台、数百台のコンピュータを結びつける上で分散化処理は欠かせない技術だ。そこでMapReduceをオープンソース実装したこちらを紹介しよう。 今回紹介するオープンソース・ソフトウェアはSkynetRubyで実装されたMapReduceのオープンソース実装だ。 Skynetは多数のワーカーを立ち上げ、それらが互いに監視し合うことで障害発生時にも柔軟にタスクの受け渡しが可能になっている。単一障害点はなく、マスタサーバという位置づけのものですら他の

    MOONGIFT: » Googleのデータ処理分散システムMapReduceのオープンソース実装「Skynet」:オープンソースを毎日紹介
    asip
    asip 2008/08/14
  • Technoblog: MapReduce for Ruby: Ridiculously Easy Distributed Programming

    Ruby on Rails, Io, Lisp, JavaScript, Dynamic Languages, Prototype-based programming and more... Technoblog reader special: $10 off web hosting by FatCow! Wednesday, August 16, 2006 I am very happy to announce that Google's MapReduce is now available for Ruby (via gem install starfish). MapReduce is the technique used by Google to do monstrous distributed programming over 30 terabyte files. I have

    asip
    asip 2008/08/14
  • MapReduce - naoyaのはてなダイアリー

    "MapReduce" は Google のバックエンドで利用されている並列計算システムです。検索エンジンのインデックス作成をはじめとする、大規模な入力データに対するバッチ処理を想定して作られたシステムです。 MapReduce の面白いところは、map() と reduce() という二つの関数の組み合わせを定義するだけで、大規模データに対する様々な計算問題を解決することができる点です。 MapReduce の計算モデル map() にはその計算問題のデータとしての key-value ペアが次々に渡ってきます。map() では key-value 値のペアを異なる複数の key-value ペアに変換します。reduce() には、map() で作った key-value ペアを同一の key で束ねたものが順番に渡ってきます。その key-values ペアを任意の形式に変換すること

    MapReduce - naoyaのはてなダイアリー
    asip
    asip 2008/08/14
  • Rubyでどう書く?:RubyCocoa+Core Animationでお手軽アニメーション - builder by ZDNet Japan

    問題 RubyCocoaは、Mac OS XのCocoaオブジェクトをRubyスクリプトからRubyオブジェクトとして扱うための、Ruby用ライブラリとフレームワークです。RubyCocoaを用いれば、RubyCocoaアプリケーションを記述することができるのです。 Core AnimationはMax OS Xのフレームワークで、その利点は手軽さにあります。普通にアニメーションプログラミングを行おうとすると、時間軸管理、非同期な描画スレッド、パフォーマンスの向上など、考慮すべき点があまりにも多すぎます。 しかし、Core Animationを用いれば、面倒な部分はOSに任せて、自分の実現したいことに集中できるのです。 今回はRubyCocoaMac OS XのフレームワークであるCore Animationを使って、お手軽にアニメーションを作成してみましょう。 回答例 AppCont

    asip
    asip 2008/08/14
  • プログラミングキャンプの講義資料を公開します - IT戦記

    はじめに もうすぐ講義が開始されるので、同じタイミングでここで講義資料を公開したいと思います。 JavaScript の難しいところとか、マニアックなことは一切使わずに「プログラミングの楽しさ」みたいなものを伝えられたら嬉しいです。 この資料のターゲットは、プログラミング初心者です。 リンク http://svn.coderepos.org/share/docs/amachang/20080813-procamp2008/index.html 注意 今日の学生の出来によって、会期中ちょこちょこ資料の内容が変わると思います。

    プログラミングキャンプの講義資料を公開します - IT戦記
    asip
    asip 2008/08/14
  • JavaScript でテトリスみたいなゲームを作ろう! - セキュリティ&プログラミングキャンプ JavaScript 入門講座資料

    HTML とは HTML とは、誤解を恐れずに言ってしまうとウェブページ(ホームページ)を作るために使われている言語です。 例えば、以下のようなものが HTML です。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <title>タイトル</title> </head> <body> <h1>見出し</h1> <p> 文<a href="hoge.html">ハイパーリンク</a>文 </p> </body> </html> サンプル イメージ湧きましたか? では、何故 HTML という

    asip
    asip 2008/08/14
  • Tasktop 1.2の強化されたタイムトラック/レポート機能と新たな無償版

    Eclipse Mylyn(参考記事)の生みの親であり今も開発をリードしているTasktop Techonologies社(リンク)が、2008年6月24日にMylyn 3.0の新しいAPIをベースにしたTasktopのバージョン1.2(リンク)をリリースした。InfoQはTasktopのプレシデント兼CTOのMik Kersten氏(リンク)に今回のリリースとそれによりエンドユーザにどのような変化がもたらされるかを詳しく聞いた。 InfoQ: Tasktopについての簡単な説明と、Mylynとの関わりについて教えてもらえますか。 Mik Kersten: 私たちはMylynオープンソースプロジェクトをベースにして、劇的にプログラミングでの生産性を向上するのに必要なコアツールを数十万のディベロッパに提供しています。Eclipse内の仕事でタスク中心の方法を使うようになると、採用曲線で次に来

    Tasktop 1.2の強化されたタイムトラック/レポート機能と新たな無償版
    asip
    asip 2008/08/14
  • 高木浩光@自宅の日記 - 日本の家屋の塀はグーグル社に適応して70センチ伸びるのか

    ■ 日の家屋の塀はグーグル社に適応して70センチ伸びるのか 前回の日記に傍聴録を記したように、その研究会では図らずもグーグル社の考え方を聞くことができた。そのタイミングから、Googleマップの「ストリートビュー」について述べられたものと解釈している人がいるようだが、このご発言は、携帯電話や固定通信網における個人識別子の扱いに関連する議論の文脈において出たものである。 さて、Googleマップの「ストリートビュー」だが、日でも開始されたと知って早速いろいろなところを見てみたところ、それは予期していたのとは違うものになっていた。車一台スレスレ通れるか通れないかのような細い道にまで撮影車が積極的に入り込んでおり、特に予想外なことに、住宅密集地で、高い視点から塀の中を見下ろして撮影している。 これは通常の通行人の目線で見える風景との違いを比べる必要があると思った。そこで、現地を訪れて実際の塀

    asip
    asip 2008/08/14
  • 高木浩光@自宅の日記 - 通信プラットフォーム研究会 傍聴録 (Google社の発言あり)

    ■ 通信プラットフォーム研究会 傍聴録 (Google社の発言あり) 通信プラットフォーム研究会が一般公開されているのを最近になって知り、先週7日に開かれた第6回会合を傍聴してきたので、討議の様子を書き留めておく。 それまでの会合の議事録を事前に読んで行ったのだが、これほど大きな会合(たくさんの人に発言権があり、たくさんの人が傍聴するもの)とは予期していなかった。構成員だけに発言権があると思っていた(各回のヒアリング対象が「オブザーバー」として発言することもあると理解していた)が、そうではなく、「オブザーバー」(傍聴者のことではない)全員に発言権がある形式だった。「オブザーバー」の今回の出席者は、配布資料の座席表によると以下の通り。 ヤフー、モバイル・コンテンツ・フォーラム事務局、マイクロソフト、東日旅客道、日インターネットプロバイダー協会、テレコムサービス協会、情報通信ネットワーク産

    asip
    asip 2008/08/14
  • 日本映像ソフト協会が香ばしすぎる - コデラノブログ 3

    社団法人日映像ソフト協会(JVA)が、デジコン委員会に意見書を提出デジコン委員会に意見書を提出したそうである。で、このニュースリリースに記されている意見書のリンクがものの見事にリンク切れになっていて、そのあたりがいかにもJVAらしい香ばしさを醸し出している。 ご記憶かもしれないが、過去JVAは、たとえタイムシフトだろうが、放送からの私的録画によって直接的な売り上げ減の有無にかかわらず、補償金が必要というリリースを出して、世の中を(゚Д゚)ハァ? のどん底にたたき込んだ。 で、テレビを録画しても直接的な売り上げ減がないという事実は、自分とこの調査で出ている。「DVDユーザー調査 2007」のP.6には、新品DVDソフト購入数減少理由というグラフがあるが、ポイントが2カ所ある。1つ目は 「TVでの放映やそれを一時的に録画して見る機会が増えた」の部分、2つめは「TVでの放映を保存用に録画するこ

    asip
    asip 2008/08/14
  • ペンで書いたような、味のある10個の手書きのフォント | コリス

    woorkのエントリーから、ペンで書いたような、10個の手書きのフォントを紹介します。 10 Handwritten fonts you can't miss 上記サイトからもダウンロードが可能ですが、dafontや1001 Free Fontsに同じフォントがあったのでそのリンクを追記しました。

    asip
    asip 2008/08/14
  • 論文の書き方:結果から結論をどのように導くか? - Y日記

    ※図が表示されない場合には→http://seibutsu.biology.kyushu-u.ac.jp/~yahara/logictree.JPG 論文では通常、複数の結果を記述する。しかし、主要な結論はひとつでなければならない。なぜなら、論文を書く目的は、何らかの主題(テーマ)に答えることであり、そして論文のテーマはひとつだからである。 「ひとつの論文にはひとつのテーマとひとつの結論」・・・これは論文を書くうえでの重要な原則である。この原則を守っていない論文が多いのも事実だが、それらは論理的に練られた論文とはいえない。 では、複数の結果からひとつの結論を導くにはどうすれば良いだろうか。4月以来、預かった原稿を改訂しながら、この問題を徹底して考えてみた。これまでは、自分の経験にもとづいて、いわば一種の職人芸によって、結論を導いていた。しかし、結果から結論を導くという作業は、論理的なプロセ

    論文の書き方:結果から結論をどのように導くか? - Y日記
    asip
    asip 2008/08/14
  • フリーで使えるいい感じの手書き風フォント特集(日本語も)*ホームページを作る人のネタ帳

    はじめに 基原則として、個人、商用で使えるフォントもご紹介いたしますが、転売はしてはいけません。 フリーだからといって、作品を販売する事まで許可されているサイトは今回紹介する中にはありませんのでご注意を。 また、個人なら無償で使えると言うフォントもフリーという言葉でくくっております。 その場合、注意書きを全て書きましたが、この記事が古くなったときに、実は商用でも使えるようになってたり、もしくは、商用で使えなくなってたりと言う『利用規約の変更』が行われる場合も考えられます。 そのため、なるべく御自身の目でライセンスの確認をするようお願いいたします。 また、これらのフォントはphotoshop、及びillustratorを対象に作ったと言う方が多いです。 動作がうまくいかなかったり、不具合をおこしても、提供元、紹介元(私)は一切の責任を負いませんのであらかじめご了承願います。 英語+フリーラ

    フリーで使えるいい感じの手書き風フォント特集(日本語も)*ホームページを作る人のネタ帳
    asip
    asip 2008/08/14
  • こたつつきみかん : 見えないクラス群

    Objective-Cは大変面白い言語です。こんな問題を用意してみました。このプログラムのNSLogで出力される文字列は、いったいどうなるでしょうか。すべてクラス名が出力されます。 #import <foundation /Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSString *string1 = [NSString stringWithString:@"http://dev.activebasic.com/"]; NSString *string2 = [string1 stringByAppendingPathComponent:@"OverTaker"]; NSLog( [string1

    asip
    asip 2008/08/14
  • Rubyで実装し直したFixnum#timesの方が速い

    http://d.hatena.ne.jp/Gimite/20080802/1217647596 でちょっと思い出した、前からやってみたかった実験をやってみたらだいたい思った通りな感じだった。 class Fixnum def times i = 0 s = self while i < s yield i i += 1 end end end s = 0 1000000.times{|i| s+=i } p s みたいなコードを書くわけです。ご存知の通り、 Ruby の Fixnum#times は C 言語で実装されてます。それを Ruby で実装しなおしたら当然遅くなります。ホント時間のムダです。実はそうでもないんです。 > time ruby1.9 bench.rb 499999500000 ruby1.9 bench.rb 0.10s user 0.00s system 91%

    Rubyで実装し直したFixnum#timesの方が速い
    asip
    asip 2008/08/14
  • Ruby「出身」

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    asip
    asip 2008/08/14
  • アルゴリズムイントロダクション輪講@京都 - naoyaのはてなダイアリー

    社内エンジニアの間に、計算機科学をマジメにやろうという機運が高まっています。それを受けはてな社内で計算機科学に関する教科書の輪講をやろうという話になりました。という訳でまずはアルゴリズムの教科書「アルゴリズムイントロダクション 第1巻 改訂2版 (1)」を輪講してみることにします。はてなスタッフだけでなく社外からの参加も募集しているので、京都オフィスに近い方はぜひご参加下さい。 id:motemen がコンピュータサイエンス関連書籍の輪講を開催するとのこと。もちろん自分も参加します。教科書は何が良いか色々考えたようですが、まずはアルゴリズムイントロダクションに決まったようです。アルゴリズムイントロダクション、ちょうど今日届いたのでざっと見てみた所、数学的な観点からアルゴリズム/データ構造についての基礎を論じている良い書籍だと思いました。 アルゴリズムとデータ構造は最も重要な基礎ですが、これ

    アルゴリズムイントロダクション輪講@京都 - naoyaのはてなダイアリー
    asip
    asip 2008/08/14