Home > ネット > オレ様DB

オレ様DB Archive

オレ様DBほか

オレ様データベースを微妙に更新:
先日田中さんと会ったときに「既読は○じゃなくて、色を変えて欲しい」との要望をいただいたので、早速対応してみる。変更箇所わずか数ステップ。所要時間3分程度(笑 PHPってホント楽ですねー。
それから、既読率が割り切れないと大変な桁数になってたので、少数2桁にした。(round関数使っただけ)
あと、CSS付けて全体を小さくしたり、テーブルの罫線をちゃんとしたり。MACやiPhoneでもちゃんと見えてるんだろーか?

バーコードスキャナの感想載ったよ:
読書用品専門店 快読ショップYomupara」さんに私の書いたバーコードスキャナの感想が載りました。
商品発送後のアフターフォローとか凄く丁寧で、とても印象のよいオンラインショップさんでした。本好きの方はぜひ覗いてみてください。

春樹熱再燃?:
ブログの方はさっぱりですが、mixiの方では日記の春樹ネタで微妙に盛り上がっております。
実家にほとんど置いて来ちゃったので、買い直し、読み直しをしてゆこうかなと思い始めました。やっぱ『風の歌を聴け』からでしょうか。20代の頃、カバーがどっか行って本自体がヨレヨレになるまで繰り返し読んでましたが(卒論がコレだったってのもありますが)、今読むとどんな印象を受けるんでしょう?

なんだか短くて不完全燃焼だけど、今日はこの辺にしておこうか。

オレ様データベース4

ようやく管理画面ができたんで、お披露目します。
テスト用アカウントも3つほど作ったんで、田中さんとネギ以外にも興味がある方はいろいろ触ってみてください。
もりもり登録更新削除してみて、気づいたこと等あったら教えてください。

>田中さん、ネギ
後述しますがまだまだ不完全バージョンなので、苦労していろいろ入れてもらった挙句、データが消えてしまう可能性もゼロではありません。こちらでもマメにバックアップ(エクスポート)しておくつもりですが、その辺ご留意頂けたらと思います。(CSVデータ形式で送付してもらって私が直接upする方法が、現時点では一番固いデス)

管理画面、従来の検索画面は以下から:
http://www.a2see.com/WordPress/oyyiiidboic/

実装機能等:
・管理画面を作りました。管理画面は、登録、更新、削除画面からなっています。
・「管理画面にログインして自分の情報をメンテナンスし、検索画面は全体に公開されている」という想定です。
・登録画面はISBN対応してます。ISBN番号を入力すれば、タイトル・出版社等の情報が自動で入力されます。
・ISBN入力はamazon Webサービスを使っています。ちなみ本機能でアフェリエイトは発生しません。(今後も使うつもりはありませんデス)

注意事項:
・本サービスはあくまでデモ版で、まだまだ正式サービス開始ではありません。デモ版や作る過程を公開しながら(=モチベーションを保ちながら)完成度を高めて、最終的には皆様に使ってもらえたらなと思っています。
・↑ようは、仮に不具合や不都合があっても、フットワーク軽くすぐ対応するんでご意見ご希望等待ってマースってことで。
・ログイン風の動きをしますが、ここだけの話、「実は認証してません」。今、サービスの形態と認証の実装との最適なバランスを探ってますんで、そこは少々お待ちを・・。

バーコードスキャナー:
・ISBNの入力はバーコードスキャナーがあるとさらに便利です。私は以下で買いましたがまったく文句ないデス。(ちなみに最初ヨドバシで買おうとしたら、本気度の高いモノしかなく一番安いのでも軽く1万オーバーでした)
http://www.yomupara.com/barcode_reader.php

今後の展開:
・Webで公開されてる似たようなサービスをいろいろ見て、正直グラついたこともありました(笑 amazon Webサービスという大物と対峙した時、根底から設計思想を変え掛けたこともありました。でも、極力当初の設計思想のままで突っ走り、まずは動くモノを提示することにしました。やる前に頭で考えて萎えて、結局何もしなかったらしゃーないしね。いろいろあったけど私は元気デス(笑
・ちうわけで、次は今回手つかずだった検索画面の見せ方にひと工夫入れてみようと思ってまーす。

細かい話:
・ISBN入力で情報取ってきたとき、年月だけで日が入ってない場合があります。(yyyymmの6桁しか返ってこない)登録は8桁じゃないと弾いているので、そのときは手で適当に01とか補ってやってください。
・ISBN入力で返ってくる日付は出版日です。そもそも日付は購入日を想定してたのですが、過去に買ったモノとかわかんねーよなーとか思ってたところで、こんな機能があったのでとりあえず日付に入れてみました。購入日で管理したい方は消して手入力してください。あるいは、日付は出版日で使って通番を日付形式にするとか・・。その辺何が一番いいのか現在模索中デス。
・上のこともあったので通番はかなりフリーダムな感じです。文字も入るし、一意じゃなくてもOK(ダブり可能)です。
・画面遷移がイケてないのは重々承知しております。最終的には、メニューバーとかパン屑リストで、もっとビュンビュン飛びまわれるようにするつもりです。
・通番の自動採番とかあってもよいのかなと。そうするとスキャナ使えば1冊2秒くらいで登録できますね。
・パスワード丸見えはわかりやすいようにわざとです。ログイソ画面がログイン画面になる頃にちゃんとします。
・ソース表示禁止w 特にhiddenとか見ちゃらめえええええぇ!

取り急ぎ(←?)そんな感じデス。

オレ様データベース3

ようやく体調が復活してきますたよ。
んで、オレ様データベース関連で微進捗アリ。

更新:
・田中氏の全データ(2008/12/24現在)作成完了。
→とりあえずWebにもインポートしてみた。若干ミスあるカモ?

・通番をint(8)からvarchar(12)に変更。
→「−」やアルファベットが使いたかったので。
→プログラムはまだいじってない(数値型扱いのまま)なのでこれから対処。

今後:
・管理画面の作成。
→PHPでMVCのやり方がわかってきたと思ったら、ソースが入ってたマシンが起動不可に・・
→年内にどこまでやれるかなぁ。

・ユーザ登録画面の公開。
→登録画面自体はレッドに作ってもらったので既にあるんだけど、管理画面がまだ出来てないのでタイミング待ち。

・画面デザイン。
→現在嫁がHTML、CSSの勉強中。嫁ガンガレ、超ガンガレ(人まかせ)。

その他、作業メモ等:
・ソースコードもデータもDB接続時の設定も全部EUCにしとくのが無難っぽい。
開発環境がWindowsだから最初はSJISでやってたんだけど、結局レンタルサーバがUNIX系(Linux?)なので、変換等気にして結局余計に面倒なことになってた。
最初から全EUCと割り切れば、コード変換するのは「Excelデータ作成(SJIS)→CSV出力→EUC変換」だけだし。

・phpMyAdminのエクスポートはデータだけじゃなくて、テーブル定義も出力出来るので便利。
ちょこちょこテーブル定義変更してるので、レン鯖に公開するときはテーブルをいったん消しちゃって開発環境で出力したテーブル作成スクリプトで再作成すると、余計なミスしないで済む。
開発(2.11.9.2)・レンタル(2.10.0.2)とバージョンのせいでGUIは結構違うけど、定義やデータの互換はいまんとこ全然問題ない。

・JSPだけでWebアプリを作るようなイメージでガリガリ書いてたんだけど、「登録→確認→完了」画面みたいのを作ろうとして限界を感じた。
「登録画面でユーザ入力を受け取って、確認画面で登録情報を表示して、OKだったらそれを登録」という流れになるんでDataBeanがあると便利。つーかないとやってられん。
そいういうワケでPHPのClass機能を利用してDataBeanを作ってみたらやっぱり便利だった。
書籍データの検索結果を今はDB直で出力してるんだけど、Beanの配列噛ませたらキレイになるよなぁとか思ったんだけど、メモリ消費が結構激しいらしいので考えどころ。
ページ制御機能作ってBean配列が正解なんだろうけどさ・・。(現在1000件ちょいでどんどん増えるだろーし)

・Beanを作ると確認画面のコードがシンプルになる。
てゆーか、確認画面のコードは基本HTML(ビュー)オンリーで、プログラム部分はBeanの個々の値を出力するだけ(JSPでいう< %= bean.getVal() >)にしたい。
そうすると今度はBeanに値を詰めて確認画面に渡す人(MVCのControl?もちろん確認画面はVだ)が欲しくなってくる。
いろいろ調べてみるとinclude_once()というメソッドで確認画面を呼ぶようにしてやると、イメージに近いソースコードになる。
これを使用し、strutsでいうActionモドキ(ディスパッチャ)を作成してみる。リクエストデータでを貰った画面モードによってinclude_once()する画面を切り替えると、なんとなくMVCっぽい構成に!

おまけ:
・全然関係ないけど、「pomera 買ってみた」とか「pomera 使ってみた」でググるとなぜかウチが上位に!
対策とか全然してないのでちょっとびっくりしたよ。

オレ様データベース2

いろいろいじってみたんで更新履歴を書いておきます。
最新版のURLはこちら。

http://www.a2see.com/sample/user_select.php

【変更箇所】
複数ユーザ対応:
 ・検索前にユーザ選択できるようにしました。
 ・これによって、他のユーザも絡めた検索ができます。さりげなく競え!w
 ・いまんとこ個別でデータ貰った人のみ対応。でも裏ではユーザ登録画面も準備してるんでそのうち・・。

読了:
 ・検索と表示に読み終わったか否かの項目を追加しました。

集計:
 ・合計金額に加え、総冊数、既読率を出してみました。

表示仕様:
 ・「通番」はユーザの個別管理情報のため、以下のように複数ユーザ検索時は目立たなくした。
 ・単独ユーザの場合は結果に「通番」が、複数ユーザの場合は「名前」が表示される。
 ・複数ユーザの場合、ソート設定のデフォルトキー項目は「日付」になる。

テーブル:
 ・ユーザ情報テーブルを追加。承認状態になってるユーザのみ検索対象とする。(内部処理)
 ・リンク系項目を追加してみた。現状未使用。

【問題・課題】
 ・ソートがいまいちな気がする。ユーザ(ID)順とかないし。本気でやるなら第3ソートキーくらいまで指定できるようにする?
 ・集計をもうちょっとなんとかしたい。現状ソースの作り的に最後にしか出せないのも非常にイケてない。
 ・キレイなPHPソースの書き方がわからずにブレまくり。EOFがいいのか、printがいいのか・・。
  PHPソースの可読性と、生成されるHTMLの可読性という、両方を気にするとまたさらにタイヘン。
  とりあえずダブルクォート(HTMLの属性値)をいちいちエスケープしてるのはなんとかしたい。
 ・管理画面未着手。作りこみもそれなりだけど、認証と絡めないといけないのがまた。誰かやらない?w
  クロスサイトスクリプティングとSQLインジェクションの対応を忘れないようにしないと。
 ・画面デザイン・・。せめて文字大き過ぎだけでも直すか?
 ・既読率、割り切れないと桁多過ぎ。
 ・戻れない。キャンセルボタンやパン屑リストでユーザビリティ向上。
 ・表示項目をカスタマイズできるようにしたら嬉しい?

皆さんのご意見、ご希望、ご要望、感想、何でもお待ちしております。
あと、バグ(不具合)報告とか大歓迎デス。

オレ様データベース1

「オレ様DB」願望というのが昔からあった。
何のこっちゃという感じだが、自分にまつわる諸々のデータ化・リスト化と言えば多少は通じやすいだろうか。
自分の持ってる本とか、ゲームとか、CDとか、そういうのを一覧化して眺めて悦に入りたいという願望である。
さらに言うと、それを自分なりにカテゴライズしたり、評価・レビューを付けたり、検索やら統計やらグラフ化によっていろんな角度で眺めまくりたいという願望である。
皆さん、ないですかね?
私は結構あって、実は過去に何度か試みては挫折というのを繰り返してるんですが(笑

その動機としては、こんな感じでしょうか。

(1)過去の消費(目に見えないモノ)を形として積み上げてゆく満足感
(2)「こういうモノを選んできた」という自己アピール
(3)数値化するとなんか気持ちイイ!

(1)にはリストを追加・更新してデータが増えてゆくコレクター的なヨロコビもあるし、過去を振り返って思い出に浸る満足もある。
昔流行った音楽を聴くと自然と当時の思い出が浮かんでくるように、既製品として世に送り出された1プロダクトでも個人と一定期間の蜜月を過ごしたら、個人の過去と分かち難い思い出のアイテムとなる。

(2)は大量消費文明ならではの自己表現かなと。
まぁ昔から「酒はバーボン、作家は中上健次、音楽はJAZZ」とか(よくわかんないんで適当だけど)、何を選ぶかによって個性を現すというのはあったとは思うのだけど。
ケド、ここにきて細分化・詳細化極まれり!という感じがするのですよ。
一番感じたのがmixiで若いコ(たぶん?)の自己紹介ページ見たりしたとき。好きなアニメとかキャラとかアーティストとか曲とか、2、3スクロールもするくらいびっしり書き詰めてあるのを見ると、ついに時代もここまで来たかと思うと同時に、思わず自分のコトバで語ることの大切さとか説きたくなってくるんですがそれは今回はあんまり関係なかった。ま、mixiは検索で引っ掛けてもらって仲間を見つけるという目的もあるんでしょーが。
あと、「左利きはナントカ」とか「片付けられないナントカ」とか選んでるコミュで属性を現すのも凄い面白いなぁと思ってるんだけど、それもあんまり関係ないか。
とりあえず、「コレを選び取った自分、コレを楽しめる/理解できる自分」という欲望は間違いなくあるんじゃないかと。過去の自分の日記・ブログを見てみてもほとんどそうだし。

(3)は職業病かつ男性特有かなぁと思いつつ。
でも、ダイエット時に体重グラフ化(WiiFit!)とか、家計簿とか、そういうのが楽しめる女性層もどれくらいの割合かわからないけどいるのかなと。
ケド、シミュレーションゲームの攻略本の巻末に載ってるユニットのパラメータ(ステータス)値一覧とか、成長率とか眺めてニヤニヤできるのは男だけの気がする。ってか、ごく一部のゲーオタだけか!

いかん。
箇条書きして、それぞれを補足詳細説明しようとしたら、なぜかどんどん脇に逸れていっている罠。
ようは、データ化・数値化したい欲望ってなんかちょっとなくね?ってかアルヨネ?って話だ。
で、過去に自分で何度か試してみたんだけど、妥当な管理手段がなかったり、適切な公開手段がなかったり、そもそもデータベース化のコストに対する見返りが全然見えなかったりして全然モチベーションが続かなかったワケです。

しかし、時が経ち、僕らはオトナになり、なんだかいろいろ出来るようになった。
そして、惑星直列のごとく様々な条件が揃って、いまその最高の素材を見つけたのだった!
以下、箇条書きで解説。←同じ過ちを繰り返すタイプ

妥当な管理手段:
 ・気がつけば仕事のおかげでDBとか使えるようになりました。しかもMySQLなら只で使えます。
 ・PHPなら簡単にWebアプリが作れちゃいます。
 ・しかも、XAMPPなんて便利なモンが出来て、PHP+MySQLの開発環境があっと言う間に出来ちまいます。

適切な公開手段:
 ・だから、PHPなら簡単にWebアプリが作れちゃうんだってばよ!
 ・PHP+MySQLが動くレンタルサーバなんて今やどこにでもあります。てゆーか、借りてるし。

DB化する価値:
 ・見つけた最高の素材はコレ! 本サイトでも度々登場する田中先輩の硬派テクストサイト『文学の遠吠え』の「購入本」のトコ。
 ・データは1999年3月からガッツリ10年分近くと、相手に取って不足なし。
 ・金額集計したり、未読・既読率とかアレコレやって極私的データマイニングができるかも(笑
 ・しかも、『文学の遠吠え』は10周年記念だ。お手製システムのプレゼントなんて、技術屋ならではでクレイジーでイカしてるじゃないか。

ちうわけで、久々のPHPなんで肩慣らしにまず作ってみたのがコレ
こいつをじわじわとモノにしてゆこうかなというのが、私の最近の野望のひとつ。んで、もし万一「オレ様DB」が大ブレイクしだしたらそのノウハウを活かし、謹んで我が社で発注を請けると。←そんな時代は来ねぇ(笑
とりあえず現時点の野望・課題・問題をリストアップして〆としよう。

・管理者画面で登録、更新、削除を実装。検索画面はもちろん公開。オレ様だしね。
・データは現時点ではごくごく一部をサンプルとして投入。画面コピペしてCSVおこしてインポートしたんだけど、セル連結してたり、改行が入ってたりして一撃変換とはいかなかった。データ移行の検討が必要デス。
・通番をPKにしてたんだけど、番号1コに上下巻とかあるし、バラすと元ネタと番号ズレるし、といろいろ問題あるんで、内部ID持ってそっちをPKにしようかと。で、通番は編集可能にしちゃう。
・画面はすっぴん。超すっぴん。デザインとか苦手ですが何か?
・ページ制御とか、出来ればやりたくないなぁ。ケド、過去全データで既読率とか金額集計とか絶対やりたくなるよなー。そういう時、個々のデータ自体は意味ないんで、代わりに集計用の何かを作るか?
・もし完成したらリソースどうするか? ウチに置きっぱでいいのか、でも、田中さんトコに移すにしても動く環境があるのか?
・あと、10年分のデータが消えちゃいましたじゃ洒落にならんのでバックアップ手段を・・。数千件のオーダーなら定期エクスポートでいけるかな?

というわけでやりますですよ。宣言して自分を追い込むですよ。カントリーロードですよ。

ホーム > ネット > オレ様DB

Search
Feeds
Meta

Return to page top