はてなキーワード: VPSとは
アニメやゲームのキャラクター情報をまとめてるサイトがないから作りたいなぁって
思ってたんだけどhtmlは初歩しか分からないしプログラミングもできないので構想するだけで作れなかった。
ゼロから4ヶ月でWEBサービスをリリースした人の記事を見つけて「自分にもできるかな!」なんて思い挑戦してみたけど理解できず挫折・・・orz
それでもWEBサイトを作りたかったので制作会社に発注してみようと思い立った。
ただのキャラクターのデータベースだけではつまらないのでコミュニティ要素なども付けて
ネットで見つけた制作会社に見積もってもらうと下記のようになった。
合計1,483,125円
以前、SNS「ウェブカレ」のサイト制作費が1千万円で安く仕上がった(潰れたけど・・・)という話があったから
なんとなく3~400万くらいかかるんじゃないかなと不安だったんだけど予想より安い見積もりだったので、
このくらいの金額ならなんとか出せる!ということで制作してもらうことにしました。
本当は何社かに見積もってもらって比較しようと思ったんだけど面倒だったのでそのまま制作をお願いすることにした。
(最初はもう少し高かったけど機能の簡略化とオープンソースのライブラリを使用してもらう事で費用を抑えてもらった。)
去年の10月の頭くらいから打ち合わせを始めて第1フェーズでワイヤーフレーム作成と仕様策定をして第2フェーズのhtml、システム開発に
移ったのは中旬だったかな?その段階で前金で4割の580,650円を支払いました。
制作会社には3回くらい打ち合せに行って、あとはメールでやり取りしていました。
当初は12月中にリリースを予定してたんだけど、なんだかんだで伸びてあらかた出来上がったのが2月の中旬くらい。
ちなみに僕はヒッキー(どれくらいヒッキーかというと外出は3日に1回くらい)なので制作してもらっている間は
↓作ったサイト
サーバはさくらのVPS 8Gを使用。CentOS5の64bit
設定した項目は以下のとおり
HDDが3つあって、普通に/var/wwwにコンテンツを入れていくとHDDが溢れそうだったので、容量の大きいものを使うように工夫したりなど。
メモリもそこそこ積んであるサーバなので、mysql、php、apcに多めにメモリを割り当てる設定をした。
本当はmyISMやInnoDBエンジンでLIKE "%word%"のようなクエリーを投げて十分なパフォーマンスが出ればいいんですけどね。
それはムリなので、全文検索エンジンとしてgroongaを使用。
groongaを使用するために先にインストールしたのはこんな感じ
この時点でいざ、groonga!と思ってgroongaをインストールしようとすると競合を起こして入らない。
epel、remiレポジトリからインストールしてあったmysqlと衝突してたのでyum remove "mysql*"で
一旦mysqlを消して、groongaレポジトリからmysqlとgroongaをインストール。
するとgroongaは入ったものの、今度はphpから使おうとしてもphp-mysqlパッケージが入らない。
あちらを立てればこちらが立たぬ状態で本当にこまった。
どうしようもないので、やりたくないけどyum-downloadonlyを使ってパッケージに含まれる設定やら、soファイルなどを直接とってきて入れた。
mysql.so、mysqli.so、pdo_mysql.soを/usr/lib64/php/modules/にコピーしたり、設定をコピーしたり、少しずついじりながら、なんとか動いてくれた。
状態としてはmysqlとgroongaはgroongaレポジトリから、phpと本来php-mysqlパッケージでインストールされるmysql.soは手動で置いたことになる。
シェルから直接mysqlにログインするときはgroongaレポジトリのやつを、phpからmysqlを呼ぶときは手動で置いたmysql.soを使うことになっている。
ちょっと心境的にしんどい。別の方法があったかもしれないけど、調べても分からず結局1日くらいかかった。
アクセスは、サイト全体(トータル)、サイト全体(当日分)、各コンテンツ日別、各コンテンツ週間、各コンテンツトータルのアクセスをとるようにしています。
検討した候補はmemcaced、apc、mysql、redis、fileあたりなんですが、
fileは候補にあがったものの、メンドウ、、どうせなら楽な既製品がいい。と思って候補から外しました。
残るはmysqlかredisだけど、redisが高速って聞いていたのでredisにしてみました。
最初全部redisに入れて、集計した結果をmysqlに入れるつもりでしたが、週間ランキングなどはINSERT INTO .. DUPLICATE ONを使って、
アクセスした週の月曜日00:00:00のタイムスタンプとコンテンツIDをキーにしたレコードを作ればそのまま週間ランキングになるなー。と思ってmysqlを使っています。
コンテンツのトータルアクセス数もコンテンツのレコードにpvという項目をつくってUPDATE table SET pv=pv+1 WHERE id = ? のようにしました。
最初難しく考えていたけど、こうすることによって大分楽になったなーといった感じ。
全文検索エンジンや対話検索、ここにこのリンクがあればなぁ。。という所に何とかしてリンクを作るのが本当に大変だった。
使い勝手を良くするために、ここにこの機能をなど、さくっと思いつくのは簡単でもそれを実現するために、あーでもない、こーでもないと
DB・プログラムとにらめっこしながら「あ!こうすればできる!でもそうすると今度はこっちが・・・」みたいなのがあったりでとても大変だった。
無事1周年を迎えました。本当にありがとうございます!
投げ売り堂の増田への2012年1月の結果と雑感を書き込みます。
項目名 | 2月 | 1月 | 増減 |
---|---|---|---|
ユニークユーザー | 4854 | 5105 | 251 |
ページビュー | 34212 | 33168 | -1044 |
平均ページビュー | 1.66 | 1.57 | -0.09 |
平均滞在時間 | 1:54 | 2:15 | +0:21 |
新規訪問数 | 15.87% | 13.94% | -1.93% |
詳細はいつものように以下の Analytics の PDF に書いてあります。
そして、2011/03/01~2012/02/28 の1年間のデータを置いています。
投げ売り堂の 2011/03/01~2012/02/28 の Analytics PDF
2011/03/01から投げ売り堂を公開し、1年が経ちました。
途中、Amazon API の仕様変更だったり Google App Engine の課金開始だったり
いろいろな事がありましたが、無事乗り切ることが出来ました。
運用状況ですが、Google App Engine の課金は月1500円前後で落ち着いています。
このアクセス数だと恐らく980円のさくら VPS 等を使っても全く問題ない感じだとは思うのですが
長期間ストップするような障害も無かったですし、運用コストもほぼ無い感じなのでこれからも使っていきます。
後は、1年間月初めにこちらに増田に投下してた月次報告をブログとかに纏めないとなぁ・・・と思ってます。
同時にいつも Twitter で昼に流している商品情報を纏めて、日々更新していくような形をとればアクセス数は増えるのかなぁとか、ぼんやりとその辺は考えています。
毎日ブログは性格的には無理そうな気がしているので、一先ず自動で纏める形を取らないと・・・。
今年始まってふがいない事になっていますが、地味に昨日更新をしていたり徐々に更新をしています。
これから先の大きな更新としてはログイン機能とそれに付随しての該当商品が一定値を超えた場合にメール通知機能をするなど考えています。
Webシステムとは縁遠い事務職のリーマンが、ある日思い立って、ニッチな用途の検索エンジンサービスを作ってみたので、ちょっと書いてみようと思います。
ちなみに、検索エンジンといっても、googleカスタム検索とかのお茶濁し系じゃなくて、apache Solrというオープンソース検索エンジンを、VPS上で動かしているという、それなりに本
気度の高いものです。
なんで素人がそんな物騒なものを動かす羽目になったかは、後述。
やりたい構想みたいなことを思いついたのは、もう6、7年前ほど前のこと。初めて独り暮らしを始めたときに、ひどく不便を感じたことがあり、こんなサービスがあったら便利だなあ、
ちなみにその妄想をふと高校の同期に話したとき、そのサービスはどこにあるのか?!と、えらくがっつかれたのを、覚えてます。まあ、俺と同じく偏執狂の奴だったからだと思います
が。
ただ、しがない事務職リーマンということもあり、当然、技術も無く、そのときは、やるならこんな名前のサービス名だろうなあ、とか、そんな妄想レベルで、話は終わっていました。
そんな感じで、5年ほど月日は経ち、なんとなくリーマン人生の流れも見えてきたところで、以前、妄想していたことを、ふと思い出しました。
5年も経ったら、さすがに自分が考えたようなこと、誰かがやっているだろうと調べてみたところ、意外なことに、競合になるようなサービスは存在せず。ちょうど異動があって、少し時
間が出来たこともあり、じゃあ、着手してみようかと思い立ちました。
やりたいことは、大手サイトの情報検索。ただ、商品ページ内の特定情報、それも、商品ごとに正規化されていない表記を、正規化して抽出する必要があったので、大手サイトの既設API
だけではとても実現不可能でした。
まあ、だからこそ、5年間、誰もやろうとしなかったんでしょうが。
ということで、とても一発では解決できなさそうな内容だったので、自分でなんとか実現できそうな機能に細分化して、各個撃破していくことにしました。
随分と考えた結果、
以上に区分できると考えて、これらを各個撃破していくこととしました。
また、技術もなく、プログラミングも出来ず、ましてやlinuxサーバのお守りをしたことなんて当然ないので、インターネット上に置くサーバですべての処理を完結させるのではなく、イ
ンターネット上に置くリソースは最小限に留め、できる限り、勝手がわかる自宅のwindowsパソコンで処理を行うことにしました。
ちなみにさらっと結論だけ書いてますが、ここまで至るまでに、いろいろと調べ続たり、考え込んだりしていたので、思い立ってから3ヵ月は掛かってます。。。
さて、やる方針を決めたあと、はじめに着手したのは、要の検索エンジンサーバです。
いろいろとググって調べて、mySQLというやつか、apache Solrというやつかに絞りましたが、結局、Solrを使うことにしました。
MySQLのほうが実績は多そうだったのですが、Solrのほうが検索専門で、滅茶苦茶動作が速いらしいということ、MySQLでも出来るが特に速度が遅いらしい全文検索機能も使いたかったこ
と、あとファセット機能がジャンル絞りこみに便利に使えそうだったので、というのが理由です。
ちょうどSolr本が発売されていたこともあり、それを参考に、自分が使うように設定ファイルを変更していきました。
しかし、初めは設定ファイルの内容も意味不明な上に、私の書き方も雑なのか、少しいじっただけでまったく動かなくなる。結局、設定ファイルを一文字ずつ変更しては動作検証、とい
った始末で、進捗は地を這うよう。ある程度思い通りにSolrを扱えるようになるまで、3ヵ月以上掛かったでしょうか。。。
さらに、検索エンジンのフロントエンド(Solrの検索結果を、htmlに変換するプログラム)も書かなければならない。プログラミングが出来ない人間には、これが本当に辛かった。
Solr本に、いろんなプログラミング言語でサンプルがあったのですが、迷った末に、わずか数行なら書いた(≒コピペした)経験があるという理由で、javascriptを苦渋の選択。
しかし、選択はしてみたが、基礎が本当に無いから内容がサッパリ頭に入ってこない。こちらも、わかるところから本当に1文字ずつ変えていくといった手探り状態。
プログラミングについては、今回のためだけだから、といった理由で、一切基礎をやらずに着手したのが裏目に出たのか、サンプルのソースをモノにして、書き上げるのに、ゆうに半年
以上。本当に時間が掛かりました。
さらに、Solr周りで計9ヶ月間ハマっていた頃、忘れもしない、kanzen21のおっさんが彗星のように現れて、衝撃を受けることになります。
大手サイトのページをクロールして検索エンジンを作る手法は、私と考えていた構想の枠組みとまさに「完全に一致」な訳で。。。
図書館事件に注目していたのも同じで、あまりの一致具合に衝撃を受けっぱなしでした。
その後の成り行き等も含めて、興味深く観察させて頂き、本当に参考になりました。
そんな感じで紆余曲折もありましたが、ようやく難題だった、プログラミング関連に目処が立ってきたので、あとはクローラと肝心のデータ処理です。ここからは、勝手知ったるwindows
まず、クローラですが、専用のクローラをwindows用に探してきたり、それを設定するのも大変なので、今回はテレホーダイ時代に使っていたような、フリーのweb巡回ソフトを利用する
こととしました。指定のhtmlをダウンロードしてくるだけなので、別に変に新しいものに手を出す必要もないので。
また、ダウンロードしてきたhtmlファイルについては、これまたフリーの日本語処理ツールでcsv方式に加工することにして、処理ルール部分を相当に作り込みました。
このあたりは、全体を通して見てもキモの部分なんですが、ある意味、ちょっとしたパズル感覚だったので、プログラミング言語の部分と違って、かなり楽しかったです。
あとは、msdosのバッチファイル(これは前から知っていた)で、これらの処理を繋ぎ、cygwinのcurlとかいうツールで、連続して検索エンジンサーバにcsvファイルをアップロードする
仕組みを作りました。
検索エンジンサーバには、容量は少ないが、安くて高性能という、今回の用途にピッタリだった、さくらのVPSを借りて設定。CentOSのサーバ構築ホームページを見ながら、サーバとか
Solr管理URLとかにセキュリティを掛けて、こちらも素人ながら、意外とすんなり設定。
ホームページは、vpsサーバに相乗りさせるのではなく、別にさくらのレンタルサーバを借りました。apacheの設定方法等を習得する必要がありませんし、vpsのリソースをapacheと分け
合う必要が無くなるので。ホームページのhtmlファイル、cssファイル等も調べながら設定し、画像も準備しました。
あと、構想を思いついたときに妄想していたサービス名の.comドメインは、すでに他者に取得されていたのですが、どうも使っている風にも見えなかったので、whoisで出てきたメールア
ドレスに連絡して交渉し、幾ばくか払って買い取りました。
結局、足かけ18か月。ようやく完成。
楽天市場の家具を、幅x奥行x高さ(家具サイズ)で検索できる、楽天市場・家具カテゴリ専門の検索エンジン
この商品数規模(データ収録約30万アイテム)で、1センチ単位で家具のサイズ指定検索が可能な手段は、商用サービスも含めて、ほかには存在しないと思います。
kanzen21と違って、エロじゃないから華はないけどね。。。
ちなみに冒頭で少し書いたきっかけですが、就職して独り暮らしを開始したときに、新しい家にピッタリサイズの家具が欲しかったのですが、これが楽天で探すのは至難の技でして。
楽天で家具を探してみようと思った人には判っていただけると思うのですが、楽天では、価格では範囲指定やソートができても、サイズでは検索出来ないんです。
これは、楽天では、商品のサイズ情報は商品の自由記述欄に記載することになっているためで、商品ごとにサイズの記載方法がバラバラのため、検索が事実上、不能となっています。
家電製品とかに関しては、種類が少ないこともあり、メーカーのホームページとかでサイズを確認した上で、商品型番で検索すればいいので、それほど問題にはならないのですが、家具
って、種類が非常に多く、型番もあったり無かったりで、家電のようにサイズを調べることができません。
・・・ということで、カグサイズでは、楽天の商品ページにいろいろな書式で書かれているサイズ情報を拾って解析して正規化し、範囲指定やソートして検索ができるようにしています
。
また、単に寸法サイズを拾うだけでは、梱包サイズとか引き出し内寸とかも引っ掛かってしまうので、それらは出来るだけ排除して、商品の外寸が優先して引っ掛かるよう、アルゴリズ
ムを調整しています。
単位(センチとミリ)に関しても、商品ごとにバラバラ(単に単位だけでなく、商品説明のどこに"センチ"とか"ミリ"と記載しているかについてもバラバラです。)なので、サイズ表記
の前後の状況をみて、正しいと思われる単位で拾うようにしています。
あと、変わった使い方としては、欲しい家具の価格比較みたいなこともできます。
家具は、同じ商品でも、店ごとに型番が違ったりすることがよくあり、簡単には価格の比較が行いづらいジャンルの商品です。
しかし、型番は違っても、同じ商品なら原則、サイズは同じですから、欲しい商品とまったく同じサイズで検索をかけると、同等商品があるのかどうか比較しやすい・・・といった使い
方もできます。
と、そんな感じで、しがない事務職リーマンが作ってみた、ニッチな用途の検索webサービスを、サービスインさせて頂きました。
一般に公開されていて、誰でもアクセスできる情報でも、ニーズが有りそうな切り口の条件で検索性を高めれば、新しい価値を創造できるんじゃないかという実験です。
もしよろしければ、ぜひ、使ってみてくださいー。それでは!
----------
vpsとは"visited pages search"の略で、vpsフォルダの中に訪問したページのデータを貯めこんで全文検索できるようにしてあるらしいのだが、これが溜まるとOperaの動作が重くなるようだ。
最近、Operaがページを読み込むたびに1.5秒ほどフリーズしていたのがvpsを削除することでなくなった。これでOperaと出会った時の軽快さが戻ってきた。
他にもキャッシュ関連のデータはあるはずだが、自分の環境ではvpsの削除でじゅうぶん速くなった。というわけでOperaユーザーで速度を重視する人はvpsフォルダの削除も考えてもいいと思う。
関連ページ
http://d.hatena.ne.jp/gnarl/20090405/1238927684
FreeBSD: Opera のガリガリの原因を find - classiclog
http://artrec.homeunix.com/news/classiclog/story/1274006262_60618_0.html
THANKFUL WORLD - 世界を「ありがとう」でつなげよう -
似たようなサービスは既にあると思いますが、PHPプログラムの練習課題として作成してみました。
投稿者から「ありがとう」にまつわる話を投稿してもらい、感謝の気持ちを伝えるサービスです。
この中で一番の目的だったのは3番目の最後までやり遂げるだったりします。
本当にどんなものでもよかったので、最後まで作り上げて公開するのを目標にやってきました。
Webサーバの構築課題も含めてなので、さくらのVPSを一台契約しました。
インストールから設定まで行って初めて分かることも多くありました。
1週間
今できることを高めることも重要ですが、自分に足りないものを吸収してより良い形で昇華することも必要。
個人でサービスを作る以上、自分自身がクライアントなので途中で行う仕様変更(改善や思いつきによる変更など)に対する文句のぶつけ場所もありません。
念入りに設計を行い、それに基づいて開発を行う。
何事も初めが肝心です。
ひと通り開発を行ってみて、自分の知識や能力についてもある程度把握できたように思えます。
今できることもわかったので、次は今できないことをできるように知識を深め、
今できることと合わせて新たな段階に進めればと思います。
投げ売り堂も Google App Engine をしようしてますが、9月から慌しくなっている Google App Engine の新料金体系 に対しての対応について。
ほぼApp Engine アプリケーションのリソースを管理する方法を参考に作業を進めています。
一先ず、まだ Background の無料枠で対応できそう?なので回せる分はそちらに回したり
先ほどのリンクでも対応できていない部分があるので、まだ対応の余地はあります。
しかし、やはりこのアプリ一つのために 2000~3000円くらいとられるのは、うーん・・・という感じはします。
自分くらいのアクセスだと、スケーラビリティは全く考慮しなくてもまだまだ大丈夫なので
一連のフジテレビ&韓流批判に関して、一部のはてなユーザーらが左翼批判と勘違いしている人が結構いる。どのアカウントなのかは書かないけど。
今回のデモに参加した人って、嫌韓で集まった人もいれば、ゴリ押し広告手法に対しての抗議、電波の私利私欲で利用などなど個人の見解は、様々なんだと思う。
個人的な見解を述べさせてもらえれば、今回の問題って、右とか左とかの問題じゃないんだよね。
例えば、露骨な広告手法として「セカンドライフ」「AKB48」などが代表的で、前者はブームとして一切定着せず終了。
後者も来年には、失速しているだろう。前者も後者もネット等ではかなり叩かれた。
これらを叩いている人間に対して「ネトウヨがまた馬鹿な事やってるよ。やれやれ。」とは言わない。
そして、今回「韓国」ということでネットを中心に批判が集まると、一部のはてなアカウントらは彼らを「ネトウヨ」としてカテゴライズする。
デモに集まった連中の思想が一緒なわけないのに。どうしてもカテゴライズしたいのであれば、「反マスコミ」であり右翼・左翼ではない。
また一部に、フジテレビは民間企業だから好き勝手にやらせればいいという意見もあるが、これも現状の民放放送の影響力に関して、甘く見すぎている。
いくつか例を挙げてみよう。
個人的にはどれもこれもバランスの問題だが、全部アウト。ただし、この3つの中で一番、性質が悪いのが[3]である。それは韓国という事ではなく手法の問題。
ネットで誰かが「これは健全なステルスマーケティングだ。」と言ったそうだ。その通り これはステルスマーケティングだと思う。しかし、ステルスマーケティングを
やる条件として「絶対にバレてはいけない!」というルールとリスクを背負う必要がある。それが今回モロにバレてしまったわけだ。
参入の敷居が"超"がつく程高すぎる公共の電波を使って。
地デジ化でその敷居はやや下がったとはいえ、参入表明してる企業があるだろうか?孫正義ですらテレビ局を所有できてないんだぞ。
故に、電波は国民の共有財産であり、むやみやたらに私利私欲に使ってはいけない。
インターネットのサーバーVPSが980円で借りれるような時代です。
そのネット上で、「韓国最高!」「韓国の物をどんどん買おう!」「K-POP!素敵!愛してる!」
それを、"仮に"韓国政府からお金をもらってやったってまったく問題ない。
趣味趣向が多様化するこの時代に大多数の若者が一つの方向に向いているわけないのに。
フジテレビに限った話ではないが、なんで、テレビのコンテンツは一極集中なんだろうか?
ふかわりょうの言うとおり、時代を映すテレビはもう終わったのかもしれない。
客「以前、来たときは、いろんな国の料理が食べらたのに、今は焼肉とキムチばっかりじゃないか!これじゃ、胃がもたれるよ。」
あいつら、本気でこう考えてそうで怖い。
結局、抗議してる人たちってテレビが好きだったんだと思うんだ。
【お知らせ】2011/09/07
http://d.hatena.ne.jp/uniqueweb/20110906/1315285545
プログラムは全く得意じゃないけれど最近よく見かけるようになったエロ動画検索を自分でも作ってみたくて頑張ってみました。
近年、インターネットの普及によりエロ動画が自宅で簡単に見れるという素晴らしい時代になりました。
自分が若い頃はインターネットなんてものはなくエロビデオが主流でドキドキしながらレンタルビデオ屋に行き、可愛い女の子がレジにいない隙を見計らってお兄さんにパッケージを伏せて空箱を渡しビデオを借りたものでした。
お兄さんにビデオの空箱を渡そうとした時に可愛い子がレジに戻ってきて焦って渡すのをやめてものすごく変な動きをしながらエロビコーナーに引き返していくなんてことも多々ありましたw
僕のお気に入りといえば「白石ひとみ」や「あいだもも」といった女優でよく借りてました。エロビを借りるということがものすごく恥ずかしい時代?年頃?でカモフラージュに普通のビデオと一緒に借りるということもしていました。それはそれは大変な思いでオナニーしてたんです!
しかも、ビデオデッキ自体が貴重な時代でリビングに一台しかないのが当たり前でした。
深夜家族が寝静まってからヘッドフォンとビデオを抱えリビングに行き暗がりの中でヘッドフォンをテレビに差し込んでビデオの再生ボタンを期待に胸をふくらませながら押したものです。いいシーンを何回も見るためにビデオを巻き戻すんですが、ビデオを巻き戻すガチャンガチャンという機械音で家族が起きてこないか?とかそれはそれはドキドキしながら見てました。一仕事終えたあとヘッドフォンを外したらジャックが外れていて大音量で喘ぎ声が響き渡っていたなんてこともありました。誰も起きてこなかったのは優しさなんでしょうか?w
さて、大分前置きが長くなりましたがエロというものはものすごい技術発展させるものだと思います。エロのおかげで日本でビデオは普及しエロのおかげで日本でインターネットはものすごく普及したと言っていいと思います。自分もエロを通して技術の発展に貢献し自分自身のスキルアップになれば。という高い志を持ってこのサイトを制作しました。決して自らのオナニーライフの充実と性癖を充たすため作ったわけではありません・・・w
※2011.08.07 利用中のサーバーに障害が発生しているようで現在サーバーに接続できない状態となっています・・・
サイト名の由来は抜きネタからきています。抜きネーター、ヌキネーターという感じですw
エロサイトの制作工程を日記にしてみたんで良かったら読んで下さい。そしてこのサイトを使って夜いろいろと励んでくれたら嬉しいです。
まず前提条件としてお金をほとんどかけたくない。アダルトサイトであるということから
月の予算は5000円以内で考えていたのでけっこう探すのが大変でした。
日本でアダルトサイトを許可している所はかなり限られていてさらにやりたいことができるのは
専用サーバーかVPSしかないのでそうなると専用サーバーは予算オーバーなので
VPSで探すことになり検索しまくってはじめに見つけたVPSはKAGOYAのVPSだったのですがβ版で募集を締め切っていて泣く泣く諦めました。
KAGOYAはかなり評判がいいみたいなので使ってみたかった。
次に見つけたのが○○○VPS。海外サーバーで日本語サポートがあり転送量の制限なしディスク容量100G
月1300円程度で借りれるということで初期設定費用に5000円程度かかりましたが借りてみました。
結果、ここは最悪でした。
あまりの酷さに1ヶ月で解約。
よく調べてみたら評判がものすごく悪い某VPSの再販らしいです。
もう失敗したくないと思い今度は比較的有名な海外サーバーLINODE。
iptablesの設定でどうしてもうまくいかなくて拙い英語でメールしてみたら
10分しないうちに返信がきました!
メールに書かれているとおりにコマンドを入力したらあっさり解決。
担当のブライアンはなぜか分からないけどとてもフレンドリーで親切に感じましたw
LINODEは複数のディストリビューションから好きなものを選択できるので
とりあえず、64bit版を選択。
一番面倒だけど重要だということで
Tripwire
ほんとに面倒でした。
はじめはmysqlにストレージエンジンgroongaを使おうと思ったのですが
初めに借りた最悪なVPSはOSが32bit版だったのでgroongaがのソースが見つからずなぜかと思っていたら
どこかで見つけた記事で32bit版ではgroongaの性能を発揮しきれないということで32bit版の提供をやめてしまったらしいと書いてたので
じゃあ、sennaにするかということで最悪VPSでsennaをインストール。
その後LINODEに変更したのでOSに64bit版を選択し念願のgroongaをインストール。
しかし、調べてみると
プログラムもそれに合わせてその都度書き換えたので2度手間どころか3度手間4度手間でした・・・
まず
そして下記の順番でインストール
rpm -ivh mecab-0.98-tritonn.1.0.12a.x86_64.rpm
rpm -ivh mecab-ipadic-2.7.0.20070801-tritonn.1.0.12a.x86_64.rpm
rpm -ivh senna-1.1.4-tritonn.1.0.12a.x86_64.rpm
rpm -ivh MySQL-shared-5.0.87-tritonn.1.0.12a.x86_64.rpm
rpm -ivh MySQL-client-5.0.87-tritonn.1.0.12a.x86_64.rpm
rpm -ivh MySQL-server-5.0.87-tritonn.1.0.12a.x86_64.rpm
rpm -ivh MySQL-devel-5.0.87-tritonn.1.0.12a.x86_64.rpm
my.cnfの設定をして終了
で肝心の全文検索ですがデータ件数が5万件程度で少ないせいなのか、あいまい検索と比べてそれほど速さを実感できなかったです・・・
でもきっとすごく速くなったはず!
ちなみに「麻美ゆま おっぱい」で検索した場合、0.01 secで結果が返ってきました。
さて、動画データの作成ですがいくつかのエロサイト等制作記事でもあるようにスクレイピングということをします。
スクレイピングとはWEBサイトから特定の情報だけを取得することでネット上にあるサイトをクロールして必要なデータだけを拾ってデータを作るといった感じでしょうか。
スクレイピングのプログラム自体は以前にTidy関数を使って為替データを10分おきに取得するような物を作ったことがあったのでそれほど時間はかからないかなと思ったのですがけっこう時間かかりました。
スクレイピングにはTidyとhtmlSQL、それにPHP Simple HTML DOM Parserを使いました。
SQL みたいな文法で HTML を抽出する PHP のライブラリ
htmlSQLよりアツい!?jQueryみたいにセレクタでHTMLをparse(解析)する「PHP Simple HTML DOM Parser」
3つの中で抜群に使えるのはPHP Simple HTML DOM Parserだったんですが
ループ処理させるとメモリがすごいことになって今回のようなスクレイピングに向いてないみたいで
結局、htmlSQLとTidyの両方を使ってスクレイピングしました。
両方ともPHP Simple HTML DOM Parserに比べるとうまくデータの取得ができないことが多く残念な感じなんですが他に選択肢がないので・・・
使える順に並べると
といった感じかもしれません。
おおまかにデータを取得して正規表現で特定データを抜き出しました。
http://affiliate.dmm.com/link.html
利用可能な物はパッケージ画像、サンプル画像(縮小)と書かれていたのでそれに従い画像を利用。
注記に※ユーザーレビューは引用いただけません。とだけ書かれているのでそれ以外は引用ありと判断して説明文とタイトルなどを利用
女優データとジャンルデータ、DVDデータ、を紐付けたデータベースを作成し検索ワードに応じて検索結果に関連する商品を表示させるようにしました。
現状、売り上げ0で意味があるのか分かりませんけどw
エロサイトということで多少はチューニングとか設定とかしないとまずいかもと思い色々調べて設定しました。
やったこと
KeepAlive On MaxKeepAliveRequests 60 KeepAliveTimeout 3 <IfModule prefork.c> StartServers 7 MinSpareServers 5 MaxSpareServers 10 ServerLimit 30 MaxClients 30 MaxRequestsPerChild 4000 </IfModule>
様子見ということで2日間で設定してみました。
query_cache_limit=1M
query_cache_min_res_unit=4k
query_cache_size=16M
query_cache_type=1
とりあえずこんなところを設定してみましたが、爆発的なアクセスがあるわけでもないので有効なのか今のところ分かりません(-_-;)
Apache Benchでテストはしてみましたけど問題はない感じですが実際にチューニングができているか分かりません。
プログラマーとして有名なゆうすけさんのサイトとgoogleを参考にしました。
シンプルで使いやすいようにしようと思いこのデザインにしました。
クロスブラウザはIE7、firefox3、chromeで行いました。
可変ものって作ったことなかったんですがけっこう面倒なんですね。
ブックマーク機能とメニューの折りたたみ機能、検索結果の表示方法切替を作りました。
まず、ブックマーク機能ですがログインなしで気に入った動画をブックマークできるようにしました。
ブックマークに追加した動画はブックマークページで確認できるようにしました。
cookie機能を利用したらいけると思い色々調べてjquery.cookie.jsを利用。
保存したクッキー情報を呼び出してphpに渡して処理し指定要素にブックマーク一覧をloadメソッドで表示させるという感じです。
$(function(){ $("#youso").load("xxx.php"); });
メニューの折りたたみ機能は人気AV女優やAV女優別、人気タグなどをそのまま表示させるとずらっと長くなって邪魔だったのでつけました。
これには同じくjquery.cookie.jsを利用しました。
参考サイト:http://blog.caraldo.net/2009/03/newjqqookiemenu.php
検索結果の表示方法切替にはZoomer Galleryを利用しました。
参考URL:http://phpjavascriptroom.com/?t=ajax&p=jquery_plugin_zoom#a_zoomergallery
検索結果ページで表示される
[ここの画像]
××× の検索結果
44件中 1~10件目を表示
ここの画像の部分をクリックするとgoogleイメージ検索みたいに一覧でイメージ表示できるようにしてみました。
基本的に動画の埋め込みを許可しているサイトのみプレイヤー表示をしそれ以外は画像を表示し動画データへリンクするようにしました。
埋め込み部分はあらかじめそれぞれのサイトに対応したプレーヤー部分のコードを記述しVIDEOIDの部分に置き換えるような形にしました。
XVIDEOSを例にすると
XVIDEOSの場合かならず動画のurlがhttp://www.xvideos.com/videoXXXXXX/のようになりますのでXXXXXXの部分を
VIDEOID部分に置き換えるようにプログラムを組みました、
埋め込み部のソース
>||<object width="510" height="400" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" ><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="allowScriptAccess" value="always" /><param name="movie" value="http://static.xvideos.com/swf/flv_player_site_v4.swf" /><param name="allowFullScreen" value="true" /><param name="flashvars" value="id_video=VIDEOID" /><embed src="http://static.xvideos.com/swf/flv_player_site_v4.swf" allowscriptaccess="always" width="510" height="400" menu="false" quality="high" bgcolor="#000000" allowfullscreen="true" flashvars="id_video=VIDEOID" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>
||<
その他の動画サイトもURLの一部分のデータを使っているので同様の処理をしました。
実際の作業は2、3週間ですが色々調べる時間が多くて制作に2ヶ月くらいかかりました。
自分でエロ動画検索を作ってみて有名プログラマーさん達がいかに優秀なのか思い知らされました。
全くWEBの知識がない人で4、5ヶ月ですごいの作っちゃう人とかもいるみたいですし世の中広いな~と思います。
大分、色んな知識を得ることができました。
これからプラグラムを勉強しようと思う人はぜひエロサイトから入ってみて下さい。
そんなこんなで?頑張って作ってみたエロ動画検索、良かったら使ってみて下さい。
これで少しは技術の発展に役立てたでしょうか?w
P.S エロサイトを作っていてはじめは楽しくて興奮しながら作ってたのですが最後の方はエロい物を見ても全く反応しなくなりましたw
不能ではないんですけど・・・今現在も性欲が著しく減退しております・・・
そしてスーパーpre記法がうまういかないのはなぜ?はてな匿名ダイアリー初投稿で全然分からない・・・
そしてそしてプログラマーさんとかデザイナーさんとかエロい人とかお気軽にお声をおかけ下さい。
【お知らせ】2011/09/07
PHPerの問題点は、視野が狭いこと。典型的には以下のような悪癖を持つ。
何も知らないからPHPを愛せるんだよ、PHPerは。だからまず、HTML、CSS、JavaScript、SQLを覚えろ。次に、Javaに移行しろ。そんなに難しくないよ、Java。特に大量にコードを書けるPHPerは、速度が出てライブラリ化が容易なJavaの方が向いている。今はVPSがあるので、小規模案件でも問題ない。
15年間ほどPHPはインターネットを支えてきたが、そろそろ設計の脆さが問題になっている。PHP 6の開発が振り出しに戻ったのは、不幸な事故ではない。ウェブで仕事をしていれば、PHPとJavaで共通する知識も多い。PHPerはJavaを覚えてPHPとさよならしろ。そして恥ずかしい悪癖を直すべきだ。
1ヶ月ほど前に、アノニマスダイアリーでサービスの紹介させてもらった「完全に一致」のおっさんです。
昨年11月25日に公開させてもらったサービスですが、公開から約1ヶ月半の間、いくつも思ってもみなかった事が起こりました。
誰かに聞いて欲しいものの、例のSEの友人が精神的な病で倒れてしまい聞いてくれる人もおらず、
Twitterでは短すぎてかけず、なおかつブログもないのでここに書かせてもらいます。
最初の記事を書いて、初日から約1週間で300万アクセスがあり、この間何度もサーバーが応答しなくなるという事態に陥りました。
MySQLサーバーとWEBサーバーの調整を教えてもらったお陰で、かなりダウン回数減らす事ができたものの、結局全然処理が間に合ってくれませんでした。
公開した当初は、DMMから直接画像を読み込みを行っていましたが、怒られるんじゃないかと思い、一度読み込んだ女優画像は
サーバーに保存し2回目からは自分のサーバーの中の画像を読み、PHPで必要なサイズで書き出すというやり方をしていました。
しかし、1秒あたりのアクセス回数が多すぎた為、PHPでの処理が全く間に合わず、画像表示ができないという状況に陥りました。
いくつかの画像処理PHPを探していたところ、うまい処理をやっているスクリプトがあり、それを使わせてもらいました。
が、完全には解決できず、結局、VPSサーバーをもう一つ用意し、画像の処理専用で使うことで何とか乗り切りました。
アノニマスダイアリーからのアクセスが一段落し、そろそろ画像サーバーを消して元のサーバーに戻そうとした頃、
またアクセス数が増えだしました。何かと思ったら「R25」というサイトからでした。
R25の紹介記事(http://r25.yahoo.co.jp/fushigi/jikenbo_detail/?id=20101209-00004623-r25)
私はこのサイトを見たことがなかったのですが、ドメインからしてYahooのサービスの一つだと思います。
R25からは10日間ほど継続的にアクセスがあり、ここからも300万くらいのアクセスとなりました。
R25内のアクセス数ランキングでも3位まで上昇したことが大きかったんだと思います。
ある日、問い合わせフォームから漢字ばかりのメールが飛んできた為、文字化けしたかと思っていたら、中国の方からの問い合わせでした。
AV NO1というサイトから来たという内容で、励ましのお言葉をいただきました。
AV NO1 での紹介記事(http://avno1.com/?action-channel-name-viewblogitem-itemid-5525)
ここを皮切りに、中国、韓国、ロシア、アメリカ、カナダ等、世界中の方からアクセスしていただき、特に中国・韓国のユーザーさんは今でも多く来ています。
「日本のアダルトビデオは企画物があっていいよな!」という内容のメールを複数もらいました。
初めてつくったWEBサービスでしたが、この数字がものすごい数であることはわかりました。
先日の結果報告の日記で、200万アクセスあってDMMへの導入が10万クリック、報酬額が700円というご報告をしました。
その報告の後で、R25や各国からのアクセスがあったので、報酬はだんだん増え、結果12月は約15,000円となりました。
正直少ないんだろうなとは思いますが、15,000円は私のお小遣いからすると大金です。
DMMのアフィリエイトは、Aという商品のアフィリエイトリンクをユーザーがクリックし、Aを買った場合は報酬になるそうですが、
DMMのアフィリエイトは1商品をどううまく推薦するかが、報酬アップの肝のようです。
一番驚いた出来事。
サイトを作る時にいろんなサイトをみて、「広告について」というコンテンツを一応用意していました。
もちろん、スポンサーがつくなんて思っていなかったのですが、12月の中旬に、複数の広告代理店さんから一気に広告オファーが来ました。
広告運用の経験など無く、いろいろなサイトや記事を調べ、料金の提示をし、メールでのやりとりをさせてもらい、複数社と契約に至りました。
その結果、一ヶ月の広告収入が合わせてなんと、30万円オーバー。
DMMの報酬額の少なさにがっかりしていた矢先の出来事だったので衝撃的でした。
私の月給とほぼ同じ額が、突然口座に振り込まれるという、信じられない事が起こりました。
契約期間は単月であるため、継続かどうかはまだ決まっていませんが。
スポンサー契約の数日後、今度は「サイトを売ってくれ」というオファーが1日に2件同時にありました。
購入希望金額は、2件とも300万円という非常に高額なものを提示していただきました。
しかし、もう少しやりたい事があった為、2件ともお断りさせていただきました。
ありがたいことに、個人の方はお断りした今でも、ラブコールをいただいています。(この日記に書くことは了承をもらいました。)
サイト売却を断った理由である「もう少しやりたかった事」の一つが、今回追加した、”会えるAV女優”検索です。
AVに出ている女優さん達は、キャバクラや、ヘルス、デリバリーヘルスで働いている人も多く居るようで、
それぞれのサイトでも大々的に「AV女優在籍」と書いてあることが多くありました。
私は地方に住んでいる為、正直会える確率は低い為、都市圏にすんでいる方が羨ましいです。
有名な女優さんも多く居るようで、出張に行くときには是非、とか思ってしまいます。
見ていただける方はこちらから。
http://www.kanzen21.com/actress/
以上です。WEBサービスの運用自体が初めてなので、もしかしたら「当たり前じゃん」というような事も含まれるのかもしれません。
しかし、私にとってはとても衝撃的で、脳が痺れる体験ばかりでした。
この一ヶ月半、何度も夢に出てくる程、このサイトの事ばかりを考えていました。
結果的に大成功となりましたが、いろんな偶然や幸運が重なったお陰の成果であり、これが自分の力だとは思いません。
しかし同時に、"チャレンジした結果"であることは迷うごとなき事実だと思っています。
その道のプロじゃなくても、会社組織じゃなくても、専業じゃなくてもやれる。
アノニマスダイアリーに書くのは、おそらくこれが最後になると思います。
みなさん本当にありがとうございました。これからも完全に一致をよろしくお願いします。
Heroku | Ruby Cloud Platform as a Service
Amazon Elastic Compute Cloud (Amazon EC2)
http://aws.amazon.com/jp/ec2/
Virtual Dedicated Servers - Highly Configurable Plans Low Prices
http://www.godaddy.com/hosting/virtual-dedicated-servers.aspx
http://www.linode.com/
http://www.slicehost.com/
Dedicated Server, Managed Hosting, Web Hosting by Rackspace Hosting
http://www.rackspace.com/index.php
SoftLayer® Technologies - About CloudLayer
http://www.softlayer.com/cloudlayer/
BULK SERVER|全プラン初期費用0円 最低利用期間1ヶ月 月額費用5,800円からの専用サーバ〜 Atomプラン 〜
http://bulkserver.jp/service/atom
専用サーバーレンタル|即席サーバー - プラン案内 - サービス - 専用サーバレンタルならメガファクトリー
http://www.megafactory.com/html_service/s_sokuseki.htm
【基本構成】ライトプラン : マイティーサーバーの専用サーバー
http://www.mtsv.jp/server/light/
専用サーバー・ヘリオスアルファ 特徴・料金|専用サーバー・VPSのSaaSes
http://www.saases.jp/hosting/hos_001.html
さくらのVPS|VPS(仮想専用サーバ)はさくらインターネット
http://server.sakura.ad.jp/dedicated/index.html
クラウドならニフティのパブリック型コンピューティングサービス
IIJ クラウド(クラウドコンピューティング)サービス - IIJ GIO
http://www.iij.ad.jp/GIO/
http://www.saases.jp/vps/index.html
http://www.kagoya.jp/cloud/vps/
prgmr http://prgmr.com/xen/
RapidXen http://www.rapidxen.net/
RapidKVM http://www.rapidkvm.net/
Arpnetworks http://www.arpnetworks.com/vps
Quickweb http://quickweb.co.nz/
NordicVPS http://nordicvps.com/
Thrust::VPS http://www.thrustvps.com/
Curlhost http://www.curlhost.com/
BudgetVM http://www.budgetvm.com/
neosurge http://www.neosurge.com/
NFOservers http://www.nfoservers.com/order-virtual-dedicated-server.php
EliteDataHosting http://www.elitedatahosting.com/vps.html
PhotonVPS http://www.photonvps.com/
http://www.webhostingtalk.com/
自分でWEBサービスを作りたいと思っている人へ ( http://anond.hatelabo.jp/20101203150748 ) を読んで、初心者じゃなくてある程度の経験者が作ったらこうなるんだよってことで書いています。でも正直4ヶ月でそこまでできるようになるなんておそらく相当頭がいいんじゃないかなと思うんです。いや、本当に凄いと思う。
まず作ったサービスはグルーポンチケットのまとめサイト。 グルーポンナビ( http://gp-navi.net/ )まず自分のスペックだけど、昔から趣味でプログラムやったり仕事でプログラムしたりしてました。Web系ばっかりやってるいちおうこういうのを作るのには慣れてる方です。
それで私ですが、まず最初に http://anond.hatelabo.jp/20101203150748 の人と同じで全然お金を使いたくなかったです。だからいろんなホスティング会社を探したりしたんですが、VPSを借りちゃうと大金がかかるんですよね。そこで、いわゆる流行のクラウドであるHeroku( http://heroku.com/ )を使う事にしました。
このHerokuは無料で使えるから良いんですけど、バッチ処理を行うには有料のサーバを契約しなくちゃいけないんです。しかもWebの一回のリクエストは30秒までに押さえなくちゃいけないっていう制限があったりで、正直無料で使うには厳しい。
でもやっぱり無料っていう響きに吸い寄せられてHerokuを使うと決めてアプリケーションを書き始めました。Railsで書いて賞味2週間くらいちまちまと進めてアプリを完成させました。だいたい一日2時間くらいかな。Railsにはそこまで詳しくはなかったけど、Webで検索すれば結構情報がヒットするからそこまでの苦労は無かったです。それよりも制限のあるHerokuでどうやって実現するかというのが、結構問題でした。
それでしばらく運用してました。このときは全然宣伝しませんでしたから、ほとんどページビューはあがらなかったです。宣伝大事。これほんと。それでHerokuで作った仕組みなんですが、無料でやりたかったので、Workersを契約しないでアプリをつくってました。だからWebのリクエストをトリガーとして普通にクロールさせるよう作ったんです。でも、クロールするサイトを徐々に増やしていくと30秒以内にリクエストが終了しなくなってきてさぁ問題。どうしようかと考えたあげく、レンタルサーバもいいなっておもったけど、結局自宅サーバをたてることにしました。たぶん、これが一番コストパフォーマンスが良い。でも気をつけなくちゃ行けないのが、サーバ自体の管理を自分でやらなくちゃいけないから結構めんどくさいんですよね。結局自宅サーバかよって感じです。
サーバをNTT-X Storeで発注して発注して、16,800円。かなり安いです。このサーバの詳細は http://wiki.nothing.sh/page/NEC%20Express5800%A1%BFGT110b に書かれています。なんでこのマシンにしたのかというと、VMWareのESXiで仮想化をしたくて、それに対応している安いサーバがこれだったというわけ。ちなみに、これをすると管理が楽になる。例えば、マシンのバックアップが取りたいなと思ってもすぐできるんですね。だから仮想化は凄く良い。
でも、素のGT110bを使うとメモリも少ないしCPUも弱いしハードディスクも少ないので、これはネットで買い足しました。あ、あとデスクトップ用のモニタが無かったのでそれも中古で買いました。それが次のような感じ。
ずいぶんと安い買い物だったと思います。もちろん、マシンの上で動かしているOSはLinuxなので、ライセンス料もかからないしとてもリーズナブルです。
ここまできたら後はアプリを作り直すだけでした。Herokuで作ってたときにはHerokuの制限を考えながらアプリを作ってたので作りづらかったですが、自宅サーバを使うとそういった制限はなくなるのですごく作りやすい。お金を払うだけの価値はあると思います。やっぱりお金をかけるべきところはかけないとダメですね。
それから結構このアプリケーションは携帯ユーザの女の子がよく使ってくれます。結構教えると毎日見てくれるんですよ。やっぱりお買い物と言えば女の子ですね。だから、携帯対応しました。携帯はいままでやった事は無かったんだけど、Railsのプラグインであるjpmobile( https://github.com/darashi/jpmobile )を使ったところすごく簡単に対応する事ができた。凄いですね。id:darashiさんに感謝です。
iPhoneも対応していますが、こちらもあまり詳しくなかったので最初はjQuery mobileを使って構築しました。でもちょっと重かったのでjQuery mobileはやめて手組しています。そもそも一ページしか無いのでそんない難しい事は無いですね。
ウェブサービス公開するのはそこまで難しくないんですが、それを流行らせるのはかなり難しいですね。面白いサービスとかであれば結構色んなところがとりあげてくれたりするんですけど、後発のサービスになるとなかなか。。。開発者の方は作る事よりもどうやってみんなに知ってもらうかを考えるのがすごく大変な事だと思います。お金かけて広告うてれば楽なんですけどね。
とにかく作ったら公開。やる事は各方面への宣伝です。今のところやってるのはTwitterへの投稿と、ここへの投稿ですかね。これからいろいろ試そうとしているところ。このサービスがある程度知名度が上がってきたらまたそのとき軌跡を書きたいと思います。
35歳。
去年までプログラマの知識ゼロ君だったけど、HTMLとかAjaxとか
勉強して4ヶ月でWEBサービスを公開した。一度やってみなよ。
ベータ版だけど、カゴヤで900円を払えば50GBのVPS鯖貰える。
借りるだけ借りてサービス開始せずにやめることもできるし、
もう、いいおっさんの年齢なんですが、先日、とあるWEBサービスを公開しました。
5年ほど前からぼーっと考えていたんですが、如何せん、事務職の自分には”創る技術”が無かった。
優れた若い技術者(id:amachangとかうらやましい)や、チャレンジ精神あふれる経営者(id:hiroyukiegamiとか)が出てくる中うつうつとしている自分に嫌気がさし、4か月前の7月頃からHTMLやプログラムの勉強を始めた。
本屋で立ち読みしたら、まずはHTMLを勉強する必要があると、書いてあった。同時にCSSを学んだ。
プログラムを作りたかったので、次にJavascriptをやった。
jQueryがすごい。「プログラムって誰でもできるんだ。」この時そう思った。
検索システムを作りたかったので、本屋に行ったらCGI/Perlの本がいっぱいあったので、Perlを勉強した。
しかし、HTMLテンプレートが使いたかったのでPHP+Smartyを勉強した。
作りたかったWEBサービスは大手サイトのデータの検索サイトだったので、自動でデータを集める必要があった。
PerlのLWPを勉強したが、データを集めた後に加工する必要があった。簡単そうだったRubyとMechanizeを勉強した。
Rubyはものすごくきれいにプログラムがかけることを知った。話し言葉に近い気がする。
プログラムを作っている時、最初は自分のパソコンの中でやっていて気付かなかったが、実際に公開するときはレンタルサーバーを使うというのを知って調べると、Linuxのサーバーが多いということを知った。
だから、今度は自宅のあいているパソコンにLinuxを入れた。
Linuxを入れたはいいものの、全く使い方が分からず四苦八苦してRubyのインストールをした。
世界中でメインで動いているWEBサーバーがApacheということも3か月前に知った。
Apacheの設定がテキストファイルなのも驚いた。cd,ls,vi,mv,cp,chmod等、基本的なUNIXコマンドを覚えた。
例の図書館の事件があったので、クローラーを動かすのをためらったが定期的にちょっとずつなら怒られないんじゃないかと、Crontabを勉強した。
自宅のサーバーが壊れてしまい、構築が大変だったので今度はVPSサーバーを借りた。
同じように構築はしたがかなり苦労した。このとき、始めてmakeというコマンドを使った。コンパイルというらしい。
クローラーが自動的にデータを集めていたが、動かし始めて2カ月目でデータファイルが1GBを超えていることに気がついた。
このとき、テキストファイルでデータを扱おうと思っていたが大きすぎて動かない。
最終的にデータ量は5GBを超えた。
11月も後半、本稼働用のサーバーを探していたら、丁度カゴヤがVPSサーバーのベータ版を募集していた。
すごく、快適です。まだベータ版ですが、本番稼動でも、50GBで900円という激安プランです。
http://www.kagoya.jp/cloud/vps/
ベータ版では、3つまでOSのインストールができます。もちろんそれぞれにIPアドレスが振られます。
このVPSにサーバー管理システムをインストールし、もろもろの環境も作って、11月末についに、公開。
AV女優をスリーサイズから検索できるシステム、「完全に一致」です。
類似検索機能付きで、2次元と3次元をつなげる夢のシステムです。はい。
真剣に作ったんだ。仕事をしながらよく頑張ったと自分をほめてあげたい。
----------------------------------------------
インターフェース:jQuery+selectToUISlider
-----------------------------------------------
サーバー上にある静的なHTMLは1ページもなく、mod_rewriteですべてPHPが処理しています。
一番大変だった事は、、、
このサイトのデータはDMM社のデータを使わせてもらったのですが、AV女優の顔写真をそのまま使うのは、肖像権的にNGらしく、AV女優の作品の中からその女優の顔が一番大きく写っているパッケージを使うことにしました。
しかし、女優データは約5万件。作品データは12万件。とても手作業でやるわけにもいきませんでした。
結局どうしたかというと、Face.com(http://face.com/)という、画像の顔認識ができるAPIを無料で提供しているサービスを利用しました。
同様のことができる、OpenCVというソフトがあるのですが、最初から付いているパターンデータでは人の正面の写真しか顔として認識しませんでした。
それに比べて、Face.comの認識精度は驚くほど高く、横だろうが斜めだろうがかなりの精度で顔を認識してくれました。
データをJSON形式で返してくれる(JSONもこのとき初めて知った)為、取得したデータを後で加工しやすかったです。
1.このAPIを使い12万件の作品データをすべてスキャンするプログラムを書く※1
2.顔の縦の長さと横の長さを取得
3.縦×横で顔の面積を計算
6.その女優の作品の中で顔面積が一番大きなパッケージ写真をその女優の顔写真として代用しました。※2
※1 APIの制限が1時間1000リクエスト迄だったので、これまたCronで・・・
※2 実際には女優テーブルと作品テーブルを繋ぐ中間テーブルのフラグをONにした。若干の間違いはあるものの、かなり正確に出ました。
長々と書きましたが、ズブの素人から約4ヵ月でここまで出来ました。
勉強する前、SEをやっている友人に話したら、「3年はかかるんじゃないか?」と言われましたが、できたものを見せたら褒めてくれました。
WEBサービスを作りたいと思っていて、技術がないからとあきらめている人は、とりあえずやってみてください。意外に簡単にできますよ。
あと、クローラーが動いていると、全能感を味わえるので楽しいです。
-----------------------------------------
19:30追記
サーバーソフトからアラートが上がって、見てみてたらなんかすごいアクセス貰ってまして。
>カゴヤの中の人乙wwww VPSといったらさくらかServersManくらいしか選択肢が無いのは現状当然の認識であるはずなのに!
カゴヤの人間じゃないですよー。広告してるつもりもないんですが、ベータ版だからかもしれませんけど、すごい快適ですよ。今は。
何よりタダなので。
本当に月額900円のまま本公開になったら、環境構築もめんどくさいのでそのまま契約しちゃうかもです。
>カゴヤはOpenVZだからなあ。俺としてはより自由度の高いさくらのVPSをお薦めしたい。
そうなんですか。2週間のお試し期間はつかったのですが、正直どっちがいいとかわかりません。
どんな風に自由度が高いんですかね?あと、アダルトOKなんですっけ?
>組み立てるプログラミングは本当に簡単だよ。 みんなで入り口を隠しているだけだよ。 #組み立てるだけじゃなくて、アルゴリズムを練ることが真のプログラミングかもしれない
サンプルプログラムの組み合わせで作ったようなサービスですので、プログラムのソースとかぐっちゃぐちゃです。
もともと、作ろうと思ったきっかけなんですけど、
椎名舞さんがですね、すでに引退しちゃってるんですよ。ずいぶん前に。
それで、検索エンジンで検索したんです。でも、なかなか出ないんですね。
欲望のままにやってたら、次から次に壁にぶち当たって、そしたらいつの間にかできました。
結果、このシステム使って椎名舞さんのプロポーションに似たAV女優を探すと、
雛乃つばめさんとか、果梨さんとか、佐伯さきさんとか既にDVD持っている女優さんばっかりヒットしちゃうんですね。確かに似てるんです。スタイル。
とくに最近の細い子は。
あ。デザインは、某企業をパk、じゃないリスペクトさせてもらいました。
-------------------------------------
23:55追記
寝てたらサーバーからアラートメールが携帯に飛んできておこされました!
こんな瞬発的なアクセスを考えていなかったので、とりあえず再起動しました。
-------------------------------------
12/4 01:45追記
何度再起動してもサーバーが反応しなくなるので、うぎゃーってなってたのですが、
親切な方が「MySQLサーバーが原因じゃね?デフォルトだろ?query_cache_sizeを設定したらいいよ。」とわざわざお問い合わせからアドバイスくれました。
設定してみたら驚くほどつながりやすくなりました!
同じSQLクエリーを保持してくれるらしく、実際にデータ検索を行わないので高速になるそうです。こんなの知らなかった。ありがとうございました!
プログラムはサンプルがあるからどうにかなるんですが、サーバー周りの事が全然わかりません。。。。ぐうぅぅ。。。。
おやすみなさい。
-------------------------------------
ブックマークコメントもらっていた事を別の日記で説明しました。
http://anond.hatelabo.jp/20101206224349
-------------------------------------
初回:http://anond.hatelabo.jp/20101118000033
前回:http://anond.hatelabo.jp/20101122141124
店のHP(Wordpressで構築)をさくらVPSに移転完了。
無事、稼働している様子。
これで旧サーバからおさらば出来る。
某所でもヤバイヤバイ言われており、サポート掲示板でのサービス提供者の発言も
結構ヤバゲな運用状況に陥っているのが透けて見えていた。
まぁ月々500円でmysqlやpostgresqlを使い放題だし、安かろう悪かろうじゃないけど致し方がない面もあり。
さて、今度はさくらのVPSに移ったわけだが、レビューによると性能は良いらしい。
ただし、root権限があるので自分でセキュリティやアップデートに気をつけないといけないわけだが…
現状を羅列してみる。
さすがにこれはヤバイ気がする。
みんなセキュリティはどうしてるんだろ?あと追加でやるとすれば…
初回:http://anond.hatelabo.jp/20101118000033
前回:http://anond.hatelabo.jp/20101119000741
以上で独自ドメインの鯖への割り当ての変更は完了できた。
以下、参考文献
http://blog.mobf.net/archives/157
https://wiki.ubuntulinux.jp/UbuntuTips/DedicatedServer/ApacheVirtualHost
初回:http://anond.hatelabo.jp/20101118000033
前回:http://anond.hatelabo.jp/20101118220620
直近でやりたいことを整理してみる。
今からやること
https://secure.sakura.ad.jp/vpscontrol/main
RAID-10 disk storage
64-bit and 32-bit Linux images available
Automated daily and weekly backups (optional service)
Clone slices from backup images
Dedicated IP address and Tier-1 redundant bandwidth
Private IPs for inter-slice communication
http://www.slicehost.com/