お助けツールに罫線文字登場

文字で絵を表示する文化がアスキーアート、
罫線で文字を表示するのは・・・罫線文字?
ということで、罫線文字に変換するサービスを公開しました。
変換できる文字は英数字ぐらいですが、結構使えるかもしれません。
penlaboと小文字で書くとこうなります。

    ┏━┓  ┏┓    ┏┓
┏━┫━┣━┫┣━┓┃┗┳━┓
┃┃┃━┫┃┃┃┃┗┫┃┃┃┃
┃┏┻━┻┻┻┻━━┻━┻━┛
┗┛

PENLABOと大文字で書くとこうなります。

┏━┳━┳━┳┳┓┏━┳━┓┏━━┓
┃┃┃━┫  ┃┃┃┃┃┃━┗┫┏┓┃
┃┏┫━┫┃  ┃┗┫  ┃━━┃┗┛┃
┗┛┗━┻┻━┻━┻┻┻━━┻━━┛

Flashでカーソルの座標を得る

Flashを始めました。
JavaScriptで処理するにも、いろいろと限界もありますし、
ActionScriptを利用すれば非常に簡単に実行できることもあったりします。
クロスブラウザを気にしなくていいのが最大の利点でしょうか。

さて、基本となるカーソルの座標取得方法です。

_root.onMouseMove = function(){
  trace( _root._xmouse + '/' + _root._ymouse );
}

window.onunloadでハマる

ブラウザの履歴操作をイベントとして捕捉しようと調べていましたが、
ブラウザによってwindow.onunloadの挙動が微妙に違うようです。

window.onunload対応表(動作確認:Windows Vista)
ブラウザ 戻る 更新 進む 閉じる(タブ) 閉じる(ウィンドウ)
Internet Explorer 7.0
Firefox 2.0
(lolifox0.3.6)
Firefox 3.0
Opera 9.51 × ×
(ブラウザの進む機能は無効)
× ×
Google Chrome ベータ

細かい仕様は確認していませんが、Operaはスクリプターにとってはあまり歓迎されない実装をしているようです。

(※この比較表は、ブラウザの履歴機能と、HTML内のち通常リンクで検証しており、historyオブジェクトによるページ推移は考慮されていません。)

進数の変換

16進数を10進数に、
16進数を8進数に、
10進数を16進数に、
10進数を8進数に、
8進数を10進数に、
8進数を16進数に、
他にもいろいろありますが、コピペを使い続けてきたためか、いざ自前で式を書こうとすると全く書けません。

検索の仕方が悪いのかの、関数があるのを見落としているだけなのか、なかなか見つかりません。
PHPにはbase_convert()がありますが、使い勝手がよろしくない。

my $str = '本日は晴天なり';
my $buf = q{};
$buf .= sprintf( '\%o', $_ ) foreach unpack 'C*', $str;

う~ん、美しい。

ネトゲアンテナ改修中

ネトゲアンテナは、ネットゲーム(オンラインゲーム)の情報サイトです。
今までは、ローカルで解析したデータを下にHTMLファイルを作成。
そのファイルをFTPでアップしてj更新するという古臭いやり方でした。

もともとが自分用のツールだったので、単独コンテンツにしても、
スクリプトはベースを変えずにその延長で使い続けていましたが、
さすがに限界も見えてきたため完全に動的に処理できるように改修してます。

リンクとかトラックバックとか死んでる機能も多いので、どうにかしないと。

いまどきはスクレイピングって言うんですよね。
ネトゲアンテナ改めネトゲスクレイピング?舌を噛みそう

PerlでPOSTメソッドの送信を行う

PerlでPOSTする必要があったので調べてみた。
HTTP::Request::CommonでPOSTするデータを用意して、LWP::UserAgentに委ねるだけ。
この連携はいつ使っても感動しますね。

use strict;
use LWP::UserAgent;
use HTTP::Request::Common;

# POST準備
my $url = 'http://exsample.com/receive.cgi';
my %postdata = ( 'id' => 'id', 'pass' => 'pass' );
my $request = POST( $url, \%postdata );

# 送信
my $ua = LWP::UserAgent -> new;
my $res = $ua -> request( $request ) -> as_string;

500桁ぐらいならどうにかなるんじゃないかな。

π=3.

1415926535 8979323846 2643383279 5028841971 6939937510
5820974944 5923078164 0628620899 8628034825 3421170679

8214808651 3282306647 0938446095 5058223172 5359408128
4811174502 8410270193 8521105559 6446229489 5493038196

4428810975 6659334461 2847564823 3786783165 2712019091
4564856692 3460348610 4543266482 1339360726 0249141273

7245870066 0631558817 4881520920 9628292540 9171536436
7892590360 0113305305 4882046652 1384146951 9415116094

3305727036 5759591953 0921861173 8193261179 3105118548
0744623799 6274956735 1885752724 8912279381 8301194912

WordPressでタグを扱う

デザインを弄ろうとしましたが、Smartyに慣れてしまうと、WordPressのテンプレートは違った感触です。
タグを表示する”タグ”は以下のものだとこちらで見つけました。


<?php the_tags(); ?>

the_tags()には3つの引数を指定できるようで、

  • 1つ目:ヘッダ
  • 2つ目:セパレータ
  • 3つ目:フッタ

ということだそうです。
必死に”Tags”を検索してて見つからないわけです。

WCGクローラ動いてます

たまにおかしな動作をしますが、スクリプトがおかしいというか、
対策をちゃんと施してないというか、取得先の問題のようです。
データ自体を問題なく確保できれば、ぜんぜん問題ないのですが、
こればかりはどうしようもないでしょう。
にっぽー@newsVIP氏のデータをお借りすることに成って、若干修正しました。
今のクロールは、cronから14:30に実行させています。
昔のように常駐ではなく、処理が終われば終了します。
そのため、監視ログはスッキリしていると思います。

日報サイトも分散が始まったようですし、なにかしら日報できるようになるのかもしれません。
たまに迷惑をおかけしますが、それも404の味ということで・・・
(念のため断っておきますが、業務として請負ったものはちゃんと対策してます)