タグ

ブックマーク / blog.stanaka.org (8)

  • データベースのモダンな使い方を知りたい人のための「Webエンジニアのためのデータベース技術[実践]入門」 - stanaka's blog

    「Webエンジニアのためのデータベース技術実践入門」を献いただきました。著者の松信さんはMySQLの専門家で、これまでも数々の良書を執筆されています。ここ1,2年でデータベースの設計や運用の考え方は大きく進化したのですが、そのあたりが分かり易く解説されており、期待を裏切らない良でした。 Webエンジニアのための データベース技術[実践]入門 (Software Design plus) 作者: 松信嘉範出版社/メーカー: 技術評論社発売日: 2012/03/09メディア: 単行(ソフトカバー)購入: 20人 クリック: 480回この商品を含むブログを見る 目次は松信さんのブログエントリにありますが、データベース技術の背景にある考え方から、具体的な概念、MySQLでの実践的な運用、データベースに適したハードウェアの特性まで記述されており、Webアプリケーションエンジニアはこの一冊を読ん

    データベースのモダンな使い方を知りたい人のための「Webエンジニアのためのデータベース技術[実践]入門」 - stanaka's blog
  • 明後日(7/7)「Web開発者のための大規模サービス技術入門」が発売されます - stanaka's blog

    「Web開発者のための大規模サービス技術入門」をid:naoyaと共著で書きました。執筆の経緯については既に書かれていますので、そちらも参照してみてください。 「Web開発者のための大規模サービス技術入門」というを書きました - naoyaのはてなダイアリー このは、はてなのインターンの講義内容を一冊にまとめたものです。はてなのインターンは、前半ではてなエンジニア陣による講義でWeb技術全体を俯瞰し、後半で実際にコードを書きながらサービス開発に携わる、という構成になっています。書は、その前半の講義を、さらに濃く凝縮した内容となっています。 インターンでの講義内容は、Perlの基、シンプルなウェブサービスを作成するところから、はてな規模のサービスの構築・実装方法までを網羅しています。これらの技術は、アプリケーションエンジニアからインフラエンジニアまでWebサービスに関わる全てのエン

    明後日(7/7)「Web開発者のための大規模サービス技術入門」が発売されます - stanaka's blog
  • Perlプログラマのためのgdb入門(at Shibuya.pm #9 LT) - とあるはてな社員の日記

    先日のShibuya.pm #9のLightening Talkで「gdbでXS on mod_perlをデバッグ」という話をしてきました。XSを使い出すと、従来のPerl的デバッグだけでは不十分なのでgdbをうまく使って、効率的にデバッグしましょう、という話です。実は、はてな社内では1年近く前に勉強で話したネタだったのですが、ようやく公開することができました。 Shibuya.pmでは5分という枠があったのでショートver.でしたが、ここでは制限はないので、来のロングバージョンの資料をアップします。ちょっと公開できない情報が混っていたので、xxxで隠していますが、ご了承ください。 ちなみに、Rubyとかでも似た感じでデバッグできると思うので、そちらの人も参考にしてください。長いよ!という人は、最後の「これは設定しておけ的gdb初期化マクロ」だけでもどうぞ。かなり便利です。 (資料公開が

    Perlプログラマのためのgdb入門(at Shibuya.pm #9 LT) - とあるはてな社員の日記
  • 自作サーバカンファレンス - stanaka's blog

    昨晩、自作サーバカンファレンスを開催しました。その時のオープニングプレゼンを公開します。(オープニングなので短かいものですが) Original Server ConferenceView more presentations from Shinji Tanaka. カンファレンスの内容については、id:rx7さんのエントリとBB watchさんの記事があがっておりますので、それらをご参照ください。id:rx7さんのエントリには、Ustreamの録画もありますので、是非、ご覧ください。 他のスピーカーの方にも資料公開をお願いしております。公開され次第、リンクを追加していきたいと思います。 来年もネタが溜まれば、是非開催したいと思いますので、今後ともよろしくお願いします。

    自作サーバカンファレンス - stanaka's blog
  • TheSchwartz / Gearman のワーカープロセス管理WorkerManager - stanaka's blog

    概要 Perlの非同期処理システムとしてTheSchwartz / Gearmanを非常に便利に使っているのですが、いい感じにワーカープロセスを管理したかったので、WorkerManagerなるものを作ってみました。作ったのは実は1年以上前なのですが、ようやくの公開です。 基は、Apacheのpreforkモデルを踏襲しています。特徴は、 子プロセスを複数起動させて、ジョブを並列実行 一定回数のジョブを実行したら、子プロセスを再作成 クラスを定義するのみでジョブを実行 TheSchwartz / Gearmanの切り替えを最低限の変更で実現 ワーカープロセスの安全な停止(プロセス停止の際に、実行中のジョブの終了後に終了) ジョブの実行時のタイムスタンプをジョブ投入からの遅延をログに保存 というあたりです。preforkモデルなので、あまりモダンな設計ではないですが、gdbでのデバッグの容

    TheSchwartz / Gearman のワーカープロセス管理WorkerManager - stanaka's blog
  • はてなでの仮想化技術の使い方@AMDセミナー - とあるはてな社員の日記

    先週、AMD主催のセミナーで「はてなでの仮想化技術の使い方」という発表をしてきました。 はてなでは、1年半ほど前から仮想化技術に取り込んでおり、現在では300台以上のサーバが仮想化されています。仮想化技術には、様々なメリットがありますが、はてなではサーバリソース利用率の向上と、システムの安定化の二つの利点を重視しています。サーバを仮想化していく際に、どのようなポリシーで一つの物理的なサーバに仮想化ホストを積み重ねているか、とか、実際どれぐらい効率を上げられているか、とか、あとAMDさんのセミナーなので、消費電力的にはOpteronが実測結果からは10〜20%程度効率がいい(負荷時にOpteron 1.82A, Xeon 2.17A)、というあたりの話をしてきました。 How to use Virtualization Technology in HatenaView more presen

    はてなでの仮想化技術の使い方@AMDセミナー - とあるはてな社員の日記
  • 1日で作る全文検索エンジン - Building a full-text search engine in "ONE" day - - とあるはてな社員の日記

    最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めのです。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン

  • とあるはてな社員の日記 - まっさらなサーバを30分で本番投入できるようにする

    すこし前にはてなスターのリリースがされたのですが、サービス開始直後にありがちなことに、時々負荷で遅くなったり、アクセスしにくくなったりしてしまいました*1。これではいけない、ということで、すぐ次の日に、バックエンドのサーバを一気に10台近くまで増やして、おおむね快適に使える状態になっていると思います。この時に、新しいサーバをまっさらな状態から、だいたい30分程度で番投入することができていました。これを、どのように実現したのかを軽く紹介したいと思います。 ちなみに、サービスの重さは、サーバ増強だけで済むものではなく、それ以降も、Javascriptが重い!とか、アプリケーションロジックで重いSQL を走らせてしまって遅いという問題は何回かありました。が、そこはインフラではなく、アプリケーションの問題で、アプリケーションの改善は、継続的に進んでいると思います。ので、今回は、インフラの話に限定

    とあるはてな社員の日記 - まっさらなサーバを30分で本番投入できるようにする
    yokochie
    yokochie 2007/07/29
    CPANモジュールって面倒なのよね
  • 1