タグ

ブックマーク / atmarkit.itmedia.co.jp (14)

  • なぜTwitterは低遅延のままスケールできたのか 秒間120万つぶやきを処理、Twitterシステムの“今” − @IT

    ユーザー同士のつながりを元に時系列に140文字のメッセージを20個ほど表示する――。Twitterのサービスは、文字にしてしまうと実にシンプルだが、背後には非常に大きな技術的チャレンジが横たわっている。つぶやき数は月間10億件を突破、Twitterを流れるメッセージ数は秒間120万にも達し、ユーザー同士のつながりを表すソーシャル・グラフですらメモリに載る量を超えている。途方もないスケールのデータをつないでいるにも関わらず、0.1秒以下でWebページの表示を完了させなければならない。そのために各データストレージは1~5ms程度で応答しなければならない。 Twitterのリスト機能の実装でプロジェクトリーダーを務めたこともあるNick Kallen氏が来日し、2010年4月19日から2日間の予定で開催中の「QCon Tokyo 2010」で基調講演を行った。「Data Architecture

  • Rubyを最大63%高速化した中学生は超多忙!

    金井仁弘(HN:CanI)氏                    撮影:平沼久奈 ハンドルネームCanIの由来は、「“Can I”→キャナイ→カナイ」。C#、Visual Studio、Microsoft .NETとマイクロソフト製品が大好きな「.NETer」と自称する 筑波大学付属駒場中学校は、東京都内にある中高一貫の国立校だ。入学試験の偏差値と東京大学への進学率の高さから“東の筑駒、西の灘”と称される進学校である。強いのは受験だけではない。国際情報オリンピックや国際数学オリンピックでは、同校の生徒が毎年のように金・銀メダルを制するなど才能あふれる理数系人材が多数在籍している。 金井氏はこの夏の「セキュリティ&プログラミングキャンプ2009」(2009年8月12~16日)に参加し頭角を現した中学生プログラマである。 今年に入って、Ruby 1.9のフィボナッチ数列による演算(多倍長加算

    Rubyを最大63%高速化した中学生は超多忙!
  • Tomcat 6で実現! Ajaxを超える通信技術Comet (1/3) - @IT

    Tomcat 6で実現!Ajaxを超える通信技術Comet:Tomcatはどこまで“安全”にできるのか?(3)(1/3 ページ) Ajaxを超える? Tomcat 6で搭載されたCometとは? 前回はTomcatを“安全”に活用するために、ツールを使った運用の仕方やTomcatの設定について解説しました。 今回はTomcatの安全性から少し離れて、Tomcat 6の新機能の利用方法について解説します。Tomcat 6では、いくつかの大きな拡張がありましたが、今回はJ2SE 1.5で実装されたNew I/O APIjava.nioパッケージ)を用いたComet(コメット)通信について解説します。 おさらい 「通常のHTTPでの通信」 通常のHTTPでの通信はクライアントのWebブラウザなどからサーバへリクエストを送信し、サーバはリクエストを解釈してレスポンスを返します。つまり、通信のタイ

    Tomcat 6で実現! Ajaxを超える通信技術Comet (1/3) - @IT
  • SQLに似たHQLでリレーショナルデータを柔軟に検索

    SQLに似たHQLでリレーショナルデータを柔軟に検索:Hibernateで理解するO/Rマッピング(5)(1/2 ページ) O/Rマッピングは、従来の煩雑なデータベースに関する処理の記述をスマートにし、柔軟なアプリケーションの構築を可能にします。連載ではオープンソースのO/Rマッピングフレームワーク「Hibernate」を用いてO/Rマッピングの基礎を解説します。そしてさらに、J2EEアプリケーションへの実践的な適用方法とそのメリットも紹介していきます。(編集局) リレーショナルデータベースの特徴は、その名のとおりデータを「リレーショナル」に扱えることにあります。リレーショナルに扱えるデータとはID番号や名前などのキーとなるフィールドのデータを利用して、「結合」や「抽出」を行えるデータです。 O/Rマッピングフレームワークの良しあしを判断するうえで重要な点は、リレーショナルデータベースの

    SQLに似たHQLでリレーショナルデータを柔軟に検索
  • StrutsのXML地獄から開発者を解放するSAStruts

    StrutsのXML地獄から開発者を解放するSAStruts:Java初心者が超俊敏にWebアプリを作る方法(2)(1/3 ページ) Eclipseプラグイン「Dolteng」のScaffoldという自動生成機能やSeasar 2.4のHOT deploy機能を利用して、DBの参照・更新・削除ができるSAStrutsのWebアプリを作ります。Java初心者だけでなくStrutsに慣れた開発者も必見です 連載第1回の『1分でWebアプリを作れるEclipseプラグイン「Dolteng」』では、Webアプリケーション開発に非常に便利なEclipseプラグインである「Dolteng」の機能を使用して、「SAStruts」(後述)のプロジェクトを自動生成しました。 このDoltengで自動生成されたプロジェクトとソースはテンプレートとしての基的機能しか作成されていません(Doltengも進化中で

    StrutsのXML地獄から開発者を解放するSAStruts
  • WSDL:Webサービスのインターフェイス情報

    WSDLは何を記述している? あるアプリケーションがWebサービスとしてネットワーク上に公開されているとしよう。別のプログラムがそのWebサービスを利用するためには、次に挙げるWebサービスのインターフェイスに関する情報が必要になる。 ●そのWebサービスはどこにあるのか ●そのWebサービスは、どんなフォーマットのメッセージを使って利用するのか ●そのWebサービスは、どんな通信プロトコルを使ってメッセージをやり取りするのか Webサービスのインターフェイスを、人もプログラムも理解できるようにXML形式で記述するために開発された言語が、今回のテーマであるWSDL(Web Services Description Language)だ。CORBAのような分散オブジェクト技術では、インターフェイス記述言語としてIDL(Interface Description Language)が使用されて

    WSDL:Webサービスのインターフェイス情報
    polidog
    polidog 2009/11/10
  • @IT:連載 Strutsを使うWebアプリケーション構築術(1)

    アプリケーション・フレームワーク「Struts」 昨今、とみに「フレームワーク・プログラミング」という言葉が取りざたされることが多くなってきました。そして、稿のテーマでもあるStrutsもまた、「サーバサイドJava」――サーブレットベースで動作する「アプリケーション・フレームワーク」の一種です。 Strutsプログラミングの具体的な手続きを紹介していくに先立って、まずはこのアプリケーション・フレームワークとしてのStrutsについて、簡単に解説しておくことにしましょう。 ■アプリケーションの枠組み フレームワーク、それはアプリケーションを構築するうえでの「枠組み」であり、「ルール」であり、(語弊を恐れずにいえば)「制限」です。 昨今、アプリケーション構築におけるチーム開発の重要性がますますクローズアップされています。アプリケーションがますます大規模化し、また、基幹システムの一角をも担う

    @IT:連載 Strutsを使うWebアプリケーション構築術(1)
  • [Flex裏技集]クッキー保存、SWF通信、JavaScript連携

    [Flex裏技集]クッキー保存、SWF通信、JavaScript連携:現場で使えるFlex実践テクニック(6)(1/2 ページ) FlashPlayerの機能を超えろ! Flexの実行環境であるFlashPlayerには、FlashPlayerの外部との連携のための機構が備わっています。状況に応じて利用することで、FlashPlayerの機能を超えた範囲までFlexアプリケーションの利用シーンを広げることができるでしょう。 クッキーのようにローカルにデータを保存SharedObject SharedObjectを用いると、Webブラウザのクッキーのようにクライアントのマシン上にデータを保存できます。そのため、SharedObjectを利用して、ユーザーが一度入力した情報を次回ユーザーがアクセスしたときに再び表示するなどといったことを、サーバの技術を使用せずに行うことができます。 ■ 訪問回

    [Flex裏技集]クッキー保存、SWF通信、JavaScript連携
    polidog
    polidog 2009/09/25
  • S2BlazeDSを用いたFlex+Javaアプリの【いろは】

    S2BlazeDSを用いたFlex+Javaアプリの【いろは】:業務用RIAの命!? Flex+Java開発入門(2)(1/4 ページ) 連載では、サーバサイドとして「Java」、リッチなクライアントサイドとしてJavaと相性の良い「Adobe Flex」(以降、Flex)を用いたRIA開発の基礎を解説します。EclipseベースのIDEである「Flex Builder」を使って、「Tomcat」で動くeラーニングのRIAが完成するまでお届けする予定です 編集部注:Flex Builderは、2010年3月の新版から「Flash Builder 4」に名称変更しています。期間限定の無料版をダウンロードして使えます 「しょせん、Hello World!アプリだろ」と、侮るなかれ 前回の「EclipseベースIDEとTomcatで始めるFlex+Java開発」では連載第1回ということで、W

    S2BlazeDSを用いたFlex+Javaアプリの【いろは】
  • クラウド環境ではデータベースは「非正規化」して使う? - @IT

    2009/06/09 2009年4月7日、グーグルは利用者が作成したアプリケーションをスケーラブルなホスティング環境で稼働させられるクラウド系サービス「Google App Engine」で、新たにJavaをサポート言語に加えた。Java言語のサポートによって、業務アプリケーションのクラウド移行は起こるのか? Google App Engine担当者に話を聞いた。 米グーグル デベロッパー・アドボケートのフレッド・ソーサー(Fred Saucer)氏。もともとJavaによる業務アプリケーション開発のコンサルタントだったが、最近グーグルに入社したという ――コンシューマ市場ではクラウドサービスの受容が進む一方、企業ユーザーはクラウド移行に消極的にも見えます。 ソーサー氏 確かにコンシューマのほうが新しいものを試して、利用するようになるのが速い傾向はあります。でも、そうしたコンシューマ向けサー

  • @IT:Webアプリケーションに潜むセキュリティホール(14)

    ※ご注意 他社および他組織のWebサイトなどへのポートスキャンおよびデータの取得などの行為で得た情報を侵入などに悪用するか、または同じ目的を持つ第三者に提供した時点で違法となります。ご注意ください。 稿の内容を検証する場合は、必ず影響を及ぼさない限られた環境下で行って下さい。 また、稿を利用した行為による問題に関しましては、筆者および株式会社アットマーク・アイティは一切責任を負いかねます。ご了承ください。 今回は連載の最終回ということで、まとめとしてこれまでに説明してきたWebアプリケーションの脆弱性1つずつ簡単に説明していくことにする。一部、サンプルコードを示している個所もあるので開発を行っている読者は参考にしてほしい。 クロスサイトスクリプティング 攻撃者が作成したスクリプトを脆弱なWebサイトを介して、ほかのユーザーのブラウザ上で実行させる攻撃のことである。これにより正規ユーザ

    @IT:Webアプリケーションに潜むセキュリティホール(14)
  • throwsを用いるかどうかはメソッドの役割で決まる

    例外が発生する可能性があるメソッドでは、そのメソッドにおいて例外を捕捉するか、そのメソッドを呼び出したメソッドに例外を投げる(任せる)かを選ぶ必要があります(例外がRuntimeExceptionのサブクラスである場合を除く)。前者を選ぶ場合は「try-catch」構文を用い、後者を選ぶ場合は「throws」を用います。 このどちらを選択するかは、機械的には決められません。メソッドの役割を考えて選択する必要があります。また、複数の例外がある場合、「try-catch」すべき例外と「throws」すべき例外に分けることを考えましょう。 まず、コンパイルエラーを逃れるためだけの「throws」は避けるべきです。下は最も悪い例といえるでしょう。 6行目の「throws Exception」を外すと分かりますが、このメソッドは、URLクラスのコンストラクタが不正なURLを受け取ったときに投げる M

    throwsを用いるかどうかはメソッドの役割で決まる
  • Cyanを設計した高校生、5カ月で5つの言語を習得

    読者の皆さんは、「Cyan」(サイアン)という言語をご存じないかもしれない。Cyanは、Lispのマクロを持ち、Python風のインデントによってブロックを表すプログラミング言語。2008年の春、林拓人という1人の高校生によって設計された。 連載第1回の竹内郁雄氏が「開発」の天才、第2回の五十嵐悠紀氏が「発想」の天才とするならば、今回の林氏は「プログラミング言語」の天才だ。 林氏がプログラミング言語に初めて触れたのは中学3年の夏休み。そこから冬休みまでの5カ月間に、5つのプログラミング言語を習得した。その後もいくつかのプログラミング言語を学ぶ中、林氏の興味はWebサービスなどのものづくりには行かず、ひたすら言語自体へと向かっていった。 高校2年の春、自身でプログラミング言語Cyanを作り上げた。Cyanを設計した林氏は、「U-20プログラミング・コンテスト」(以下、U-20プロコン)で経済

    Cyanを設計した高校生、5カ月で5つの言語を習得
  • JavaとJavaScriptの親しい関係

    教育界、技術者コミュニティでJava言語の教育と啓蒙に長年携わってきた 筆者が、独自の視点からJavaの面白さを掘り下げていく。(編集局) 注目を浴びるJavaScript JavaScriptが世に広まって10年近くたちますが、最近話題に上ることが多くなってきています。なぜ、いまさらJavaScriptが注目を浴びているのでしょうか? JavaScriptはECMA(ヨーロッパ電子計算機工業会)によって、ECMAScriptとして標準化されていて、Standard ECMA-262 ECMAScript Language Specification 3rd edition (December 1999)や、Standard ECMA-357 ECMAScript for XML (E4X) Specificationといった仕様が公開されています。これらの仕様を見て分かるように、Java

    JavaとJavaScriptの親しい関係
    polidog
    polidog 2008/06/24
  • 1