タグ

ブックマーク / xtech.nikkei.com (68)

  • 110. XCacheでパフォーマンス向上

    今回はいくつかあるPHPのアクセラレータの中でも、最近有望視されている(?)ひとつである、XCache(http://xcache.lighttpd.net/)について紹介したいと思います。 PHPのアクセラレータとは、PHPのバイトコードをキャッシュし、コンパイルにかかる時間を減らし、プログラムの速度を向上させることができるものです。 サーバにアクセラレータを組み込むだけで、プログラムを特に変更することなく、簡単にPHPスクリプトのパフォーマンスをあげることが可能です。 今回は、APC、eAccelerator、等々いくつかあるアクセラレータの中のひとつXCacheのインストールについて紹介したいと思います。尚、試してみた環境はCentOS5、PHP 5.1.6、XCache 1.2.2となっています。 それでは、早速インストールを行っていきしょう。 まずは、ソースコードをダウンロードし

    110. XCacheでパフォーマンス向上
  • JavaScriptからFlickr APIで画像検索:ITpro

    Flickr APIのインタフェースとしては, REST / XML-RPC / SOAP の3種類が用意されています。 通常は,実装が容易な REST を利用することが多いようです。 REST リクエスト時のレスポンス(APIから返却される結果データ)は, RSP 形式という独自の XML フォーマットで出力されます (Plain Old XML)。 XML以外にも,JSON形式(JavaScript Object Notation), JSONP形式(JSON with Padding), PHP serialize形式での出力も可能です。 今回は,JavaScriptから処理しやすいJSONPを利用することにします。 Flickr APIの利用(ライセンス認証用API Keyの取得)には, 米国Yahoo!の会員登録が必要です。 英語のメッセージなので少し面倒ですが, [Sign U

    JavaScriptからFlickr APIで画像検索:ITpro
  • 第1回 まずは「クッキー」を理解すべし

    Webアプリケーションのぜい弱性がなかなかなくならない。メディアなどでも盛んに取り上げられているにもかかわらず,である。特に,セッション管理がからむアプリケーションのぜい弱性には,気付かないことが多い。具体的には「クロスサイト・リクエスト・フォージェリ」(CSRF),「セッション・フィクセーション」などである。これらはクロスサイト・スクリプティング,SQLインジェクションといった比較的メジャーなぜい弱性に比べて認知度が低く,対策も進んでいない。 原因の一つは,アプリケーションの開発者が原因を正しく理解していないこと。CSRFやセッション・フィクセーションについて言えば,セッション管理に使うクッキー(cookie)の動作を理解していないと対策が難しい。ところが最近の開発環境では,セッション管理の仕組みが隠ぺいされているため,必ずしもこの知識は要求されない。こうした開発者は容易にはぜい弱性に気

    第1回 まずは「クッキー」を理解すべし
  • 3分でわかる!仕事に役立つExcelテクニック:ITpro

    Excel仕事のツールとしては非常にポピュラーなソフトですが,多機能がゆえに,その便利な機能を十分に使いこなせていない人が非常に多いのではないでしょうか。そこでこの連載では,“操作自体は決して難しいものではないけれど,意外と知られていない”というExcelの便利なテクニックを厳選して紹介していきます。ぜひご期待ください!

    3分でわかる!仕事に役立つExcelテクニック:ITpro
  • Webメール,盗み見されていませんか:ITpro

    最近,顧客などからWebメールの利用に関する相談が多くなっている。企業内の個々の社員が勝手に利用している場合はもちろん,企業として利用する場合に,メール文を外部に置くことで情報漏えいにつながるのではないかという危機感からだ。企業の機密が漏れることはもちろん,個人のプライバシーにかかわる問題でもある。 Webメールは,既に多くのユーザーがプライベートのメールとして利用している。“実名”でビジネス用メールにGoogleYahoo!などの外部サービスを利用しているユーザーも増えている。ただ,自分の電子メールが他人に読まれていたという事例は過去にいくつもあり,決して珍しい話ではない。事業者のサーバーにメールを置くWebメールとなると,不安はさらに膨らむ。 さすがにWebメール・サービスも,一昔前と比べるとそれなりにセキュリティ対策はとられている。それでも,必ずしも十分とは言えないのが実情である

    Webメール,盗み見されていませんか:ITpro
  • Part2 データ・モデリングの手法

    Part2では,DOAの中核を成すデータ・モデリングの手法を解説する。まず,データ・モデリングで主に利用されるER図について説明した後,「概念データ・モデル」に始まり「論理データ・モデル」,「物理データ・モデル」へと進む,ER図を使ったデータ・モデリングの流れを説明する。 ここからは,DOAの中核を成すデータ・モデリングの手法を解説する。まず,データ・モデリングで主に利用されるER図について説明しよう。 一口にER図と言っても先述したIEに加えて,米国のNIST(National Institute of Standards and Technology)が1990年代初頭に標準化した「IDEF1x(アイデフワンエックス)」や,佐藤正美氏が提唱した「T字型ERモデル」,椿正明氏と穂高良介氏の「THモデル」など,表記法には様々なタイプがあるが,以下ではIEの表記法に基づいて解説する。最もメジ

    Part2 データ・モデリングの手法
  • 54. 再帰関数を使ってみよう

    再帰関数は、関数の中でその関数自身を呼び出す、ということを行っている関数です。将棋やチェスのようなゲームや、パズルを解くようなプログラムではよく使われ、プログラムをとてもシンプルに、見通しよく記述することができます。今回は、そんな再帰関数をPHPで使った例をご紹介します。 PHPゲームを作る、というようなことはまずないと思うので、使いどころはか なり限られてしまうのですが、それでも便利に使える場面がないわけではありま せん。 ここではディレクトリ内のファイルをチェックし、そのディレクトリ内に含まれ るファイルサイズの合計を求めるプログラムを作ってみます。 ディレクトリに含まれるのが全てファイルなら、再帰関数でなくても大丈夫です が、ディレクトリ内が階層になっている場合は再帰関数が威力を発揮します。 <?php //PHP4の場合、scandir関数がないので実装しておきます。 if (!

    54. 再帰関数を使ってみよう
  • 最短かつ最速にアクセスする「DB高速化技術」(前編):ITpro

    ポイント ・高度なインデックスやジョインを利用し,最短経路でデータにアクセス ・メモリー不足を自律的に解消し,キャッシュのヒット率を高める ・インメモリーDBは全データをメモリーで処理し,高速化を図る 目的地に早く到着したいなら,最短の経路を最速で行けばよい。これはデータベース(DB)でも同様だ(図1)。インデックスなどを使ってデータへの最短経路を見つけ,メモリー・アクセスを増やして,最速でたどり着く。DBにはそんな技術が詰まっている。 図1●データベース高速化技術のポイント ビットマップ・インデックスなどを使い、データにたどり着く最短の道を選ぶ。また、できるだけメモリーにデータをキャッシュさせておくことで、アクセスのスピードを上げる、という二つのポイントがある [画像のクリックで拡大表示] 以下では,(1)データにたどり着く最短の道を選ぶ仕組みと,(2)アクセスのスピードを上げる仕組みの

    最短かつ最速にアクセスする「DB高速化技術」(前編):ITpro
    sakura3942
    sakura3942 2007/09/13
    「データにたどり着く最短の道を選ぶ仕組みと,アクセスのスピードを上げる仕組みの二つを解説」
  • 49. 可逆暗号のススメ

    みなさんは暗号化を行う場合、どのようにしているでしょうか。md5によるハッ シュを使用してしまうと、元の文字列を取得することは難しくなってしまいま す。今回は暗号化を行っても復号することのできる、可逆暗号を実現するための PEAR::Crypt_Blowfishを紹介します。 暗号化にはPEAR::Crypt_BlowfishはBlowfishという暗号方式を使用します。 Blowfishを考案した同じ人が作成したTwofishという暗号方式は、DESの後継とな る暗号方式を決定する際に最終候補まで残った優れた暗号方式です。暗号化アル ゴリズムはBlowfishとTwofishでは、ほとんど同じなので暗号強度について問題 はないと言えるでしょう。ただ、暗号化アルゴリズムを問題にするような場合は (あまりないとは思いますが)、AESを使用したほうが無難でしょう。なお、こ こで出てきたBlow

    49. 可逆暗号のススメ
    sakura3942
    sakura3942 2007/08/02
    可逆暗号PEAR::Crypt_Blowfish
  • 見落としがちな脆弱性(ホスト編)

    セキュリティ診断サービスの現場でいろいろな企業のシステムを調べていると,基的なミスが放置されていて,そこから攻略可能なサーバーが意外に多いことが分かる。漏れては困る重要な情報が記載されたファイルが放置されていたり,重要ファイルへのアクセス権の設定が不適切だったりする。 こういう状況では,特定のセキュリティ・ホールを突くのではなくサービスで提供されている機能を使うだけで,管理者の権限や重要情報を奪い取られる可能性がある。一般のユーザーでもある程度の知識や技術があれば実行は可能だ。 そこで今回は,現場での経験を基に,ファイルへのアクセス権管理について考えてみたい。 ある企業のセキュリティ診断で,筆者たちは一般ユーザー権限のみを付与された状態でサーバーの調査を実施した。システム内に存在するアプリケーションのディレクトリなどについてはアクセス権が適切に設定されていたが,調査していくと,システム内

    見落としがちな脆弱性(ホスト編)
    sakura3942
    sakura3942 2007/08/02
    ファイルへのアクセス権管理
  • あなたの「体内時計」は,今何時ですか?

    朝起きるのがつらくて,日中ずっと眠い。夜になると不思議に目が冴え,深夜になってもなかなか眠くならない──。原稿の締め切り明けに,突如こんな状態に陥ることがある。 日中眠いので「寝不足かな」と考え,休日に昼すぎまで十分に睡眠を取ると,これがかえって逆効果。明け方まで眠れなくなり,週明けの月曜日にはほとんど寝ずに仕事に行く羽目に。取材先で「体調悪いんですか?」と心配されることもある。 「締め切り間際の興奮状態が,その後もしばらく続くから,体調がおかしくなるんだろう」。そう考えて,記者の職業病みたいなものだと諦めていた。ところが,懇意にしているITエンジニアの方からも同じ悩みを聞くことがあった。考えてみると,納期(締め切り)前に猛烈に忙しくなるのは,ITエンジニアも記者も同じ。睡眠や眠気の異常に悩まされているITエンジニアの方は,きっと少なくないと思う。 そんなとき「集中力の高め方」(日経SYS

    あなたの「体内時計」は,今何時ですか?
    sakura3942
    sakura3942 2007/08/02
    分かっていてもなかなか治らない・・・
  • [MySQLウォッチ]第37回 文字コードに起因する問題は文字化けだけじゃない,ソート順とcollationの関係

    MySQLウォッチ]第37回 文字コードに起因する問題は文字化けだけじゃない,ソート順とcollationの関係 前回は,マルチバイト文字コードを使用しているユーザであれば陥りがちな「文字化け」をテーマに解説を行った。特に日では,複数の文字コードが存在するので,混乱を助長してしまう。 さて,文字コードの違いによる弊害は,文字化けという表示の問題だけではない。データベースは,データの蓄積と提供が重要な役割である。大量のデータを提供する際には,並べ替えが必要になる。実は,文字データの場合,文字コードによって,並びが変化することをご存知だろうか。今回は,ソート処理と文字列の関係を解説する。 ソート処理での文字コードの影響 文字には,大文字と小文字のように同じ文字ながら,単語や文書での位置によって体裁が変わる場合がある。また,海外では,地域によって,アルファベットの並びが異なったり,文字自体が

    [MySQLウォッチ]第37回 文字コードに起因する問題は文字化けだけじゃない,ソート順とcollationの関係
  • 47. Smartyのキャッシュを使って負荷を下げよう

    アクセスが集中するサイトや、アクセス数が多くなる予定のあるページなどではサーバ の増強などの対策を立てることができますが、アプリケーション側でも大きく負荷を軽 減することができます。 そこでSmartyに備わっているキャッシュ機能を使って処理の量を軽減させましょう。 今日、PHPの開発ではSmartyを使ったシステムが多く見受けられます。Smartyを使ったことがある方にとって、Smartyのキャッシュを使うことは難しいことではなく、むしろあっさり実装できてしまうことが嬉しいです。 それではSmartyのキャッシュ機能について紹介していきます。 まずはキャッシュの設定をしましょう。 Smartyクラス各メンバ変数の上書きです。 <?php require_once "../libs/Smarty.class.php"; $smarty = new Smarty(); // まずはキャッシュ

    47. Smartyのキャッシュを使って負荷を下げよう
  • オープンソースで「永く使える安心」を守るために

    Googleが,ソースコードに手を加えながら,自社の検索サービスに利用していることでも知られるオープンソースのデータベース・ソフト「MySQL」。日でそのサポート事業を展開している住商情報システム(SCS)によると,2007年度は日MySQLの普及に腰を入れるターニングポイントになるという。「日語の検索で,ようやくOracleなどの商用データベースと比較対象になり得る性能を獲得できた」(先端技術システム部オープンソース技術チーム担当部長の吉田柳太郎氏)からだ。 日語検索の性能改善は,同じくOSS(オープンソース・ソフトウエア)である「Senna」(セナ)との掛け合わせで実現した。Sennaとは,日のソフト開発企業である未来検索ブラジル(東京・渋谷)が開発・公開した,2バイトコードに対応した高速全文検索エンジンである。データベース・ソフトやスクリプト言語処理系などに組み込んで

    オープンソースで「永く使える安心」を守るために
  • SNSサイト強化に「ペルソナ」を活用

    NECモバイリングは、運営するSNS(ソーシャル・ネットワーキング・サービス)サイト「Colorful*CAFECLIP」のコンテンツ強化に「ペルソナ」と呼ばれる架空の顧客像を用いている。同サイトは昨年11月に開設。色をテーマにしており、現在およそ3000人が参加している。「カラー占い」「色彩検定対策」といったコンテンツを無料で提供しており、参加者の大半が色に関心がある20代の女性である。 サイト強化に用いたペルソナと呼ばれる手法は、まず定量的なデータに基づいて重要な顧客セグメントを割り出す。次にそのセグメントの中で象徴的な顧客数人に対してインタビューを実施する。マーケティングや商品開発の担当者は、インタビューの中に出てくる顧客の体験やこだわりを拾い集めて、それらを再構築して架空の人物像「ペルソナ」を設定する。そのペルソナには名前や年齢、経歴やエピソードまでが細かく決められて、担当者らがイ

    SNSサイト強化に「ペルソナ」を活用
  • 矢沢久雄の情報工学“再”入門

    ITエンジニアの皆さんなら,一度は「情報工学」を学んだことがあるかもしれない。しかし,その知識をしっかり身に付けている人は少ないのではないだろうか。連載では,プロフェッショナルの必須知識と言える情報工学の様々な理論について解説していく。 第1回 アルゴリズムと計算量---「計算量理論」を理解し,アルゴリズムを評価する 第2回 形式言語とオートマトン---「文」のルールを知り,機械に解釈させる 第3回 符号化理論---あらゆる情報を数値で扱う「符号化」理論を知る 第4回 ブール代数---論理を「1」と「0」で表す「ブール代数」を理解する 第5回 グラフ理論---要素同士のつながり方を「点」と「辺」で分析する 第6回 オペレーションズ・リサーチ(OR)---数学モデルを駆使して,経営戦略を立案する 第7回 集合論---数学の「集合論」にRDBの正体を見る 第8回 RDBの正規化理論---から

    矢沢久雄の情報工学“再”入門
  • Part3 JavaScriptに学ぶ「言語の拡張性」:ITpro

    サイボウズ・ラボ株式会社に勤めるWebプログラマ。出身は石川県金沢市。21歳でプログラミングに出会い,IT戦士になることを決意。それからというもの,寝ても覚めてもプログラムを書き続け今に至る。はてなでamachangというidでブログを書いてます。 最近,「とんがった」プログラマの間ではJavaScriptがちょっとしたブームです。あちこちの書店で,JavaScriptの書籍を見かけるようになりました。「はてブのホッテントリ」*1にも,よくJavaScriptの記事が入っています(図1)。 その人気を象徴的に示しているが,Shibuya.js*2という団体が開催しているJavaScript関連のイベント「Technical Talk」です。1回目は2006年4月,2回目は6月に開催されましたが,いずれの回も予約が殺到し,たった1日で席が埋まってしまいました。これには「JavaScript

    Part3 JavaScriptに学ぶ「言語の拡張性」:ITpro
  • 45. eAcceleratorでスピードアップ

    今回は、PHPの処理速度を簡単に上げることができるモジュール、eAccelerator をご紹介します。 eAcceleratorはスクリプトを最適化しコンパイルされた状態でキャッシュするこ とで、スクリプト実行速度を飛躍的に上昇させます。(付属の説明によると最大 10倍!) では、早速インストール手順を説明します。 apache1.3以上、mod_php4.1以上、autoconf、automake、libtool、m4が必要です が、大抵の環境では条件を満たしていると思います。万が一足りないものがあっ たらインストールして下さい。 なお、CGIモードのPHPではeAcceleratorを使うことはできません。 1.ソースの入手、解凍、展開 http://sourceforge.net/projects/eaccelerator/ からソースコードをダウンロードします。現在の最新版はバー

    45. eAcceleratorでスピードアップ
    sakura3942
    sakura3942 2007/07/20
    スクリプトを最適化しコンパイルされた状態でキャッシュするこ とで、スクリプト実行速度を飛躍的に上昇させる
  • 「IPドメインSEARCH」,怪しげなドメインには注意しよう

    「このメールにあるURL,いったいどこの会社だろう」。そう感じたら,すぐにアクセスせず,いったんドメインの所有者を調べてみてはどうだろうか。そのためのツールとして使えるのが,「IPドメインSEARCH」である。 ユーザーに代わってNIC(ネットワーク・インフォメーション・センター)のWhoisデータベースにアクセスし,登録されている企業の情報を検索してくれるサービスである。ユーザーは,IPドメインSEARCHのサイトにアクセスし,検索窓から調べたいドメイン名を指定するだけ。画面には検索結果として,組織名,組織の種別,技術担当者の連絡先,ネーム・サーバー名などの情報が表示される(写真1)。これだけでWebサイトの素性が分かるとは限らないが,ある程度の目安にはなるだろう。

    「IPドメインSEARCH」,怪しげなドメインには注意しよう
  • 44. PEAR::Text_Highlighterでソースコードに色づけ

    ソースコードをWebサイト上で表示したいときなど、シンタックスに色を付けて 見やすく表示したいと思ったりしませんか?短いソースコードならば自分の手で HTMLの要素を駆使し行っても良いかもしれませんが、長いものになるとそう簡単 にはいきません。PHPにはそれを簡単に実現するための方法がいくつか用意され ています。今回はその中からPEAR::Text_Highlighterを紹介したいと思います。 ソースコードの中のシンタックスに色を付ける方法としてPHPには highlight_string()という関数があります。この関数を使用しても色を付けるこ とはできるのですが、PHP4ではHTMLのfont要素を用いて、PHP5の場合はstyle属 性を用いて色づけが行われたり、対象ソースコードがPHPだけだったりと、なか なか自由がききません。しかし、今回紹介するPEAR::Text_Highl

    44. PEAR::Text_Highlighterでソースコードに色づけ