タグ

2008年11月5日のブックマーク (14件)

  • 正規表現エンジンを作ろう (1)

    はじめに こんにちは。hirataraです。 私が初めて正規表現を使ったのは、PerlによるCGIでの文字列処理でした。それから私はPerlを使い続け、今では正規表現なしのコーディングは考えられないほど、正規表現を当たり前の機能として日常的に使っています。昔は標準では正規表現をサポートしていなかったJavaも、今では正規表現をサポートするようになりました。Javaだけではなく、今日ではほとんどの高級言語にとって、正規表現はなくてはならない機能であると言っても過言ではないほどメジャーな機能となっています。 記事では、この正規表現の舞台裏に光を当てます。一見すると作ることが難しそうな正規表現エンジンですが、その根底には数学的な概念があり、その概念さえ知っていれば基礎となる機能の実装はそんなに難しくありません。この連載ではその数学的な概念をPythonを使って表現しながら、実際に動作する正規表

    正規表現エンジンを作ろう (1)
    masapon1967
    masapon1967 2008/11/05
    正規表現エンジンを作ろう (1):CodeZine
  • クッキーに隠されたSQLインジェクション、対策は?

    Cookieの値にSQLインジェクションが含まれていますが、注目すべきポイントはCookieに含まれているその形式です。URLの“/index.asp”の後に続くべきパラメータがそのままCookieに含まれています。ASPのRequestオブジェクト(ASP.NETの場合、HttpRequest.Params)を使っている場合、クエリ文字列やフォーム以外からでもデータを読み込めます。もしRequestオブジェクトから読み込んだデータの取り扱いにSQLインジェクションの脆弱(ぜいじゃく)性がある場合、データベースを操作されてしまいます。 IIS/ASPの機能を悪用 今回の攻撃手法のもう1つの特徴は攻撃のリクエストに“%”を含ませることでセキュリティ機器の検知機能の回避を狙っていることです。%文字を含んだSQLインジェクションは以下のようなリクエストになっています。 色を付けた「DE%CLAR

    クッキーに隠されたSQLインジェクション、対策は?
    masapon1967
    masapon1967 2008/11/05
    クッキーに隠されたSQLインジェクション、対策は? - @IT
  • データベースの論理構造ってどんなもの?(1/3) ― @IT

    リレーショナルデータベースのデータ構造は、大きく「物理構造」と「論理構造」に分けられます。前回解説したデータファイル、オンラインREDOログファイル、制御ファイルなどのRDBを構成するファイルが物理構造です。今回はもう1つのデータ構造である、「論理構造」の役割を解説します。【更新版】 データベースの「論理構造」とは リレーショナルデータベース(以下、RDB)のデータ構造は、大きく「物理構造」と「論理構造」に分けられます。第2回『リレーショナルデータベースの3大構成要素とは?』で解説した、RDBを構成するOSファイル──Oracle Databaseでは、「データファイル」「オンラインREDOログファイル」「制御ファイル」は物理構造です。 それに対して、「社員表」のような表データなどを格納する表領域や、セグメント、エクステント、データブロックのような、データ管理を容易にするための内部的に使う

    データベースの論理構造ってどんなもの?(1/3) ― @IT
    masapon1967
    masapon1967 2008/11/05
    データベースの論理構造ってどんなもの?(1/3) ― @IT
  • つらくないケータイWeb開発(1/2)- @IT

    第1回 つらくないケータイWeb開発 設樂 洋爾 2008/10/20 何かと注文の多い日の携帯電話向けWebサイト構築。jpmobileで、Ruby on Rails流の、つらくない携帯Webサイトを開発しよう(編集部) 連載では、Ruby on RailsRails)をすでに利用されている方を対象に、Rails用プラグインjpmobileを使って携帯向けWebサイトを構築する方法を紹介します。 jpmobileは日の携帯電話向けのサイトを構築するときに生じる厄介事を、Ruby on Rails流のやり方に倣って解決するためのプラグインです。 Mobile web development that doesn't hurt 日の携帯電話は「ガラパゴス」と称され、時にやゆされもするように、良くも悪くも独自の進化・発展を遂げてきました。現代人の生活に密着して存在する携帯電話は、位置

    masapon1967
    masapon1967 2008/11/05
    つらくないケータイWeb開発 − @IT
  • 基礎のキソ、エブリバディ・セッション管理!

    基礎のキソ、エブリバディ・セッション管理!:もいちどイチから! HTTP基礎訓練中(7)(1/3 ページ) Webアプリケーションでログイン管理は当たり前。その裏にあるのは基のセッション管理です。これを間違って覚えてしまうと、クロスサイトリクエストフォージェリなどの脆弱(ぜいじゃく)性を埋め込むことになり……。クウたちと一緒に正しいセッション管理を学ぼう(編集部)

    基礎のキソ、エブリバディ・セッション管理!
    masapon1967
    masapon1967 2008/11/05
    基礎のキソ、エブリバディ・セッション管理! - @IT
  • コストは現場で管理し、出来高で把握せよ

    皮肉なことに、プロジェクトと失敗とは相性がよい。納期どおりにできなかった、要求どおりにできないことが多い、機能を削減することが多いなど、もともとの目的、スコープから、後退したプロジェクトの経験を持つITエンジニアは多いに違いない。なぜ目的どおりにいかないのか。どこを改善したらいいかを連載で明らかにし、処方せんを示していきたい。 管理職はコスト管理に向かない 日では、プロジェクトマネージャの多くが、プロジェクトのコストに責任を持っていない。ほとんどの場合、コスト責任はプロジェクトマネージャの上司である管理職にある。これで、当のコスト管理ができるのだろうか。 プロジェクトマネージャには納期責任があるので、納期だけは何とか守ろうとする。すると残業が増え、予算コストを守れなくなる。 コスト管理をプロジェクトマネージャではなく、上位の管理者がやっていては、コスト超過の原因を的確に把握できず対処

    コストは現場で管理し、出来高で把握せよ
    masapon1967
    masapon1967 2008/11/05
    実績工数がない進ちょく報告はまず疑え- @IT自分戦略研究所
  • 日本版SOX法の“欠陥・不備”の直し方教えます

    多くの企業では来年3月の決算に向けて、日版SOX法の評価に追われていることだろう。しかし、その結果“欠陥・不備”が出てしまった場合はどうすればよいのだろうか。今回はこの問題を解説する。 サンプルをどう取ればよいのか? サンプルの取り方で、是正のやり方も変わります。 同一のコントロールについて、すべての事業部や子会社に対して横断的にサンプルを採取し、その合計をサンプルの母集団とする方法がありますが、不備が出たときの対応が難しいので筆者はお勧めしません。 サンプリングは、事業部や子会社をそれぞれ母集団とする方法がベターです。なぜなら、その方法であれば、不備が発見されたときに的確に「是正するターゲットを絞る」ことができるからです。 不備が出た場合の対処法 「重要な欠陥」も「不備」も会社としては是正しなければなりませんが、それが日版SOX法上のものか、そうでないかにより対応は違ってきます。 ち

    日本版SOX法の“欠陥・不備”の直し方教えます
    masapon1967
    masapon1967 2008/11/05
    日本版SOX法の“欠陥・不備”の直し方教えます − @IT情報マネジメント
  • プロジェクトの肝、見える化に挑戦!

    プロジェクトの見える化は、トラブルの早期発見のためにも重要だ。では、プロジェクトの見える化は、いかにして実現したらいいかを検討する。 プロジェクトを見える化する プロジェクトマネジメントで最も重要な課題は、 「『成果の設定(仕様の確定)』と『仕事の設計(作業の洗い出しとスケジュール化)』は不確実である」というリスクへの対応 プロジェクトが「うまくいっている」「うまくいっていない」の判断 の2点であると連載で解説してきました(「プロジェクトマネージャは、説得術を磨くべし」。 さて今回からは、2のプロジェクトが「うまくいっている」「うまくいっていない」の判断をするための方法、すなわち「プロジェクトの見える化」の方法について述べたいと思います。 火を噴いたプロジェクトのリーダーにお話を伺うと、往々にして「トラブルに気付いたときは手遅れだった」「もうちょっと早く発見できれば、はるかに簡単にトラブ

    プロジェクトの肝、見える化に挑戦!
    masapon1967
    masapon1967 2008/11/05
    プロジェクトの肝、見える化に挑戦! − @IT情報マネジメント
  • Oracleユーザーとセキュリティの管理

    ・ユーザーの変更 Enterprise ManagerやALTER USER文を使用して、既存のユーザーのユーザー属性を変更することができます。 ・ユーザーの削除 Enterprise ManagerやDROP USER文を使用して、既存のユーザーを削除することができます。 ユーザーを削除するとユーザー定義は削除され、そのアカウントではデータベースに接続できなくなります。 ■正解 a、c ■解説 ユーザーを削除した場合、ユーザー定義は削除され、そのユーザーアカウントではデータベースに接続できなくなります(正解a、c)。 また、ユーザーが所有していた表や索引などのオブジェクトはすべて削除されます(選択肢d、e)。ただし、表領域は削除されません(選択肢b)。 従って、ユーザーを削除する際には、十分注意が必要です。不要になったユーザーアカウントでも、そのユーザーが所有していた表や索引などのオブジ

    Oracleユーザーとセキュリティの管理
    masapon1967
    masapon1967 2008/11/05
    Oracleユーザーとセキュリティの管理
  • 第1回 気軽にPythonを始めよう:ITpro

    オブジェクト指向スクリプト言語であるPythonは,日常の作業に利用するちょっとしたスクリプトから,商用サイトや大規模Webシステムまで幅広く適用できる非常に便利なプログラミング言語です。日ではあまり認知度は高くありませんが,欧米を中心に幅広く利用されており,米Google(米YouTubeを含む)などの有名企業でも採用されています。 ここでは,プログラミング言語Pythonの魅力と使い方を説明します。特にこれからPythonをはじめようというビギナーの方に,とっかかりとなる言語の基礎と導入方法を説明します。 日Pythonの認知度があまり高くない理由 欧米で人気のPythonですが,国内ではまだまだ認知度が高くないようです。原因としては次のような点が考えられます。 ●日語コーデックに対する不安 Python 2.3の時代まで,シフトJISやEUC-JPを扱うためには,CJKコーデ

    第1回 気軽にPythonを始めよう:ITpro
    masapon1967
    masapon1967 2008/11/05
    第1回 気軽にPythonを始めよう:ITpro
  • 業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine
    masapon1967
    masapon1967 2008/11/05
    業務で楽するためのUNIXテクニック集 まずはおさらい、シェル制御構造と正規表現の基礎:CodeZine
  • Ruby開発者のためのiKnow! API入門

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Ruby開発者のためのiKnow! API入門
    masapon1967
    masapon1967 2008/11/05
    Ruby開発者のためのiKnow! API入門:CodeZine
  • Java開発者のためのCurl入門-クライアントサイドCurlとサーバサイドJavaの通信

    はじめに 前回はCurlの簡単な説明とHelloWorldを実行するまでを説明しました。今回はJavaでサーバーサイドを作成し、クライアントサイドのCurlアプリケーションと通信を行います。 前回の記事 Java開発者のためのCurl入門-Eclipseプラグイン導入編 Curlアプリケーションのアーキテクチャ クライアントサイドとサーバーサイド Curlアプリケーションは、クライアントマシンにインストールされたCurl RTE上で実行されます。 業務アプリケーションでは、サーバーサイドのデータベースを利用するのが一般的ですが、Curlアプリケーションはデータベースサーバに対して直接アクセスすることはしません。通常、サーバーサイドにもCurl以外の言語でアプリケーションを構築する必要があります。 Curlアプリケーションからデータベースに対してCRUD操作を行うには、サーバーサイドのアプリ

    Java開発者のためのCurl入門-クライアントサイドCurlとサーバサイドJavaの通信
    masapon1967
    masapon1967 2008/11/05
    Java開発者のためのCurl入門-クライアントサイドCurlとサーバサイドJavaの通信:CodeZine
  • カール、オープンソースライブラリ「Curl ORB for Java」公開、サーバーサイドJavaとCurlの連携が容易に

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    カール、オープンソースライブラリ「Curl ORB for Java」公開、サーバーサイドJavaとCurlの連携が容易に
    masapon1967
    masapon1967 2008/11/05
    カール、オープンソースライブラリ「Curl ORB for Java」公開、サーバーサイドJavaとCurlの連携が容易に:CodeZine