CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
サイバーエージェントでは昨年、『デカグラフ』構想のもとにAmebaのスマートフォンプラットフォームをリリースした。この構想を実現するにはユーザー同士のつながりを効率よく管理する必要がある。それを実現するため、採用されたのが列指向分散データベース『HBase』である。なぜHBaseを選んだのか。その開発・運用を通してどんな知見が得られたのか。サイバーエージェントの鈴木俊裕氏が解説した。 大量データの書き込みに最適な『HBase』。RDBとの違いとは 「AmebaにおけるHBaseの導入事例を紹介する前に、まずはHBaseについて簡単に説明したい」──。冒頭でこう切り出したのはサイバーエージェントでHadoopを使ったログ解析基盤およびHBaseをつかった基盤システムの開発・運用を手掛けている鈴木氏である。続けて同氏は「HBaseを使ったことがある方」と参加者に問いかけた。すると手を挙げたのは
この間の Chef Casual Talks での id:nekoruri さんの発表、ChefとCapistranoの境界線 に対する 僕の考え方を書いておこうと思います。 Chefを導入する時の「考え方」 完全に同意します。 僕は community cookbooks を使おうとみんなに吹聴して回っているように、 大抵の環境で必要とされる内容は community cookbooks に収録されていることが多いです。 ただ、細く設定ができなかったり、ちょっと代わった入れ方をしたいときが出てくると community's ではカバーできなくなります。 そんなときは僕も fork して書き換える include_recipe して、追加の処理を書き足す (設定ファイルをごそっと上書きしたりとか) あたらしいものを作る などをして回避しています。 例えば、今関わっているお仕事では Apac
Chrome LoggerはPython/PHP/Ruby/node.jsに対応したGoogle Chromeでサーバサイドのログが表示できるChrome機能拡張です。 Google Chromeを使ってWebシステムを開発している時に、サーバサイドはログを見て、JavaScriptなどのクライアントサイドはコンソールを見ます。しかしこれでは面倒、という人にお勧めしたいのがChrome Loggerです。Google Chromeのデバッグツールにサーバサイドのログが出力できるようになります。 こんな感じのコードを書きます。 コンソールにサーバからのデバッグメッセージが出力できるようになります。 PHPの連想配列もJSONとして取得できています。 オプション画面です。 こんな感じに行数を出力することもできます。 Chrome Loggerの面白い点は、ツールとしてはChrome Logge
MySQL 5.6 では innodb_flush_log_at_trx_commit の意味が MySQL 5.5 と違う innodb_support_xa と binlog の危ない関係 で、 MySQL がトランザクションログのコミットをシングルスレッドでシーケンシャルに fsync していると書いたのですが、誤解だったのでその補足です。 タイトルの通り、 innodb_flush_log_at_trx_commit=1 の場合も、トランザクションログが fsync されません。トランザクションがディスクに書かれるシーケンスは次のようになります。 1. prepare (fsync) 2. write binlog (grouped, fsync) 3. commit このうち 1 は従来通り各スレッドで並列に実行され、 2 と 3 が昨日紹介した sql/binlog.cc の
rubocopはRubyのコード可読性をチェックするソフトウェアです。 プログラマーを何年やっていても、なかなか奇麗なコードに辿り着くのは困難です。ちょっと道を誤るとものすごいコードになっている場合もあります。そんな時には機械的に評価してくれるrubocopを使ってみましょう。 実行しました。色々な情報が出てきます。 Cは注意、Wはワーニングでしょうか。 ヘルプです。Emacsとの連携もできます。 rubocopでは内部での幾つかのルールに従って指定ディレクトリ以下のRubyコードについて評価を行ってくれます。筆者の場合、一行あたりの文字数が多くて引っかかるケースが多いようです。そうした点に注意して書くようにすれば、より可読性の高い美しいコードが書けるようになりそうです。 rubocopはRuby製、MIT Licenseのオープンソース・ソフトウェアです。 MOONGIFTはこう見る 美
YARDはRubyのコードからドキュメントを生成するライブラリです。 システム開発をしていて一定以上の規模になるとどうしてもドキュメントが欲しくなってきます。それは最低限必要なドキュメントの一つです。今回はコード中に書き込んだコメントからドキュメントを生成してくれるYARDを紹介します。 インストールしました。 yardocコマンドでドキュメントを生成します。docディレクトリの中に生成されます。 コントローラやモデルが一覧されています。 メソッドやサブクラスなどが表示されています。 サーバとして立てることもできます。 クラスリストはメニューから。 メソッドのリストも取れます。 YARDは次世代のrDocとして期待されているドキュメントシステムになります。@〜という形でパラメータや返り値、サンプルコードなどを記述します。サーバとして立ち上げて、プレビューしながら書いていけばドキュメント作成
CSS3 Drop Shadows GeneratorはCSS3を使ったボックスに対する影付け処理をビジュアル的に行えるサービスです。 CSS3を使えばテキストやボックスに対して影を付けるのが簡単です。とは言え細かくカスタマイズされた影をつけるのは非常に手間ひまがかかるでしょう。そこで使ってみたいのがビジュアル的に設定ができるCSS3 Drop Shadows Generatorです。 トップ画面です。 影の設定です。パラメータを色々いじるだけで表現が自在に変更できます。 ボックスの大きさも変えられます。 最後にスタイルの出力です。CSSとSASSで出力できます。 こんな感じに斜めの影も設定できます。 左右に付けるとちょっと膨らんだ感じに。 ボックスの大きさはもちろん、影の方向やぼかし具合、大きさも自由に変更ができます。基本的にスライダーがから選択するだけなので、簡単でしょう。そしてプレビ
今回のテーマは、Fair Schedulerを使った複数ジョブの同時実行です。1つのHadoopクラスタを使って複数のジョブを実行する際、どのようにクラスタのリソースを割り振るかが重要になります。複数のMapReduceジョブを同時に実行した際に、デフォルトの設定とFair Schedulerを使った場合で、どのような挙動の違いが生じるか、見ていきましょう。 HadoopのSchedulerとは? MapReduceジョブを実行する際、Hadoopクラスタ上では、予め指定されたslot数だけ、同時にMapタスクやReduceタスクが実行されます。デフォルトでは、1つのTaskTrackerあたり、Mapのslot数がとReduceのslot数がそれぞれ2に設定されています。そのため、ノードが10台ある環境では、MapとReduceのタスクがそれぞれ20ずつ同時に動くことができます。通常、1
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く