タグ

ブックマーク / thinkit.co.jp (79)

  • [ThinkIT] 第1回:Inside Hatena Bookmark (1/2)

    筆者が勤務する株式会社はてなが提供するある一つのインターネットサービスを題材に、LAMP(Linux+Apache+MySQLPerl)でのアプリケーション開発や、負荷分散について述べるという発表でした。はてなで提供しているサービスには、はてなブックマーク以外にもはてなダイアリー(注2)のような月間何億PV(Page View)もある大きなサービスもあります。はてなブックマークはそれらに比較すると小さい、中規模なシステムです。 システム運用について発表するにあたって、億単位のPVをさばく巨大なサービスについて述べるよりも、ある程度現実的な規模のものについて解説する方が、みなさんの参考になるかなと思い、このテーマを選択しました。 稿ではYAPC::Asiaでの発表の中からいくつかのトピックを選んで、Perlを使ったシステムの運用や負荷分散のコツなどを中心に解説したいと思います。 なお、発

    tsupo
    tsupo 2006/10/18
    2006年6月現在 ユーザー:45,000人 ブックマーク数:535万件 ページビュー:5,000万/月 サーバー:17台 / リバースproxy×1, Webサーバー×9, DBサーバー×7台(マスター×1、スレーブ×6)
  • [ThinkIT] 第6回:RailsとGrailsの比較(前編) (1/3)

    前回までで、一通りJavaフレームワークとRailsの比較をしてきました。連載の最後の比較は、少し趣向を変えてGroovy上に作成されたRailsライクなフレームワークGrailsRailsの比較をしていきます。 GrailsはGroovy(Java公式仕様として策定が進められている、JavaVM上で動作するスクリプト言語)上で動作するRailsライクなフレームワークです。当初、Groovy on Railsという名称で作成が進められていたことからもわかるように、Railsに強く影響を受けていることが公言されています(後にRails作者の要請により改名)。 Groovyは豊富なJavaライブラリの利用が可能な上、言語設計自体もRubyの影響を受けているためRailsライクなフレームワークと相性がよいと考えられます。 Grailsに関する情報源には次のサイトがあります。

    tsupo
    tsupo 2006/10/18
    Groovyは豊富なJavaライブラリの利用が可能な上、言語設計自体もRubyの影響を受けているためRailsライクなフレームワークと相性がよい / 最大の相違は、Railsはコントローラから直接モデルを扱っているのに対し、Grailsではサー
  • [ThinkIT] 第5回:セマンティックWebの将来 (2/3)

    現時点では、これら材料が揃った段階であり、「そこから得られる情報をどう組み合わせ調理すれば、美味しくいただけるのか」はこれからの課題となる。そして同時に、多くの材料から収集した情報を思いのままに組み合わせる技術が必要となる。それが「セマンティックWeb」である。 今のままでは、個別の材料から情報を収集することはできたが、それぞれの情報が独立した状態であり、多くのことはわからないままとなる。例えばAmazonでは、買い物をすると過去の購買履歴からお勧めの書籍をリコメンドするが、過去興味があった書籍と今興味がある書籍は一致しない場合があり、その場合はリコメンドの効果がない。過去の購買履歴だけという独立した情報からしか分析できないからである。 しかしGPS携帯から、「恐竜博物館」に昨日行ったことがわかり、その場で「フューチャー・イズ・ワイルド」のを買ったことがICカードからわかり、さらにRFI

    tsupo
    tsupo 2006/10/02
    リアル世界とバーチャル世界の融合、ユビキタス社会、そして究極のマーケティングを実現するための基盤技術としてWeb世界に広く浸透していくことになるだろう → 今、話題の「ユビキタス社会」(笑)
  • [ThinkIT] 第5回:セマンティックWebの将来 (1/3)

    セマンティックWebは、今のインターネット世界(Web 2.0の世界)における恣意的に入力されたデータや異なるメタデータの統合を容易にする技術として、そしてエンタープライズ世界では従来の統合技術/統合製品で解決できなかった問題を解決する技術として、それぞれ有望であることを解説してきた。 最終回となる今回は「セマンティックWebの将来」と題し、コンシューマ世界ではWeb 2.0、エンタープライズ世界ではSOA(Service Oriented Architecture:サービス指向アーキテクチャ)を中心に、セマンティックWebがどのように関わり、発展していくかを解説する。 Web 2.0世界におけるセマンティックWebについては、「第2回:Web 2.0世界におけるセマンティックWeb」で「タギング/フォークソノミー、マイクロフォーマット」という具体的な例を題材に解説した。だが、Web 2.

    tsupo
    tsupo 2006/10/02
    消費者を深く知るための顧客属性情報(デモグラフィック)、消費者の心理的な嗜好(サイコグラフィック)、地理的な要因(ジオグラフィック)
  • XML-RPCを利用したWeb API

    XML-RPCは簡単なルールなので、Webへのアクセスさえできれば、後は全てを自前で処理しても、それほどむつかしくはありません。しかしPerlにはXML-RPCを利用するためのモジュールも用意されているので、それを利用することで、より簡単にAPIが利用できるようになります。CPANにはXML-RPCを利用するためのモジュールがいくつか登録されていますが、今回はRPC::XMLモジュールを利用して、Blogger API経由でブログの記事を登録するプログラムを書いてみることにします。 Blogger APIはXML-RPCを利用して作成されたブログの記事の取得や登録を行うためのAPIの仕様です。その名のとおりもともとはBloggerというBlogサービスで使われ始めたものですが、Movable Typeなどでも利用され、標準的なAPIとなっています。なお、最近ではブログ関連のAPIとしてAt

    tsupo
    tsupo 2006/10/02
    はてなダイアリーも早いとこ、API 経由で投稿できるようにして欲しい。(idea:1354)
  • [ThinkIT] 第1回:Webサイトのセキュリティの実態 (3/3)

    このように、数多くのWebサイトに致命的な欠陥があり、一般的に考えられている以上にWebサイトのセキュリティは脆弱であることがわかりました。実際、金融機関が運営するWebサイトであっても、かなりの割合で致命的な欠陥が存在していました。 Webサイトにこうした致命的な欠陥が存在した原因は、それぞれのWebサイトごとに異なるため、一概に特定できるものではありません。しかし次にあげるような原因は、こうした問題が発見されたWebサイトに共通して、比較的多く見受けられました。 外部の開発ベンダーとの保守契約がなく、数年前にWebサイトを開発した後、メンテナンスをまったく行っていない。このため、SQLインジェクションといった攻撃手法による被害が数多く報道されたにも関わらず、対策が行われていない Webサイトの設計・開発を外部のベンダーにすべて委託しており、セキュリティ対策の責任の所在もあいまいになって

    tsupo
    tsupo 2006/09/28
    開発中もしくは最近公開されたWebサイトに比べると、過去に開発されたWebサイトのセキュリティ対策は見落とされがち / 危険度の高い問題はこのような古いシステムに多く発見される傾向にあるため、特に注意が必要
  • Web APIの紹介

    まず、Web APIとは何か、ということに簡単に触れておきます。Web APIWebサービスAPIとか、Webサービスなどとも呼ばれます。Web上で行われていることがわかりきっている場合には、さらに略して「API」と呼ばれてしまうこともあります(ちなみにAPIはApplication Program Interfaceの略で、Web APIに限らずプログラムがその機能をほかのプログラムから利用できるように公開するインターフェイスのことを指します)。最近はインターネットで提供されているサービスがWeb APIを公開することが珍しくなくなってきているので、「どこどこのサービスがAPIを公開した」といったニュースを耳にしたこともあるのではないかと思います。 それでは結局Web APIとは何なのでしょうか。Web APIの定義はあいまいなところがあるのですが、ここでは「HTTPを利用してネットワ

    tsupo
    tsupo 2006/09/27
    例えば「XML-RPC」や「SOAP」などがその代表格です → というか、厳密には SOAP も XML-RPC に含まれます。SOAP ではない XML-RPC のことを単に XML-RPC と言ってたら、いちゃもん付けられたことがありますw
  • [ThinkIT] 第2回:メール事故の傾向と、今取りうる対策 (3/3)

    tsupo
    tsupo 2006/09/12
    患者のカルテID、クレジット番号などは、正規表現によるマッチングで引っ掛ける。マッチしたメールの送信を抑止することで情報漏洩を防止。
  • [ThinkIT] 第2回:メール事故の傾向と、今取りうる対策 (2/3)

    tsupo
    tsupo 2006/09/12
    「本文(添付を含む)に、「都・道・府・県・市・町・村・郡・区」のいずれかが50回以上存在する」メールを個人情報漏洩(住所)の危険性が高いメールとみなし、送信を中止する
  • [ThinkIT] 第2回:メール事故の傾向と、今取りうる対策 (1/3)

    個人情報保護法が施行されて1年半が経過しようとしていますが、いまだに情報漏洩事故はとまっていません。メールからの情報漏洩事故も増えています。 "情報漏洩"やお詫び"といったキーワードでGoogleをたどると多くのお詫び文を見つけることができます。それらの中には比較的最近のものも散見されます。

    tsupo
    tsupo 2006/09/12
    本来 Bcc: に入れるべきアドレス / 「To:」や「Cc:」に多量のメールアドレスを含むようなメールがあれば、それは怪しいとみなし、送信を拒否(問題メールがくると、メール自体を削除して管理者に通知)
  • [ThinkIT] 第4回:統合技術として導入が進むセマンティックWeb (3/3)

    売り上げ分析に必要なデータをBIに受け渡すまでに複数のステップを踏んでいた 各ステップに、BIに受け渡すまでに必要なデータ変換や集計のための定義やプログラムロジックが分散していた 売り上げを算出する場合、複雑な製品同士の関係や顧客や地域ごとのローカルルールなども反映する必要があった 大手通信機器ベンダーでは、新商品を投入して8週間も売り上げ分析ができない状況は、製造計画・在庫管理上大問題であると判断し、この状況を改善すべくエンタープライズ・セマンティックWebの適用に踏み切る。 具体的には、ETLやJavaプログラム、ストアドプロシージャ、Excelシートにそれぞれ定義ならびにコーディングされていたデータ変換/データ集計の情報を排除するために、それらの情報をすべてRDFとOWLに置き換え、リポジトリにて一元管理した。そして、一元管理されたRDFとOWLを推論エンジンが読み込み、データ変換/

    tsupo
    tsupo 2006/09/11
    過去の取り組みの中から統合技術として応用できることがわかってきている / 最初の用途は限定的なものとなりそうだが、応用範囲は広い → オントロジーの構築が大変なんだよなぁ。作っちゃえば楽になるとはいえ
  • [ThinkIT] 第2回:JSFとRailsで比較(前編) (1/4)

    第2〜3回のRailsと比較するJavaフレームワークは、「JavaEE標準」のプレゼンテーション層のフレームワークであるJSFJava Server Faces)です。 JSFは、JCP(Java Community Process)によって策定が行われている仕様であり、2004年3月に正式リリースされ、最新版はバージョン1.2となっています(2006年8月現在)。 このJSFの仕様に準拠したフレームワークもいくつかリリースされています。中でもオープンソースであるApache MyFacesが有名です。 多くのフレームワークで、プレゼンテーション層として提供している共通した機能は表1の通りです。今回はこれらの機能ごとに、JSFRailsを比較していきます。

    tsupo
    tsupo 2006/09/07
    基本的には、Java の方が得意な人は JSF、Ruby の方が得意な人は Rails ってことだと思うんですが。
  • 第3回:エンタープライズの世界におけるセマンティックWeb: スイス生命の実証実験

    tsupo
    tsupo 2006/09/01
    日々恣意的に入力されるデータや過去に作成してしまった大量データが問題 / これらをすべて更新したり統制をかけたりすることは困難 / これらを許容 / セマンティックWebを適用する方法を選択したのがこの事例
  • 第3回:エンタープライズの世界におけるセマンティックWeb: エンタープライズ・セマンティックWebへ

    tsupo
    tsupo 2006/09/01
    実証実験を通じ、統合技術として応用できることがわかってきた。 / 2004年にW3CでRDF、OWLの標準仕様が策定され、ベンチャー企業からもそれら標準に準拠した製品が提供されるようになった
  • [ThinkIT] 第1回:セマンティックWebとは (1/3)

    近頃、インターネットの世界(Web 2.0の世界)では、マイクロフォーマット/タギング/フォークソノミーといったメタデータやセマンティックWebに関係する技術が盛んに使われるようになってきた。また、エンタープライズの世界でも先進企業によるセマンティックWebを応用した情報インテグレーション事例が紹介されはじめている。 企業だけではなく個人においても、肥大化と多様化する情報を有効に扱うことが目下の課題であり、そのための有効手段としてメタデータやセマンティックWebがあらためて注目されはじめている。そこで、連載では「セマンティックWebによる情報統合」をメインテーマにおき、Web 2.0とエンタープライズの情報活用を支えるメタデータ技術の将来像ついて解説していく。 第1回の今回は、そもそも「セマンティックWeb」とは何かを解説する。 セマンティックWebは、1998年にティム・バーナーズ・リ

    tsupo
    tsupo 2006/07/27
    セマンティックWeb に関するまとめ記事
  • [ThinkIT] 第1回:コマーシャルオープンソースとは (1/3)

    「オープンソース」という言葉そのものや、そのソフトウェアはすでに一般的になり、書籍などでの解説もたくさんありますので、知らないという方はほとんどいないでしょう。 しかし、連載で解説する「コマーシャルオープンソース」という言葉を聞いたことがある方は少ないのではないでしょうか。オープンソースの波が業務アプリケーションのレイヤにまで到達してきているのと同様に、「コマーシャルオープンソース」というカテゴリのソフトウェアが脚光を浴びています。 連載では、このコマーシャルオープンソースの概要とビジネスモデルについて海外の情報を交えながら解説していきます。

    tsupo
    tsupo 2006/07/07
    オープンソースソフトウェアが無償であったのに対して、コマーシャルオープンソースソフトウェアは有償です。そしてほとんどの場合、公開されているソースコードの知的財産権は特定の私企業に属します
  • 第2回:Webアプリケーションの国際化でデバッグ作業のリスクを減らすポイント

    tsupo
    tsupo 2006/05/26
    しかし、PHPのデフォルト・インストールでは、mbstringエクステンションは使えません → そ、そーなのか。デフォルトのままでは、マルチバイト文字の扱いに支障があるんですね
  • [ThinkIT] 第1回:Railsが注目されている理由 (1/3)

    RailsはDevid Heinemeier Hansson氏(以下、Hansson氏)が中心となって作成を続けているRuby製のオープンソースWebアプリケーションフレームワークです。まずはその概要について少し探ってみましょう。 Railsは、2003年の夏にHansson氏が作成を開始して、2004年にはじめて一般に公開されました。 それまでは「すぐに作れるけどゴチャゴチャしがちなPHPと、きれいだけど作るのに時間がかかるJavaを使ってソフトウェア開発をしていた」とHansson氏は語っています。そこで両者のいいとこどりをした「早くてきれいな」フレームワークを目指して開発をはじめ、現実のものにした結果がRailsなのです。

    tsupo
    tsupo 2006/05/26
    「すべてのものに柔軟性を与える必要はない」という割り切り
  • [ThinkIT] 第2回:AjaxアプリケーションとクラシックWebアプリケーションの違い (1/4)

    動作原理を説明する前に、クラシックWebアプリケーション(連載では旧来のWebアプリケーションを示す)とAjaxアプリケーションの構造上の違いを説明する。この両者の違いは以下に示すようにAjaxエンジンの有無にある(図1)。 このAjaxエンジンはAjaxアプリケーションのコアであり、JavaScriptで記述される。Ajaxエンジンは、任意のタイミングでWebサーバからダウンロードされた後、ブラウザ内で動作する。 Ajaxエンジンをうまく開発すれば、次項より説明する待機時間を減らすことなどができるため、ユーザビリティを飛躍的に向上することができるということだ。 ただし、Ajaxエンジンは1つではない。特定のアプリケーションに特化したAjaxエンジンもあれば、汎用的なAjaxエンジンもある。またAjaxエンジンにもいくつかの実装方法があり、各々の特性がある。これについては後の回で解説する