調子良い人のブログ

I'm Feeling Good , And You ?

キャッシュとか履歴を定期的に消してくれる ChromeExtention を書いた

Chromeのキャッシュやダウンロード履歴をひっそりと一定時間で消去するChromeExtentionを書きました。ちなみにChrome公式情報サイトがきれいになってて驚きました。

f:id:ctyo:20120921000845p:plain



できること

  • 削除する時間の指定
  • 削除するデータの種類の選択

できないこと

  • ちゃんとデータが消されているかのチェック
  • 期間を1ヶ月とか1年とか設定できるけど、ブラウザが開いてからの時間だから無意味。時間の記録はしていない。

使い所

定期的に履歴を消したい公共的な場で使われているPCとか、長時間無駄に動画をダウンロードしては表示し続けているデジタルサイネージ端末とかです。

設定ページはこんな感じ.
f:id:ctyo:20120921001234p:plain


いわゆるユーティリティアプリなので、履歴を1時間ごとに消したいとかで困ってたら使ってください。|:3ミ



インストールはこのサイトに書いてある感じで

Google Chromeに野良ユーザスクリプトをインストールする方法がちょっと厳格になった http://blog.maripo.org/2012/08/chrome-userscripts/

ダウンロードは以下から



Active SyllabusがIPA未踏に採択された :-P

大学の時からWhiteBase Inc.でやっているプロジェクト「Active Syllabus」が、2012年度のIPA未踏人材育成事業に採択されました。私もサラリーマンになってしまいましたが、会社から許可をもらって開発をしています :-P

 

香川大学の修士の西森くん(@negusei)と、香川大学の堀先生(@horiyuki22)とでプロジェクトを進めています。

 

f:id:ctyo:20120913204829p:plain

ActiveSyllabus は大学のシラバスや、授業の選び方をより学生にとって分かりやすいものにするプロダクトです。

 

分厚い卒業要件の説明書や、授業が見つけられない機会損失の問題を解決します。だれも便利にできてなかったこの分野を中心にして多くの学生が充実した生活を送れるように支援するサービスをつくりたいと思っています。(私は充実してなかったので...

 

しかし、実はどんなものが求められているのか作っては考えで迷っています。未踏期間は来年の2月までなので、急いでじっくり開発をしたいです。

 

f:id:ctyo:20120901105551j:plain
じっくりデスクトップを見つめる二人

 

同期の未踏採択者のなかでは 、喜田さんの「プログラマブルフードの開発」とかが気になってます。人類の進歩っぽいですよね!

 

前回の採択者の発表を見ていると、Fuller,inc.のアプリ紹介プロダクト(未公開?)や、麻雀の簡単なルールが数十行で書けるプログラミング言語Egisonなど、強者感がすごいので負けないようにしたいですね。

 

f:id:ctyo:20120901113704j:plain

ま、でも 30km/h以上 だすと捕まるし、じっくりで!

 

 

 

PerlBeginners#2に行ってWAFをススメられてきた!

PerlBeginners#2に行ってきました!

f:id:ctyo:20120427205725j:image

今回は「Web関係の質問をしていい」とのことで, CGI を書くとき動的なページにする機能をつけるとプログラムが汚くなるので, 綺麗に書くにはどうしたらいいのかを聞いてきました.


結果, 回答では皆さんPSGI(Plack)上のWAFを使っているとのこと. WAFについてくるDispacher(別名 Mapping, Rooting)機能を使うとスッキリするヨ, との回答をいただきました!


WAF使ったことあったけど, CGI ばっかりやってた, 確かに!

とりあえず, 質問の中で使っていたサンプルを Mojolicious::Lite を使ってPSGIアプリにしてみました!

# URLが生きているかどうかを確かめてJSONを返すプログラム
# 起動は plackup check_domain.pl
use Mojolicious::Lite;

get '/' => sub {
    my $self = shift;
    my $url  = $self->param('url'); 

    my $res;
    if($url eq ""){
        $res = {avail => '0', url => $url};
    }else{
        my $res_code = check_domain($url);
        if ($res_code =~ /^[2|3][0-9]{2}/) {
            $res = {avail => '1', url => $url, code => $res_code};
	}else{
	    $res = {avail => '0', url => $url, code => $res_code};
        }
    }

    $self->render_json($res);
};

sub check_domain {
    use LWP::UserAgent;
    use HTTP::Request;
    use HTTP::Response;

    my $url = shift;

    my $proxy = new LWP::UserAgent;
    my $req = HTTP::Request->new('GET' => $url);
    my $res = $proxy->request($req);

    return $res->code;
}

app->start;


どんどん機能を追加していくときに書きやすくなるんじゃないかな, と思った.
感想. 今度からは素直にWAF使おう!

thankyou
PerlBeginners#2
@ytnobody さん
- http://d.hatena.ne.jp/perlcodesample/