2012-01-01から1年間の記事一覧

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

Dustin Boswell Trevor Foucher プログラムをきれいに書こう、という話はよくあるが、「きれい」というのは基準になってるようで なってない。なので、ついついリファクタリングやりすぎて無駄に抽象クラス作ってみたり、 無駄にファクトリクラス作ってみた…

デバッグの理論と実践 ―なぜプログラムはうまく動かないのか

Andreas Zeller 未だに個人的な技芸の域を脱しきれていないプログラミングと言う過程の中でも特に 属人的な要素の強いデバッグという過程に対して、「科学的」な手法を適用すれば システマティックにデバッグできることを示している、かなり画期的な本。 個…

2週間でできる! スクリプト言語の作り方

千葉 滋 Javaでスクリプト言語を作る本。著者は、畏友 千葉さん。お忙しいのに本まで書いて頭がさがる。体裁は割りに軽めだが、中身はすごい。まずは普通にインタプリタで作り、その後仮想コードコンパイラに仮想コードインタプリタを組み合わせ、さらに型解…

さくらクラウド復活

パブリックベータ状態にもどって課金なしとなっていたさくらクラウドだが、あたらしいストレージの性能にめどが立って、10/1より課金を再開するとのアナウンスがあった。なにはともあれめでたい。publickeyによると、当初の予定とは異なり、完全な自社開発サ…

Amazon の6月の障害

2012年6月にあったAmazon AWS の障害について。publickeyさんから、備忘録としてさらにまとめてみる。6月14日にもあったようだが、こちらは比較的単純な電源断。ケーブル障害に発電機のクーリングファン障害が重なったというもので、障害時間も2時間弱。一方…

さくらのクラウドの件

2011年11月に導入されたさくらのクラウド、最低価格が月額2500円と安く大きな話題になったにも関わらず、春先に大規模なストレージ障害に見まわれ、新規募集を停止した。ここまでは記憶にあったのだけど、その後ニュースを聞かないな、と思って調べてみた。…

すごいHaskellたのしく学ぼう!

Miran Lipovača Haskell入門書。一見軽い入り口だけの本のようにも見えるが、内容的には結構ハードでガンガン進むので、読み流しているとガンガン置いて行かれる。コンパクトにまとまった良書ではあるが、この本を読んだだけではHaskellの深奥にはたどり着け…

Amazon 2011年4月の障害

古い話だけどこちらも。publickeyの記事より。2011年4月21日から23日にかけて生じた大規模障害。こちらがamazonからの発表。EBSの構成について詳しく書かれていて非常に興味深い。あんまり関係ないけど、このページすっごく読みにくい。改行幅が小さすぎ、英…

Amazon Glacier

Amazon Glacier なるサービスが公開された。Glacierは氷河。データを凍りづけにするってことか。 なんなのか 要するに(おそらくは)テープバックアップストレージのクラウドサービスである。非常に安価である代わりに読み出し速度は非常に遅く、読み出しに…

ファーストサーバの件

これも古い話だがまとめておく。2012年6月20日に発生した障害。 日経の記事。こちらも。 最終報告の記事。 何が起きたのか ファーストサーバは、レンタルサーバ会社。主に仮想環境のホスティングを行なっている。そのホスティング環境上のファイルが大規模に…

ZooKeeper を使ってみる(2)

1年半ぶりにZooKeeperネタ。複数サーバを立てるには、というお話。まずは同一ホストに複数のZooKeeperノードを立ててみる。 設定ファイル 設定ファイルをノードごとに用意する必要がある。最小限の設定ファイルは、下記のようになる。 tickTime=2000 dataDir…

Mat Honan の件

さんざんあちこちで書かれているけど、備忘録としてまとめておく。 ソースはこちら。 何が起きたのか もとGIZMODEでWiredに移った人気ブロガー?のMat Honanのさまざまなアカウントがハックされ、Twitter に彼のアカウントでひどいTweetが投稿された。それだ…

Waf

Wafはビルドツールの一つで、python で書かれている。ちょっと面白いので調べてみた。 Waf とは Wafは、MakeやRakeのようにソースツリーをビルドするツール。スクリプト言語で書かれているので機能を簡単に拡張できるところはRakeにちかいか。Rakeと同様に、…

EC2 High I/O Instances

知らない間にEC2にあたらしいインスタンスが追加されていた。High I/O Instanceというもの。 なんなのか 要するに通常のディスクより高速なストレージが使えるインスタンス。どうやってつながってるのかは書かれていないが、SSDベースで1Tのボリュームが2つ…

Google Cloud Storage でStatic Web Site

某ホスティングサービス上で(ほとんど誰も見てない)静的なWeb Siteを運用していたのだけど、今どきもっと他の方法があるだろう、ということで調べてみた。もちろん、App Engineでやることもできるのだけど、それはちょっとどうなの?ということで。そもそ…

Google Compute Engine

Google I/Oで Google Compute Engine の発表があった。Google App EngineがPaaSなのに対して、Compute EngineのほうはIaaS。要するにAmazon EC2型の仮想計算機を提供する形のクラウドだ。 ただのIaaSかよ 個人的には結構意外、というか残念だった。確かにPaa…

Dropbox とGoogle Driveのシンボリックリンクの挙動の違い

Google DocumentがDriveと改称され、Dropbox的に利用できるようになった。Macではアプリを入れるとGoogle Driveというディレクトリがhomeに作られ、そこに入れたファイルが自動的にクラウドにバックアップされる。他にもGoogle Driveを導入したマシンがあれ…

Hadoop MapReduce デザインパターン ―MapReduceによる大規模テキストデータ処理

Jimmy Lin, Chris Dyer 流行のMapReduce は力技で大量のデータ処理ができるが、だからといってなにも工夫が必要でないわけではない。かいてみると以外に制約も多く、なかなか思った通りのことを書けなかったりする。本書は、そのような場合に適用できるさま…

Google App Engine for Java実践ガイド

小川信一 いつもお世話になっている、Google API Expertの小川信一さんによるApp Engineの本。App Engineは動きが早いので、(私のも含めて)これまでの本は結構寿命が短かったけど、ここのところさすがに動きがおさまってきたので、この本は長くリファレン…

Jenkins実践入門 〜ビルド・テスト・デプロイを自動化する技術

佐藤 聖規, 和田 貴久, 河村 雅人, 米沢 弘樹, 山岸 啓 以前はHudsonと呼ばれていたContinuous Integration(CI) のためのツールJenkinsの本。著者の方々は、NTTデータの皆様。監修をしている川口耕介氏が開発。CIとは、ビルドとかテストとかを完全に自動化…