タグ

2016年8月23日のブックマーク (2件)

  • パフォーマンスを意識して正規表現を書く - Shin x Blog

    正規表現を書く際、どのようなパターンにマッチさせるか、どこをキャプチャするかという視点で記述することはあっても、パフォーマンスを考えて記述するというのはある程度知っている人でなければ忘れがちな視点です。 このエントリでは、バックトラックをメインに正規表現がパフォーマンスに及ぼす挙動について見ていきます。 対象の正規表現エンジン ここでは、従来型 NFA を対象としています。具体的には、PHP の preg_ 関数で利用している PCRE や mb_ereg 関数が利用している鬼車です。PerlRubyPythonJava、.NET でも従来型 NFA を採用しているので、似た挙動となるでしょう。 「従来型 NFA」や「バックトラック」などの用語については、「詳説 正規表現 第3版」のものを用いています。 バックトラックによるマッチ探査 正規表現エンジンでは、指定された文字列が、パ

    パフォーマンスを意識して正規表現を書く - Shin x Blog
    ko-ya-ma
    ko-ya-ma 2016/08/23
    スペースだけでサイトを落とせる
  • MVCのモデルを分割する方法 - 浜村拓夫(・∀・)作品集

    MVCフレームワークでWebアプリケーションを作成するとき、肥大化していくモデルをどのように分割すれば良いのか?悩みます。 いつもは適当にやっているのですが、だんだんファイル数、クラス数、メソッド数が増えてくると、把握しづらくなって、辛くなってきますw 他の人のやり方を参考にして、モデルを適切に分割する方法を検討してみました。 ●Webアプリとは? Webアプリの特徴は、インターネットをはさんで、 (1) クライアント側 (2) サーバー側 に分かれていることです。 サーバー側は、 (a) DB(データを置いておく場所。通常はリレーショナルデータベース) (b) DBのラッパー(CRUDを担当するアプリケーション層) に分かれています。 で、このラッパー部分(b)に、MVCフレームワークを使っています。 (via もみじ饅頭(こしあん):もみじ饅頭のやまだ屋) MVCフレームワークは、 (

    MVCのモデルを分割する方法 - 浜村拓夫(・∀・)作品集