タグ

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

  • 第17回 Webアプリケーションのパフォーマンス改善(1) | gihyo.jp

    大きな効果を上げるために チューニンガソン#1~#3の改善率を見ると、アプリケーションや全体のアーキテクチャに手を入れないで改善できるのは最大でも10倍以下です。もちろん数倍速度が違えばサーバ台数を大きく減らせるので有意義なのは間違いないのですが、ISUCONやチューニンガソン#4のような飛躍的な高速化は望めないことがわかります。 つまりチューニングでは、単にパラメータ設定を変更するのみではなく、ボトルネックになっているコードやクエリ、アーキテクチャに的確に手を入れていくことで大きな効果を上げることができるのです。 ボトルネックの発見と解消が大事 システム全体の処理時間についてパレートの法則(経験則)を適用すると、「⁠全体の処理時間の80%は20%の部分で発生している」ということになります。実際にシステム全体で一番ボトルネックになっている部分を解消しないことには、ほかの部分に手を入れても大

    第17回 Webアプリケーションのパフォーマンス改善(1) | gihyo.jp
    deeen
    deeen 2013/02/18
  • 第32回 Encode:日本語だけ扱えればよいのではなく | gihyo.jp

    一般的には推奨されないencodingプラグマ 前回取り上げたencodingプラグマは、簡単なjperl用のスクリプトを移植したい場合には便利ですが、perlunifaqというPerl付属のマニュアルにははっきり「Don't use it.」と書いてあるくらい、一般的には使えないプラグマと認識されています。 前回も見たように、encodingプラグマが対応しているのは、ソースコードに埋め込まれている文字列やそれに類する正規表現、そして標準入力からのデータを指定された文字コードからPerlの内部表現に変換し、標準出力へ出力する際には内部表現を指定された文字コードに変換することだけです。ほかのファイル入出力部分や、コマンドラインから受け取った引数、標準エラー出力などの変換は行わないので、ちょっと凝ったことをしようと思うと、結局「外から入ってきたものはデコード、外に出すものはエンコード」という

    第32回 Encode:日本語だけ扱えればよいのではなく | gihyo.jp
    deeen
    deeen 2010/05/31
  • モダンPerlの世界へようこそ 記事一覧 | gihyo.jp

    第42回Template ToolkitPerl製テンプレートエンジンのデファクトスタンダード 石垣憲一 2011-06-30

    モダンPerlの世界へようこそ 記事一覧 | gihyo.jp
    deeen
    deeen 2010/05/25
  • 第20回 Email::Sender:メールを送信する | gihyo.jp

    メール送信のあれこれ たとえばウェブアプリケーションでなにかの注文を受け取ったとき、あるいはシステム管理ツールでなにか異常を発見したとき、ユーザや管理者にメールを送れるようにしたい、というのはよくある要件です。昔はヒアドキュメントやテンプレートエンジンなどを使って送信したいメールを用意したあと、sendmailへのパイプを開いてメールを流し込んでいたものですが、いまはメールの作成から送信まで、すべてモジュールを使って実現できるようになっています。 とはいえ、需要が大きいだけにメール関係のモジュールは山のようにあります。ディストリビューション(パッケージ)の数だけで500を数えますし、メール関係の名前がついたモジュールは現在CPANにアップロードされている7万以上ものモジュールのほぼ1割を占めるほどです。これではどれを使えばよいのかわからないという声があがるのも当然でしょう。 そこで今回はP

    第20回 Email::Sender:メールを送信する | gihyo.jp
    deeen
    deeen 2009/11/16
  • 第25回 PHPのアキレス腱 ── セッション管理 | gihyo.jp

    PHPにはHTTPセッション管理モジュールが標準で付いてきます。このセッションモジュールには非常に重大なセキュリティ上の脆弱性が修正されずに残っています。その脆弱性とはセッションアダプションです。 セッションアダプションとは、セッション固定化攻撃に利用される脆弱性です。PHPのセッション管理モジュールがセッションアダプションに脆弱であることは、かなり以前、何年も前から知られています。しかし、開発者の理解不足より脆弱性が放置されたままになっています。 セッションアダプションとは セッションアダプションとは、ブラウザ等から送信された未初期化セッションIDをそのまま利用してセッションを初期化してしまう脆弱性です。ユーザが送信してきたIDでも第三者に予想できない文字列であれば大丈夫なのでは?と考える方もいると思います。その通りで第三者に予想できなければ問題ないですし、仮に予想できてもログインする際

    第25回 PHPのアキレス腱 ── セッション管理 | gihyo.jp
  • モバゲータウンのノウハウ満載! フレームワークMobaSiFを使おう! 記事一覧 | gihyo.jp

    第4回MobaSiF に含まれるケータイ向け処理モジュール 能登信晴,川崎修平 2008-09-12

    モバゲータウンのノウハウ満載! フレームワークMobaSiFを使おう! 記事一覧 | gihyo.jp
  • 第1回 rhacoの魅力 | gihyo.jp

    rhacoとは rhacoはオープンソースで開発されているPHPのライブラリとセットアップフレームワークです。ほぼすべての機能をtokushima氏(http://tokushimakazutaka.com/)が開発しています。また、rhaco1.6 においてはそのほかに数人のメンテナがバグフィクスなどを行っています。開発者やメンテナは皆日人なので、日語でサポートを受けられるのも魅力的です。 公式にはあくまでライブラリという扱いではありますが、フレームワークとしての機能も持ち合わせているので、ほかのウェブアプリケーションフレームワークと同様、高速にアプリケーションの開発を行うことができます。 また、rhacoは後述するセットアップフレームワーク(セットアップアプリケーション)を内蔵しているので、rhacoを利用したアプリケーションは、デプロイ時の設定作業などをすべてブラウザ上で行うこと

    第1回 rhacoの魅力 | gihyo.jp
    deeen
    deeen 2009/03/06
  • 第1回 Progression3に触れてみよう | gihyo.jp

    はじめまして、Progressionを利用してFlashコンテンツの制作を行っている楢山と申します。このたび、Progression3のプロダクトマネージャーである阿部貴弘さんより稿執筆のお話をいただき、特集を執筆させていただくことになりました。このような機会を提供してくださった阿部さんに深く感謝いたします。 また、このような形で記事を執筆させていただくのは初めてですので、至らない点もあるかと思いますが、よろしくお願いいたします。 さて第1回の今回は、Progressionの概要と開発環境設定についてを説明していきます。 Progressionとは? Progressionを一言で表現するならば、「⁠Flashコンテンツを制作するためのフレームワーク」です[1]⁠。Progressionで提供されている様々な機能を使用することで、場面の切り替えや、ムービークリップの出現・削除、外部ファ

    第1回 Progression3に触れてみよう | gihyo.jp
    deeen
    deeen 2008/12/02
  • 第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp

    モバイルファクトリーの松野です。 今回から数回にわたって、Perl におけるテスト手法についてリレー形式で詳細に解説していきたいとおもいます。 今回は初回ですので、ざっくりと概論になります。 Perlの世界におけるテストの重要性 Perlの世界においてはテスト(test)は大変重要視されています。 その特徴がよく表れているのがCPAN Testersではないでしょうか。 CPAN Testers Perlといえば何はなくともCPANなわけですが、CPANでモジュールを探していると、図1のように、「⁠CPAN Testers」という項目があることに気付きます。 図1 CPAN Testers 世界中のPerl Mongersが、自分のマシンでテストを動かして、その結果をCPANに送っているのです。これにより、様々なOS/CPU/versionのPerlでテストがされています。貴方も気軽にCP

    第1回 Perlにおけるテストの概要/TAPとは? | gihyo.jp
    deeen
    deeen 2008/08/21
  • 2008年のオープンソースによるシステム管理 | gihyo.jp

    2007年を振り返って 私にとっての2007年最大のトピックは、やはりPuppetです。2007年からpaperboy&co.の技術全般を見る立場となり、まずはシステム構築の効率化を目指して、そのためのツールを探していたところ、巡り会ったのがPuppetでした。 私がPuppetを知った当時は日語でのまとまった情報がほとんどなかったのですが、日語 Wikiの立ち上げや、ここgihyo.jpでの連載、Software Design誌2007年12月号での特集など、日語の情報も充実してきており、Puppet Dojoと題したセミナーが実施されるなど、日技術者の間でPuppetの認知度がかなり向上した1年だったのではないでしょうか。 2008年のオープンソースによるシステム管理 2008年の私的注目ツール Puppetは、マシンをラッキングし、OSインストール/ネットワーク接続した後の

    2008年のオープンソースによるシステム管理 | gihyo.jp
    deeen
    deeen 2008/01/05
    サーバ管理運用
  • 第11回 スクリプトインジェクションを防ぐ10のTips | gihyo.jp

    前回はスクリプトインジェクションがなくならない理由を紹介しました。それをふまえて今回はスクリプトインジェクションを防ぐ10のTipsを紹介します。 デフォルト文字エンコーディングを指定 php.iniには、PHPが生成した出力の文字エンコーディングをHTTPヘッダで指定するdefault_charsetオプションがあります。文字エンコーディングは必ずHTTPヘッダレベルで指定しなければなりません。しかし、デフォルト設定ではdefault_charsetが空の状態で、アプリケーションで設定しなければ、HTTPヘッダでは文字エンコーディングが指定されない状態になります。 HTTPヘッダで文字エンコーディングを指定しない場合、スクリプトインジェクションに脆弱になる場合あるので、default_charsetには“⁠UTF-8⁠”を指定することをお勧めします。サイトによってはSJIS、EUC-JP

    第11回 スクリプトインジェクションを防ぐ10のTips | gihyo.jp
    deeen
    deeen 2007/12/19
  • 1