PHPでプログラミングをしています。 特定のHTMLファイル内にあるタグと要素を取得したいのですが、そのようなこと全般ができる関数、もしくはクラスというものがありますでしょうか?
2つの文字列がどの程度異なっているかを調べる方法としてレーベンシュタイン距離があります。 これは、文字の挿入や削除、置換によって、ある文字列を別の文字列に変形するのに必要な手順の最小回数です。 hogeとhogeはまったく同じなのでレーベンシュタイン距離は0です。 hogeとhoge2は1文字増えてるのでレーベンシュタイン距離は1です。 3hogeとhogeは1文字増えてるのでレーベンシュタイン距離は1です。 PHPには、このレーベンシュタイン距離を計算するための関数 levenshtein()が用意されています。 サンプルコード <?php function test_levenshtein($str1, $str2) { $r = levenshtein($str1, $str2); echo "[$str1] [$str2] = $r\n"; } test_levenshtein("
開発をしているとサーバのログを閲覧することが多い。とりあえず何か分からない問題が発生したりすれば、ログを閲覧するという人も多いはずだ。エラーログをきちんと吐き出してくれるソフトウェアであれば、そこにヒントが隠されている。 メイン画面 それは何も開発中に限らない。運用中であってもそうだろう。都度サーバにログインしてログを見るのが面倒という場合はこのようなソフトウェアがある。 今回紹介するオープンソース・ソフトウェアはphpLogCon、Webベースのログ閲覧ソフトウェアだ。 phpLogConはSyslog形式に対応したログビューワーで、ブラウザから扱うことができる。セキュリティへの懸念もあるので、外部公開サーバで利用するものではないだろう。だが、単なるtailとは異なり便利な点も多い。 スキンを変更し、検索画面を表示したところ。 例えば検索機能。ログファイルを絞り込んで表示できる。また、一
はじめに本稿で扱うグラフ 「グラフ」という語を広辞苑(第5版)で引くと、載っている意味は次の3つです。互いに連関する二つまたは二つ以上の量の間の関係を表す図形。例えば関数fに対し、xがfの定義域を動くときの点(x, f(x))の軌跡をfのグラフという。またx、yに関する方程式をみたす点(x, y)の軌跡をその方程式のグラフという。全体に対する割合を示したり、数量の大小を比較したりするための図表。円グラフ・棒グラフなど。写真を主にした雑誌。画報。 しかし、本稿で扱うグラフは、この3つのいずれでもありません。国語辞典には載っていないことが多いようですが、計算機科学や数学において「グラフ」と言えば、図のような、点(pointあるいはvertex、node)と点を結ぶ線(lineあるいはarc、edge)の集合を指します。 グラフはプログラミングにおいてよく用いられる基本的なデータ構造の一つです
男なら一度はテンプレートエンジンの作成に挑戦してみるよね! ということで PHP Simple HTML DOM Parser を使って、DOMパーサ利用ならではのテンプレートエンジンを作ってみました。 ひとまずはテンプレート変数の利用だけ。クラス名とかは考えるのが面倒だったのでひとまず Template で。 PHP <?php require_once 'Template.php'; $variables = new stdClass(); $variables->foo = 'AAA'; $variables->bar = array(1, 2); $variables->baz->quux = 'BBB'; $template = new Template('./templates', './caches'); $template->assign($variables); $te
インストール コンパイルするにはlibyamlをあらかじめインストールする必要があります。以下の手順でlibyamlをインストールしてください(リスト6)。 リスト6 libyamlのインストール $ wget http://pyyaml.org/download/libyaml/yaml-0.0.1.tar.gz $ tar xzf yaml-0.0.1.tar.gz $ cd yaml-0.0.1/ $ ./configure $ make $ sudo make install 続いて、php_yamlを次の手順でインストールします(リスト7)。コンパイルする前に、こちらのパッチ[1]を適用してください。 リスト7 php_yamlのインストール $ wget http://www.opendogs.org/pub/php_yaml-0.3.0.tgz $ tar xzf p
memcachedは便利なキャッシュ機能を持っているが、サービスが落ちるとデータが全て消失する点で使い勝手が悪い場合があった(良い場合もある)。基本的には消失しても良いデータだけしか入れられないという認識の元で利用するのだが、実際にサービスがダウンすると、負荷が急上昇しサービスのレベルが大幅に落ちてしまう。 起動した画面。レプリケーションの接続を待っている さらにmemcachedを多用すると、パフォーマンスが鈍ってくることもあるだろう。そこで、memcachedをさらに活用していくためにこれを使おう。 今回紹介するオープンソース・ソフトウェアはrepcached、レプリケーションに対応したmemcachedだ。 repcachedはKLab株式会社で開発されたソフトウェアで、memcachedをベースにレプリケーション機能を追加したものだ。これにより負荷を分散させる効果、冗長性を持たせる
各種アプリケーションでファイルを選択・保存する際の、ダイアログでのフォルダ移動を簡略化する「フォルダの足あと」v0.10が、3月23日に公開された。Windows 2000/XP/Vistaに対応するフリーソフトで、現在作者のホームページからダウンロードできる。動作には、.NET Framework 2.0が必要。 「フォルダの足あと」は、Windows標準のファイル選択ダイアログにフォルダ履歴機能を追加するタスクトレイ常駐型ソフト。ファイル選択ダイアログを呼び出したアプリケーションごとにフォルダ履歴を自動で記憶するため、不要な履歴が表示されずに、アプリケーションに適したフォルダをすばやく選択できるのが特長。 各種アプリケーションでファイル選択ダイアログを呼び出すと、ダイアログ直下へぴったりくっつくように、本ソフトの画面が追加で表示される。この画面には、ファイル選択ダイアログで過去に表示し
(株)エイムラックは9日、インストールするだけですぐに使える本格的な無料グループウェア「アイポ4」v4.0.1.0を公開した。Windows 2000/XP/Server 2003に対応するフリーソフトで、現在同社のホームページからダウンロードできる。 「アイポ4」は、無料で利用できる高機能なグループウェア。データベースとWebサーバーを同梱しており、インストールするだけですぐ使い始められるのが特長。スケジュールやカレンダーの管理・共有機能、伝言メモ・掲示板などのコミュニケーション機能、起案から決済までを処理するワークフロー管理機能など、グループウェアとして必要な機能は一通り備えている。さらに、個々のメンバーを部署単位で管理し、それぞれに詳細なアクセス権限を設定できるので、大規模な組織での運用も可能だ。 ログイン直後の画面には、“Myページ”“グループ”“その他”“個人設定”という4つのペ
先週末の土曜日に同僚の結婚式がありました。 二次会の方に参加したのですが、いい会だった。 会社で、なにかプレゼントをしようということになり、お祝い用にシステムを作ってプレゼントしました。 内容は、写メで披露宴や二次会の最中の写真や、自分撮りした写真を送って、本文にメッセージ書いて送ると、二人に贈ったURLを開くと、フォトムービーとして見ることが出来るというものだ。 特別な技術は使用していないが、進め方が通常案件の進め方にも通じるものがあると思うので、エントリを書いてみた。 まず、企画 どんな企画にするかを2週間ぐらい前から練り始めました。 過去に写メや動画を携帯から送り、PC上のFlashでつなげて見れるというのはやったことがあったので、それをカスタマイズするという方向に決定。これはすんなり決まった。 設置場所などの決定 今回のシステム構成は、一般的なLAMP構成。Linux+Apach+
« 動物の赤ちゃんいっぱい | メインページ | Favicon.ico » 2006年02月14日 Xplanet Xplanetは壁紙ソフトです。 なんて一言で言ってしまうと簡単でありきたりですが、まずは私のPCの壁紙をご紹介します。 これは2006/02/14朝の時点の壁紙です。(画像クリックで拡大) 地球と月の関係は私の趣味でデフォルメしています、実際はこんなに近くないですし、月はこんなに大きくないですがXplanetは「デスクトップに惑星の画像を表示するツール」なのです。 元々はUnix-Linux系のOSで動作するソフトでしたが、現在はWindows版やMAC OS版が有ります。 Xplanet Homepageから説明を引用すると Xplanetは、XearthというX root windowに地球の図を表示するソフトに着想を得ています。 主な惑星、衛星は他の太陽
Whoops! The page you are looking for could not be found. Happening often? Please get in touch.
先日掲載した、デュアルディスプレイ環境にできるUSB2.0接続のコンパクトなパーツ、海連「サインはVGA」(レビュー参照)が意外に好評であったが、今回は、もっと簡単にそのような環境を実現できるソフト、エージーテック「MaxiVista」を試用した。 仮想グラフィックスドライバにより2台目ディスプレイが認識される MaxiVistaは、Bartels Media製のデスクトップ拡張ソフトで、エージーテックから日本語版が7月27日より発売開始された。仮想グラフィックスカードドライバとそのプログラムにより、メインPCのWindowsからは、追加されたグラフィックスカードとして、LAN接続されたもう1台のPCのディスプレイが認識されるような仕組みとなっている。 ターゲットはずばり、メインPCのほかに、LAN接続されたもう1台のPCがあるユーザーだ。MaxiVistaをその2台(正確には、2台目はビ
Windowsの“環境変数”をGUIで編集できるソフト「Rapid Environment Editor」v1.9 build 353が、4日に公開された。Windowsに対応する寄付歓迎のフリーソフトで、現在作者のホームページよりダウンロードできる。 Windowsの環境変数は「システムのプロパティ」などから編集可能だが、慣れないユーザーにとっては操作が煩雑で編集が難しい。たとえば環境変数“PATH”の場合、Windowsでは複数のパスを“;”で区切り、“c:\perl\bin;c:\ruby\bin;”のように一行で指定する仕組みなので、値が長くなるうえ、テキスト編集エリアが狭いこともあり編集ミスを起こしやすい。 「Rapid Environment Editor」は、Windowsの環境変数を編集できるソフト。各環境変数とその値をツリー形式でわかりやすく表示できるのが特長で、変数や値
最近はWebアプリケーションが流行りだ。以前はメールやRSSリーダーなど、ネットワークとの親和性が高いものが多かったが、表計算やドキュメント、画像加工など、その適用分野は徐々に広がっている。 ビジネスでよく使われるのは表計算、ドキュメント作成、プレゼンテーションなど様々にあるが、これを忘れては困る。そしてこれもまた、Webアプリケーションかに向けて開発が行われている。 今回紹介するオープンソース・ソフトウェアはjsflowchart、JavaScript製のフローチャート作成ソフトウェアだ。 jsflowchartはまだα版レベルで、機能はごく僅かだ。四角を置き、そこに文字を書き、別な四角と接続する機能がある程度だ。それに、線を引いた後に四角をおこうとするとハングアップするバグもある。 だが、フローチャートですべき事はそれ程多くはない。むしろドロー系ソフトウェアの機能を削ったくらいでも十分
Web2.0時代(?)の技術要素の一つにWeb APIがある。また、各種アプリケーションがWeb化され、ブラウザ内で動作するようになっている。 しかし、これらに必須なのがインターネットだ。ネットワークに繋がっていなければ利用できない。その限界を超えるかも知れないソフトウェアがこれだ。 今回紹介するオープンソース・ソフトウェアはCouchDb、新しい形式のドキュメントデータベースだ。 CouchDbは簡単に言うとRESTを通じたWeb API経由でデータ取得ができるデータベースだ。結果はJSONで受け取ることができる。そのため、PHP/Ruby/Java/LotusScript/Cなど、言語を問わず広く利用できる。 興味深いのは、このCouchDb自体は各クライアントに入れて動作させるという方法だ。この場合、オフライン状態でも利用でき、オンラインになると同期処理をすることができる。 どういっ
PHP4(要jstring)で使用出来るテンプレートクラスライブラリを作成いたしました。 本プログラムはLGPLです。 ( テンプレートクラスライブラリマニュアル ) 基本コンセプト HTML部分の作成に市販のWebPage作成ツールを使用する事が出来る。 デザイナーが憶えるべき内容が殆ど無い。 HTMLとプログラムの切り分けがしっかり出来る。 出力漢字コードの変換をサポートする。 動作を軽くする。 以上のコンセプトに則り作成いたしました。 tmpl205.class.tar.gz(20KB) - v2.0.5 (2002/10/7) そんなに大きな物では無いのでバグはあまり無いと思いますが、皆さんで叩いて下さいませ。 News : アソビ・クリエイト様が本テンプレートクラスライブラリのコンセプトを踏襲しつつPHP5にも対応し、 さらには大幅に機能拡張したPHPテンプレートクラスライブラリ
唐突に、PHP用のテンプレートエンジンを作ってみる。 方針: ふつうのPHPファイルをテンプレートとして使う。 <?php echo $var; ?> は面倒なので #{$var} と書けるようにする。 <?php echo htmlspecialchars($var); ?> はもっと面倒なので %{$var} と書けるようにする。 ついでにXML宣言も <<?php ?>?xml ... に自動置換する。【追記】レイアウト機能を追加してみた コード: <?php /* * SixtyLinesTemplate.php - 60行しかないけどSmartyより速いテンプレートエンジン * * 使い方: * require_once('SixtyLinesTemplate.php'); * $TEMPLATE_DIR = 'templates'; // 省略可、パーミッションに注意 * $c
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く