「はてなダイアリー」から「はてなブログ」に移行してみた。

はてなダイアリーからのインポート(ブログの移行) - はてなブログ ヘルプhelp.hatenablog.com 書かれている通り、3ステップで終わり。 記事数が35しかないのに、記事のインポートは3分くらいかかった。 なにをするとそんなに時間がかかるのだろうか? その…

潜在的なディスクエラー………恐ろしい子!

「Windows の次世代ファイル システム: ReFS」を読んだ。私にとって、ReFSでいちばん欲しい機能は、潜在的なディスク エラーを防ぐディスク スクラブ処理だ。 気づかないうちにデータが回復不能になるかもしれないというのは不安だ。 ReFSではこれへの対策が…

JavaScriptの文字って馬鹿なの?死ぬの?

何か大げさなタイトルだが、ホッテントリメーカーが出したのをそのまま貼ることにしているので。「JavaScript’s internal character encoding: UCS-2 or UTF-16?」を読んだ。JavaScriptでいう文字というのは、16ビットの数値のことなのだそうだ。 つまり、サ…

jQueryをページの最後にロードのススメ

「Stop paying your jQuery tax」を読んだ。 スクリプトをページの最後で読み込むべき理由 Best Practices for Speeding Up Your Web Site の Put Scripts at the Bottom によれば、 ページの読み込み速度を重視するなら、スクリプトはページの最後に配置す…

Webアプリ高速化を一行で説明する

Web

Webページのレスポンスタイムのうち、フロントエンドが80〜90%を占める。「the Performance Golden Rule」にそう書いてあった。この記事では、クライアントがWebサーバから最初の1バイトを受け取るまでの時間をバックエンドの時間、それ以外をフロントエンド…

Amazon CloudFrontでDOS攻撃を受けたら破産するの?

AWS

心配なのでググってみたら、AWS Developer Forumsのこのページが見つかった。AWSの中の人の回答は、そんなのは時と場合によるという、つれないもの。 一応、DOS攻撃の対策はしているらしいのだけど、セキュリティ上の理由により詳細は公開できないそうだ。こ…

みんな大好き3倍速いC++

C++

「sorting in C++: 3 times faster than C.」を読んだ。何が3倍かと言うと、ソートの速度。 何に対してか? Cで書いた場合に対して、です。 速い理由は、そりゃそうだよ、という内容。 インライン展開ですな。自分で測ったことはありませんでしたが、 3倍も速…

Webサービスをカネを使わずに宣伝する方法、らしい

「ウェブサービスの宣伝は、自分がウザいと思うほど行っても全く足りていない」を読んだ。涙ぐましい努力だ。実際のところ、ある程度カネを使った方がコストパフォーマンスがいいような気もするが、やったことないからわからない。とりあえず簡単にやれそう…

Amazon RDSのMulti-AZ

「Amazon RDS MYSQL Performance Benchmarking」を読んだ。Amazon RDSのMulti-AZ構成を使うと、性能が落ちるらしいので、ベンチマークを確認したくてググっていたら見つけたページだ。 リンク先のPDFに詳細な結果が出ていた。結論としては、Multi-AZを使って…

EvernoteがSQLデータベースを使う理由

Evernote tech blogの「WhySQL?」を読んだ。いわゆるNoSQLの類を使わない理由として、 ACIDトランザクションがないとクライアント-サーバ間のプロトコルが複雑になる。 ユーザごとにデータセットが分かれているので、巨大なデータセットを扱う必要がない。 …

Javaプログラムのメモリリークを見つける方法

Plumbrというツールを使うと、Javaプログラムのメモリリークを見つけることができるらしい。「Screencast: how to use Plumbr」にその概要が書かれている。Plumbrは、実行中にオブジェクトの生成と破棄を解析して、生成されたのに破棄されないオブジェクトを…

SSD の write cliff

「Hard drives vs. SSDs」なる記事を読んだ。 コンシューマ向けSSDには、持続的な書き込み時のレイテンシに大きなバラツキがあることを「write cliff」と呼ぶらしい。コンシューマ向けSSDの、このような性能低下は、書き込み時にのみ起こる。 レイテンシは1…

SimpleDBにログを出力する

AWS

「Logging the cloud with SimpleDB」を読んだ。EC2で多数のサーバを運用しているとき、ログがそれぞれのマシンのローカルディスクにあるのは不便だ。しかも、インスタンスストレージにログを出力していると、インスタンスに障害が起こったときにログが消え…

Windowsの非同期I/Oと、OVERLAPPED構造体の寿命

The Old New Thingの「Ready... cancel... wait for it! (part 2)」を読んだ。この記事の結論はこうだ。 I/O完了ルーチンを使う場合、OVERLAPPED構造体はI/O完了ルーチンの実行が終わるまで解放してはならない。一般的には、OVERLAPPED構造体をスタックでは…

Amazon SimpleDB の高速で信頼性が高い使い方

「Building for Performance and Reliability with Amazon SimpleDB」を読んだ。いつものようにメモ。 所感 読んでいて意外に思ったのが、Getのパフォーマンスを上げるためにDomainを水平分割する必要はないらしいってこと。同じDomainに並列にクエリを投げ…

Googleウェブマスターツールは有料オプションでしか使えないらしい

残念なことだ。今はキャンペーン中らしく、一ヶ月無料でplusの機能が使えるらしい。 この期間にGoogleウェブマスターツールの確認をしてしまえばよさそうなのだが、 クレジットカード番号を登録しないとキャンペーンの対象にはならないようだ。まあ、ちょっ…

モバイルWebアプリ設計で気をつけることメモ

developerWorksの「モバイル Web のためのユーザー・インターフェースの設計」を読んだので、自分用にメモる。 PC上で2ペインのレイアウトは、モバイル機器では画面切り替えにできる。 タブの位置はiOSは画面下部、Androidは画面上部にする。 物理ボタンと重…

staticおじさんに見るOOPの成功

「staticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて」を読んで、ふと思った。オブジェクト指向プログラミング(OOP)が登場したころによく言われたことがある。End User Computing。難しい処理はプログラマが作ってオ…

C++0xのブロックスコープstatic変数が素晴らしい件

yamasaのネタ帳の「C++0x時代の Double-Checked Locking」を読んだ。Double-Checked Locking(DCL)を正しく実装するには、atomicな操作とメモリバリアが必要であるという話。 C++0xでそれが可能になったのだそうだ。メモリバリア付きでatomicな操作はWindows…

WindowsでMacのバンドルを実現する方法?

The Old New Thingsの「In Windows, the directory is the application bundle」を読んだ。どうしてWindowsはAppleのバンドルを盗まないのか、という出だしで始まるこの記事。 それ、ディレクトリでできるよ、というのが答え。 これは、キュートな名前を付け…

HTTPとHTTPSの混在について

IEBlogの「Internet Explorer 9 Security Part 4: Protecting Consumers from Malicious Mixed Content」を読んだ。 HTTPSページ中の画像 HTTPSのページの中にHTTPの画像などが含まれていると、man-in-the-middle攻撃の危険がある。Chrome13はこの危険性を無…

Windows非同期I/Oのキャンセル

The Old NewThingの「Ready... cancel... wait for it! (part 1)」を読んだ。非同期I/O開始時にAPIに渡したOVERLAPPED構造体は、I/Oが完了するまで解放してはならない、という話。 SUCCESSやERRORが返ってきたときはもちろんI/Oは完了している。 では、Cance…

SSLの取扱い

「IPA テクニカルウォッチ『暗号をめぐる最近の話題』に関するレポート」の2011年5月11日公開分を読んだ。簡単にメモ。 Comodo社による不正SSLサーバ証明書発行 この件はよく知らなかったのだが。 RSAは破られず、秘密鍵が漏洩したわけでもない。 単に一つの…

ブラウザの消費電力

IEBlogの「Browser Power Consumption—Leading the Industry with Internet Explorer 9」を読んだ。この記事では、いくつかの主要ブラウザをWindows7上で実行したときの消費電力を計測している。システム全体だけでなく、PCの各構成要素についても測っている…

TAoMPのLockOneクラス

「The Art of Multiprocessor Programming 並行プログラミングの原理から実践まで」を少しずつ読んでいる。 まだ最初の方しか読んでいないが、証明は読みなれないので骨が折れる。正しい理解かどうかはわからないが、とりあえずメモ。LockOneクラスの Lemma …

地味だけど重要な、ログのはなし

Technology of DeNAの「ソーシャルゲームのためのMySQL入門」を読みました。 MySQLか… 書いた人はMySQLが大好きらしい。 特定のRDBMS製品を大好きになれる人を私は知りません。 きっと素晴らしいものなんでしょう。 ログ系テーブル ログ系テーブルの運用は大…

MongoDBはモリモリですよ、たぶん

Publickeyの「Windows AzureがNoSQL対応を推進中。MongoDBやMembaseなど対応へ」を読みました。 MongoDBはNoSQL製品にしてはめずらしく Windows用のバイナリも配布しています。 AzureがMongoDB対応することになったのは、 他に候補があまりないということも…

TerracottaのBigMemory

POJO Mojo の「BigMemory Explained a bit...」を読みました。BigMemoryとはTerracotta社が開発した、Javaで文字通り巨大なメモリを扱うための技術です。 大容量メモリ使用時のガベージコレクション JVMのヒープサイズが大きいと、ガベージコレクションの停…

10K Apart

IEBlogの「10K Apart」を読みました。10K Apart Challenge というのは、10Kバイト以下でWebサイトを作っちゃおう大会です。 応募された作品は、近年のWeb技術を駆使してネイティブアプリと見間違えるようなWebアプリを実現しています。 Webアプリでもこんな…

Yahoo!のS4

Yahoo! LABSの「Project: Real-Time MapReduce」を読みました。Yahoo! LabsはS4と呼ばれる、リアルタイムのMapReduceフレームワークを構築しました。これにより、突発的な事件などによって刻々と変化するユーザの興味にリアルタイムで応えられるようになった…