« 2007年02月 | メイン | 2007年04月 »
2007年03月30日mysqlでbigintを使う
現在担当している案件で、11桁の整数をデータベースに入力するという機能があります。
で、int型のフィールドに「12345678901」という数値をinsertすると、登録される値は「2147483647」になってしまう。
調べてみたら「2147483647」はint型の限界なので、bigint型を使う必要があることが分かりました。
以下のページに一覧表があって分かりやすいです。
http://www.javadrive.jp/mysql/datatype/index1.html
mysqlでbigintを使う | コメント (0) | トラックバック (0)
2007年03月17日21-domainのBハウジングサービス(激安専用サーバー)
21-domainという、激安ドメインレジストラがあります。
ここはバリュードメインに乗り換える以前に利用していたことがありました。久しぶりにこのサイトを訪れたんですが、Bハウジングサービスというの専用サーバーサービスをやってることを知りました。
http://21-domain.com/html/m2011.html
実は家庭の事情で今年の12月に引越しする予定で、引越し後は現在使っている自宅サーバーが使えなくなってしまうのです。(※引越先のマンションは全戸強制的にJCOMプロバイダーを利用させられることになってます。JCOMは自宅サーバー禁止)
そんなわけで、12月までに安い専用サーバーを契約して移行を済ませておかなくてはいけません。
今のところ第一候補はさくらインターネットの専用サーバーサービス。
お値段は「初期¥29,800、月額¥6,800」です。
他にも安いところはないか探してはいるんですが、専用サーバーはどこも高い。
安くても¥9,800くらいなので検討の余地もほとんどないという状態。なので、さくらでほぼ決まりかな、、、と思っていました。
そこで偶然見つけたこのBハウジングサービス。
お値段は「初期¥5,980、月額¥5,980」。さくらを上回る安さだ!!
OSがWindowsかFreeBSDしか選べないという制限はあるものの、約¥1,000の差は大きい!これは一躍最有力候補になるか?!
・・・と思ったんですが、よくよく見てみると、、、
UPS経由による電源供給は月額1,000円プラスとなります。尚、本体無料貸出サーバではUPS経由により月額は6,980円となります。
とのこと。
結局のところ、さくらとあまり変わらない。初期費用は高いけれど実績を考えてるとさくらのほうがいいかな、、、と思っています。
省電力サーバーを持ち込めれば¥1,000のプラスはなくなるみたいですが、持ち込みだといろいろ面倒そう。まだ時間はあるので、じっくり調査&検討しようと思います。
21-domainのBハウジングサービス(激安専用サーバー) | コメント (0) | トラックバック (0)
2007年03月16日LIKE検索より断然高速なお手軽日本語全文検索
http://www.tatamilab.jp/rnd/archives/000390.html
こんな手法があるそうです。
「全文検索=LIKEでやるもの」と当たり前のように思っていたので、このやり方は勉強になります。記事中に書かれているように「INSERT/UPDATE処理が遅くなる」という副作用があるのは注意が必要ですが。
ま、自分が作るアプリは小~中規模ばかりなので、LIKEで十分かも。
将来必要になるかもしれないので、念のためメモっておきます。
LIKE検索より断然高速なお手軽日本語全文検索 | コメント (0) | トラックバック (0)
phpMyAdminの自動ログアウト時間を長くする
phpMyAdminをクッキー認証で使っていると、ログイン状態で何もしない状態がしばらく続くと自動でログアウトされる仕様になっています。この自動ログアウト時間、デフォルトでは1800秒、つまり30分に指定されています。
この30分という時間がなかなか微妙。コーディングをしている時などは30分くらいすぐ経過してしまうので、phpMyAdminでデータを操作する際にはいちいちログインしなおさないといけません。
なので、config.inc.phpに以下の行を追加して自動ログアウトになる時間を延ばしました。
$cfg['LoginCookieValidity'] = '18000';
上記の設定だと18000秒=300分=5時間で自動ログアウトとなります。
お好みで秒数を変えて使えるので、個々の環境にあわせて設定することができます。
phpMyAdminの自動ログアウト時間を長くする | コメント (0) | トラックバック (0)
2007年03月13日PostfixでOP25B対応
会社のプロバイダがOP25Bを実施したため、会社から自宅のSMTPサーバーに接続できなくなってしまった。
ググってみると、さすがPostfix、参考になるページがワンサカ出てきました。
とりあえず、一番手軽なSubmission Port(ポート:587)を利用する方法で対応することに。
自分の環境で必要な作業はmaster.cfに以下の行を追加するだけでした。
submission inet n - n - - smtpd
-o smtpd_etrn_restrictions=reject
あとはファイアウォールで587ポートを開放し、メールクライアントの設定を変更して終了です。
もちろんpostfixの再起動も忘れずに。
※2007.12.20追記
最近引越してプロバイダがJCOMになりました。で、上記の設定だけではメールが送信できなかったので、main.cfに
relayhost = [smtp.jcom.home.ne.jp]
を追加することで対応しました。
JCOMに限らず、同じような制限をしてるISPであれば指定のSMTPサーバーを使えばOKだと思います。
PostfixでOP25B対応 | コメント (0) | トラックバック (0)
2007年03月07日まるごとJavaScript & Ajax ! Vol.1
「まるごとJavaScript & Ajax ! Vol.1」を読みました。
今まで読んだJavaScript,Ajax関連本の中では一番のおすすめです。特にPrototype.jsの章はすぐにコーディングに使える内容だったので非常に良かったです。
Google Web ToolkitやRuby on Railsのところはひとまず使わないので読み飛ばしましたが、それ以外の部分を読むだけでもかなりのボリュームがあります。実用的なものから、JavaScriptの可能性を探るものまで。読み応えがある一冊でした。
『まるごとJavaScript & Ajax ! Vol.1』
価格: 1,995円
天野 仁史
インプレスジャパン
まるごとJavaScript & Ajax ! Vol.1 | コメント (0) | トラックバック (0)
2007年03月06日mod_rewriteを使うには「Options FollowSymLinks」が必要
mod_rewriteが必要になったので、apacheを「--enable-rewrite」オプションをつけて再コンパイルした。
これで準備OK。さあ、リライトできるかな・・・
と思ったら、エラーが。
.htaccessに記述したんですが、該当ディレクトリ以下すべてのページで「ページが見つかりません」となってしまう。記述は間違ってないはずなんだけど、どうしてだろう。しばらく色々試してみるも、どれもうまくいかない。
そこでapacheのエラーログを見てみると、
Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden
というエラーが出ていた。mod_rewriteを使うディレクトリでは「Options FollowSymLinks」が必要らしい。
さっそくhttpd.confに「Options FollowSymLinks」を追加。gracefulリスタートをかけると、今度は成功!!
何はともあれ、エラーが起こったらまずはログを見ましょう。ということですね。
mod_rewriteを使うには「Options FollowSymLinks」が必要 | コメント (0) | トラックバック (0)
2007年03月02日windowsのphpはrequire_onceやinclude_onceで大文字小文字を区別しない
ということらしいです。
http://search.net-newbie.com/php/function.require-once.html
ローカルで開発をしているときにハマってしまい、それで気がつきました。
windowsのphpはrequire_onceやinclude_onceで大文字小文字を区別しない | コメント (0) | トラックバック (0)
2007年03月01日javascriptでの変数の型変換
javascriptの変数は文字列型と数値型がある。
それぞれ型の変換をするには以下のようにすれば良い。
■数値型→文字列型変換
hoge = 123; //数値型
hoge+=""; //空の文字列をプラスして文字列型に変換
alert(hoge+45); //結果は12345
■文字列型変換→数値型
hoge = "123"; //文字列型
hoge-=0; //マイナスゼロをして数値型に変換
alert(hoge+45); //結果は168
※プラスゼロではダメで、マイナスゼロでないといけないらしい。
javascriptでの変数の型変換 | コメント (0) | トラックバック (0)
JavaScriptで連動する2つのセレクトメニューを作る
よく見かけるアレです。例えば不動産系のサイトで、沿線を選択すると駅が選択可能になる、みたいなやつです。
今回はアレをJavaScriptで作ってみました。なお、配列の代わりにJSONを、ライブラリはprototype.jsとcommon.jsを使ってます。
そして、完成してから気がついたんですが、これってPearのHTML_QuickFormのhierselectを使うと一瞬で作れるんですね。
phpをお使いなら断然そっちを薦めます。自分も結局JavaScriptのはやめてhireselectのにしましたから。。
一応、作ったものをアップしときます。
まだJavaScriptにあまり慣れてないので、かなり手間取ってしまいました。
<html> <head> <title>JavaScriptで連動する2つのセレクトメニューを作る</title> <script type="text/javascript" src="common/prototype.js"></script> <script type="text/javascript" src="common/common10.js"></script> </head> <body><script type="text/javascript">
var menuItem = {
1: [
{"code": 1, "name": "東京"},
{"code": 2, "name": "大阪"},
{"code": 3, "name": "名古屋"}
]
,
4: [
{"code": 5, "name": "ニューヨーク"},
{"code": 6, "name": "ワシントン"},
{"code": 7, "name": "ロス"}
]
,
8: [
{"code": 8, "name": "ロンドン"},
{"code": 8, "name": "マンチェスター"},
{"code": 9, "name": "リヴァプール"}
]
};addEvent(window,'load',init,false);
function init()
{
addEvent($("form1").country, 'change', setMenuItem, false);
}function setMenuItem()
{
//初期化
var option_cnt = $("form1").city.options.length;
for(var i=0; i<option_cnt; i++)
{
$("form1").city.remove(0);
}var n = $F("country");
for(var i=0; i<menuItem[n].length; i++)
{
$("form1").city.options[i] = new Option(menuItem[n][i]["name"],menuItem[n][i]["code"]);
}
}</script>
<form name="form1"><select name="country">
<option value="1">日本</option>
<option value="4">アメリカ</option>
<option value="8">イギリス</option>
</select><select name="city">
</select></form>
</body>
</html>



