オブジェクト至高プログラミング

Posted on 29th 1月 2011 in Web, ソフトウェア, プログラム

今週検証したコードに感銘を受けたので記録しておく。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
class Hoge{
    function __construct() {
        $this->aaa();
        $this->bbb();
        // ひたすら己のメソッド実行
    }
    function aaa(){
        // 100行以上
    }
    function bbb(){
        // 100行以上
    }
    // こんなメソッドいっぱい!
}
new Hoge();
?>

コンストラクタにひたすらメソッドを書いてnewするだけ。最強!!

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

[Perl]八王子.pm参加者まとめ

Posted on 22nd 1月 2011 in Perl
八王子.pmの参加者をまとめてみた。

サイトが見当たらなかった方はtwitter、複数サイト持ってる方は独断で1つに絞っています。

umeyukiさん http://www.umeyuk-i.com/
hondallica(ぼくちゃん) http://sukuna.net/

(おまけ)Twitterリスト http://twitter.com/#!/list/hondallica/hachiojipm

comments: 0 » tags:
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

[Perl]画像用data URL schemeを作る

Posted on 5th 1月 2011 in Perl, Web
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use strict;
use warnings;
use IO::File;
use MIME::Base64;
 
# 対象ファイル
my $file = $ARGV[0];
 
# 拡張子から画像のMIMEタイプを取得
my $mime = $1 if $file =~ /\.(gif|jpe?g|png)$/;
$mime = 'jpeg' if $mime eq 'jpg';
 
# $dataに画像ファイルの中身を取得
IO::File->new($file, 'r')->read(my $data, (stat($file))[7]);
 
# BASE64エンコードして改行を除去
my $base64 = encode_base64($data);
$base64 =~ s|\n||g;
 
# data URL scheme(RFC2397)を表示
print "data:image/$mime;base64,$base64";
comments: 0 » tags: ,
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

11111011011

Posted on 1st 1月 2011 in Perl, 雑記
1
2
3
4
use strict;
use warnings
use feature qw/say/;
say 'A Heavy New Yeah!!!';
comments: 0 »
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加

[Perl]ATNDの参加者IDをTwitterでフォローする

Posted on 25th 2月 2010 in Perl, プログラム

30分ででっち上げたのでXMLのパースとかTwitterIDの正規表現とかいろいろ問題がありますが、何となく動いたので。
ATNDのID = TwitterのIDじゃないので誤フォローもありえます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use strict;
use warnings;
use Net::Twitter;
use LWP::Simple;
use XML::Simple;
use URI::Escape;
 
# TwitterのID/PW
my $twitter = new Net::Twitter(
    username => 'username',
    password => 'password',
);
 
# ATNDのイベントID
my $event_id = 1;
 
my $uri = "http://api.atnd.org/events/users/?event_id=$event_id";
 
my $xml = LWP::Simple::get($uri) or die "cannot get content from $uri";
my $data = XML::Simple->new->XMLin($xml);
 
for (@{$data->{events}{event}{users}{user}}) {
    $twitter->create_friend(uri_escape_utf8 $_->{nickname}) if $_->{nickname} =~ /[A-Za-z0-9_]+/;
}
comments: 0 » tags: ,
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加