このサイトは最近WordPressに移行したので、いろいろと楽(だが面倒)なのですが、
ここ以外の趣味ページやお仕事ページはなぜか一から書き起こしてます。
テンプレートが使えないような独自のものがほとんどだからなのですが、
この仕事量を普通に金額にしたら相当な額ですね。
フルスクラッチとはいえ、自分用のテンプレートがあるのですが、
一から作った完全オリジナル。
いつか限界が来ないことを祈りつつ(それなりに柔軟に作ってはいますが)
今日も980円のUSBキーボードをこれでもかと叩きまくる。
Flash MXにはマイターリミットが無い
Flashに図形を描く機能を持たせたツールを作ってますが、
PostScriptにはあるはずの機能が無いことに気がつきました。
そう、線をつなげた場合の角のパラメータ、マイターリミット。
検索してみたらAdobeのサイトに行き着いたのでlistStyleの項目を読んでいくと、
このパラメータを指定できるのはFlash8からということで、少々困ったことに。
う~ん、角は尖って欲しいんだけどなぁ・・・
ActionScript2には円を描く関数が無い?
今頃にFlash MXを引っ張り出してActionScriptの勉強してます。
図形で円を動的に描こうと思って調べているとdrawCircleなる関数があるという。
しかしよくよく調べていくと、この関数が使えるのはActionScript3からだとか。
わざわざ数式を用意するのと、インスタンスを使うのではどちらが軽いんだろう。
Flash9は高いしなぁ~
お助けツールに罫線文字登場
文字で絵を表示する文化がアスキーアート、
罫線で文字を表示するのは・・・罫線文字?
ということで、罫線文字に変換するサービスを公開しました。
変換できる文字は英数字ぐらいですが、結構使えるかもしれません。
penlaboと小文字で書くとこうなります。
┏━┓ ┏┓ ┏┓
┏━┫━┣━┫┣━┓┃┗┳━┓
┃┃┃━┫┃┃┃┃┗┫┃┃┃┃
┃┏┻━┻┻┻┻━━┻━┻━┛
┗┛
PENLABOと大文字で書くとこうなります。
┏━┳━┳━┳┳┓┏━┳━┓┏━━┓
┃┃┃━┫ ┃┃┃┃┃┃━┗┫┏┓┃
┃┏┫━┫┃ ┃┗┫ ┃━━┃┗┛┃
┗┛┗━┻┻━┻━┻┻┻━━┻━━┛
Flashでカーソルの座標を得る
Flashを始めました。
JavaScriptで処理するにも、いろいろと限界もありますし、
ActionScriptを利用すれば非常に簡単に実行できることもあったりします。
クロスブラウザを気にしなくていいのが最大の利点でしょうか。
さて、基本となるカーソルの座標取得方法です。
_root.onMouseMove = function(){
trace( _root._xmouse + '/' + _root._ymouse );
}
window.onunloadでハマる
ブラウザの履歴操作をイベントとして捕捉しようと調べていましたが、
ブラウザによってwindow.onunloadの挙動が微妙に違うようです。
| ブラウザ | 戻る | 更新 | 進む | 閉じる(タブ) | 閉じる(ウィンドウ) |
|---|---|---|---|---|---|
| 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