« 2008年10月 | トップページ | 2008年12月 »

2008年11月

眠れる偉大なる力

今回は、プログラム作成でハマった話ではないのですが。。。。

【ゆちぞどっとねっと】では、データの入力作業を請け負ってます。

さすがに個人として一人で大量のデータの入力を行うには限界があるので、大量データの場合には近くに住む、協力してくださる方数名にお願いをしてます。

定期的な案件があるわけでもないので、「困った時にお願いする」という、実に勝手な状態なのですが、専業主婦の方・パートで働いてる方などに、空いてる時間で出来る分だけ、という形でお願いしています。

ここで思うのは、いくら詳細な仕様書を用意しても、協力者が5人いれば5人が仕様書の読み方・とらえ方が違うし、複雑な仕様は理解していても間違いが多くなる、ということ。

例えば、3択の問題があって、「選択されている番号を入力する。 ただし、複数選択されている場合9、空白の場合は、0とする。」と書いてあったときに、この問題をパーフェクトに入力してくれるのは4人、残り1人は空白の場合はNullで提出してきたりします。

さらに、他の問題では、「問1が1の時、問2が1と2以外なら、問2には入力せずに付箋を貼って下さい」と書いてあったとしたら、何百件も入力しているうち、問1が1だろうが2だろうが、問2に書かれている数字をそのまま入力しちゃう間違いは結構でてくるもの。

で、間違いが無いようにということで入力チェックする人を用意して、その人にも仕様を正しく理解してもらって、データ量が多くても「ついウッカリ見逃し」も無いように、なんて難しいと思います。

さらに、小分けしたデータをまとめるのに時間をかけすぎたら本末転倒ですよね。

ということで、私は、入力ルールに関する仕様書はあまり作らずに、仕様にそった「入力ツール」を先に作るようにしました。

ツールは、パソコンでインターネットさえ接続できる環境があれば誰でも使えるように、WEBアプリケーションです。(もちろん、セキュリティ対策はしています!)

原稿を見たまま入力すれば良いようにしています。
これは、入力の時のみならず、チェックするのにもとても便利です。

インターネットを利用してサーバ上にデータを貯めるため、とりまとめ側としては、データのマージが必要ありません。

さらに進捗もサーバ上のデータを見れば一目瞭然で、「どこまで進んでいるか、毎日●時までに報告メール下さい」なんていちいち言う必要も無く、遅れているようなら、早めに自分が引き取るなどの処置ができます。

ということで、協力者の方々になるべく負担をかけずに大量のデータを処理していただくということを心がけるのは不可能な事では無いと思ってます。

データ入力は、もともと1件あたり5円や10円など単価の安いものではありますが、1時間当たりの入力できる件数を増やすような工夫をし、チェックや進捗報告・納品作業などの業務を簡素化することで、私も含め、みんながストレスなく、楽しくお仕事できればいいと思うのです。

それにしても、『子どもがまだ小さいから』とか『家を空けられないから』ということで、日中はご家庭を守ってる方々の、この偉大なる力を何とかもっと利用できないのかな、という思いは強くなっています。

もし、名古屋市緑区の鳴海駅付近にお住まいで、ちょっとしたデータ入力のお手伝いなら出来そうかな、と思われている方がいらっしゃいましたら、是非【ゆちぞどっとねっと】に声をかけてみてくださいませ~。
そのへんの怪しい【在宅ワーク】より、安心・安全ですょ!! (って書くと、なんだか怪しい気分になってきますね 笑coldsweats01

| | コメント (0) | トラックバック (0)

PHPで添付ファイル付きメール送信

今まで請けた案件の中で、ありそうでなかった『フォームメールで添付ファイルを付ける』機能を、ちょっとお勉強してみました。

昔、SMTPサーバに対してソケット通信するやつも手がけたけど、すっかり忘却のかなた。

最近はPHPでお手軽なmail関数を使ってます。

ということで、http://www.komonet.ne.jp/~php/program/fmail/chap2.htm こちらを参考にさせていただきつつ、作成させていただきました。

それにしても、一旦格納した筈のファイルを読み込んで送信するように作ったはずなのに、どうやってもファイルが送信されなくて苦労しました。

で、調べていましたら またまた超初心者的なエラーをしておりました(@_@:)

格納したファイル名と、パスの記述を変数に格納したんですが、他の関数にて実際の送信部分を行うときにパラメータとして渡していなかったんですねぇ。

いくらやっても、添付ファイルなしの分岐に飛んじゃう訳ですね(滝汗)

でもまぁ 格闘すること40分くらい。
無事、添付ファイルも送れるフォームメールが完成いたしました(^^)

| | コメント (0) | トラックバック (0)

久々の『超簡単な失敗』

相変わらず、アンケートデータを入力するフォームをWEBベースで作っております。

今度は数値そのままを入力するだけなので、チェックボックスやラジオボタンではなく、テキストボックスのIMEをOFFにして(これはIE限定の機能ですが)、Enterキーによりフォーカス移動する、という仕様にしました。

最初は登録のみで、修正は最後に出力するエクセル上ですればいいか、とか思ったんですが、それだとサーバへの書き込みが面倒なので、やはりWEBから修正できるように作りました。

で、ここで私の常套手段、新規なのか更新なのかは クエリーでプライマリキーとなっているnoを条件にして ヒットしたら更新。ヒットしなかったら新規、としました。

本当に、いつも使っている手段なのですが・・・ なぜかいつもいつもINSERT文の方を作成する、というバグが発生しました。

ん~~ 変数名間違えてるかなぁとか 30分くらい悩んだんですが。。。最後に「ぁ・・・」

if($mode = 1) {  ・・・(中略) }

あああ、代入してしまってたら 必ずこっち通りますねー(滝汗)

超初心者のようなミスを犯してしまいました。 でも気づいて良かった・・・。

| | コメント (0) | トラックバック (0)

PHPのCSV出力

データ入力の仕事で、毎日進捗報告と同時に、入力したデータも提出しなければならない案件を請けてます。

で、本当はExcelシートに数字を入力していく仕事なのですが、原稿を見て、条件に合わない場合は別の数値に置き換える必要があったので、入力ツールをPHPでサササッと作りまして、DBに格納したデータを報告用にCSVで出力するという機能まで作りました。

それで昔に作成しました、CSV出力のソースを拝借・・・したのですが、ダウンロード時にデフォルトで表示されるファイル名が、phpのファイル名になってしまいます。

header ( "Content-type: application/octet-stream" );

んーーー、昔もこれ、ハマってたような気がする。。。

で、コメントアウトしていたヘッダーを使ってみました。

↓これ
header ( "Content-Disposition: inline ; filename=$file_name" );

ん~~、これだとブラウザの中に表示されてしまいます。

もともとのファイルの文字コードはEUCなんだけれども、Excelですぐに開けるようにとSJISに変換してやってるのが仇となり、ブラウザで表示されると2バイト文字が化け化けです。

なんかいい方法は無いものか?と、“PHP CSV 出力”でググってみましたら、Content-Disposition: のところを inline → attachmentにすると良いという情報が!!

header ( "Content-Disposition: attachment ; filename=$file_name" );

おお、できました! 
これぞ 求めていた出力結果です。

前回CSV出力を作成したのは 確か2年前。

なぜ、この情報にたどり着かなかったんだろうか、と思いながらも、また一つお勉強になって嬉しいのでしたribbon

| | コメント (0) | トラックバック (0)

« 2008年10月 | トップページ | 2008年12月 »