« 2006年04月 | メイン | 2006年06月 »

2006年05月30日

USEN光(ギャオ)が来た!

4月に導入が決定していたUSENのギャオ光がとうとう開通した!

有線ギャオ光

4月初旬にUSENから「遅くとも4月末には開通しますよ」という連絡があったんですが、一ヶ月遅れでようやく開通。
ま、工事の遅れとかあったんでしょう。特に気にしてません。

さっそく繋ごう!

。。。

と思ったんですが、うまくいかない。

モデムに直でPCを繋ぐとうまくいくんだけど、ルーターを介するとダメ。でも、原因はすぐわかりました。

うちはギャオ光マンションVDSLタイプなんですが、このタイプはフレッツADSLのようなPPPoE方式でなく、DHCPで各家庭にIPが割り振られるタイプ。なのでルーターの設定を「自動設定 - DHCP」というのに変更する必要があるのでした。

ちなみにうちで使ってるルーターはLinkSysのBEFSR41C-JPという製品。 すでに購入してから4年くらい経つと思うんですが、まだまだ現役バリバリ。めちゃくちゃ重宝してます。

で、DHCPにしたら無事接続できました。

ブロードバンドスピードテストで計測してみたら、下りで5MBくらい。まあこんなもんかな。
フレッツADSLのときが1~2MBくらいだったので体感で少しだけ早くなった感じです。

そんな感じで、まだ導入して1日しか経っていませんが、今のところ特に問題なし。快適です。

今回の乗換えでは月額1000円くらいの節約になるので、それが一番うれしい。
浮いたお金で回らないお寿司でも食べにいこうかな。

USEN光(ギャオ)が来た! | コメント (0) | トラックバック (0)

メールアドレスのリストからPC/携帯のアドレスを取り出す

エクセルでやってもいいんですが、SQLのほうが手っ取り早いので、やってみました。

1.テーブルを作る

CREATE TABLE EMAIL_T (
  email_address varchar(255) NOT NULL,
  email_type varchar(10) NOT NULL,
);

2.データ投入

phpMyAdminのインポート機能を使う

3.SQL実行

select
 email_address,
 case when email_address like '%docomo.ne.jp' then 'mobile'
   when email_address like '%.ezweb.ne.jp' then 'mobile'
   when email_address like '%.vodafone.ne.jp' then 'mobile'
 else 'pc' end as pc_or_mobile
from
EMAIL_T

毎回selectしてもいいですが、カラムにpcかmobileかの種別を入れておくと、後々楽になると思います。

update EMAIL_T
 set email_type = case when email_address like '%docomo.ne.jp' then 'mobile'
        when email_address like '%.ezweb.ne.jp' then 'mobile'
        when email_address like '%.vodafone.ne.jp' then 'mobile'
      else 'pc' end

 

メールアドレスのリストからPC/携帯のアドレスを取り出す | コメント (0) | トラックバック (0)

トラックバック送信テストフォーム

トラックバック送信のテストをする時用に、ちょっと便利なツールを作ってみました。

トラックバック送信テストフォーム

我ながら、なかなか便利です。
そう頻繁に使うようなものでもないけど、トラックバックのテストをするときにこれを使えば効率よくテストできると思います。

トラックバック送信テストフォーム | コメント (1) | トラックバック (0)

2006年05月18日

英数字のみのトラックバックを弾く(スパム対策)

TBスパムがどんどん増えてきて、1日100件くらい来るようになってしまった。(TдT;)

というわけで、最近はやり(?)の「英数字のみのトラックバックを弾く」というのを導入しました。

http://blog.matake.jp/archives/mt32_trackbacks.html

こちらのサイトを参考に、ソースにちょこっと手を加えるだけ。あっという間に導入完了。
英語だけのTBと日本語も含むTBを送信してテストし、うまく動くのを確認しました。

とりあえず、これでしばらく様子を見ようと思います。

英数字のみのトラックバックを弾く(スパム対策) | コメント (0) | トラックバック (0)

2006年05月16日

画像認証コード生成ライブラリ(PEAR::Text_CAPTCHA)

ここ最近、会員登録やログインのフォームなどでよく見かけるようになった「この画像に表示されている文字を入力してください」というやつ(ぐにゃぐにゃっとなってる画像)を生成するPEARのライブラリ。それがこのText_CAPTCHAだ。

とりあえず今のところ使う予定はないんだけど、将来間違いなくお世話になると思うので、備忘録として残しておきます。

http://pear.php.net/package/Text_CAPTCHA
http://blog.poyo.jp/archives.php/categ-1/year-2005/month-1/id-1106990727
http://cl.pocari.org/2006-01-31-1.html
http://www.doyouphp.jp/sample/sample_others_captcha.shtml

画像認証コード生成ライブラリ(PEAR::Text_CAPTCHA) | コメント (0) | トラックバック (0)

MS SQL Serverで日付型の形式を「yyyy-mm-dd」に変換する

SQLサーバーにて、日付型のカラムから値を取り出すと

「05 15 2006 6:00PM」

というような形式で値が出てくることがある。これが非常に迷惑。
「yyyy-mm-dd」形式でないとアプリケーション側での扱いに困るのだ。

これってWindows自体の時計の設定に依存してたような記憶があるんだけど、とりあえず今回はSQLで日付形式を変換した。

こんな感じ。

select
   *,
   convert(varchar,REGIDATE,120) as REGIDATE 
   from TABLE;

120というのはODBC標準形式。つまり「yyyy-mm-dd hh:mi:ss」だ。
地域別に数字があるので、お好みで使い分けましょう。(あまり使う機会もないと思うけど。。)

MS SQL Serverで日付型の形式を「yyyy-mm-dd」に変換する | コメント (2) | トラックバック (0)

2006年05月11日

HTML_QuickFormのsetConstants()

setDefault()を使うとデフォルト値の固定ができる。
これは前から知っていたんだが、setConstants()を使うと値を完全に固定できるようだ。

使い方はsetDefault()とまったくおなじ。

$form->setConstants(array("field_name" => "value"));

「具体的にどんな使い方があるんだ?」といわれてもすぐには出てこないんですが、覚えておけば将来きっと役に立つはず。。

HTML_QuickFormのsetConstants() | コメント (0) | トラックバック (1)

2006年05月10日

mb_convert_encodingのautoが効かない

$value = mb_convert_encoding($value, 'UTF-8', 'auto');

とやってもうまく文字コードが変換されない。でも、

$value = mb_convert_encoding($value, 'UTF-8', 'EUC-JP,SJIS,ASCII,JIS');

という具合に、直接文字コードを指定してやれば機能する。

うーむ、どうしてだろう。
で、偶然php.iniを眺めていたとき、

mbstring.detect_order = auto

がコメントアウトされているのに気がついた。

「もしかして、このコメントアウトをはずせばいいのか。。?」

と思ってやってみたら、autoが動くようになりました。うーむ、全然気がつかなかった。

mb_convert_encodingのautoが効かない | コメント (0) | トラックバック (0)

2006年05月09日

プレステ3は59,800円(税抜)!!

PS3の発売日と定価が発表された。

http://headlines.yahoo.co.jp/hl?a=20060509-00000033-san-bus_all

2006年11月11日発売で、定価が59,800円(税別)だ。ごまんきゅうせんはっぴゃくえんだ。

いやぁ、モノスゴク挑戦的な価格設定でびっくりした。
任天堂DS Liteを3台買ってもオツリが来てしまう。あと、ハードが高いときっとソフトも高いだろう。1本あたり1万円近くしそうな予感。そうなるとDSのソフトが2本買えてしまうなぁ。


。。。てか、これの値段は家庭用ゲーム機の範疇を完全に越えている価格設定だろう。ホームコンピューティングとか、そっちのほうに狙いがあるんじゃないか。

でも、それだったら「プレイステーション」の名前は使わないほうがいいんじゃなかろうか?消費者としては「プレステ=家庭用ゲーム機」という認識が定着してるので、ゲーム機に6万円もの大金を使うのはかなり抵抗があると思う。

まあ、家庭用ゲーム市場はもうこれ以上の拡大は見込めないみたいなので、そっち方面に進むのは必然の流れなんだろうか。でもそっち方面はそっち方面で、相当難しい市場だと思うんだけどねぇ。。

前途多難な船出の予感。これで初期不良出たりとかしたら大コケしてしまう可能性もあるんでは。。。((((゚Д゚;))))

プレステ3は59,800円(税抜)!! | コメント (1) | トラックバック (1)

Windows,apache,php,MS SQL Server2005の環境での注意事項

やったのは、「Windows+Apache2+php5」と「Windows+MS SQL Server2005」の接続です。
手順をすべて書くとかなり長くなるので、ポイントだけ押さえ、キーワードを交えてメモしておきます。

とりあえず全部インストールされている状態で、パスは自分の環境にあわせて読みかえてください。


◆httpd.conf

httpd.conf にLoadModuleを追加する

LoadModule php5_module d:/php5/php5apache2.dll

あと、もちろんAddTypeも追加。

それと下記の記述を入れておくとphp.iniの設置場所を変更することが可能。

PHPIniDir D:/php5


◆php.ini

extension=php_mbstring.dll
extension=php_mssql.dll

コメントをはずす

mssql.secure_connection をOffにする(OffでダメだったらOnも試す)


◆ntwdblib.dll

※ここ一番重要

http://webzila.com/dll/1/ntwdblib.zip

↑ここからntwdblib.dllをダウンロードし、解凍してc:\windows\system32 と d:\php5 の両方にコピー。

Windows,apache,php,MS SQL Server2005の環境での注意事項 | コメント (0) | トラックバック (0)

PEAR::DBでDSNを配列で設定する

DSNの指定は、下記のようにやるのが簡単。

$DSN = "mysql://root:root_pass@localhost/dbname";

ただ、この形式だとパスワードに「@」が入っているとうまく接続できずに困ってしまう。そんなときは配列で指定してあげると回避できます。

$DSN = array(
    'phptype'  => 'mysql,
    'username' => 'root',
    'password' => 'root_pass',
    'hostspec' => 'localhost',
    'database' => 'dbname',
);

PEAR::DBでDSNを配列で設定する | コメント (0) | トラックバック (0)

2006年05月05日

テトリスDS(評価:★★★★★)

買いました。実は今年に入ってから初めて買ったDSのソフトです。
ここ最近DSブームが加熱しまくりですが、自分の中ではすでに昨年から大ブームが巻き起こっていたのでDS熱はおさまっていたんですが、このテトリスDSを買ったおかげでまた熱い日々が始まりました。

自分がテトリスDSを買った目当てはズバリ、Wi-Fiによるネットワーク対戦
やっぱりテレビゲームの原点は対戦でしょう。テトリスというシンプルなパズルゲームでも、人間対人間で対戦すれば熱くなります。アドレナリンでまくりです。

しばらくの間、我が家では嫁さんも巻き込んでのテトリスDSブームが続きそうです。
嫁さんとマルチプレイで切磋琢磨し、技を磨いてからWi-Fi対戦で世界中のツワモノたちと戦う。という楽しみ方で盛り上がってます。

しかし、対戦って本当に楽しい。きれいなCGとか練り上げられたストーリーとかいらないので、もっと対戦が熱いゲームをどんどん出して欲しいです。アイスクライマーDSとかサッカーDSとか、出したら絶対ヒットすると思うんだけど、どうかしら。

テトリスDS(評価:★★★★★) | コメント (0) | トラックバック (2)

2006年05月02日

トラックバックスパム対策?

最近、ブログスパムが多い。特にトラックバックスパムが。
このkawama.jpにも一日20~30件くらいのトラックバックスパムがあり、いちいち消すのがメンドクサイ。サーバーにも負荷がかかるし、本当に困る。
期待された、mt3.2で新たに実装されたスパムフィルターもイマイチ使えないし、いまのところこれといった解決策がないのが現状。

そんな感じでkawama.jpはスパムに悩まされているんですが、なぜか司馬遼太郎を読むにはぜんぜんスパムがこない。
違いといえば、トラックバックURLの表示の方法くらいだ。kawama.jpではURLをそのまま表示しているのだが、司馬遼太郎を読むではURLをフォームのinputフィールドに入れて表示している。
特に手間もかからないし、ダメもとでkawama.jpもinputフィールドを使うようにしてみました。
こんな感じです。

変更前
<p class="techstuff">トラックバックURL:<br /> <$MTEntryTrackbackLink$></p>

 ↓↓↓

変更後
<p class="techstuff">トラックバックURL: <input type="text" name="tburl" size="45" value="<$MTEntryTrackbackLink$>" onfocus="this.select()" /> </p>




これでしばらく様子を見てみます。
古い記事はスパムDBに入ってしまっていると思うのでどうにもなりませんが、新しい記事にスパムが来るかどうか、チェックしてみようと思います。



追記:2006/05/11

この記事を書いたあと、ほどなくして司馬遼太郎を読むにもスパムが来るようになってしまいました。
つまり、効果ナッシングということです。とほほ。。(TдT;)

トラックバックスパム対策? | コメント (0) | トラックバック (0)

MTの再構築が重い!てか途中で止まる。

会社で使ってるmtのバージョンを3.17から3.2にあげたら、再構築が劇的に重くなった。

topコマンドで見てみたらロードアベレージが15!!超高負荷状態だ。mt.cgiのSIZEは1600Mになってる!!

調べてみたところ、どうやらmt3.2はmt3.17に比べて再構築がハンパなく重くなっているそうだ。3.2のリビルド時のメモリ使用量は、3.171の約10倍なんだとか。。。
そして、BerkeleyDBをつかってる場合はさらに重くなるらしい。うちの環境にそのまんま当てはまる。。。

で、ググって見たら同じ問題で困っている方が大勢いらっしゃった。いきなり10倍になったら、そりゃみんな困るよね。

とりあえずの対処法として、mt-config.cgiの「EntriesPerRebuild」の設定値をデフォルトの「40」から「10」に下げてみる。
こんな感じ↓

EntriesPerRebuild 10

さっそく再構築する。再構築の小窓とtopコマンドの両方を見てチェックする。

「再構築中 エントリー: 1 - 10 ...」 同時にmt.cgiのSIZEが増えていく。10M、50MB、100MB、300、600、、、

小窓が自動リロードされ、「再構築中 エントリー: 11 - 20 ...」になる。topコマンドのmt.cgiのSIZEがリセット。そしてまたSIZEが増え始める。。

これの繰り返し。遅いけど、なんとか再構築終わるか。
この調子で「再構築中 エントリー: 161 - 170 ...」くらいまで来た。が、topコマンドを見てみたらmt.cgiのSIZEがまたもや1600MBに!!どうやら固まってしまったようだ。10個ずつにしたのに、それでもダメか。とほほ。。。

ここで、いさぎよくBerkeleyDBはあきらめる。MySQLへ移行しよう!

MySQL移行に向けて、再度ググってみる。mt標準の「mt-db2sql.cgi」だとトラックバックデータが参照できないエラーがあるらしいので、Googleで見つけた「mt-db-convert.cgi」というのを使ってみた。さっそく走らせてみる。


SQLエラーが発生しました: You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '2005-10-10 12:53:30', NULL, '2006-05-02 12:08:32', NULL)' at li

という、意味不明のエラーで止まる。どうやら「MT::Log」のところで止まっているようだ。
ログなんていらないや、ってことで「mt-db-convert.cgi」の32行目「MT::Log」を消したら通った。


続いて、別のエラーに遭遇。今度はテンプレートのところだ。

SQLエラーが発生しました: You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '\'さん。コメントしてください。 (<a href=\"<$MTRem

探してみたら、個別エントリアーカイブのテンプレートに該当の文字があった。これも不要なので該当の箇所を全部削除。そしたらここも通った。


以上で移行完了。ふぅ。
とりあえず「EntriesPerRebuild」を「20」にして再構築をかけてみたが、そんなに負荷も高くならずに無事完了した。いやぁ、よかったよかった。


しかし、ここまでmtが重いのは正直困りものだ。
実は3年くらい前、仕事で韓国製のCMSを触っていたことがあり、そのときもCMSの高機能化と記事数の増加に比例してHTMLの出版時間が長くなるという問題が発生していた。そのときは、

・ヘッダやフッタなど、共通部品はSSIを使う
rebuild支援ツールを自作して使う

など、運用でなんとか乗り切って(ごまかして?)いたのだけれど、結局それも根本的な解決にはならない。

この問題は静的HTML型CMSの宿命だと思うのだが、mtはこの問題を克服できるんだろうか。。
シックスアパート社はバージョン3.3で何らかの手を打ってくると思いますが、いったいどんな手法になるのか。ちょっと楽しみにしてます。

 

今回お世話になったサイト:
http://www.ec-blog.com/05/000061.html
http://www.ec-blog.com/04movable_type/000060.html
http://as-is.net/wiki/MT_Database_Converter/ja 

 

MTの再構築が重い!てか途中で止まる。 | コメント (0) | トラックバック (1)

2006年05月01日

任天堂ゲーム機の新名称「Wii」、ファンの反応は複雑

http://headlines.yahoo.co.jp/hl?a=20060501-00000004-cnet-sci

たしかに変だね。すごく。
ウィー」って言ったらまず思い浮かぶのはスタン・ハンセンだしなぁ。最近だとゴルフのミシェル・ウィーとかだろうか。

ウィーくださいっ!(電気屋で)」

「ご好評につきウィーは完売しました。次回入荷は未定です。(電気屋で)」

「学校終わったらお前の家行ってウィーやろうぜ!(学校で)」

なんだか締まらないねぇ。
ま、重要なのは名前より中身。任天堂DSのように、新しいゲームのスタイルとして定着するようなハードを作ってほしいものです。

任天堂ゲーム機の新名称「Wii」、ファンの反応は複雑 | コメント (0) | トラックバック (0)

 

kawama.jp | © Kawama. All rights reserved.