@doryokujinです。この業界で非常に強い影響力を持つ@kuwa_tw氏が某勉強会でMongoDBについてdisられており、このままではMongoDB自身の存続が危ういと思い、急遽ブログ書きました。(冗談ですよ) ザ・ドキュメント〜うまくいかないNoSQL〜 View more presentations from Akihiro Kuwano MongoDBを使っているときに出会うトラブルをうまくまとめてくださった「MongoDBあるある」的な良い資料だと思います。今日はここで書かれているトラブルの解決方法を提示したいと思います。恐らく@kuwa_tw氏は全ての解決方法を知っていながら、同じトラブルへ悩む人のためにあえてdisったのだと思います。 MongoDB はデータベースもコレクションも存在しなければ自動作成してくれる mongoシェルを起動する場合、たいていは $ mong
いままで勉強会に顔を出し、すばらしいエンジニアと数多く会うことができた。そして、スーパーエンジニアと共に仕事をすることもできたし、できている。そんなスーパーエンジニア達が持っていた習慣を僕の経験と視点からまとめてみる。 自分が使う道具を厳選して選んで手入れをしている エンジニアでいえばエディタやツールなど。皆が使っているIDEやエディタを何も考えずに使い始めたりしない。 厳選したエディタやツールを使って、手になじませるのである。手になじませるというのは、2つの意味がある。 1つは操作性に慣れること。呼吸をするように自然に、キーボードの上を駆け回る心地よいリズムを奏でるエディタを選ぶ。 2つめは、自分に合わせて拡張しているということ。プラグインのON/OFFだけではなく、オリジナルのショートカットを設定し、適切なハイライト、シンタックスのチェック、コーディングルールのチェック、様々な言語への
conditions precedent: use daemontools & multilogPoints: make DB connection after forkdo not trap SIGTERM while calling queue_wait(), so that the process can be shut down while waiting for the response from q4mremove $time and add $PID for log. Because I'm using multilog. It prints the tai64n automatically(and, tai64n is better).package OreOre::Worker::Base; use strict; use warnings; use parent qw/
このブログはmshojが記述しています。 ご連絡はこちらまで mail : guyst.326あっとまーくじーめーるどっとこむ twitter : @mshoj 仕事場のPCのTortoiseSVNを日本語化しようとしたら、 ちょこっとハマったので軌跡などをメモ。 重要なポイントは二つ。 ・TortoiseSVN本体と言語パックのバージョンに ズレがあると、日本語化は上手くいかない。 ・TortoiseSVNは「プログラムの追加と削除」から 削除しても、ちゃんと削除されない。 アンインストーラーがないんで、そうするしかないんですが、 コレで削除してもインストールフォルダが残ったままで、 アンインストール前のデータが残っちゃったりしてます。 この二つのポイントを抑えればもう2度とハマる事もないはず。 以下にハマった軌跡を箇条書きしておきます。 ・仕事場のTortoiseSVN(ver1.6.
2009/04/28 米グーグルは4月24日、ソフトウェア開発プロジェクトのホスティングサービス「Google Code」で、これまでのSubversionに加えて分散バージョン管理システム(DVCS)の「Mercurial」のサポートを開始すると発表した。現在はプレビューリリースで、一部のプロジェクト利用者に提供。一般リリースに向けて、いくつかの課題を解決していくという。Google Codeでは、Mercurialサポートのために、一般のMercurialがオブジェクトの保存に使うOSネイティブのストレージに代えて、グーグルの分散データベースシステム「BigTable」を使うように書き換えたという。 DVCSとしては、MercurialのほかにGitやBazaarが知られている。従来からある中央管理型のバージョン管理システムに比べて、分散開発がやりやすいことから、普及が進んでいる。例え
ちょっと前に「thriftって便利らしいよー」って話を聞いていたのだけれども、なかなか手をつけられずにいたらはてなブックーマークで使われているらしいという噂を聞いたり、Thriftを使って俺俺Key-Value Storeを作ったのように、TXを使ったThriftの紹介などが出てきたりしたのでそろそろ自分でも試したいなあと思い、試しました。で、先に結論を言っておくとThrift、とても気に入りました。とても簡単に処理用の専用サーバをたてることができて、かつ簡単にクライアントから処理要求が送れます。ボクは今まではRESTFulな感じでhttpでこのタスクをやっていたのですが、RESTFulな専用サーバをたてるのは結構開発コストがかかるんですよね。その点で、Thriftは開発コストはとても落ちると思うのでとても気に入っています。なんといって言語バインディングを自動で生成してくれるのは本当に開発
クラウドのように大規模なシステムでは、ソフトウェアの開発と同等以上に、大規模運用の巧拙が、システム全体の成功を大きく左右します。 6月22日から、米サンタクララで行われていたWebサイトのパフォーマンスと運用に関するオライリーのイベント「Velocity 2010」で、FacebookのTechnical Operations teamを担当するTom Cook氏が「A Day in the Life of Facebook Operations」(Facebook運用のある1日)と題したセッションで、Facebookがふだんどのような運用を行っているか、紹介しています。 世界でトップクラスの大規模サイトが、普段どのようなツールを用い、どのような方法で運用しているのか、セッションの内容を紹介しましょう。 6年で4億アクティブユーザー、3カ所のデータセンター Tom Cook氏。Facebo
ついでにもうひとつ、AtomikosのCTOであるGuy Pardon氏のブログから。こちらも誤訳もいっぱいあると思うが、参考までに公開しておく。 Guy's Blog Sunday, September 07, 2008 CAPの解決策(Brewerが間違っているって証明しよう) コンピューターサイエンスの最新の挑戦のうちのひとつは、CAP定理だろう。それは、大規模でクラスタ化された(ウェブ)サービスのアーキテクチャを構築するにあたって、明らかに不可能なことについて述べている。それが(おそらく)真実だと証明されたという事実があるので、私がここで書くつもりことは、ほとんどありえないことになってしまう。そうだしても、読んでほしい。というのも、私が正しくて、最終的にはCAPが不可能でないことを証明するつもりなのだから...。CAPの不可能性の証明は数学的には正しいけれど、それはあまりに厳しすぎ
Google Scholar では、さまざまな学術文献を簡単に検索できます。多岐にわたる分野と出典の論説、論文、書籍、要約、法律関係資料をお探しいただけます。
MySQLの中の人です。InnoDBの堅さについて回答したいと思います。 InnoDBはディスク関連のオブジェクトとして、テーブルスペースとログファイルを作成します。この点は一般的なRDBMSと同じですね。トランザクションをコミットしたときにはログファイルへfsync()でされますので、コミット済みであればマシンが転けても再起動後にリカバリ処理によってデータが復活します。(ただし、一部の内蔵SATAディスクではキャッシュメモリが搭載されており、ライトバックモードで使っていると、OSが書き込んだはずのデータが電源が飛んだときなどに消えてしまう危険性があり、注意が必要です。ちゃんとRAID装置などを使っていれば問題ありませんが。) テーブルスペースへの更新には「ダブルライト」という技術を使って堅牢製を高めています。要するに、2度同じ情報を別の領域に書き込むことにより、テーブルスペースが壊れない
The following error occurred: The requested URL was not found on this server. Please check the URL or contact the webmaster.
はてなブックマークの人気エントリで「SQLを使うなら理解しておきたいアルゴリズム?…」という記事を眺めていて、実際にSQLのアルゴリズムを説明するにはどうすればよいか考えてみました。そこで、試しにSQLの実行計画をJavaで再現してみることにしました。 今回は索引アクセスとテーブル結合に関する7種類のSQLについて、MySQLのEXPLAIN結果とそれに対応するJavaのコードを記述しました。EXPLAINの読み方を言葉で説明するのは非常に難しいのですが、プログラムを読める方ならこうした説明が一番分かりやすいのではないでしょうか。 import java.util.ArrayList; import java.util.List; import java.util.SortedMap; import java.util.TreeMap; public class Study { publi
前に考えていた開発プロセスの変更を色々試行錯誤してみてある程度固まってきました。過去の記事は以下からどうぞ。 Subversion, Git, Redmine, Hudson – 現状の連携 » tune web Subversion, Git, Redmine, Hudson – 今考えている連携 » tune web Subversion, Git, Redmine, Hudson – 今考えている連携2 » tune web ネットワークが切り離された外部チームとのやりとりは結局git bundleにしました。外部チームからはパッチでもらい、レビューした後に適用する。ある程度開発が進んだらgit bundleでリポジトリをコピーして外部チームに送付。外部チームはbundleファイルをそれぞれcloneして開発を行い、適宜git fetch/git pullしながら更新に追従します。タ
楽天が2012年末までに社内で英語を公用語にすると発表した。 オーナー経営者の三木谷社長の強力な意向で決まったのは想像に難くない。 確かに、製造業を除く日本企業の海外進出がなかなか進まない現状を見ると、 言語面を強化しなければならないという問題意識は良く分かる。 英語を公用語化することには以下のようなメリットがあると思われる。 1.海外からの人材獲得が容易に 今後アジア市場などを開拓するにあたって、 優秀な幹部を雇用するには言語環境が英語である事は重要だろう。 現在、アジア域内で優秀な人材の多くが 米国・シンガポール・香港に集まってきている事実はこの事を裏付けている。 バックオフィス部門を海外、例えばインドなどに移管する際にも 社内が英語化されていれば障壁が低くなる 一方で、楽天は雇用慣行も米国を意識したものに変える必要がある。 採用のトップ画面が、「新卒」「中途」「MBA」なんて分類にな
【バグ管理の作法】Trac徹底活用! 第3回:チケットドリブン開発でバグ削減! 著者:masuidrive 公開日:2007/12/20(木) 1. 依頼主がチケット登録 まずはチケット作成である。作業依頼主が、その作業に関するチケットをTracに登録する。依頼主がTracに精通していない場合は、作業者や別のマネージャが代理で登録してもかまいまわない。 2. チケット精査 チケットの範囲が大きすぎる場合、作業しやすいように適当な大きさに分割する。これは主にマネージャの仕事である。大きすぎる場合などは作業者が自分で行ってもよい。 チケットは1人が3〜4日か、それ以下でできる作業が望ましい。またソースコードのコミット時にチケット番号を付与することを考えて、ソースコードで作業する単位でチケットを切ると作業が楽になる。 3. チケットに着手する 作業に着手する前にチケットの状態を「assinged
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く