無料でWindowsアプリが作れる時代!

いやぁ、びっくりしました。
Windowsで趣味でアプリケーション等作ろうとしても、開発環境を購入、
もしくは、ただでやりたければ、JavaPerlなどでやらなきゃいけませんでしたが、
なんとVisual studioが無料で手に入る時代になったようです。

Visual Web Developer 2005 Express Edition 日本語版を使えば、WEBアプリケーションも
作れます!
Perl,PHPを駆使しても作れるのですが、慣れないと開発効率がわるかったりするものです。
しかし、VisualStudioを使えば、初心者でもアイデアがあれば、一気に実現ができるのです。
こちらにサンプルWEBアプリも公開されてます。

WEBアプリだけでなく、普通のアプリケーションもVisualBasic ,VisualC++,VisualC#で
作れてしまう。便利な世の中になりましたねえ。

あとは、WindowsのOSも無料になってくれればいいんだけどね。
ダウンロードはこちらから。

昨日書いた「span titleの値をa hrefの値に付け替え」のスクリプト、出来ました!
Perlなので簡単。標準入力すれば、標準出力で付け替えたHTMLを出力します。

#!C:\perl\bin\perl.exe

use Jcode;

while($doc = <STDIN>){

#文字コードの変更
	$doc_e = jcode($doc)->sjis;

#HTML 文字コード指定を変更
	$doc_e =~s/charset=utf-8/charset=sjis/;

#a hrefの値と、span title値をマッチングで取得

	if($doc_e =~m/(^.*<A href=')(\/redir?.*)('>.*<span title=")(.*)(">.*\n)/){
		$doc_e = $1.$4.$3.$4.$5;
	}
	print $doc_e;

}

早速delegateにフィルタ設定してみる。使い方のイメージはこれ。
大阪弁Proxy
Proxyを通して、WEBページを見ると、日本語を大阪弁に変換してくれる。
つまり、今回はProxyを通してGoogle DesktopSearchにアクセスすれば、
a href と span titleの値を置き換えてくれるわけ。

さっそくやってみるが、動かない・・・どうやら、Windowsdelegate
ちゃんとFilterが動かないらしい情報を入手・・・
LinuxでProxyつくらなきゃいけないみたいです。


PC 
→Proxy(delegate on Linux)
→File Server(Windows2003 and Google Desktop and delegate)

Proxyのdelegateはフィルタを実行するため。
そして、FileServerのdelegate127.0.0.1でしか動かないGoogle Desktop Search
外からのぞけるようにするため。

ちょっと複雑な構成になりますね。

会社でやろうかとしましたが、SIerでありながら、Linuxに強い人が非常に少なく、
構築後のメンテナンスが難しいってことで、却下・・・

どなたかこれでできるか、試してみてください。

グーグルからリリースされているデスクトップサーチ。これが会社の共有ファイルサーバで
使えたらうれしいのに・・・

というわけで、Google検索機能付きファイルサーバを構築した人いないか、調べてたら
先行者がいました!

http://whzat.minidns.net/shoko2/GoogleDesktopSearchServer/
http://ameblo.jp/yamipro/entry-10001178325.html

ここにならって、delegateを使ったらファイルサーバ内の検索実現できました!
googleアプライアンスgoogle miniも買う必要ないやん!って思いましたが、
致命的な仕様が・・・・
それは、検索結果をクリックすると、自分のPCではなく、googleデスクトップ
動作しているファイルサーバで開いちゃうんですね。
全然だめ・・・

でも、Google検索結果HTMLを解析してみましたら、以下のことがわかりました。
サーチ結果の1アイテムは
1 table cellspac・・・から始まる1行で書かれている。
2 この一行のなかに タグspan title=""があり、ここの値にフルパスが書かれている。

つまり、span titleの値をa hrefの値に付け替えればよいわけです。

delegateとフィルタを作れば簡単に出来そう。

ブログのRSSフィードから情報を取得して表示しようとしたが、各ブログにて、そのURLが
異なることがわかった。
例えば、index.rdfだったり、rss.feedだったり。
URLから自動で取得する方法はないか、調べたところ、以下を発見

http://linux.ohwada.jp/modules/xfsection/article.php?page=1&articleid=301

まず、PHPプログラムにて
・demo_rss_parser.php
・demo_rss_auto.php
をインクルード
以下のソースで$url_rssRSSのURLを自動で判別して、セットされます。

$rss = new rss_parser();
$text_html = $rss->read_remote_file($blog_url);
if ($text_html == false)
{
$url_rss = "can't find URL";
}
list($url_rss, $url_atom) = $rss->find_rss_atom_link($text_html);
if (empty($url_rss))
{
$url_rss = "can't find RSS";
}

$url_rss;