タグ

ブックマーク / developer.cybozu.co.jp (20)

  • Kazuho@Cybozu Labs: 高度に進化した分散データストアは RDBMS と見分けがつかない? (shibuya.pm #12 スライド)

    開発しているシャーディングミドルウェアである Incline と Pacific については YAPC::Asia 2009 を始めいろいろな所で話をする機会をいただいてきたので、今回は、なぜ RDBMS ベースのアプローチを採用したのかという背景を中心に説明させていただきました。概念的な話が多くて分かりにくかったと思います(すみません)が、細かな点についてはパフォーマンスとスケーラビリティのためのデータベースアーキテクチャ (BPStudy#25発表資料)を参照いただければと思います。 また、中で出てきた「実体化ビュー」については、Materialized view - Wikipedia, the free encyclopediaが良くまとまっているかと思います。Incline は一言でいうと、RDBで構成されるshard群の上で read-only かつ eventually co

  • ツイッターを一からやり直したい人のためのUnfollowEveryone | 秋元@サイボウズラボ・プログラマー・ブログ

    UnfollowEveryoneは、Twitterでfollowした相手を一度に全部消すことができる、というだけの単発のサービスです ツイッターのユーザー名とパスワードを入れると、「当に消しますか?」と聞かれ、 続行すると、フォローした人を全員アンフォローしてくれます。 すっきりさっぱり 過去のことは忘れて、新しいユーザーをフォローしましょう。 当に使う人がいるかどうかわかりませんが、サービスはTwitterのパスワードをそのまま渡す仕組みなので注意してください。Twitter側で普段使わないパスワードに変更した上で利用して、終わったらまたパスワードを変更。それでも、パスワードを渡した瞬間に悪用される危険はあるので。

    ツイッターを一からやり直したい人のためのUnfollowEveryone | 秋元@サイボウズラボ・プログラマー・ブログ
  • Kazuho@Cybozu Labs: パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ (BPStudy#25発表資料)

    先週金曜日、BPStudy#25で、「パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ」という題目で話をさせていただきました。その際に使用した発表資料は以下のとおりです。 1. Happy Optimization 最初に、最適化の考え方として、上限値を予測し、それを元にリソース配分を考える、という手法を説明しました。

  • Kazuho@Cybozu Labs: 「サーバ書くなら epoll 使うべき」は、今でも正しいのか

    多数のTCP接続をハンドリングするサーバを書くなら、1コネクション1スレッドのモデルではなく、epollやkqueueのようなイベント駆動型のI/O多重化を行うべきだ、と言われます。だが、そのような主張は、「C10K問題」が書かれた2002年から7年経過した今でも有効なのでしょうか? echoサーバを書いて、ベンチマークを取ってみることにしました。 ふたつのグラフは、いずれも接続数とスループットの関係を表しています。最初のグラフは、全接続がアクティブに通信した場合、あとのグラフは、全接続のうち小数のコネクションが順次アクティブになっていく、というモデルです。これらのグラフから、以下ようなことが読み取れます。 epoll も per-thread モデルも、良くスケールする epoll は、ワークセットが小さい場合に (最大50%) per-thread モデルよりも高速 少なくとも、1コネ

  • 13,400円で宇宙からの写真を撮ったMITの学生の話 | 秋元@サイボウズラボ・プログラマー・ブログ

    これがその写真の一枚 マサチューセッツ工科大の二人の学生Justin LeeさんとOliver Yehさんが、普通にお店で入手できる部品を組み合わせることで、これまでにない超低予算(148ドル)での成層圏からの地球撮影に成功した、ということです。 その手順ですが、まず、気象観測用の300グラムのゴム気球(1800円)、それにパーティーグッズの店でヘリウムを2700円分詰めてもらいます。 成層圏での気温は-55度にもなるので、普通のバッテリーは動かなくなります。そこで、高価な耐寒機器やヒーターを搭載する代わりに、携帯カイロを電気系に密着させ発泡スチロールでカバーします。 撮影した写真がどの高さから取られているかを記録し、撮影を終えたカメラを回収するためには、カメラの場所を追跡する必要がありますが、これも高価で重いGPSモデムではなく、GPS内蔵の携帯電話(4500円)を使うことに。カメラと接

    13,400円で宇宙からの写真を撮ったMITの学生の話 | 秋元@サイボウズラボ・プログラマー・ブログ
  • Android初心者の最初の2週間での感想

    Androidの開発機を入手して2週間ほど経つのですが、その2週間の感想です # 2週間といっても、他にいろいろとやってたのですが(個人の方で新サービス読んだ4!のテスト公開とか) この手のことをするのは、2002-3年ぐらいにPocket PCの開発をやって以来なので、少しずれてるかもしれませんが。いろんな事が簡単にできるようになっているなあと、時代の違いを感じました。 開封から設定 設定にパソコンは不要 [開封]-[起動]-[タイムゾーンと日時の設定]-[WiFiの設定]-[Googleアカウントの設定] で。Gmailが使えるようになり、GmailのコンタクトもAndroid上で閲覧できるようになりました。携帯電話として使うためのSIMは持ってないし、持っていたとしても使うとたいへんなパケット料金になるらしいので、無線LANだけで使ってます。 Gmailのコンタクトに電話番号の情報は

  • Kazuho@Cybozu Labs: MySQL のボトルネックを統計的に監視・解析する方法

    MySQL のチューニング、と言った場合には、サーバーパラメータの調整や EXPLAIN コマンドを利用したクエリ実行計画の最適化が話題に上ることが多いです。しかし、発行する全ての SQL について、いちいち EXPLAIN コマンドを使って確認していては、いくら時間があってもたりません。チューニングを効率的に進めるには、まず、ボトルネックとなっている SQL クエリを特定し、次にその最適化を行うべきです。 ではどのようにして、ボトルネックを特定するのか。MySQL Conference & Expo 2009 のキーノートにおいて Mark Callaghan 氏は、Google では SHOW PROCESSLIST コマンドを使った統計的アプローチを使っていると述べていらっしゃいます (参照: MySQLConf 09: Mark Callaghan, "This is Not a

  • Google OS(Google Chrome OS)がついにアナウンス | 秋元@サイボウズラボ・プログラマー・ブログ

    公式ブログでアナウンスがありました。 以下ポイントを抄訳 Google Chrome OSは、Google Chromeブラウザをベースにそれを拡張して作るパソコン向けOSで、ウェブ以前に設計されたOSの欠点を持たず、設計段階からウェブのことを考えて作っているのが利点、と言うことです。 今年の後半にはOSをオープンソースとして公開し、2010年の第2四半期後半にはネットブックに搭載したものが市販されることを目指します。最初はネットブックから。 速度・シンプルさ・セキュリティを重視しています。起動から数秒でウェブにアクセスできるような、速くて軽いOSにしようと設計しています。OSとしてのUIは最小限で、ほとんどのユーザーエクスペリエンスはブラウザ上で行なわれます。 Google Chromeブラウザでしたように、OSのセキュリティ設計を基に立ち返り完全にやりなおしたので、ウィルス、マルウェ

  • Kazuho@Cybozu Labs: MySQL のトリガーの実用性を確認するために InnoDB の SELECT COUNT(*) を高速化してみる

    最近 RDBMS のトリガーを色々書いているのですが、知らない人にトリガーが何かいちいち説明するのに簡単な例はないかな、というのと、MySQL の処理速度はトリガーによってどの程度変化するか、ということを確認するために、以下のような実験を行ってみました。 InnoDB はしばしば、「SELECT COUNT(*) が遅い!」と批判されます。では、トリガーを使って行数を別のテーブルにキャッシュすればいいのではないでしょうか? 以下のように、極めて小さなテーブル t1 を作り、その行数を t1_cnt にキャッシュしてみることにします。 mysql> create table t1 ( ->   id int unsigned not null primary key auto_increment, ->   v int unsigned not null -> ) engine=innodb

  • Kazuho@Cybozu Labs: Pacific という名前の分散ストレージを作り始めた件

    大規模なウェブアプリケーションのボトルネックがデータベースであるという点については、多くの同意が得られるところだと思います。解決策としては、同じ種類のデータを複数の RDBMS に保存する「sharding」 (別名:アプリケーションレベルパーティショニング/レベル2分散注1) が一般的ですが、最近では、分散キーバリューストア (分散 KVS) を使おうとする試みもみられるようになってきています。 分散 KVS が RDBMS sharding に対して優れている要素としては、事前の分割設計が不要で、動的なノード追加(とそれにともなう負荷の再分散)が容易、といった点が挙げられると思います。一方で、Kai や Kumofs のような最近の実装では eventually consistent でこそ無くなってきているものの、ハッシュベースの分散 KVS は、レンジクエリができなかったり (例:

  • 親切なググレカス | 秋元@サイボウズラボ・プログラマー・ブログ

    検索したらあっという間にわかるような事を質問してくる人に対して、「そんなのグーグルで検索すればわかるよ」、とか、キツイ言い方だと「ググレカス」とか言いますけど、このlmgtf.com (Let me google that for you, あなたのためにグーグルで検索してあげましょう)があれば、もっとやんわりと親切に、グーグルで検索するやり方を伝えることができるかもしれません。 実行例: 「アジアジン」でグーグルを検索するやり方の実演 このキーワードでグーグル検索のやり方を説明してあげたい、と思ったら、このサイトでキーワードを入れると、上記のような解説デモページを作ってくれます。 まさに懇切丁寧・慇懃無礼な感じで皮肉が効いてしまうかもしれませんけど。 via Geekologie

    親切なググレカス | 秋元@サイボウズラボ・プログラマー・ブログ
  • Kazuho@Cybozu Labs: MySQL Conference Expo 2009 に参加してきました

    先週一週間、MySQL Conference & Expo 2009 に参加してきました。ほとんどのキーノートのビデオや一部のセッションの資料は公開されているようなので、それ以外、全体からうけたイメージなどについて、つらつらと。 サービスをスケールアウトする話は、意外と聞かなかったように思います。今回が初参加だったので間違っているのかもしれませんが、単純な「スケールアウトできるよね」という話ではなく、むしろ、アプリケーションデベロッパに負担をかけずにスケールアウト (もしくはスケールアップ) するデータベースを、どのように作るか、というところが盛り上がっていたように思います。一方で、クラウドコンピューティングに関しては、サービスをスケールさせる道具というよりは、(リソースの確保が)柔軟で安定したインフラストラクチャとして期待されている側面が大きいように感じました。今後は、両者をどう組み合わ

  • 1972年の絵文字(エモチコン) | 秋元@サイボウズラボ・プログラマー・ブログ

    Emoticon(エモチコン)、スマイリー(smiley)、絵文字、アスキーアート、いろいろ呼び方はあるけど、コンピュータスクリーン上で文字を使って絵を描くことで感情を表したもの。今ではだれでも、堅苦しくないチャットやメールなんかでは特に、使っているだろう。 “:-)”が(横倒しになった)笑った顔を現すというSmileyは、1982年に発生したと言われている。 上の絵文字、イリノイ大学のPLATOという教育用ネットワークシステムでの掲示板で使われていた、おそらく最古のエモチコンだという。時は1972年。 …1972年だよ? 驚きだなあ。そんなに前から掲示板システムというのがあって、その時にはすでに文字で絵を作って遊ぶことも既に始まっていたなんて。 左側にある四角い絵がそれなんだけど、これは当時の文字しか表示できないコンピュータの端末上で、制御文字を使って一文字カーソルを左に戻し、その上に新

    1972年の絵文字(エモチコン) | 秋元@サイボウズラボ・プログラマー・ブログ
  • 英語のスペリング・アルファベットを調べるphoneticise.com | 秋元@サイボウズラボ・プログラマー・ブログ

    電話で名前等を伝えるときに、一音一音を間違えないように伝えるためにその音で始まる単語を使うことがある。「『あ』は朝日の『あ』、『い』はいろはの『い』、スは宇宙のス」みたいなやつ。 フォネティックコード(phonetic code)とか、スペリングアルファベット(spelling alphabet)というらしい。 英語では、アルファ(Alpha)-ブラボー(Bravo)-チャーリー(Charlie)というNATO式が有名だということだけど、こういうスペリングアルファベットを作ってくれるお助けサービスもいくつも存在する。Phoneticise.comはその一つだ。 このサイトでakimotoと入れると、 alpha kilo india mike oscar tango oscar というコードを作ってくれた。電話で自分の名前を伝えるときには、これを「アルファ、キロ、インディア、…」と読みあげ

    英語のスペリング・アルファベットを調べるphoneticise.com | 秋元@サイボウズラボ・プログラマー・ブログ
  • Yahoo UI Library(YUI)のサンプルをビデオ化したブログ記事 | 秋元@サイボウズラボ・プログラマー・ブログ

    Yahoo!が開発し、フリーで提供、ホストまでしてくれているJavascriptライブラリ+ウィジェット集であるYahoo UI Libraryの、主要なコンポーネントを動かした様子を撮ったビデオが多数公開されている。 Introducing YUI – The Rising Giant (YUIの紹介 – 上り調子の巨人) 開発者ページのサンプルページから自分で触れば試せるんだけど、それすら面倒な人はいるだろうから、こういう普及促進もあってもいい。これなら百聞は一見にしかずで、YUIでどんなことができるかが英語無しでわかるかも。 [関連] Yahoo UIライブラリの各ファイルがYahooから直接ホストされるように Yahoo! UI Library はすごいね この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い

  • サンプルだけでいくらでも時間が潰せそうなパズルサイト conceptispuzzles | 秋元@サイボウズラボ・プログラマー・ブログ

    conceptispuzzlesでは、数独やカックロなどの紙ベースのパズルゲームをFlashで多数提供している 日語ブログには コンセプティスは、絵が出るロジックパズル、数字のパズルをはじめ、楽しみながら頭脳に刺激を与える知的エンタテイメントを追求しています。 パズルはすべて自社製のソフトで作成しております。イスラエルのハイテク産業で有名な都市ハイファに拠点を置き、世界50カ国でマガジン、新聞、及び他メディアを通して出版しています。 とあり、イスラエルからNintendo DSや携帯向けのパズルゲームも世界中に提供している会社だそうだ。 一つ開いて始めたら、止まらなくなりそうだったのであわてて閉じた。フォーラムでは活発にパズルについての議論が行なわれているし、この手のパズル好きな人たちの一大コミュニティとなっているようだ。 via del.icio.us/popular この記事は移転前

    サンプルだけでいくらでも時間が潰せそうなパズルサイト conceptispuzzles | 秋元@サイボウズラボ・プログラマー・ブログ
  • パスワードの強度をチェックするツールPassword Meter | 秋元@サイボウズラボ・プログラマー・ブログ

    Password Meterは、パスワードの強度を独自の評価式で測定してくれるサービス&スクリプト。 たまにネットサービスでパスワードを決めようとするときにその強度を示してくれるサイトがあったりするけど、ああいうのを単体にしたようなものだ。 今評価しているのは、純粋な文字種やその規則性の判定だけで、辞書にあるかどうか、といった要素までは入っていない。 このチェッカプログラム自体(Javascript)もGPLで配布されているので、自分用に設置したり、改造したりすることができる。自分のサービスのユーザ登録フォームに使って、よりわかりにくいパスワードを設定してもらうように誘導したりできるかもしれない。 [追記] リンク忘れでした。ご指摘ありがとうございます via del.icio.us/popular この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合が

    パスワードの強度をチェックするツールPassword Meter | 秋元@サイボウズラボ・プログラマー・ブログ
  • オンラインCSS/Javascriptメニュージェネレータ izzymenu | 秋元@サイボウズラボ・プログラマー・ブログ

    Izzymenuは、ブラウザ上でCSSJavascriptを使ったダイナミックなメニューをデザインし、そのソースコードをダウンロードできるオンラインジェネレータだ。 ごらんのとおり、残念ながら日語は正しく動かないが、英数字でメニューを作った後にソース中の文字列を置き換えることでなんとか使うことはできる。 DHTML操作によるメニュー作成は定石のようになっているので、このように多くのサンプル(Menus Catalogueから選べる)を借りてきて、サイト上で色や配置などいろいろな調整ができて、そのまま使えるコードが手に入るというのは非常に助かるのではないか。 via del.icio.us/popular この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「である」調です。(参考)記事の内容が古くて役に立たなくな

    オンラインCSS/Javascriptメニュージェネレータ izzymenu | 秋元@サイボウズラボ・プログラマー・ブログ
  • Statetris日本版 日本地図でテトリスゲーム | 秋元@サイボウズラボ・プログラマー・ブログ

    via Japan Probe これまで、アメリカ土48州でやるテトリス風フラッシュゲーム、ヨーロッパ版、など紹介したけれど、その後もいろいろなバージョンが追加されていた。 そしてついに、日版も登場したようだ。 サイトによれば、現時点のラインナップは、アフリカ、ヨーロッパ、フランス、日、オランダ、サウスカロライナ州(笑)、イギリス、そしてアメリカだ。 この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「である」調です。(参考)記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

  • マイクロソフトが翻訳サービスを開始。英文和訳を他社と比べてみた | 秋元@サイボウズラボ・プログラマー・ブログ

    マイクロソフトのlive.comで、翻訳サービス Windows Live Translatorが新たに公開された。英語から日語、日語から英語も選択肢にある。 翻訳エンジンはSYSTRAN製と明記されている。 また、「コンピュータ関連の翻訳」というチェックボックスがあり、これにチェックをすると原文がコンピュータ関連文書だとして特別な翻訳をするそうだ。 英文を実際に入れてみた。原文はこれ。 オリジナル: オライリーのWeb2.0記事の冒頭 The bursting of the dot-com bubble in the fall of 2001 marked a turning point for the web. Many people concluded that the web was overhyped, when in fact bubbles and consequent

  • 1