Skip to content
9月 4 / hisaichi5518

Re: Template中のURLを自動で賢くアンカーテキストにしたい

風邪ひいてました。寝過ぎて首痛い。
5日ぶりのPerlです。相変わらず可愛い。
5日間パソコンでネットサーフィンしないとどれくらい置いて行かれるんだろうーと思ってたけど、twitterで大半捕獲出来ますね。twitterすごい!Shibuya.pm応募出来なかったけどね…。

Template中のURLを自動で賢くアンカーテキストにしたい – すぎゃーんメモ
これをどうするんだろうなーと考えていて、Text::Xatenaでそれっぽく出来るなとふと思った。

use Test::More;
use strict;
use warnings;

use Text::Xatena;
use Text::MicroTemplate qw/render_mt encoded_string/;

my $url = 'http://example.com/';
my $text = qq!<><>$url!;

my $template = <<'...';
?   my $escape = sub {
    <?= $_[0] ?>
?   }
    <?= encoded_string(Text::Xatena->new->format($escape->($_[0]), stopp => 1)) ?>
...

my $output = render_mt($template, $text);
cmp_ok $output, '=~', qr!<a\s+href="$url">$url</a>!;
done_testing;

T::MT使った事ないからよくわかってないです><
ちょっと無理やりな感じがたまりませんね!!!!そういう事にしておきましょう!!

ついでに<"$url">だとリンクにならないので、$textをちょっと変えてます。

追記
はてなブックマーク – すぎゃーん的なブクマ

<"[$url]"> と書けばこれ使って正しくリンクにできますね!

だそうです!はてな記法かな

8月 16 / hisaichi5518

パソコン版の2ji girlのデザインをがっつり変更した。

見やすくなったはず!使いやすくなったはず!

えんじょい!
萌える画像自動収集サイト 2ji girl

追記
あとfeedがちゃんと動いてなかったので直しました。すみません><

8月 7 / hisaichi5518

C言語始めました。 #3

doubleってなんだ。
intは、整数。
doubleは実数を記憶する型。
1なら1.000000。

#include <stdio.h>
int main(void){
	double num;
	num = 1;
	printf("%f", num);
}

型の強制変換

#include <stdio.h>
int main(void){
	printf("%f\n",1.111 * 9);
	return 0;
}

とか

#include <stdio.h>
int main(void){
	printf("%d\n",(int)(1.111 * 9));
	return 0;
}

かっこを外すとおかしくなる。

8月 2 / hisaichi5518

C言語始めました。 #2

どうみても自分用メモでも役に立つのかわからないレベルです、本当にありがとうございました。

型名 変数名;

int value;

1.半角アルファベット、半角数字、半角_のみ使える。
2.1文字目に半角数字を使う事は出来ない。
3.予約語も使用不可。
を守らないと怒られるよ。

int main(void){
	int value;
	return 0;
}

こんな感じ。

#include <stdio.h>
int main(void){
	printf("hello");
	int value;
	return 0;
}

本当はダメなんだけど、多くのコンパイラで動く。C++やC99がうんたらかんたら。
宣言は、一番上でする。

#include <stdio.h>
int main(void){
	int value;
	value = 1;
	return 0;
}
#include <stdio.h>
int main(void){
	int value = 1;
	return 0;
}

これでも動いた。

#include <stdio.h>
int main(void){
	int num = 10;
	printf("%d\n",num + 100);
	return 0;
}

それっぽく使ってみた。

#include <stdio.h>
int main(void){
	int value = 10;
	value += 30;
	printf("%d\n", value);
	return 0;
}

コレ以外にもインクリメント、デクリメントも出来る!Perlと多分一緒!省く!

8月 1 / hisaichi5518

C言語始めました。

Perlをもっと知る為に一からC言語を勉強します。というわけで、メモ。

型 関数名(引数){}って感じ。最初に実行されるのが、mainなのでmainを使いましょう。

int main(void){ return 0; }
sub main { return 0 }

Perlみたいに;を抜かすとエラーになるよ。Perlでも;は書いといた方がいいのかな。

int main(void) {
	printf('Hello, C world!');
	return 0;
}

これだけだとエラーになるから、疑似命令を出す。
#include <なんたらかんたら>

#include <stdio.h>
int main(void) {
	printf("hello, world!");
	return 0;
}

これでhello, world!が表示される。

sub main {
    print "hello, world";
    return 0;
}
main;

Perlでは、一々サブルーチンを作る必要がないのだけど、こんな感じ。

初めての改行。

#include <stdio.h>
int main(void) {
	printf("hello, world!\n");
	return 0;
}

”で改行有りの文字を囲むと?
→コンパイルエラーがでた。
multi-character character constant

assignment makes pointer from integer without a cast
日本語でおk

\nを”で囲んだらダメなのかなー。日本語とかもダメなのかしら。
というわけで、日本語を試した。
→”"で囲んでいたらエラーなし、”で囲んでいるとさっきのエラーが出る。
結論→”は、とりあえず使わないでおこう。

int main(void){}で、文字を返したらどうなるのか。
→当然、コンパイルエラー

# include <stdio.h>

みたいに#の後に空白いれてもエラーが出なかった。

まだまだ簡単ですね!!!!!!アホだからPerl忘れそう!!!!

7月 31 / hisaichi5518

Rakudo Star が出ました。

遂にでた。まだ試してないけど、見た限りPerl5 とは別物だと思う。
でも、正規表現がすげーとか聞きました。今度、試そうと思う。

rakudo’s star at master – GitHub
http://github.com/rakudo/star

7月 18 / hisaichi5518

今日知ったPerlのしょうもない事。

こんな書き方出来るんだなあ、と今日はじめて知った。面白い。

use strict;
use warnings;
use LWP::UserAgent;
use File::Basename;

my $image_url = "http://~.jpg";
my $filename  = "/testtset".(fileparse($image_url, qr/\.[^.]*/))[2];

open my $fh, '>', $filename or die "$filename:$!";
my $res = LWP::UserAgent->new->get($image_url, ':content_cb' => sub { print $fh shift });
close $fh;
unlink $filename unless $res->is_success;

2ji girlに実装中のどエロモードが本当にどエロで面白い。

7月 17 / hisaichi5518

2ji girlの特別モードを考えてる。

前、エロ画像だけ集める方法思いついた!と書いたけど、需要があるようなのでそれを2ji girlに取り込む事にしました。
二次元のエロ画像を集めるのはいいんだけど、単純に取り込むだけだと”萌える画像を集める”に反してしまうので、特別モードとして色々提供しようかなあと思い、色々考えたのでメモメモ。

必要があれば、追記していきます。

特別モードの特徴

  • 一日一回更新
  • 画像保存期間は一日
  • tumblrは使わない

特別モードの種類

  • 三次モード
  • どエロモード
7月 14 / hisaichi5518

Re: よし、今から根こそぎ作るわ

めんどかったので、最初から書き直した。参考程度に。
make_url()に引数として、URI->new(“最初のページURL”);を渡す。
とりあえず偶然目についた同人の樹(thumb.phpで表示出来る猫バス2)に対応してみた。それ以外はめんどいので対応してない。
via http://bbs.aniota.info/r.cgi/material/1278578670/118

注意

  • 33ページ目の画像を取ってくる
  • nekobus()のreturnらへんがごちゃごちゃしてるけど、他に思いつかないから気にしない。
  • 一応、自分でurl作成して携帯で表示確認したけど、めんどくてちゃんとめいでんたんの日記を読んでないので間違えてても泣かない。
  • cgiで実行するなら、headerのcontent_typeを追加する事。このままだと500エラーが出る。
  • URIは標準モジュールじゃない。例えば、codepadにこのコードを貼っつけてもエラーが出る。

以下、コード

use strict;
use warnings;

use MIME::Base64 qw/encode_base64/;
use URI;

# 根こそぎmode(未対応)
sub nekosogi { die 'error' }

# 猫バスmode
sub nekobus {
    my $u = shift;
    my $c = $u->query_param('c') || "";
    my $d = $u->query_param('d') || "";

    if($c && $d){
        my $img_url = './gazou/'.$c.'/'.$d.'/033.jpg';
        # queryをリセット
        $u->query_form({});
        return $u->as_string.'thumb.php?tm='.encode_base64('a:2:{s:1:"p";s:'.length($img_url).':"'.$img_url.'";s:1:"s";d:240;}');
    }
    else {
        die 'error';
    }
}

sub make_url {
    return nekobus shift;
    # nekosogiは未対応の為、振り分けなし。
}

print make_url(URI->new("http://ac-max.com/doujinki/main/?c=090128&d=004"));

三択同人サイト管理人各位
こんなうんこみたいな仕様にするなら、俺に作らせておくれよ。一つ50万くらいで(ニコッ

7月 14 / hisaichi5518

Web中央図書館ってなんなんやー!

大学でマーケティング論とかそんな名前の授業を聞いていて、Web中央図書館2の方向を変えるべき時だなぁと思いました。
ただの”小説(詩)投稿サイト”という枠組みの中だけで生き残っていくのは難しいし、ありふれてるので今の大手には勝てない。

そこでWeb中央図書館ってなんなんやーと考えてみた結果、今後は”Web中央図書館”という名前らしいサイトにしようかなと思います。

ついでにパブーというサイトが最近公開されました。
電子書籍作成だけでなく、販売も出来るらしいので、興味がある人は是非。

このパブーで漫画だったり写真集みたいなのを公開している人がいて、すげーと思ったわけですが、そういえばWeb中央図書館でもこういう使い方が出来るのにこういう使い方してる人いないなーと思いました。画像表示機能を使えば、漫画や写真集だって投稿しようと思えば出来るんです。
こういう機能の使い方を変えれば出来る事だったり、新しいアイディアは全部ウェルカムなんですが、誰もやらないという悲しい現実。管理人の僕がユーザーの皆さんを引っ張らなきゃいけないなと思いました。