タグ

ブックマーク / labs.cybozu.co.jp (11)

  • Kazuho@Cybozu Labs: フレンド・タイムライン処理の原理と実践

    « MySQL のクエリ最適化における、もうひとつの検証方法 | メイン | MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話 » 2008年06月09日 フレンド・タイムライン処理の原理と実践 MySQL (InnoDB) に直接アクセスしてタイムライン処理を高速化する話に続きます。 Twitter が注目されるようになって久しい今日この頃ですが、友人の投稿を時系列に並べて表示する、というのは、Twitter に限らず Mixi の「マイミクシィ最新日記」やはてなブックマークの「お気に入り」等、ソーシャルなウェブサービスにおいては一般的な手法です。ですが、この処理 (以下「フレンド・タイムライン」と呼ぶ) は、一見簡単そうに見えて、実装には様々な困難が伴います。記事では、「フレンド・タイムライン」を実現する、プッシュ型とプル型の二種類の手法について、その原

    twainy
    twainy 2012/01/18
  • Kazuho@Cybozu Labs: Perl で埋め込み SQL を使って楽をする話

    « Japanize for IE バージョンアップのおしらせ | メイン | Filter::SQL を使って掲示板を書いてみました » 2008年04月16日 Perl で埋め込み SQL を使って楽をする話 DSL (ドメイン固有言語) は、プログラム開発の生産性を向上させる有力な手段です。そして、よく使われる DSL の代表例が正規表現と SQL だと思うのですが、前者に比して後者を嫌いな人が多いようです。なぜだろうと思ってつぶやいたところ、「SQL はリテラルじゃないから!」という答えが tokuhirom さんから返ってきました。そういえば例えば Pro*C のように C で Embedded SQL というのは良く聞く話なのに、Perl では同様の例がないような感じだったので、作ってみました。Perl で埋め込み SQL を実現するソースフィルター Filter::SQL

    twainy
    twainy 2008/04/17
    これはいいな。誰かRubyで作ってくれないかな
  • CAPTCHA解読ソフトの価格表に見るCAPTCHAのレベル差 | 秋元@サイボウズラボ・プログラマー・ブログ

    via del.icio.us/popular Coding Horrorブログの記事Has CAPTCHA Been “Broken”?(CAPTCHAは破られたか?)では、CAPTCHAの解読ツールに値段をつけて売っている中国の業者の価格表を紹介していて、これが面白い。 CAPTCHA用の文字列画像を作るときは、文字を画像化したり、色をつけたり、線を引いたり、無関係な点や図形を足したり、湾曲させたり、と、いろいろな加工で「人には読めるけど機械には読めない」ように作るわけだが、この価格表では、単純なCAPTCHAで彼らの販売するツールで読み取れる可能性が高いものほど値段が安くなっているし、彼らのツールでは読み取れてない場合も多いような難しいものについては、ツールの値段も高くなっている。 この価格表で図らずも、いろいろな大手サイト(主に英語中国語でのサイト)が使っているCAPTCHA図形

    CAPTCHA解読ソフトの価格表に見るCAPTCHAのレベル差 | 秋元@サイボウズラボ・プログラマー・ブログ
    twainy
    twainy 2007/11/23
    へー、こんな世界があるのね。GoogleやYahoo、MSはさすがだなあ
  • 秋元@サイボウズラボ・プログラマー・ブログ: Seam Carving - 自然な画像リサイズを動的に行なうソフトウェア

    via Digg Siggraph2007で発表されたというSeam Carving技術。そのSeam Carving for content-aware image resizingという動画で解説されているのは、画像 […] via Digg Siggraph2007で発表されたというSeam Carving技術。そのSeam Carving for content-aware image resizingという動画で解説されているのは、画像内のひとまとまりの図形・物などの形を維持したままで、不要な部分を削って縮めることができるという技術。(論文 pdf) 説明がわかりにくくて申し訳ない。見てもらったほうがぜったい早い。 オリジナルのQuickTime動画はこちら これを使うと、写真の中の鍵となる写真や人物を常に保存しつつも、見ているPCや携帯端末の画面サイズに合わせてイメージを縮める

    秋元@サイボウズラボ・プログラマー・ブログ: Seam Carving - 自然な画像リサイズを動的に行なうソフトウェア
    twainy
    twainy 2007/08/26
    すげええええええええええええええええええええええええ
  • TAKESAKO @ Yet another Cybozu Labs RejectKaigi2007まとめページ

    まだ見当たらなかったようなのでRejectKaigi2007のまとめページを作ってみました。(ただのリンク集ですが) RubyKaigに引き続きおこなわれた、RejectKaigi - ひとりあたり2分30秒ほどの時間があります。 - 時間切れで発表できなくても泣かない。 - トラブルで発表できなくても泣かない。 Reject会議 開催の経緯 [ruby-list:43595] [Ruby会議2007]RejectKaigi 2007の告知 RubyKaigiが終わったあとにRejectKaigiを開催するよ - 角谷HTML化計画 (2007-06-07) RejectKaigi 2007 発表内容 なぜRject Kaigiが行なわれることになったか勝手に語る (井上泰之さん) [発表資料] (log) 「ゆきひろ」(not ひろゆき) 認証 (斎藤さん) (log) [家はこちら]

    twainy
    twainy 2007/06/12
    rejectkaigiまとめサイト
  • TAKESAKO @ Yet another Cybozu Labs: ニコニコ動画勉強会に行ってきました

    日ドワンゴさんの会議室にてこっそり開催されたニコニコ動画勉強会に参加してきました。 日の動画コメントサービス「ニコニコ動画」の裏側をドワンゴの開発者の方から 直接お話しを聞いて、参加者も一緒に意見交換ができる非常に面白い勉強会でした。 ドワンゴさんとしては会社で行なう技術者向けの勉強会初めての試みということもあり、 まずは開発者の知り合いベースで声をかけあって少人数で開催することにしたそうです。 六木のクラブの人や、バイナリカンファレンスでご一緒した人とこんなところで お会いできるとは思っていませんで、さまに想定の範囲外でした。 その甲斐あって密度の濃い話ができたと思います。 以下、自分用のメモを公開できる範囲で書きます。間違っていたらすみません。(ご指摘いただければすぐに訂正します) ■ニコニコ動画の苦労話 (Sさん) ニコニコ動画の歴史 2006年10月 一人でプロトタイプを開発

  • 秋元@サイボウズラボ・プログラマー・ブログ Vistaの音声認識でPerlプログラミング

    ウィンドウズ・ビスタの音声認識を使って、Perlスクリプトを書いて保存するまでの実演。 まあ、自然文を書くことを想定して設計されている音声認識だから、それでプログラムを書こうというところに無茶はあるんだけれど。 それにし […] ウィンドウズ・ビスタの音声認識を使って、Perlスクリプトを書いて保存するまでの実演。 まあ、自然文を書くことを想定して設計されている音声認識だから、それでプログラムを書こうというところに無茶はあるんだけれど。 それにしてもこの奮闘っぷりが面白い。途中でPCを壊すんじゃないかとハラハラしたよ。 [関連] Vistaの音声認識セキュリティホールに思う

    秋元@サイボウズラボ・プログラマー・ブログ Vistaの音声認識でPerlプログラミング
    twainy
    twainy 2007/02/08
    舌打ちすんなwww
  • TAKESAKO @ Yet another Cybozu Labs: Web2.0時代のAjax Binary Hacks

    ※公開用にいくつか手を加えてあります 前フリが長いとのツッコミがありましたので、今回の発表内容を少し要約してみたいと思います。 1. GIF Format Hacks (Server side) まずは、任意のpixelサイズ(幅・高さ)を持った画像ファイルを固定長の35byteで出力する方法 #!/usr/bin/perl use strict; use warnings; sub create_gif { my $size = pack "S2", @_; return "GIF89a$size\xf0\x00\x00\x00\x00\x00\xff\xff\xff," . "\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02L\x01\x00;"; } print "Content-Length: 35\n"; print "Content-Ty

  • Kazuho@Cybozu Labs JavaScript を学ぶ上で読むべきウェブサイト

    « JavaScript の String 型を継承する | メイン | JavaScript は、なぜプロトタイプベースなのか » 2006年10月18日 JavaScript を学ぶ上で読むべきウェブサイト JavaScript について議論する際、良く挙げられる参照文献は ECMA-262 (日語版) です。 しかし、どちらかというと ECMA-262 は JavaScript の処理系を実装する人に向けた文書なので、JavaScript を使いたい人には向きません。 私は、 JavaScript のユーザーには、mozilla developer center の Core JavaScript 1.5 Guide (日語版)Core JavaScript 1.5 Reference (日語版は整備中?)が良いのではないか、と思っています。 Mozilla のドキュメントかよ

  • TAKESAKO @ Yet another Cybozu Labs: Brainf*ckで100までの素数を列挙してみるテスト

    キミならどう書く 2.0 - ROUND 1 - LL Ring の前哨戦として「キミならどう書く 2.0」の開催です! お題は「100までの整数から素数を列挙せよ」です. ということで、世界最小のコンパイラ/インタプリタと言われている Brainf*ckで1~100までの素数を列挙してみました。 ちなみに brainf*ck で prgramming するのは今回が初めてです。 Wikipedia語版の解説より 開発者Urban Müllerがコンパイラがなるべく小さくなる言語として考案した。実際、Muellerが開発したコンパイラのサイズは123バイト(キロバイトではない!)、インタプリタは98バイトしかない。また、実行可能な命令はわずか8つしかない。 処理系には十分なサイズのbyte型配列とその要素のひとつを指すポインタがある。ポインタを「>」「<」命令で移動させながら、そのポイ

  • 秋元@サイボウズラボ・プログラマー・ブログ: regist という英語は無い

    さて、サイボウズラボの立ち上げプレスリリースが出たこの瞬間、とりあえずこのブログを見に来る人も多いと思われる。そんなチャンスに、このブログを読んだ人、特に日のソフトウェア技術者に一番訴えたいことってなんだろう? と考え […] さて、サイボウズラボの立ち上げプレスリリースが出たこの瞬間、とりあえずこのブログを見に来る人も多いと思われる。そんなチャンスに、このブログを読んだ人、特に日のソフトウェア技術者に一番訴えたいことってなんだろう? と考えた。 それは、日プログラマーだけが使う謎の動詞 registについてである。そんな単語は存在しないから、ちゃんと “register” を使おう。 Google.com で regist.cgi を検索 Google.com で regist.php を検索 出てくるのは日語のサイトばっかりである。拡張子を”.jsp” や “.asp” にし

    秋元@サイボウズラボ・プログラマー・ブログ: regist という英語は無い
    twainy
    twainy 2005/11/13
    ぎゃあああ、ちょっ、たくさんあるし今さら直すのも……orz
  • 1