タグ

ブックマーク / gihyo.jp (32)

  • Twitter、分散リアルタイム処理システム「Storm」公開 | gihyo.jp

    2011年9月18日、Twitterは分散リアルタイム処理システム「Storm」をオープンソースで公開しました。より正確に言うと、2011年7月に買収されたBackTypeのメンバーが買収以前より開発を進めていたものです。BackTypeはTwitterのつぶやきを解析するシステムを開発していたスタートアップ企業でHadoopのヘビーユーザでもありましたが、リアルタイム性の問題点を解消すべくStormの開発に至ったようです。ちなみに同じオープンソースの分散リアルタイム処理システムとして米Yahoo! が「S4」を公開していますが、Stormはデータを処理する信頼性の高さやAPIのシンプルさに違いがあります。 StormのアーキテクチャはHadoopと似通っており、クラスタはMaster-Workerパターンに基づいています。Masterノードには「Nimbus⁠」⁠、Workerノードには

    Twitter、分散リアルタイム処理システム「Storm」公開 | gihyo.jp
  • YAPC::Asia Tokyo 2011 スペシャルレポート 記事一覧 | gihyo.jp

    YAPC::Asia Tokyo 2011 2日目レポート[随時更新] 間雅洋,東聡志,with 編集部 2011-10-15

    YAPC::Asia Tokyo 2011 スペシャルレポート 記事一覧 | gihyo.jp
  • 第1回 Pacemakerの歴史を見てみよう!:Pacemakerでかんたんクラスタリング体験してみよう!|gihyo.jp … 技術評論社

    はじめに Pacemakerというと、心臓ペースメーカーやマラソンペースメーカー、某DJガジェットという印象があるかもしれませんが、それだけではありません! この連載ではオープンソースで作られているHAクラスタソフト「Pacemaker」を概要から構築、保守運用にいたるまでLinux-HA Japanのプロジェクトメンバーで紹介します。HAクラスタは敷居が高いと考える人は多いでしょうが、この連載で身近なソフトウェアと思っていただければ幸いです。記念すべき連載第1回目では、Pacemakerの概要、歴史を紹介します。 HAクラスタって? まずクラスタとは何か説明しましょう。クラスタとはもともと果実や花の房という意味で、同じようにまとまっているものの事を言います。 複数のコンピュータをつなげ、全体で1つのコンピュータのように振る舞わせる技術で、大きく分けて信頼性向上を目的とした「高可用性(Hi

    第1回 Pacemakerの歴史を見てみよう!:Pacemakerでかんたんクラスタリング体験してみよう!|gihyo.jp … 技術評論社
  • 第5回 Pacemakerを運用してみよう![保守運用編(2)] | gihyo.jp

    ここでは、リソースのmonitor故障検知時の動作について説明します。Pacemakerはリソースのmonitor故障を検知した場合は、故障が発生したサーバにフェイルカウント(フラグ)を立て、リソースのフェイルオーバ処理を実施します。 図1 リソース故障 故障を発生させてみよう では、実際にリソース故障を発生させて、Pacemakerの動きを見てみましょう。今回はリソース故障を擬似的に起こすため、Pacemaker稼働中にhttpdを停止します。 # /etc/init.d/httpd stop httpd停止後crm_monコマンドを実行すると、pm01でhttpdのmonitor故障を検知したため、故障回数と故障内容が表示され、リソースがpm02にフェイルオーバしていることが確認できます。 Online: [ pm01 pm02 ] Resource Group: web vip (o

    第5回 Pacemakerを運用してみよう![保守運用編(2)] | gihyo.jp
  • 第2回 PayPalのエクスプレス チェックアウトの実装 | gihyo.jp

    エクスプレス チェックアウトは、「⁠PayPal(ペイパル⁠)⁠」の決済ソリューションの1つです。エクスプレス チェックアウトは、購入者がPayPalアカウント設定時に登録したクレジットカード番号や配送先情報を使用して決済処理を行いますので、購入者はクレジットカード情報を再度入力することなく、PayPalアカウントにログインし、シンプルな確認および承認作業を行うだけで決済を完了できます。スムーズな決済フローを実現しており、かご落ち率の減少に貢献します。 PayPalサイト エクスプレス チェックアウト紹介ページ http://bit.ly/esCGWs しかも、エクスプレス チェックアウトを使うことで、決済処理の他に、PayPalのアカウントに既に保存されている住所情報を取得して、ユーザーに新たに住所情報などを入力させることなく、配送先の住所として使うこともできます。 たとえば、米国のBl

    第2回 PayPalのエクスプレス チェックアウトの実装 | gihyo.jp
    asaox
    asaox 2011/05/10
  • 第2回 Pacemakerをインストールしてみよう![構築基本編] | gihyo.jp

    NICは3つ使用します。1つはサービス提供用、残りの2つはインターコネクト通信用です。ネットワーク構成は図1のようになっているとし、サーバからインターネット接続できるようにしてください。 作業はrootユーザで行います。sshでリモート作業する場合には、必要に応じてパスワード入力してください。 作業用にサーバpm01で、ターミナルを1つ起動してください。ほとんどの作業はこのターミナルで行います。 図1 ネットワーク構成 Pacemakerのインストール 第1回でPacemakerは複数のコンポーネントの組み合わせとして提供されるという話をしました。そこで、Linux-HA Japanでは、必要なrpmがすべて入ったyumリポジトリ(Pacemakerリポジトリパッケージ)を配布しています。このyumリポジトリにはLinux-HA Japanで開発したオリジナルパッケージも含まれています。

    第2回 Pacemakerをインストールしてみよう![構築基本編] | gihyo.jp
  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • 第4回 Redisを用いたアプリケーション開発(2) | gihyo.jp

    前回紹介したRedisのLIST型に続き、今回はSET型とSORTED SET型について、その構造とWebアプリケーション開発への応用を紹介します。 SET型の構造 RedisのSET型は、重複のない文字列要素の集合を保持するデータ型です。Javaのコレクションフレームワークをご存知の方には、「⁠HashSet」のようなもの、と想像していただくと分かりやすいかと思います。 LIST型のPUSHやPOPと同様、SET型への追加/削除の時間計算量はO(1)となり、理論上はサイズに関係なく一定時間で操作できることになります。実際、ニコニコ生放送のシステムでは、要素数にして数万規模のSET型に対して、分間数千~数万回の追加操作を行っています。 一見、SET型のデータ構造は単純すぎて、アプリケーションで活用する機会が想像しにくいかもれません。RedisにはHash型という連想配列のように使えるデータ

    第4回 Redisを用いたアプリケーション開発(2) | gihyo.jp
    asaox
    asaox 2011/03/09
  • 第3回 RedisによるWebアプリケーション開発(1) | gihyo.jp

    前回までに、Redisの概要と、コマンドラインクライアントによる基的なコマンド操作を見てきました。今回からは、Redisのデータ型を使ったアプリケーション開発について、簡単なサンプルコードと、ニコニコ生放送での事例を交えて紹介していきます。 クライアントライブラリを用いた開発 WebアプリケーションからRedisにアクセスするには、言語ごとのクライアントライブラリを導入することになります。公式サイトにライブラリがリストアップされていますので、各々の環境に合ったものを探してください。 ニコニコ生放送では、PHPによる開発の場合にはphpredisを、Javaで実装している検索サーバーなどではJedisやJRedisを使っています。 今回から掲載するサンプルコードでもこれらのライブラリを使っていきますので、他のライブラリを導入される方はそれぞれ対応するAPIに置き換えてご覧ください。 LIS

    第3回 RedisによるWebアプリケーション開発(1) | gihyo.jp
    asaox
    asaox 2011/03/03
  • 第2回 Redisの導入と基本機能 | gihyo.jp

    今回は実際にRedisをインストールしてみるところから、コマンドラインクライアントを使った基的な操作方法、そして実際のアプリケーション開発時に重宝するDB選択やタイムアウトなどのRedis特有の仕様について説明します。 インストール ダウンロード 連載執筆時点の最新stableである、2.0.4をダウンロードします。 $ wget http://redis.googlecode.com/files/redis-2.0.4.tar.gz コンパイル RedisはANSI Cで書かれ、外部の依存ライブラリの必要ないシンプルな実装になっているため、コンパイルは以下のステップで完了します。 $ tar xzf redis-2.0.4.tar.gz $ cd redis-2.0.4 $ make 「redis-server」や「redis-cli」が生成されたのを確認してください。 設定の変更

    第2回 Redisの導入と基本機能 | gihyo.jp
    asaox
    asaox 2011/02/16
  • 第1回 インメモリデータストア Redisの概要 | gihyo.jp

    はじめに 株式会社ドワンゴで「ニコニコ生放送」の開発を担当している、小野と申します。特集では、いわゆる「NoSQL」の一種であるRedisの概要と基操作、そしてWebアプリケーションでの応用例までを、ニコニコ生放送での事例を交えながら紹介していきます。 Redisとは? Redisは、Salvatore Sanfilippo氏によって2009年に公開されたインメモリベースのキー・バリュー・ストアです。2010年3月にはVMWareが同氏を雇入れ、同社の支援のもと、コントリビューターのPieter Noordhuis氏と共にフルタイムで開発が進められています。 記事執筆時点での最新stableはバージョン2.0となり、新しいデータ型の追加やトランザクションのサポート、VM(仮想メモリ)の実装などが追加されました。 また、メモリ効率の向上やスループットの改善が図られたバージョン2.2が間

    第1回 インメモリデータストア Redisの概要 | gihyo.jp
    asaox
    asaox 2011/02/09
  • 第2回 jQueryの基本(お題編) | gihyo.jp

    はじめに 第2回の今回からは格的にjsdo.it -Share JavaScript,HTML5 and CSS-(⁠以下、jsdo.it)を使ってJavaScriptを勉強していきたいと思います。毎回お題編と回答編に分けてやる予定で、お題編では基礎知識を解説してそれに関連した課題を出し、それをjsdo.itでつくってもらい、回答編で解説するというかたちで連載を進めていきます。 今回はjQueryの基のお題編ということで、jQueryの基礎を解説したあと最後にお題がありますのでそちらを次回までにやっておくとより理解が深まるはずです。 jQueryってなに? そもそもjQueryとはなんでしょう。まったく知らないという人もいれば名前くらいは聞いたことがある、いつもJavaScriptを書くときは使っている、さまざまだと思います。今回は初回なので念のためjQueryとな何なのかというところ

    第2回 jQueryの基本(お題編) | gihyo.jp
    asaox
    asaox 2011/01/18
  • Google Chrome版Firebug:デベロッパーツール取扱説明書 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    Google Chrome版Firebug:デベロッパーツール取扱説明書 記事一覧 | gihyo.jp
  • 第41回 Sinatra 1.0の世界にようこそ | gihyo.jp

    はじめに SinatraはRubyで記述されたWebアプリケーションを素早く、簡単につくるためのDSL(ドメイン固有言語)です。 すでに第7回で、原悠さんにより「小規模Webアプリのためのフレームワーク、Sinatra」というかたちで紹介されています。 簡潔な文法で、高い表現力を持つSinatraは、アメリカRubyコミュニティや企業を中心に、瞬く間にユーザを増やしました。また、Rubyという一言語に留まらず[1]⁠、Sinatraを模したフレームワークが多く作られている現状からも、SinatraはWebアプリケーション開発そのものにも大きな影響を与えたと言えます。 最近ではここ日でも、個人利用を中心に、そこかしこでSinatraを使って開発をしている、という話を聞くようになりました。筆者自身、1ユーザとして現在業務で利用しており、1年前は知る人ぞ知る存在だったSinatraは、実際に

    第41回 Sinatra 1.0の世界にようこそ | gihyo.jp
  • 第7回 Hadoopを使って分散処理をやってみよう! | gihyo.jp

    さて今回から新しいテーマです。 分散計算フレームワークであるHadoopを導入から実践までを連載します。よろしくお願いします。 Google技術から生まれたHadoop わたしたちは日常、ごく当たり前にGoogleのサービスを使っています。 あそこの店の情報を知りたい、有名人xxさんってどんな人?、あの大事件を振り返って調べたい、などなど。生活に密着した情報だったり、過去を振り返って社会現象を調べたり、あるいは芸能人のゴシップネタを検索したりと、知りたいことは人それぞれで目的も全く違いますが、Googleの検索を利用すれば一発で目的の情報(あるいは近い情報)にたどり着くことができます。 世界中の何億というWebページについて文言によってインデックス化してなければとうていできない芸当です。そしてウェブページは新たに作られ、または消えてしまうものでもあります。ものすごく膨大なテキストデータの

    第7回 Hadoopを使って分散処理をやってみよう! | gihyo.jp
    asaox
    asaox 2010/12/15
  • 第43回 Rails 3を支える名脇役たち その1 - Arel - | gihyo.jp

    はじめに Ruby on Railsの2年半ぶりのメジャーバージョンアップである3.0の正式リリースがいよいよ間近に迫ってきました。 Rails 3は、アプリケーション・レベルではRails 2.3との互換性をなるべく保ちながらも、メジャーバージョンアップだけあってフレームワーク自体は隅々にまで徹底的なリファクタリングが施されて更なる洗練を遂げています。結果として、Rails 3では融通の効かないフルスタック構造を捨ててすっきりとしたモジュール独立性が実現されているのですが、この際に、Merbとの合併の影響もあってか、いくつかの新たな外部ライブラリに依存する形になっているのも興味深いところです。 そこで稿では、あえてRails 3そのものではなく、このRails 3の大改造の舞台裏を支える裏方さんにスポットライトを当ててみたいと思います。 Arelによってパラダイムが大きく変わったAct

    第43回 Rails 3を支える名脇役たち その1 - Arel - | gihyo.jp
  • 第1回 memcachedの起動オプションを把握しよう | gihyo.jp

    1.4系で新しく追加された主な機能しては バイナリプロトコルの導入 マルチスレッドの標準化 統計の強化 などが上げられます。この1.4系の機能の詳細については前坂徹氏の連載「memcached 1.4の到来」が参考となります。ここではバージョン1.2.5と最新の1.4.5の起動オプションを比較しながら、新しく追加された機能や実際の運用で用いられる起動オプションについて説明します。 1.2系と1.4系の起動オプションの違い まず、memcachedの起動オプションの一覧(ヘルプ)を確認しましょう。memcachedのヘルプを出力するには、「⁠-h」オプションを使います。 $ memcached -h memcached 1.x.x -p <num> TCP port number to listen on (default: 11211) -U <num> UDP port number t

    第1回 memcachedの起動オプションを把握しよう | gihyo.jp
  • 第3回 Python編 | gihyo.jp

    インストール インストールは、LinuxMac OS Xではリスト1の手順で行ってください。Windowsの場合は、http://pyyaml.org/download/pyyaml/にあるWindows installerを使ってください。 リスト1 PyYAMLのインストール $ wget http://pyyaml.org/download/pyyaml/PyYAML-3.05.tar.gz $ tar xzf PyYAML-3.05.tar.gz $ cd PyYAML-3.05/ $ sudo python setup.py install 使い方 PyYAMLの使い方はリスト2のようになります。日語を含む場合は必ずUnicodeにデコードしなければならない点に注意してください。詳細はリファレンスマニュアルを参照してください。 リスト2 PyYAMLの使い方(ex-pyyam

    第3回 Python編 | gihyo.jp
  • 第23回 Rackとは何か(1)Rackの生まれた背景 | gihyo.jp

    はじめに SinatraやRamazeといったRubyのWebアプケーションフレームワークに興味をお持ちの方であれば、Rackという名前をしばしば目にしているかもしれません。どうやら様々なフレームワークに使われているらしいのだけど、そいつが一体なんなのかよくわからない、そんなあなたのために今日はそのRackをご紹介したいと思います。 様々なフレームワーク、様々なアプリケーションサーバ しばらく前なら、Ruby on Railsブームの真っ只中、Rubyと言えばRails、Webアプリケーションを作るならRails、といったイメージを持たれていた方も多かったと思います。実際にWebアプリケーションを作ったり、Rubyに触れたりしたきっかけがRailsだったという方も多いでしょう。 しかし最近は、RubyのWebアプケーションフレームワークと一口に言っても、非常に簡単にアプリケーションが書けて

    第23回 Rackとは何か(1)Rackの生まれた背景 | gihyo.jp
  • YAPC::Asia Tokyo 2009 スペシャルレポート 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    YAPC::Asia Tokyo 2009 スペシャルレポート 記事一覧 | gihyo.jp