アーカイブ

2007 年 9 月 のアーカイブ

今日のチェキ 2007-09-06

2007 年 9 月 6 日 コメントはありません

マガジンできれいなカイジの連載がハジマタ
今日はみなみけの発売日

file_get_contentsでのアクセス時にUserAgentを変更する方法
知らんかった

カテゴリー: 日記 タグ:

今日のチェキ 2007-09-05

2007 年 9 月 5 日 コメントはありません

アジャイルな環境作り – そんなに急いでどこへ行く

ぱいぱいを弄ってみる
Perl→CPAN、PHP→PEAR、Ruby→RAA、Python→PyPI

テレビアニメ『もやしもん』公式サイト
QRコードカワユス

OSシェア、LinuxとWindows 98が並ぶ

amebloのフィードが酷い件
HTTPステータスコード200を返しやがっててマジありえなかった

カテゴリー: 日記 タグ:

今日のチェキ 2007-09-04

2007 年 9 月 5 日 コメント 12 件
カテゴリー: 日記 タグ:

PEAR::Crypt_Blowfish

2007 年 9 月 3 日 コメントはありません

最近PEARライブラリの使い方が多い気がするけどキニシナイ!

Crypt_Blowfishはextensionのmcrypt導入をしているとそちらを、していない場合はPHPでの実装を利用。

これ地味に互換性ないみたいなんですけど。
IV値は初期ベクトル。
8byteのASCII文字列。
keyとivは普遍で。

PHP実装を利用。


<?php
require_once 'Crypt/Blowfish.php';

$key    = 'seacret key';
$iv     = '{a8!.at9'; // 8byte char

$password = 'password';

$blowfish =& Crypt_Blowfish::factory('cbc');

$blowfish->setKey($key, $iv);
$encrypt = $blowfish->encrypt($password);

// $encrypt is binary
echo base64_encode($encrypt) . "\n";

//$blowfish->setKey($key, $iv);
$decrypt = $blowfish->decrypt($encrypt);

// $decrypt is str_pad($password, (strlen($password) % 8)? 8 * (intval(strlen($password) / 8) + 1): strlen($password), "\0")
//$decrypt = str_replace("\0", '', $decrypt);

echo "[{$password}]=[{$decrypt}]\n"; 

CentOS5、dagからyumでインストールしたlibmcryptを利用。


<?php
require_once 'Crypt/Blowfish.php';

$key    = 'seacret key';
$iv     = '{a8!.at9'; // 8byte char

$password = 'password';

$blowfish =& Crypt_Blowfish::factory('cbc');

$blowfish->setKey($key, $iv);
$encrypt = $blowfish->encrypt($password);

// $encrypt is binary
echo base64_encode($encrypt) . "\n";

$blowfish->setKey($key, $iv);
$decrypt = $blowfish->decrypt($encrypt);

// $decrypt is str_pad($password, (strlen($password) % 8)? 8 * (intval(strlen($password) / 8) + 1): strlen($password), "\0")
//$decrypt = str_replace("\0", '', $decrypt);

echo "[{$password}]=[{$decrypt}]\n"; 

Windows、php_mcrypt.dllを利用。


<?php
require_once 'Crypt/Blowfish.php';

$key    = 'seacret key';
$iv     = '{a8!.at9'; // 8byte char

$password = 'password';

$blowfish =& Crypt_Blowfish::factory('cbc');

$blowfish->setKey($key, $iv);
$encrypt = $blowfish->encrypt($password);

// $encrypt is binary
echo base64_encode($encrypt) . "\n";

$blowfish->setKey($key, $iv);
$decrypt = $blowfish->decrypt($encrypt);

// $decrypt is str_pad($password, (strlen($password) % 8)? 8 * (intval(strlen($password) / 8) + 1): strlen($password), "\0")
$decrypt = str_replace("\0", '', $decrypt);

echo "[{$password}]=[{$decrypt}]\n"; 

カテゴリー: 日記 タグ:

sshfsを使いたい!ガッ・・・!全然ダメッ!

2007 年 9 月 3 日 コメント 1 件

sshでNFSってくれるsshfsってのがあるらしい。
dagにあったのでやってみる。
CentOS5


[foo@localhost ~]$ sudo yum install sshfs
[foo@localhost ~]$ sudo /sbin/modprobe fuse
FATAL: Module fuse not found.
[foo@localhost ~]$ sudo vi /etc/group
fuse:x:101:foo
[foo@localhost ~]$ sshfs foo@example.jp: ~/mnt
foo@example.jp's password:
fuse: bad mount point `/home/foo/mnt': No such file or directory
[foo@localhost ~]$ touch mnt
[foo@localhost ~]$ sshfs foo@example.jp: ~/mnt
foo@example.jp's password:
fuse: failed to open /dev/fuse: Permission denied
[foo@localhost ~]$ sudo chmod o+rw /dev/fuse
[foo@localhost ~]$ sshfs foo@example.jp: ~/mnt
foo@example.jp's password:
fuse: device not found, try 'modprobe fuse' first
[foo@localhost ~]$ sudo /sbin/modprobe fuse
FATAL: Module fuse not found.

ガッ・・・!
ソースからインストールも試してみたけどダメッ!
sshで他マシンのファイルシステムをマウントするには - @IT
sshfs-fuse – EthnaWiki

カテゴリー: 日記 タグ:

Firefox2.0のクイックサーチ

2007 年 9 月 3 日 コメント 1 件

Firefoxのブックマークの項目には「名前」「URL」「説明」の他に「キーワード」という項目を設定できます。
このキーワードを設定すると、アドレスバー(ロケーションバー)で設定したキーワードをタイプすることでブックマークのURLを開くことができます。
例えば以下内容でブックマークを保存していた場合は、アドレスバーに「l」と入力しEnter押せばlivedoor Readerを開くことができます。


[名前]livedoor Reader
[URL]http://reader.livedoor.com/reader/
[キーワード]l

単にこれだけなら、ちょっと便利だねレベルです。


[名前]Google
[URL]http://www.google.co.jp/search?q=%s
[キーワード]g

上記の内容でブックマークして、今度はアドレスバーに「g 検索」と入力しEnterを押してみてください。
Googleの検索結果が表示されたでしょうか。
この機能のことをクイックサーチと呼ぶそうです。


[名前]Ask.jp
[URL]http://ask.jp/web.asp?q=%s
[キーワード]a

上記の内容でブックマークして、今度はアドレスバーに「a 新宿から池袋」と入力しEnterを押してみてください。
ちょっと幸せ?

ブックマークをを見れば気がつくかと思いますが、URLの「%s」を置き換えてくれます。
マルチバイト文字だった場合はUTF-8をURLエンコードするので、EUC-JP、Shift_JISしか受け付けないサイトでは残念ながら利用できません。

アドレスバーへのショートカットは「Ctrl+l」です。
「Alt+D」「F6」とかでもいけるかも。
vimperatorでもそのまま利用できるので相性ばっちり。
現状のブクマ。


[名前]Ask.jp
[URL]http://ask.jp/web.asp?q=%s
[キーワード]a

[名前]はてなブックマーク
[URL]http://b.hatena.ne.jp/t/%s?sort=eid
[キーワード]b

[名前]三省堂
[URL]http://www.sanseido.net/User/Dic/Index.aspx?Dic1=DailyJJ&Dic2=DailyEJ&Dic3=DailyJE&st=0&TWords=%s
[キーワード]d

[名前]英辞郎
[URL]http://eow.alc.co.jp/%s/UTF-8/
[キーワード]e

[名前]Google
[URL]http://www.google.co.jp/search?q=%s
[キーワード]g

[名前]Gmail
[URL]https://mail.google.com/mail/?search=query&q=%s&view=tl&fs=1
[キーワード]gm

[名前]MySQL
[URL]http://dev.mysql.com/doc/mysql/search.php?q=%s&lang=ja
[キーワード]m

[名前]PHP
[URL]http://jp2.php.net/manual-lookup.php?pattern=%s&lang=ja
[キーワード]p

[名前]PEAR
[URL]http://pear.php.net/search.php?q=%s
[キーワード]pear

[名前]PECL
[URL]http://pecl.php.net/package-search.php?pkg_name=%s
[キーワード]pecl

[名前]Ruby
[URL]http://www2.ruby-lang.org/ja/man/?cmd=view&name=search&key=%s
[キーワード]r

[名前]Smarty
[URL]http://smarty.php.net/search.php?pattern=%s&show=manual-ja
[キーワード]s

[名前]Wikipedia
[URL]http://ja.wikipedia.org/w/wiki.phtml?search=%s
[キーワード]w

ちなみに過去のエントリーの炊きなおしです。

カテゴリー: 日記 タグ:

今日の流スレ

2007 年 9 月 3 日 コメントはありません

554 イラストに騙された名無しさん [sage] Date:2007/09/02(日) 23:56:06 ID:P16vW8qi Be:
PS3でエンドレスエイトみたいなギャルゲが600円で配信されるそうです

555 イラストに騙された名無しさん [sage] Date:2007/09/02(日) 23:59:44 ID:DVSWXWSP Be:
「プリズマティカリゼーション」か
今でも地味に人気あるらしいね

プリズマティカリゼーション

プリズマティカリゼーション
あの頃の氷川へきるが好きでした

カテゴリー: 日記 タグ:

今日のチェキ 2007-09-03

2007 年 9 月 3 日 コメントはありません
カテゴリー: 日記 タグ:

PHPでXML作成

2007 年 9 月 1 日 コメントはありません

DOMで一個ずつ追加していくの面倒なので、arrayから作れないかなと思って調べてみると、XML_Serializerでできる様子。


<?php
require_once 'XML/Serializer.php';
$options = array(
  "indent"    => "    ",
  "linebreak" => "\n",
  "typeHints" => false,
  "addDecl"   => true,
  "encoding"  => "UTF-8",
  "rootName"  => "feed",
  "rootAttributes" => array(
       "xmlns" => "http://www.w3.org/2005/Atom",
       "xmlns:base" => "http://example.org/blog/entries",
       "xml:lang" => "ja"),
  "defaultTagName" => "entry",
  "attributesArray" => "_attributes"
);
$serializer =& new XML_Serializer($options);
$entry = array(
    "id"        => "http://example.jp/entries",
    "title"     => "Blog Entries",
    "updated"   => date(DATE_ATOM),
    "link"      => array(
        "_attributes" => array(
            "rel"   => "selt",
            "type"  => "application/atom+xml",
            "href"   => "http://example.jp/atom",
        ),
    ),
    "link"      => array(
        "_attributes" => array(
            "rel"   => "alternate",
            "type"  => "text/html",
            "href"   => "http://example.jp/",
        ),
    ),
    "entry" => array(
        "title"     => "Entry 1",
        "author"    => array(
            "name"  => "My name",
        ),
        "updated"   => date(DATE_ATOM),
        "link"      => array(
            "_attributes" => array(
                "rel"   => "alternate",
                "type"  => "text/html",
                "href"   => "http://example.jp/entry/1",
            ),
        ),
        "summary"   => "summary",
    ),
);
$serializer->Serialize($entry);
echo $serializer->getSerializedData(); 

entryの中身は適当。


<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="ja" xmlns="http://www.w3.org/2005/Atom" xmlns:base="http://examp
le.org/blog/entries">
    <id>http://example.jp/entries</id>
    <title>Blog Entries</title>
    <updated>2007-09-01T15:56:34+09:00</updated>
    <link href="http://example.jp/" rel="alternate" type="text/html" />
    <entry>
        <title>Entry 1</title>
        <author>
            <name>My name</name>
        </author>
        <updated>2007-09-01T15:56:34+09:00</updated>
        <link href="http://example.jp/entry/1" rel="alternate" type="text/html"
/>
        <summary>summary</summary>
    </entry>
</feed>
カテゴリー: 日記 タグ:

今日のチェキ 2007-09-01

2007 年 9 月 1 日 コメントはありません
カテゴリー: 日記 タグ: