2006-04-30

Wikispaces - お手軽Wiki設置

Wikispace

Welcome to Wikispaces - Wikis for Everyone

富士山の次は盆栽かあ。
日本系(?)が二つも見つかったのはたまたま?日本人としてはなんだかうれしい限り。

これはお手軽にWikiを作成できるスペース
種類が三つ選べます
・公開も編集権限もPublic(無料)
・公開はPubulicで編集は権限のあるメンバーのみ(無料)
・公開も編集も権限のあるメンバーのみ(これだけは有料)

基本的に無料のサービスです。

簡単に履歴が参照できるのはなかなか素敵。
ファイルも5MBまでならアップロードできます。
通常Wikiというと特別なルールで編集するのですが、初心者にはうれしいVisualEditorがあるので、Wikiの文法を知らなくてもページが作れます。

Livedoor Wiki との差別化としてアピールできるところは、画像以外のファイルもアップロードできること。
サンプルのソースコードなどもアップロードできるのでなかなか便利ですよ。
Firfoxの拡張ファイルxpiも大丈夫です。
またタグに[[code]]というものがあって、各言語毎のソースコードをきれいに色分けしてくれます。
CやVBはもちろんのこと、RubyやPython、asmなんかにも対応してます。

ちょっと思いついたことはブログで、まとめてきちんとしておきたいことはWikiで、なんて使い分けにとてもいいと思います。

2006-04-26

金田君、ひっさしぶり!

勝手に言ってみる。

「よっ、金田君ひっさしぶり!バイクやめたの?
テツオもいるじゃん!」

FREEDOM-PROJECT.JP

2006-04-25

Excelの表を文字罫線にする

「Excel文字罫線変換」

マニュアルとか仕様書のためにExcelの表を文字罫線にしたーいということがよくある。

なまえねだん
りんご450えん
みかん350えん

これを
┌───┬────┐
│なまえ│ねだん │
├───┼────┤
│りんご│450えん │
├───┼────┤
│みかん│350えん │
└───┴────┘
とやってくれます。すばらすぃ!(サイト直接見てる人にわかりにくいかも。ごめんね。)

やり方も簡単で、Excel上の表をコピーしてプログラムを実行すると、クリップボードに存在するExcelの表を文字罫線の表に変換してくれます。
すごいねえ。
WindowsXPでも問題なく出来ました。

2006-04-13

[pgsql] 更新可能なビューで件数取得できない

[環境] PostgreSQL 7.4.5 on i686-pc-linux-gnu

Pgsqlでビューを作成して、Ruleで更新可能なViewにしてるんだけど、Update後の件数が取得できない。

Rule : upd
CREATE OR REPLACE RULE upd AS
ON UPDATE TO v_user DO INSTEAD NOTHING;

Rule : upd_pass
CREATE OR REPLACE RULE upd_pass AS
ON UPDATE TO v_user DO INSTEAD
UPDATE v_user SET pass = new.pass,
updcd = old.userid::text::character varying,
updymd = 'now'::text::timestamp(6) with time zone
WHERE t_user.userid = old.userid;

Ruleを二段階にしているのはわけがあって、
You need an unconditional ON UPDATE DO INSTEAD rule.
というエラーが出ちゃうのでその回避のためなんだけど、これをすると今度は更新件数が取得できなくなっちゃいました。
なんかいい手立てはないものかなあ。

PgAdminで実行しても同じ結果なので、Pgsql内での問題だと思う。
"Nothing"だからしょうがないのかなあ。

ところが突然解決方法発見。
Rule : upd を
CREATE OR REPLACE RULE upd AS
ON UPDATE TO v_user DO NOTHING;
と、"INSTEAD"をのぞいたらうまくいくようになりました。
ああ、よかった。

2006-04-11

Big in Japan: Web 2.0 Toolbox

Big in Japan
その名も Big in Japan というRuby on Rails で作られた面白そうなサービス発見!
でもなんでJapanなのさ~。

ブログにいろんな機能を提供してくれます。
一番の売りはPodcast用のファイル共有機能。
"super sexy features"があるんだそうです。

他にも"frankenfeed"という面白そうな名前の機能もあります。

Ruby on Rails で作成されているってだけでワクワクしますなあ。
使った人レビューよろ!(こら

Pagerインストールでエラー

Pagerをインストールしようとすると、以下のエラーが出る。
downloading Pager-2.3.6.tgz ...
Starting to download Pager-2.3.6.tgz (26,964 bytes)
.........done: 26,964 bytes
ERROR: pear.php.net/Pager: conflicting files found:
Pager\Sliding.php (pear.php.net/pager_sliding)
これは、Pager_Slidingのファイルが既に存在して競合しているため。
Pager_Slidingの機能は既にPagerに取り込まれているため、現在Pager_Slidingは非推奨となっている。

コマンドで
pear uninstall Pager_Sliding

としてPager_Slidingをアンインストールし、
pear install Pager

でPagerをインストールして解決。

参照:
PEAR :: Manual :: Pager (v.1.x) 対 Pager_Sliding

2006-04-09

MP3で予約録音できるラジオ

ラジオを予約録音して、そのMP3のファイルを携帯電話に取り込んで、PHS(京ぽん)のミュージックプレイヤーで聞きたいな。
そこで以下の条件に合致する商品を探してみました。
  1. ラジオを予約録音できる
  2. AM/FMの両方を録音できる
  3. PCを使わなくても本体に録音できる
  4. 録音結果をパソコンで取得できる。(MP3がベスト、WMAとかAACもOK)

--- 2007.05.10 追記 ---

USB AM/FM RADIO
http://www.thanko.jp/usbamfmradio/

via サンコーからUSB AM/FMラジオ - Engadget Japanese
  1. ラジオの予約録音 -- OK
  2. AM/FM両方 -- OK
  3. 本体録音 -- NG
  4. PCに取り込める -- OK
下のUSB RADIO を販売しているサンコーからの商品です。とうとう大本命!?これなら本体録音できなくてもいいかな...価格6,980円
PC上のソフトウェアからチューニングやプリセット設定、録音・予約録音がおこなえます。本体は据え置き型でPCとはUSBケーブルおよび音声ケーブルで接続する方式(USBラジオ側の音声出力をPCのマイク入力に接続)。電源はUSBバスパワー。感度の良い場所に設置できるほか、1.5mのFM外部アンテナも付属します。録音形式はWAVまたはWMA。開始・終了時間と局を登録した予約録画ができ、複数の予約タスクを登録することもできます。
録音はPCのソフトウェアから行うので、PCは電源だけでなくソフトウェアの起動が必須です。それから録音はWAV形式なんだけど自分でMP3に変換すればいいからまあいいか。これで単体録音できたらまさに神機なんだけどなあ!

--- ここまで2007.05.10追記 ---

デジタルラジオレコーダー DR-250/DR-1000
http://www.nhc-com.jp/product/digital_voice/dra250/dra250.html
デジタルラジオレコーダー DR-A480/DR-A4160
http://www.nhc-com.jp/product/digital_voice/dra.html


メーカー:NHC
  1. ラジオの予約録音 -- OK
  2. AM/FM両方 -- OK
  3. 本体録音 -- OK
  4. PCに取り込める -- NG
まず最初に目に付いたのがコレ。価格はお手ごろな10,000円と12,000円。
しかしコレはあくまでも内蔵部分に録音できるだけで、PCでMP3を取り出すことはできないので却下。
でも単体で使う分にはなかなか優れものです

USB Radio
メーカー不明
http://www.thanko.jp/usbradio.html
  1. ラジオの予約録音 -- OK
  2. AM/FM両方 -- FMのみ
  3. 本体録音 -- NG
  4. PCに取り込める -- OK
FMしか録音できないしPCも必須だけど結構惹かれます。価格も2980円と安っ!

PC必須でもよいならradioSHARKという製品もあります。
どちらかというとmacユーザーにお奨めです。尚日本のFMは聞けないらしいですのでご注意。 ← 2で可能に!
binWord/blog: radioSHARK、もうちょっと詳しくレビュー

2007.02.20 追記
日本のFMも次バージョンのRadioSHARK2では聞けるようになりました!
MiniLead | RadioSHARK2の使い心地とかレビュー/WindowsXPで (開封編)


TalkMasterⅡ(トークマスター2)
メーカー:サン電子
http://suntac.jp/voicelab/talkmaster2_top/tm2_top.php
  1. ラジオの予約録音 -- OK
  2. AM/FM両方 -- OK
  3. 本体録音 -- OK
  4. PCに取り込める -- OK
次に発見したのは大本命か「トークマスターⅡ」!
充電式でしかもUSBマスストレージにもなる!
1GBまでのSDメモリーカードで録音容量を拡張できる。録音したMP3ファイルを、録音毎にフォルダに保存してくれるので便利。
電波の弱いところではAMループアンテナと使うことをお奨めします。
しかし、価格が一番安いのでも27,800円...

[番外] RADIDEN(Docomoの携帯)
メーカー:SONY Ericson
http://www.sonyericsson.co.jp/product/docomo/radiden/
  1. ラジオの予約録音 -- NG
  2. AM/FM両方 -- OK
  3. 本体録音 -- NG
  4. PCに取り込める -- NG
FMケータイはあってもAMも聞けるラジオつき携帯電話はない。なんでかなーとおもってたら、AMはデジタルノイズのため載せるのが難しいらしいそうです。
さすがワールドバンドレシーバーを出しているSony。これはラジオが聞ける携帯電話で、ラジオの電源と電話の電源が独立しているので、ラジオだけって使い方もできるんだそうです。ラジオも携帯も両方とも持ち歩くなんてイヤ!と言う方にはいいかもしれません。DoCoMo持つ気はさらさらないけど、惹かれます。これで録音できたら間違いなくホットモックを買うでしょう。(笑

で、結果としては、「トークマスターⅡ」ということになりそうです。
でも値段がなあ。。。(涙

2006-04-08

Best home made lightsaber duel ever!

Best home made lightsaber duel ever! VideoSift

これどうやってるんだろう?すごーい。
スターウォーズ好きは必見ですな!

こわい会社

パソコンにそんなに詳しくないけど、普通に使うのには特に困っていないという、お客様先のある人の机のノートパソコンにふと目をやると、そこにはVNCクライアントのインジケーターが。
前はそんなものなかった(とおもう)よ!?
本人はそれが何をするソフトなのかまったく知らない様子。
最近いろいろ上層部とうまく言ってないという話もきいた直後。

こわすぎますっ。

# ホントに悪意があるかどうかは不明ですけどね。

2006-04-06

Unicode文字のHTMLエンティティ

Unicodeの特殊文字を表示したい場合はどうするか。
郵便のマーク → 〠
コレを表示するには
郵便のマーク → 〠
とコードを書く。

数値の部分は、unicodeのcharacter range です。

unicodeのcharacter range を調べる場合はこちらから:
Character Names Index

記号はこちら
Code Charts - Symbols

ちなみに、郵便マークはここ[PDF]にあります。

また、特殊な記号(星座マークとか)はここ[PDF]にありました。
ここには結婚とか離婚とか結婚してないパートナーとかの記号もあってびっくり。
そうなのか。。。

追記:
unicodeは世界中の文字を集めているので、どの文字が指定されてもいいように待ち構えていると、ブラウザはおそらく疲れてしまうでしょう。
そういう場合はStyle Sheet(css)のunicode-rangeで、読み込む文字コードの範囲を指定してあげることができます。
ドキュメントに日本語しか使わない場合はぜひ指定してあげましょう。
<参考>
SELFHTML: カスケーディング・スタイルシート(CSS) / カスケーディング・スタイルシート(CSS)の属性 / フォント・ファイルを使った文字の書式設定

2006-04-05

[PHP] SQL インジェクション 対策

いまのところ受け取る値を無害化するので一番いいのはこれかなあ。

$sqlstr = preg_replace(array('/[~;\'\"]/','/--/'),'',$val);

1.「;」「'」「"」を削除
2.「--」を削除(※「-」は削除しない)

before --> = 2006-03-25 and tast = 10 and 1=1; delete from t_table;- --

after --> = 2006-03-25 and tast = 10 and 1=1 delete from t_table-

もっといいの知ってたら教えてください。

<?php
function inject_4SQL($val,$vartyp='str')
{
    switch (
$vartyp) {
    case 
'int':
        
$sqlstr intval($val);
        break;
    case 
'dbl':
        
$sqlstr doubleval($val);
        break;
    default:
        
$val preg_replace(array('/[~;\'\"]/','/--/'),'',$val);
        
$sqlstr addslashes($val);
    }
    return 
$sqlstr;
    }    
?>

CVSにExplorerから直接コミット

自分用にもメモ。

[Windowsユーザー限定] ゴメンヨ

テキストエディタでちょこちょこっと直したファイルをCVSにファイルをコミットしたいだけなのに、統合開発環境起動して~云々、とかめんどくさ!
という方には以下のシアワセな方法を。

TortoiseCVS

Explorerから直接右クリックで、Diff、Update、Commit が出来るようになるよ~。
ステキ。

参照元:
Ethna_ActionBlog » Windows で CVS
http://ethna.wordpress.com/2006/01/24/windows-%e3%81%a7-cvs/

2006-04-02

PHPを辞める

haltさんとこで衝撃的な宣言が!
武蔵流プログラマへの道 - 俺はPHPを辞めるぞJOJOぉぉぉぉッッッ!

goto文とうとう実装されるんですか、そうですか。。。

次の展望ある言語って何だろう。
orz

JavaScriptのencodeの復元方法

自分用メモ。

XMLHttpRequestを使う時は、やっぱり原則utf-8ということで、2バイト圏の我々としてはいろいろ苦労があるわけですが、みんなが結構困ってるのがJavaScriptのescapeで変換される文字列。ブラウザによって挙動が違うので大変です。で、このescapeを復元してくれる関数を作ってくださった方があるそうです。
ありがたやありがたや。

/**
* Function converts an Javascript escaped string back into a string with specified charset (default is UTF-8).
* Modified function from http://pure-essence.net/stuff/code/utf8RawUrlDecode.phps
*
* @param string $source escaped with Javascript's escape() function
* @param string $iconv_to destination character set will be used as second paramether in the iconv function. Default is UTF-8.
* @return string
*/
function unescape($source, $iconv_to = 'UTF-8') {
$decodedStr = '';
$pos = 0;
$len = strlen ($source);
while ($pos < $len) {
$charAt = substr ($source, $pos, 1);
if ($charAt == '%') {
$pos++;
$charAt = substr ($source, $pos, 1);
if ($charAt == 'u') {
// we got a unicode character
$pos++;
$unicodeHexVal = substr ($source, $pos, 4);
$unicode = hexdec ($unicodeHexVal);
$decodedStr .= code2utf($unicode);
$pos += 4;
}
else {
// we have an escaped ascii character
$hexVal = substr ($source, $pos, 2);
$decodedStr .= chr (hexdec ($hexVal));
$pos += 2;
}
}
else {
$decodedStr .= $charAt;
$pos++;
}
}

if ($iconv_to != "UTF-8") {
$decodedStr = iconv("UTF-8", $iconv_to, $decodedStr);
}

return $decodedStr;
}

以下参照:

unescape(PHP)関数 Javascript版escape日本語POST対応 PEAR::HTML_AJAX - PHP::PEAR - dozo PukiWiki: "XMLHttpRequest"

Hawk's W3 Laboratory : XML : XMLHttpRequestについて
http://www.hawk.34sp.com/stdpls/xml/xmlhttprequest.html