タグ

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

  • [ThinkIT] 第1回:Strutsはわかるけど、Mojaviってなんだ? (1/4)

    最近、企業システムの開発においてフレームワークという言葉を頻繁に聞くようになりました。この「フレームワーク」とは、正確には「Webアプリケーションフレームワーク」のことを指します。 なぜ、最近の企業システム開発においてWebアプリケーションフレームワークが頻繁に採用されているのでしょうか。まずは、このWebアプリケーションフレームワークが登場した背景をおさらいしてみましょう。 今から5〜6年ほど前のことでしょうか、国内においてインターネットが脚光を浴びると同時に、インターネットのテクノロジーを利用したWebアプリケーションが注目を集めました。 そして企業システムは情報系のシステムを中心として、旧来のクライアント/サーバ型のアプリケーションからWebアプリケーションへと積極的にリプレースされていきました。まもなく、それら企業システムのリプレースは情報系のシステムだけにとどまらず、基幹系のシス

  • [Think IT] 第4回:チケットとソースコードを連携せよ! (1/3)

    【バグ管理の作法】Trac徹底活用! 第4回:チケットとソースコードを連携せよ! 著者:masuidrive 公開日:2007/12/27(木) Tracの最大の利点はSubversionとの連携にあり さて、最終回の今回はTracのチケットとソースコードの連携を実際に試していく。 コードを書く開発者から見た場合、Tracの最大の利点は普段使い慣れたSubversionから、Tracを使うことができる点にある。開発者は自分の環境に新たなツールをインストールすることなく、Tracへ情報を送ることができる。 Tracの操作は通常Webから行うが、すべての操作をコマンドラインからでもできる。この機能とSubversionへコミット時に自動的にコマンドを呼び出すフックという機能を組み合わせることで、開発者がリポジトリへコミットするとTracを操作するという処理を自動化できるのである。 Subver

  • [ThinkIT] 第1回:SQLインジェクションによるデータベース操作 (3/3)

    プリペアードクエリ(プリペアードステートメントともいいます)によって、前述のリスクのほとんどを回避することができます。プリペアードクエリは、クエリのいわば'テンプレート'です。クエリの構造をあらかじめ定義して変更できないようにしておくのですが、その中には実際のデータを配置するプレースホルダが含まれています。 プレースホルダでは、例えばintは整数データ、textは文字列というように、データベースがそのデータを厳密に解釈するように型が特定されています。つまり、text型のプレースホルダならいつでも文字列として解釈することで、クエリのスタックを使ったSQLインジェクションのような攻撃を防ぐのです。 プレースホルダの型と中のデータが一致しなければ実行エラーとなり、クエリをより厳密にチェックすることができます。クエリの安全性確保に加えて、プリペアードクエリにはパフォーマンスを向上させる効果もありま

    admo
    admo 2007/12/27
  • [ThinkIT] 統合監視ツールZABBIX事始め

    社内・社外を問わず、IAサーバがITシステムの中核に導入されることは珍しくなくなってきました。特に、Webアプリケーションサービスを行う場合、主にIAサーバとLinuxまたはWindowsという組合せでシステムを構築されていることでしょう。 IAサーバは比較的安価なため、リソースが不足しても追加購入してシステムを容易に増強することができます。これは大きなメリットですが、管理面では負担の増加が避けられません。数台規模ならば手作業で個々のサーバを管理できますが、数十台〜数百台規模となってくると、某CMではありませんが「増え続けるサーバの管理に困っていませんか?」という状況になるのは想像に難くありません。 システムを効率的に管理するためには、まずサーバのハードウェアリソース、そしてその上で稼働するOSやアプリケーションの状態を適切に把握できることが重要です。シェルスクリプトなどを利用して監視/通

  • [ThinkIT] 第1回:意外と知らないZend Engine (1/3)

    「Webシステムを支えている言語は何か」と聞かれたときに何と答えますか。 ThinkITを読んでいる方なら即座に「PHP」と答えていただけるでしょう。「Java」と答える方もいるかもしれません。しかし、インターネットの普及と共にPHPは多くのWebサイトで使用されるようになり、今ではWeb 2.0と呼ばれるような新しいスタイルのWebサイトのほとんどがPHPで構築されています。 ここまで普及しているPHPですが、実際にPHPを使用してWebシステムを開発されている方でもその根幹となっているZend Engineについて、ご存知ない方も多いでしょう。Zend Engineとは、簡単にいえばPHPの高速性を支えている重要なモジュールですが、それ以外の機能も備えています。 そこで連載では、全2回に渡って意外と知られていないZend Engineにフォーカスを当て、Zend Engineの存在と

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

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

  • O/Rマッピングとは?

    皆さん、はじめまして。連載を担当するビーブレイクシステムズの山之内と申します。連載ではO/Rマッピングについて検討していきます。 O/Rマッピング機能を提供してくれるフレームワーク(O/Rマッピングツール)はデータベースと連携するJavaアプリケーション開発において、既に必須となりつつありますが、O/Rマッピングツールはたくさん存在します。 しかし、各O/Rマッピングツールには特徴やクセがあり、実際の開発現場においてどのO/Rマッピングツールを導入すべきか迷っている人も多くいることでしょう。目的にあわせて適切なツールを選択しないと、思ったような効果が得られなかったり、かえって工数が増えたりする状況にもなりかねません。 そこで連載では、代表的な3つのO/Rマッピングツール(iBATIS、Torque、Hibernate)を取り上げて、実際に各O/Rマッピングツールを利用したサンプルを作

  • 1