園田うき公式blog ホーム » 雑記 »上坂すみれの服DB制作日記

上坂すみれの服DB制作日記  

 書いてみます。

 ちなみに、URLは http://www.ukitouchtypist.org/sumire_clothes.phpです。「ukitouchtypist.org」ですよ!!最初にアクセスできた時大興奮でしたよ!!
 まぁindexは空なんで、コンテンツはここしか無いですけど。


--

作り始めたきっかけ

  1.  上坂すみれの服(@psychedelicjun)というアカウントを作って、上坂すみれの服を特定していたのですが、ある時思ったのです。「DB化して検索とかソートとかできたら便利だなぁ」って。
     ちょうど、SQLは勉強してたしローカルで声優の誕生日とか美少女キャラランクDBとか作ってた(今回みたいに公開はしてない)ので、DBの知識は無いわけでもなかったし、昔Webサイトを作っていたのでHTML/CSSの知識もまぁまぁある。あとはサーバ側とクライアント側のプログラム言語があれば作れると考えました。

作成方法について考えたこと

  1.  最初はRuby好きだし(勉強はしてた)、Ruby on Railsでやろうと思ったのですが、RoRでは出来ることが大きすぎたり学習コストが高かったり、対応してるレンタルサーバが少なかったり等色々あってさくらのレンタルサーバをスタンダードプランで借りて PHP + Mysql で作ると決めました。RoRの開発環境は整えたんですがね……。
  2.  プログラム言語を導入するのが楽(yum install が楽ちんすぎ)なので、Linux の仮想環境上で開発してます。コードは Vim で書いてます。ビミョウに非効率な気がしますが、使ってる勉強用ノートPCですとよく使う Home/End キーを押すためにFnキーを使わないといけないので、この2つのキーを使わないVimが正解なんじゃないかなと無理やり自分を納得させてます。

最初の日

  1.  有料のレンタルサーバを借りて、DBに服のデータをセコセコ入れてました。150件くらい登録したところで飽きました。
  2.  DBの管理は、さくらのレンタルサーバだと phpMyAdmin が使えたのでそれを使いました。
  3.  一応、勉強の一環なのでDBはブランド名を別テーブルにして第一正規化したあと(表現が合ってるかわからない)、テーブル結合してCREATE VIEWしたのを表示させてます。
  4.  自分のアカウントのTweetを元に情報を入れたのですが、たまにどうしても値段がわからない服があって、凄く困りました。その服は同じブランドの価格帯に合わせました……。

次の日

  1.  セコセコ登録するの飽きたんで、前日に150件登録したDBを元に実際に表示部分を作ることに決めました。
  2.  まず、有名なドットインストールというサイトでPHPについて学びました。実際にサイトを作成するまでは「サーバサイドで動く言語?繰り返しとか条件分岐がWebページの表示とどう関係あるの?」みたいなことずっと思ってました。
  3.  Mysql関数はダメらしいので、PDOというデータベース抽象モデル?とかいうのを使って接続するらしいって聞いて頑張って調べました。でもオブジェクト指向についてはちょっとは勉強していたのでそんなに問題は無かったです。
  4.  色々試して最初にSELECT * FROM table_name ORDER BY date; の結果がWebページに表示された時は感動してしまいました。言わなくてもわかる気はしますが、"table_name"ってのは仮の名前で実際は違います。
  5.  ページャとか作ろうかと思ったけど、とりあえずDBの内容を表示するという目標は達成したので終わり。

3日目

  1.  この日はCSSをいじって、デザインを整えました。それと、データの件数を表示するようにしました。
  2.  他に何やったっけ……。覚えてない……。確か接続の部分のコードを別ファイルから読むようにしたりしたっけ。
  3.  そうだ。この日は検索機能を入れようと色々調べてたけど、仕事帰りで疲れてて頭がうまく回らなくて実装できなくて悔しい思いをした日でした。

4日目

  1.  この日は確か金曜だった上に定時で帰れたので一気に進んだ気がする。
  2.  ページャはよく考えたら最大220件程度だし、検索したあとの結果を見ることが多いのもあって、全部表示したままでも当面は問題ないと判断しました。全データが1000件超えたら実装を考えます。
  3.  PHPとMysqlについて詳しく学ぶ必要があると思ったのと、HTML/CSSについての知識が足りないと思ったので、それまではやりたいと思ったことをググって切り貼りしてコード書いてたんですが2冊ほど本を買ってきました。
  4.  前者のPHPとMysqlの本を読みながら、「知ってることばっかやんけ!!」ってキレてました……。一応、この本を参考にフリーワード検索機能を実装しましたが、ネットの情報だけでも出来ないことなかった気がする。PHPかMySQLどちらか片方の内容を詳しく書いた本が必要な気がしますね。
  5.  よく考えたら、他のプログラム言語も勉強していて、Mysqlも扱ってたりするので当然でした。書いたことある言語はCとJavaとRubyとPythonとVBAとシェルスクリプトです。仕事で使ったことあるのはシェルスクリプトとVBAとPythonです。あとは全部趣味です。
  6.  HTML/CSSの本はデザインの勉強もしたかったので、そういう本を買ってきました。知らないことが多くてこちらはためになってます。CSSについてはかなり適当な知識しか無かったので、学び直す機会が出来て助かっております。
  7.  フリーワード検索機能を実装する際、最初はSQL文に
     $sql = "SELECT * FROM clothes_info WHERE 1=1"
    って書いておいて、検索欄の有無によって
     if($search) $sql .= ' AND brand LIKE :brand OR clothes LIKE :clothes' ;
     $stmh = $pdo->prepare($sql);
     のように条件分岐を書くと良いというのを見つけたのは便利だった。他の機能にも応用できそう。上のコードはサンプルなので、実際に発行してたりするSQL文とは一応変えてます。

今後の目標

  1.  日付・値段でのソート機能→他の項目のソートはいらない気がする。
  2.  ○年、○月のデータのみ抽出、価格帯での検索→この年にはどういうブランドを多く着ていて、この季節はどこの服が多いなどの情報も検索できると便利そう。価格帯での検索は言わずもがな。
  3.  ブランドの検索はプルダウンメニューにしてもいいと思う。入力欄が増えてごちゃごちゃしないかどうかはとりあえず置いてみてから考える。
  4.  デザインをもうちょっと凝ったものにする→JavaScript とか勉強する。




 とりあえず今まで作ってるのはここまでです。また作成が進んだら新しい記事に書きます。あと、日数は適当です。

category: 雑記

tb: 0   cm: 1

コメント

承認待ちコメント

このコメントは管理者の承認待ちです

# | 
2017/07/24 03:21 | edit

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://ukitouchtypist.blog.fc2.com/tb.php/911-86548543
この記事にトラックバックする(FC2ブログユーザー)

訪問者数

プロフィール

最新記事

カテゴリ

月別アーカイブ

▲ Pagetop