ホーム > webservice

webserviceのアーカイブ

Exif情報確認君はじめりです

  • 投稿者: chiba
  • 2009/3/31 火曜日 20:41:38
  • webservice

Exif情報確認君はじめりです。

今期、新たな試みとして社内でチームを2つつくってそれぞれサービスを1個づつ作ろう!とやってみた。が、日々の作業に忙殺されて結局作れないまま3月が終わろうとして、これは言いだしっぺとしてまずいと思い適当にExif情報確認君なるものをでっちあげてみた。

これはなに?

JPG画像をメールで送るとその画像に含まれるExif情報をメールで返送してくれるサービスです。さらにExif情報を削除した画像が添付されます。

Exif?

Exchangeable image file formatの略称。カメラの機種や撮影時の条件情報を画像に埋め込んだデータ(のフォーマット)。詳しくは
Exchangeable image file formatを。

そのた

もしかしてSPAMの踏み台になる恐れがあるかも。本当にそうなってきたら対策考える。

まぁそういうわけで、来期はもうすこしまともなサービスを作りたいです。尚、弊社ではプログラマを絶賛募集中です。興味のある方は募集要項をご覧になってjoin@geminium.comまでご連絡くださいです。Perlが好きな人大歓迎です。

はてぶタグとともに2008年を振り返る

はてぶのタグを年と月ごとにカウントするやつつくりました。
明らかに車輪の再発明ぽいですね。誰かやってるんでしょうけどXML::LibXMLのリハビリがてらに作ってみました。
2007年と2008年のぶんをとってくるです。

$tags = {
    year => {
        month => {
            'TAG' => count,
        },
    },
};

↑とってくるデータ構造はこんなかんじ。

んでコードと。

#!/usr/bin/perl
use strict;
use warnings;

use feature qw/say/;
use utf8;

use Encode;
use LWP::Simple qw/get/;
use XML::LibXML;
use XML::LibXML::XPathContext;

use DateTime;
use DateTime::Format::ISO8601;

use Storable;

my $base_url = 'http://b.hatena.ne.jp/nihen/atomfeed';
my $parser = XML::LibXML->new();
my $xc = XML::LibXML::XPathContext->new();
my $dt_fmt = DateTime::Format::ISO8601->new;

my $page = 0;
my $tags = {
    2007 => {map { $_ => +{} } 1..12 },
    2008 => {map { $_ => +{} } 1..12 },
};
SEARCH_2007_2008:
    while (1) {
        my $content = get($base_url . '?of=' . ( ++$page - 1 ) * 20);
        say 'entry of ' . ($page - 1) * 20 . '-' . $page * 20;
        my $doc = $parser->parse_string($content);

        my $namespace = $doc->documentElement()->getAttribute('xmlns');
        my $namespace_dc = $doc->documentElement()->getAttribute('xmlns:dc');
        $xc->registerNs('x', $namespace);
        $xc->registerNs('xdc', $namespace_dc);

         my @entries = $xc->findnodes('/x:feed/x:entry', $doc);

        if ( !@entries ) {
            last SEARCH_2007_2008;
        }

        foreach my $entry ( @entries ) {
            my ($issued) = $xc->findnodes('x:issued', $entry);
            my $dt = $dt_fmt->parse_datetime($issued->textContent);

            if ( $dt->year < 2007 ) {
                last SEARCH_2007_2008;
            }

            my ($title) = $xc->findnodes('x:title', $entry);
            my @tags = $xc->findnodes('xdc:subject', $entry);
            for my $tag_el ( @tags ) {
                my $tag = $tag_el->textContent;
                if ( !defined $tags->{$dt->year}{$dt->month}{$tag} ) {
                    $tags->{$dt->year}{$dt->month}{$tag} = 1;
                }
                else {
                    $tags->{$dt->year}{$dt->month}{$tag}++;
                }
            }
        }
        store $tags, 'tagsstorefile';
    }

store $tags, 'tagsstorefile';

フレンジャーはじめりです

  • 投稿者: chiba
  • 2007/6/26 火曜日 19:00:28
  • webservice

紆余曲折ありつつ

フレンジャーのベータ版をオープンしました。

今日はフレッツADSLがキレまくりで大変だったです。

じゃじゃまる~ぴっころ~ぽ~ろり~ん

  • 投稿者: chiba
  • 2007/6/8 金曜日 23:54:17
  • webservice

極悪犯罪人としても有名な西村博之さんも関わっておられるニワンゴさんが

ニコニコブックマークをローンチされました。

いやぁこれは楽しいですね。

ちょっと前に百式で、LineBuzzが紹介されてて
ほぼこれは、ニコニコブックマークと同じなんだけどやぱニコニコのほうが簡単に使えて楽しい。

で、このLineBuzzの記事を自分がブックマークしたときのコメントが。これ。

[webservice]あ、これelement単位でコメントとかは考えてた。
http://b.hatena.ne.jp/nihen/20070516#bookmark-4729738

んで、ニコニコのときのブックマーク

[sbm][niconico]おもしろい。こうゆうのやりたかった・・・。
http://b.hatena.ne.jp/nihen/20070608#bookmark-4934701

(タグ付適当だなぁ)

そう。こういうの作りたかったんだよ~。
まぁいまさらいっても遅いけど。

といっても自分のアイデアはもうちょい違うので、そのうち作りたいと思いますが。

ホーム > webservice

検索
フィード
メタ情報

ページの上部に戻る