トップページD40で遊ぶブログ試行錯誤日記

■ phpの習得日記 後編

2008年06月06日 コメント(0)»

phpの習得日記前編 の続き。

前編では、php言語の学習状況が中途半端なまま、
バグ取りの仕事が上司から与えられたところまで書いた。

さあ、たいへん、どこが間違っているか、見当もつかない。

まず初日(金曜日)、昼から夜遅く(22時ごろまで)
ソースを眺めたが、どこに原因があるかわからず、週末を迎えた。

悶々として土曜日、日曜日を過ごした。
仕事が頭から離れない。

月曜日も朝から夕方まで取り組んだが、皆目わからず。

とうとう上司に白旗を上げた。

火曜日の朝、上司はソースを1時間ほど眺めてくれた。

しかし、「うーん、どこに原因があるかわからない」と
いわれ、また自分にバグ取りの仕事が戻ってきた。

そんな土壇場になって、

「そうだ、ソースを少しずついじって、どこに問題が
あるか、アタリをつけてみよう」

とひらめいた。そこから、原因候補が複数わかり、
試行錯誤の末、火曜日夜20時ごろ、とうとう原因が
わかった!

あの時のうれしさは忘れられない。

翌日水曜日。

それまで暗号としか思えなかった,phpのソースコードを
一読しただけで、だいぶわかるようになっていた。

(とはいえ、その後も別の仕事でいろいろ苦労することに
なりました。機会があれば、お話します)

おわり。

■ phpの習得日記 前編

2008年06月03日 コメント(0)»

以前いた会社で、はじめてphp言語を使った
仕事を始めた。

入社前から、phpを使った仕事をするのはわかっていたので、
その前の仕事(NotesR5の運用とサポート)をしながら学習しようと、
『Eclipse3ではじめるPHP5プログラミング入門(掌田 津耶乃著・秀和システム)』
を買ったけれども、eclipseというフリーソフトの設定に四苦八苦している
うちに、入社日を迎えてしまった。

入社当日。

しばらくは仕事をしないで学習していて構わない、
といわれ、少しほっとした。
今もその自習時間を与えてくれた上司には感謝している。

まず、『10日でおぼえるPHP5 入門教室(山田 祥寛著・翔泳社)』
からページをめくり始めた。

職場の先輩はこの本でphpに開眼したという。

非常に丁寧な説明で、名著だと思うが、途中のif文の
説明あたりからなかなか先へ進まなくなってしまった。

この本は途中であきらめ、『速効!図解プログラミングPHP + MySQL(ハーシー著・MYCOM)』
に手を出した。

この本の解説は短すぎず、かといって冗長になることも
なく、プログラミングの入門書としては理想に近い出来栄え
のように思った。

だが、通読したのは前半まで。
さて、後半を気合入れてがんばるぞ!と思ったら、

「まさゆきさん、phpのバグ取りをお願いします」

と上司から言われてしまった。

後編へ続く。

■ phpMyAdminをMySQL4.1で利用する

2008年05月21日 コメント(0)»

http://tsuttayo.sytes.net/mysql/install/linux/rpm.html

--- 引用ここから
phpMyAdminをMySQL4.1で利用する

.htaccessか、httpd.confに次の設定をするとMySQL4.1でphpMyAdminがうまく使えました。
# 出力文字コードをUTF-8にする
php_value default_charset "UTF-8"
# 内部文字コードをUTF-8にする
php_value mbstring.internal_encoding UTF-8
# 出力文字コードをUTF-8にする
php_value mbstring.http_output UTF-8

そして、phpMyAdminのスタート・ページで「MySQL 接続照会順序:」を「utf8_bin」に設定するとうまくいくようです。
--- 引用ここまで
後日、試してみます!

■ typeof演算子について javascript

2008年05月02日 コメント(0)»

JS:JavaScriptで関数が有効か判断するには:typeof演算子

■ Firefoxの文字コードについて

2008年03月20日 コメント(0)»

HTTPヘッダーに文字コード宣言をいれた場合、
head内のmetaタグの文字コード記述を無視するらしい
(出典: 日経ソフトウェア2008年2月号p33)

■ CSEとlibpq.dllについて(PostgreSQL)

2008年03月11日 コメント(0)»

CSEをインストール後、libpq.dllが必要であるが、そのlibpq.dllのバージョンは指定のものないとダメなようだ。

http://www.interwiz.koganei.tokyo.jp/software/PostgreSQL/windows.html

このページの[日本語Windows版 libpq]をクリックしてダウンロード、C:\WINDOWSフォルダ(Vistaの場合)にコピーする。

■ PHP mb_convert_kanaの引数について

2008年03月11日 コメント(0)»

$henkan = mb_convert_kana($henkan, "a","Shift-JIS");

のように、引数に文字コード(この場合、SJIS)を指定してあげた方が無難と思う。

■ onClickの振る舞い

2008年03月06日 コメント(0)»

メールフォームの入力内容を、Javascriptでチェックする際

function input_check() {
if (document.form.answer.value == "") {
alert("回答金額を入力してください");
return false;
}
if(!flag){
document.form1.submit();
return true;
}
}

と定義して

とやっても、ポップアップの警告は出るが、そこで
プログラムの動きを停止してほしいのに止まってくれない

解決方法は
◎onClick="return input_check() ">

と、returnを入れることでOKだった。

参考URL:
http://www.phoenix-c.or.jp/~zspc/cgi-bin/wwwlng.cgi?print+2000-07/00070097.txt

■ 【リンク】Procmailのレシピについて

2008年02月20日 コメント(0)»

http://iknet.s54.xrea.com/diary/a-nikki.cgi?date=2006.05.28&comment_on=1

以上のサイトから、大事なところを抜き出させていただきました。

--- ここから ---
まず基本的な書き方などのルールから。

設定ファイルは ~/.procmailrc

メールサーバから .forward などを用いてパイプして呼び出す形で使うのが一般的

変数はUnixシェルと同じように扱える

ルールは上から順に評価される

書式はeGrep

:0でルール定義開始、次の:0を発見するかファイルの終端でルール定義終了

条件式は"*"で開始、バックスラッシュ"\"で複数行に渡って書ける

(中略)

設定方法はそんなに難しくないですが、私が一つはまったところといえば、条件式を複数書いた時に一番最後の評価後、条件文 "!" でメールの転送をすると転送後サーバに残らないというものでした。転送するメッセージをサーバに残したくない場合はこれで良いのですが、残したい場合はフラグに "c" を付けないといけません。例えば、

# Forward and Save mails.
:0c
! forward@to.your.domain
などとします。こうすることで、spamメールとしてどこにもマッチしなかった正常なメール(もしかしたら、うまくすり抜けたspamメール)はメールボックスへ配送されます。

~/.procmailrc を書いたら、ダブルクォーテーション含めて .forward に次のように書きます。もちろん「ユーザ名」はそれぞれのログイン名を書く。
"|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #ユーザ名"

これを「おまじない」としてるサイトが多いけど、調べてみたところ、最初の "|" はお馴染みの右へ処理を渡すパイプ、IFSはシェルの予約変数で引数を分割するための文字を指定(' ' で空白で区切る)、&&で更に /usr/bin/procmail に渡す、exit 75はEX_TEMPFAILで「一時的なエラー」を意味するもの。つまりprocmailの起動に失敗しても、もう一度試せばうまく行くかもしれない、という意味。

--- ここまで ---

■ バリュードメインで独自ドメインを取得し、ハッスルサーバーで運用する

2008年02月20日 コメント(1)»

バリュードメインでの独自ドメイン価格がものすごく安いので(2008年2月20日現在、.netが年間790円)これで独自ドメインを取得、サーバー運用は他社(ハッスルサーバー)としました。

(1)バリュードメインで独自ドメインを購入する(例としてhogehoge.net)

(2)ハッスルサーバーを契約する(10日間の無料期間でも独自ドメインを適用可能)

(3)ハッスルサーバーのコントロールパネル→DNSの設定方法で
ホスト名2種類をメモしておく(IPアドレスは使用しない)

(4)・バリュードメインでの設定に入る
https://www.value-domain.com/modns.php

(5)ネームサーバー変更欄に3つのネームサーバーが
NS1.VALUE-DOMAIN.COM等
記述されているので、これら3つをすべて削除

(6)(3)でメモしたホスト名2つを上から順番に
ネームサーバー欄1、2に記入して「保存」

(7)ハッスルサーバーのコントロールパネルで
「独自ドメインの設定」→「新しいドメインの追加」→
ドメイン名に、www.hogehoge.netと記入
表示ディレクトリィ欄は空欄でかまわない

(8)1時間程度で、http://www.hogehoge.net/に反映された

トラックバック