Web scale backups for MySQL, Алексей Копытов (Percona)
![Ruby 拡張モジュール入門 / SlideShare](https://cdn-ak-scissors.b.st-hatena.com/image/square/23b837a0fac8791374332f567b2dd654da331353/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fruby-b-1195321950705218-3-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Web scale backups for MySQL, Алексей Копытов (Percona)
画像内に映り込んだ所望のオブジェクトを排除し、違和感の無い画像を生成するシーン補完技術に関しては近年複数の研究成果が発表されている。しかし中でも2007年のSIGGRAPHにて米カーネギメロン大のJames HaysとAlexei A. Efrosが発表した手法*1はブレークスルーとなりうる画期的なものだ。 論より証拠、早速適用例を見てみよう。本エントリで利用する画像はPresentationからの引用である。元画像の中から邪魔なオブジェクト等の隠蔽すべき領域を指定すると、その領域が補完された画像が自動的に生成される。 アルゴリズム 効果は抜群だがアイデア自体は単純なものだ。Web上には莫大な数量の画像がアップされており、今や対象となる画像の類似画像を一瞬にして大量に検索することができる。そこで、検索された類似画像で隠蔽領域を完全に置き換えてしまうことで違和感の無い補完画像を生成するのだ。
図解求む。 以下「プロトコル処理」と「メッセージ処理」を分けて扱っているが、この差が顕著に出るのは全文検索エンジンや非同期ジョブサーバーなど、小さなメッセージで重い処理をするタイプ。ストリーム指向のプロトコルの場合は「プロトコル処理」を「ストリーム処理」に置き換えるといいかもしれない。 シングルスレッド・イベント駆動 コネクションN:スレッド1。epoll/kqueue/select を1つ使ってイベントループを作る。 マルチコアCPUでスケールしないので、サーバーでは今時このモデルは流行らない。 クライアントで非同期なメッセージングをやりたい場合はこのモデルを使える: サーバーにメッセージを送信 イベントハンドラを登録;このときイベントハンドラのポインタを取っておく イベントハンドラ->フラグ がONになるまでイベントループを回す イベントハンドラ->結果 を返す 1コネクション1スレッ
この記事は、http://d.hatena.ne.jp/higayasuo/20090612/1244772658 の「Ctrl+1とCtrl+Spaceうんぬん」の話にインスパイアされて書いた。Eclipse可愛いよ。Eclipse。 記事長いから、さくっと読み飛ばして、アニメーションgifがあるところから読んでも十分訳にたつと思う。 あと、新人さんとかに写経させるのもいいかも。というか、半分ぐらいうちの新人に勉強のためと思って書いたから。で、実際に写経させて役にたった。 Java は Eclipse などの IDE も含めて言語というか、環境というか…だと僕は思ってる。Commons, Maven なども含めたい(まぁ、そのあたりは、CPANも含めてperlだろ。とか、これは否定する人だらけだろうけど、Rails=rubyということを言う人もいるよね)。 少なくとも僕は、Eclipse
例の冷却ファンを修理してもらいに秋葉原に行ったのですが、最近の同人ゲームのクオリティはすごいなあと感心していたら、その二階はもっととんでもないことになってて、ひとつ大人になってしまったmikioです。今回は、Tokyo Cabinetのテンプレート直列化機能を駆使して、たった100行のCプログラムでWebチャットシステムを実装してみます。 古式ゆかしいWebチャットシステム 10年くらい前にCGIスクリプトでチャットシステムを作るのが流行していたのを覚えている方も多いと思います。チャットログは現在のようにデータベースサーバに転送して格納するのではなく、ローカルファイルシステム上のファイルにCSVやTSVなどのフォーマットで格納したり、同じくローカルのDBMファイルに格納するのが主流でした。2ちゃんねるの「datファイル」もそのようなデータファイルの一種と言えるでしょう。 その頃から、CGI
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。LatLongLabの大野です。 今回はLatLongLabのβサービスの一つである「うごけ!道案内」をご紹介したいと思います。 みなさんはこのサービスをご覧になって、どんなことができるサービスだとお感じになりましたか? "道案内を作って投稿できるサービスだよね"と思ったそこのアナタ! それは大きな間違いです!! 「うごけ!道案内」は、MS-DOSのバッチファイル風にコマンドを並べるだけで地図を思い通りに動かせるプログラミングツールなのです。 プログラミングをはじめてみよう! 「うごけ!道案内」でプログラミングをはじめるには、道案内作成ページを開き、左上の「→アドバンスモードに変更」というリンクをクリックする必要があり
今回はiPhoneアプリを開発する上で良かった本を紹介します。 良かったと言っても4冊しか所有してませんが、この4冊を紹介します。 Objective-Cは全く独自の言語ではありません。まずはベースとしてC言語があります。C言語を拡張してクラス等のオブジェクト指向の機能を実装した言語です。ちょうどC++と同じ様な感じです。 ・詳解Objective-C 2.0 Objective-Cのバイブル的な本です。 実はこの本はiPhoneアプリを作ろうとする前にMacのアプリを作ろうとして買いました。Objective-Cも初めてだったのですが、これ1冊あれば言語的には事足ります。ただ淡々とObjective-Cの文法や仕様を解説していますが、初心者向けの本によくある余計なサンプルアプリを作りながら習得するページはは無くてすっきりまとめられています。全く開発言語が初めての人は難解な本かもしれません
わーい。 前のブログでちょっと検索があったので、何回かに分けて、 Flashで自作のムービープレーヤーを作る方法をWeb上に残しておきたいと思います。 あんまり難しくないのでぬるくまったりいきましょう~。 ◆何が再生できるの? 色んな種類のムービー形式・エンコードありますが、Flashで再生できるのは 1)FLVファイル。拡張子FLV。 2)H.263(Flashプレーヤーのバージョン0.9.115.0から~)拡張子mp4等 です。それぞれのファイルの作り方は色んな方法があって また、お金のかかる物(ソフト使用)から、フリーな物まで色々あるので 「FLV 作り方」等で検索してみてください。 私はPremiereでFLV、TMPEGEncっていうソフトでmp4にしてます。 ◆どうやって再生しよう? さぁ~やりたいけれど何をしたらいい分からないっ><って言う所からスタートします。 まず、Fla
Java | 書籍『Effective Java』から Java のプログラミングテクニックを紹介します。Javaテクニック:コンストラクタの代わりに static ファクトリーメソッドを検討する(その1)の続き。メリット3:メソッドの戻り値を任意のサブタイプにすることができるstatic ファクトリーメソッドの3つ目のメリットは、コンストラクタと異なり、メソッドの戻り値を任意のサブタイプにすることができるということです。これにより、どのクラスのオブジェクトを返すかという選択肢が増えることで柔軟性が増します。この柔軟性を使った1つの応用として、返すオブジェクトのクラスを public にすることなく、APIのみを返すというテクニックがあります。例えば、Java のコレクションフレームワークには、List を渡すと変更不可能なオブジェクトにして返してくれる Collections.unmod
Java | 書籍『Effective Java』から Java のプログラミングテクニックを紹介します。クラスのインスタンスを提供するためには、普通は public コンストラクタを用意します。 public class Hoge { public Hoge() { ... } } そして、この public コンストラクタを new で呼び出し、インスタンスを得ます。 public class Main { public static void main(String[] args) { Hoge hoge = new Hoge(); } } しかし、すべてのプログラマが知っておくべき別のやり方があります。それが static ファクトリーメソッド(static factory method)です。 public class Hoge { private Hoge() { ... }
Google App EngineでJavaが使用可能に 米Googleは2009年4月7日(米国時間)、PaaS(プラットフォーム・アズ・ア・サービス)型クラウドコンピューティング環境のGoogle App Engine(以下GAE)で、これまでのPythonに加えてJavaに対応(以下GAE for Java)したことを明らかにしました。開発者や利用実績が多いJavaに対応することで、GAEのユーザ数が一気に増えることも考えられます。 図1 Google App EngineサイトでのJava対応アナウンス Java対応GAEの機能の概要 GAEのクラウド環境はJava 6で稼働しますが、プログラム作成はJava 5およびJava 6のどちらでも可能とされています。プログラムはJava Servletでの作成が基本ですが、他にJSPやServletから呼び出されるJavaBeans
A Wealth of Information at Your Fingertips Store and Bookmark Documents Share Documents Privately Reach Millions of People
こんにちは。ライフスタイル事業部のアリタと申します。 Yahoo!のサービスも裏側ではWebAPIが多用されています。1つのページを構成するのに5、6個のAPIを使うこともざらですが、それではさすがにパフォーマンスが問題となってきます。その原因と対策例を紹介していきましょう。 ■モデルケース 例として、3つのAPIから取得したデータをマッシュアップしたページがあるとします。(ここではサンプルコードを簡単にするため、APIの代わりに以下のRSSで説明としました) Yahoo!トピックス エンターテインメントRSS http://dailynews.yahoo.co.jp/fc/entertainment/rss.xml Yahoo!ミュージックマガジン最新情報RSS http://magazine.music.yahoo.co.jp/rss/ALL/rss.xml Yahoo!検索トレンドR
Wizard Book n. Hal Abelson's, Jerry Sussman's and Julie Sussman's Structure and Interpretation of Computer Programs (MIT Press, 1984; ISBN 0-262-01077-1), an excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book. from The New Hacker's Dictionary, 2
Google Code Labs Overview Google Code Labs is home to developer products that are still in their formative stages. Graduating from Labs is a big step, one that indicates long-term commitment on our part. We distinguish products in Google Code Labs in a few ways: Beakers Instead of the typical Google Code logo, Labs products have one with a beaker as the "L". If you look in the upper-left corner of
追記(2009/02/28 15:35):ソートする配列の要素が数値または数値形式の文字列のみの場合は、<、==、>が推移律を満たすので、この記事のような矛盾は起こりません。念のため。 オヤジギャグがこらえられなくなったら立派なオヤジだと思います。それはさておき、今日はPHPのsort関数が不思議な挙動をする例を紹介します。 sort関数の紹介 sort ― 配列をソートする 説明 bool sort ( array &$array [, int $sort_flags= SORT_REGULAR ] ) この関数は配列をソートします。この関数が正常に終了すると、 各要素は低位から高位へ並べ替えられます。 PHP: sort - Manual マニュアルをみる限り普通のソート関数です。省略可能な2番目の引数の意味は次の通りです。 sort_flags オプションの 2 番目のパラメータ s
Lightweight jQuery Portal JavaScriptを活用した軽快なポータルを作るためのフレームワーク「jPolite」. iGoogleみたいなポータルを作るようなjQueryベースのフレームワークです。 デモページ タブをクリックで画面が軽快にアニメーションでいい感じに切り替わります。 ページ内には小窓がコンポーネントとして登録できて中身に自由にHTMLが記述できます。 各ページは、1ページあたり1枚のHTMLモジュールとしてJavaScriptで定義できて、非常に簡単かつシンプルにポータルが作れるフレームワークになっています。 JSでモジュール定義の例 var _modules={ m101:{l:"m101.html", t:"Motivation", c:"red"}, m102:{l:"m102.html", t:"Philisophy", c:"yello
この文書は、バグフィックスを除いて、ユーザから目に見える変更点を列挙したものです。 それぞれのエントリは、その背景や参考情報を端折ってしまうくらい簡潔にまとめられていることに注意してください。全ての変更点のリストとしては、 ChangeLog ファイルを参照してください。 言語の中核部分 新しい文法と意味 ブロック引数は全てローカルスコープになりました ブロック引数の意味が新しくなりました defined?とローカル変数 パーサはソースコードがある文字エンコーディングに対してvalidなバイト列であることを期待するようになりました。どのエンコーディングを使っているのかを、マジックコメントでパーサーに知らせてください。 instance_evalやmodule_evalの中での定数定義の意味が変わりました。 廃止された文法 if/unlessやcase表現において、thenの代わりにコロン(
Login above to work on your projects, or select an option below. Use Bespin Edit Now Give us an open-source project name or a publicly accessible repository URL and we'll create a project for you. Register for Bespin No account? No problem! Click below to create an account. Registration is free. Learn about Bespin What is Bespin? Bespin is a Mozilla Labs experiment on how to build an extensible We
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く