Skip to content

Instantly share code, notes, and snippets.

@ishiduca
ishiduca / pixiv2gmail.pl
Created June 4, 2011 05:50
illust_id(medium)をGmailで送る
#!/usr/bin/env perl -s
use strict;
use warnings;
use Config::Pit;
use WWW::Pixiv::Download;
use Email::MIME::CreateHTML;
use Email::MIME::CreateHTML::Resolver::CustomUA;
use Email::Send;
use Email::Send::Gmail;
@ishiduca
ishiduca / gist:1009645
Created June 6, 2011 02:15
pixiv 漫画コンテンツの非同期DL
#!/usr/bin/env perl
use strict;
use warnings;
use WWW::Pixiv::Download;
use Config::Pit qw(pit_get);
use Parallel::ForkManager;
use Path::Class;
use Clone;
my $illust_id = '17373419';
@ishiduca
ishiduca / gist:1016470
Created June 9, 2011 10:15
get 'pixiv' staccfeed
#!/usr/bin/env perl
use strict;
use warnings;
use WWW::Pixiv::Download;
use Config::Pit qw(pit_get);
use JSON qw(decode_json);
my $home = 'http://www.pixiv.net';
my $stacc = "${home}/stacc/";
my $json_url = "${home}/stacc/my/home/all/all/js?tt=%%STACC_TOKEN%%";
@ishiduca
ishiduca / gist:1020337
Created June 11, 2011 07:23
Basic Auth形式でFriendfeedにメッセージを送る
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use Encode;
use MIME::Base64;
use LWP::UserAgent;
my $message = "カリー化してみたよ。";
my $username = 'your username';
@ishiduca
ishiduca / gist:1030874
Created June 17, 2011 04:30
ブラウザのCookieを使ってDLする
#!/usr/bin/env perl
use strict;
use warnings;
use HTTP::Cookies::Safari;
use WWW::Pixiv::Download;
my $illust_id = shift || die qq(! failed: "illust_id" not found.\n);
my $cookie_jar = HTTP::Cookies::Safari->new;
$cookie_jar->load( "$ENV{HOME}/Library/Cookies/Cookies.plist" );
@ishiduca
ishiduca / gist:1180157
Created August 30, 2011 04:04
任意の数値を保持した状態で、別の数値を加える方法
var f1, // カリー化っぽく
f2, // new 演算子を使ってオブジェクトを作る
f3, // オブジェクトを返す関数を作って
f4; // Number.prototypeを使う
f1 = function () {
var add = function (a) {
return function (b) {
return _add(a, b);
};
@ishiduca
ishiduca / gist:1183239
Created August 31, 2011 10:16
移譲を使う(いい例じゃない)
var t1, add;
t1 = function () {
var Hold = function (_num) {
this.num = _num;
this.add = function (num2) {
return toNumber(this.num) + toNumber(num2);
};
};
@ishiduca
ishiduca / gist:1191122
Created September 3, 2011 12:34
教材
// new 演算子を使って複数のオブジェクトを作った場合、
// 同一のオブジェクトをプロトタイプオブジェクトにもつため、
// プロトタイプオブジェクトのプロパティをいじった場合、
// 他のオブジェクトのプロパティも変わる危険性がある
// 逆に言うと、ここの設計を間違わなければ、無駄に同じようなオブジェクトを
// つくらないでいい
function Person (name) {
this.name = name || 'unknown';
}
@ishiduca
ishiduca / gist:1191144
Created September 3, 2011 12:50
=== と ==
function test (a) {
console.log(a === false);
}
function test_near (a) {
console.log(a == false);
}
var arry = [ false, true, null, undefined, '', 0, '0' ];
@ishiduca
ishiduca / gist:1194111
Created September 5, 2011 04:46
「リクエストを受けた順番に通信&処理を行うXMLHTTPクライアント」のプロトタイプ
this.QUERY = new Query;
// var client = {};
//
// /* client.A と client.B は非同期 */
// client.A = client.A || new XMLHttpClient;
// client.B = client.B || new XMLHttpClient;
//
// /*
// pushしたリクエストは、pushした順番に処理。
// 1つのリクエストを処理を完了するまで、次のリクエストは待っている