2015-10-08

社畜が夜なべをしてエロキュレーションサイト作ってみた

こんにちは社畜です。

社畜はいってもいわゆるホワイト企業に勤めており、毎日19時には家にいてオナニーをしている生活を送っております

ですので、比較時間には余裕があり、周りからプログラミングでも学んでみれば?」と提言されたので、せっかくなので勉強がてら作ってみました。

ちなみに私は非技術職で、高校大学ともに文系人間です。まぁやればできるよね。

作成サイト

アダルト画像Sharing

http://share-ero.pics/

コンセプトはいかに簡単にエロ画像まとめサイトを作るか、ということに注力しました。

もちろん自分管理画面上からシコシコ作ってもいいのですが、せっかくなのでみんなで作れたほうがいいじゃん!ってのがことの発端です。

今回特に注力した点


大学の同期に何人か理系人間がいたのでいろいろと助けてもらえました。

動作環境

言語Ruby on RailsOSはubuntu14.04、RDBMySQL5.6を基本とし、後で述べますが他にRedisやVarnishなどのツールも使っております

いまのところ、サーバーは1台体制ですが、今後アクセスが急増した時に備えるため、NFSマウントロードバランサー、MasterSlaveによるレプリケーションには少なくとも対応予定です。

この辺は少し触れる予定です。

なおサーバー会社海外Linodeを使っています。なんでAWSじゃないの?と思われるかもしれませんが、単純に費用対効果の話になってきます

それこそ企業で行うのであれば、AWS機能面もすごいし、ターミナルでコツコツおこなっていたことがポチポチできちゃって、すごーいんですが、いかんせん高い。

LinodeはいわゆるクラウドというよりもよりVPSに近いと思います。ただ海外でのシェアも高いし、価格リーズナブルなので私はこれを使ってみることにしています

Sakuraはいいんですけど、エロには少し厳しいとのことなので。。。

デザイン

デザインというか、UIに関してはかなり気を使って作りました。いかに簡単に画像を選択して、まとめるかが鍵になってくるので.。

なので、

画像サイトをいくつか選択→タイトル説明カテゴリーをいれる→画像を選択→送信

の流れで簡単にアップできるようにしました。洗練するポイントはたくさんありそうですが、とりあえずはこれで行こうと思います。なおスマートフォンにも対応をしております

なお、こういうサービスを作る時のポイントってやはりjavascriptを使い過ぎない、ということだと思うんですよね。

しかたがないんですけど、イベント駆動型の言語ってどうしてもコード煩雑になる傾向があります。大きな会社できちんと管理できるようなコスト(というか時間)をかけられる会社ならいいんですけど、そうでないならまずjavascript無しでのプログラムを考えてみる、どうしても必要であればjavascriptを使う、みたいな。

私も今回はjavascriptは一部でのみ使用しております

ところで全体のイメージとしては、はてなさんを意識してみたのですが、デザインセンスの無さからか、全く別のものができてしまいましたwww

非同期におけるプログラミング

非同期プログラミングってご存知でしょうか?私はRubyから入った立場なのでピンと来るまでだいぶ時間がかかりました。

Rubyとかの同期プログラムってのは上から流れてきて、上の処理が終わるまで次の処理が進まない、というものになります

一方非同期プログラミングは上からの処理を待たずに、どんどこ次の処理を行いますちょっと乱暴な言い方ですが、だいたいのイメージはつくと思います

実はJavascriptも非同期プログラミング言語一種でして、たとえばなんかどっかのボタンを押して処理が進んでも、他の動作をしようと思えばできますよね?Gmailブラウザ上で受信をしていても、メールを書くとかの動作はできるわけです。つまりこれは処理を待たずに、別の処理が走っています。これが非同期プログラミングです。

そんで、なんでこんな話をしたかっていうと、今回の仕組みって画像ダウンロードしてきて、サムネイル化するわけですけど、実はダウンロードには時間がかかります。ヘタしたら2分くらい時間がかかるケースも有り、ボタンを押してからそんな時間待ってられません。

と、ここで上述の非同期プログラミングが効いてくるわけです。とりあえず処理は別のところに投げるからトップページを表示しておくね。こんなことができます

やり方は実はたくさんあるのですが、Rails4.2からActiveJobといって、それまでの様々なライブラリに枝分かれしてきた機能カプセル化したものになります。とはいってもバックエンドには一応ライブラリを置く必要があり、私はsidekiqというライブラリをそこに置きました。

他にもdelayed_jobとかなんかいろいろあるので、ぜひ見てみてください。

パフォーマンス周りで気を使っている点とこれから気をつける点

下に箇条書きしてみますね。

気を使っている点

今後気をつかう点

他にもMySQLクエリキャッシュとか、Apacheチューニングとかやることはありますが、この辺は正直Varnishで。。。というのが正直なところです。みんな使おうよ、Varnish。

SEO

つくっても人がこなければ仕方がありません。そこで大事になってくるのが、SEO(SearchEngineOptimization)です。

昔はとにかくリンクを張っていればそこそこ検索順位が上がったのですが、最近は賢くなってきたのでなかなかそうはいきません。

今はとにかく良質なコンテンツと、ソーシャルメディアでの拡散ですね。私は怠惰人間なので、みなさんに良質なコンテンツを作ってもらうと考えておりますwww

良質なコンテンツを書いてもらうにはやはりインセンティブ必要なので、Naverみたいに広告タグを貼ることができる機能でも作ろうかな、なんて思ってます

今後増やしたい機能としては




今はまだまだ機能が少ないんですが、今後どしどし増やしていく予定なので、応援よろしくお願いいたします!ご意見いただければ嬉しいです!

さて私は明日仕事なので、成瀬心美様でシコッて寝ます

トラックバック - http://anond.hatelabo.jp/20151008191422
  • またエロサイトのステマか

    http://anond.hatelabo.jp/20151008191422 こういうのなんて言うんだろ、増田のステマだからマステマか。 まぁシステムの内容は間違ってはいないと思うけど。

    • http://anond.hatelabo.jp/20151008210245

      ステルスしてないあからさまな宣伝をステマっていう人増えたね まあ、それとは別に規約違反くさいので批判されてしかるべきだとは思うけど

  • http://anond.hatelabo.jp/20151008191422

    んー、エロサイトを作るシリーズの宣伝ってだれかまとめてたりしないんだろうか。

注目エントリ

記事への反応(ブックマークコメント)