「Coffeescript」を含む日記 RSS

はてなキーワード: Coffeescriptとは

2013-03-03

DMM APInode.jsで今の気分に最適なエロ動画紹介サービスをつくってみた

作成の経緯

エロが好きです。

ボクはDMM.R18のヘビーユーザーなのですが、どうしても自分の好みの中だけで、グルグル回ってしまい、

世の中にAVは山ほどあるはずなのに、知らないなんてもったいないもっとたくさんのエロ出会いたいという思いがあって日々悶々としていました。。

そんな中、AVというのは毎日の気分によってオナニーしたい見たいものが違うわけだから(例えば毎日食べたいおかずが違うように)、

今の自分の気分を簡単に答えれば、それに対してオススメAV動画を紹介してくれるというサービスはどうだろう?とモヤモヤと考えていました。

ある日、会社の人に相談したら、それ「いいね!」ということになって、「そういえばDMMAPIってのが公開されたから、それ使ってできるんじゃね?」ってことになり、

本格的にサービス開発を行うことになりました。

そしてこの度無事リリースすることができました。

作成したサイト

「今夜のおかず」

http://okazunight.com/

つの質問YES / NO で答えるだけで、今のあなたに最適なアダルト動画を紹介するサービスです。

使ってる技術

サーバーサイド:node.js

フレームワークexpressnode.jsフレームワーク

CSSフレームワークTwitter Bootstrap

クライアントjQueryCoffeeScriptSCSS

データベースMySQL

ビルドツール:grunt

バージョン管理GitHubプライベート

HTTPサーバNginx

インフラ:某クラウドサービス

node.jsは少し趣味でやった程度で、今回やってセッション管理ルーティング周りが勉強になりました。

データベースにはMySQLを使っていますnode.jsならばmongoDBというイメージが強いですが、質問ランダムに表示する機能で、

mongoDBは現時点で正式な機能としてはランダム検索が出来なかったので、MySQLを選びました。

あと、CoffeeScriptSCSSJavaScriptCSS記法を簡単にしてくれるやつで、慣れてしまうと離れられません。

あとはTwitter Bootstrap。これなしでは生きていられません。

こだわった点

    スマホでもなるべく早く結果ページまでたどり着けるようにしたつもりです。

    オススメ動画が表示された後に、今日はこの動画の気分じゃない!と思ったときチェンジボタンにより、同じ条件で他の動画チェンジ!できます

    質問からやり直したいときは、さいしょからボタンで他の質問からやり直せます

    一刻一秒を争うエロビ探しですのでパフォーマンスには気を配りました。

    最初サーバーサイドでHTMLテンプレートを使わずに完全にREST API化して進めていましたが、

    最初の表示までの若干のライムラグSEO対策の為、最初質問だけnode.jsHTMLテンプレートを使用して組み立てています

    また、シンプルサイトなのでライブラリjQueryのみ使用し、concat/minify化はgruntのタスクとして登録していますgzip化はNginxで行なっています

    我らがDMM様への敬意を払い、白ベースポイントで赤のシンプルデザインにしています

    苦労した点

    CSSSCSS)が初めてだったので、微調整するのが大変でした。

    質問パターンを考えるのと、紹介する動画が偏りすぎないようにするのが難しかったです。(これはまだ要調整)

    今後の展開(たぶん)

    質問に対するおすすめ動画の精度をもっとあげていく。 (ユーザーの癖を把握して、機械学習とかできればいいかなと)

    おすすめ動画を表示した後に、その商品を誰かにつぶやいたり。

    ・結果を自分お気に入りとして保存できたり。

    ユーザーからフィードバック。(これ早めに)

    最後

    今回、同じ会社に勤めるエンジニア3人が約2ヶ月で作成しました。

    実験的なサービスでもありますので、今後も色々と機能追加をしていくつもりです。


    それでは、今夜もあなたが美味しいおかずに出会ますように。

    http://okazunight.com/

    2012-06-15

    完全に一致パクリサイト作ってみた

    http://www.kanzen21.com/という有名なサイトと似たサイトを作ってみました。

    このサイトプログラミング初心者おっさんが四ヶ月で作ったWebサイトとして有名です。

    http://anond.hatelabo.jp/20101203150748

    なぜ似たサイトををわざわざ作ったのかなんですが、完全に一致は便利なんですが色々不満がありまして

    芸能人リストがしょぼすぎる。 - いちいち、芸能人スリーサイズ調べてスライダー動かすのが面倒。

    ・年齢スライダーがない。- 若い子が好きな人もいれば熟女好きもいるはず。

    ベスト作品を除いてほしい。 - AV女優の単体作品だけが見たい。

    ・横三列じゃなく八列ぐらいにしてほしい。- もっと一瞬で好みのAV女優を見つけたい。

    ・年齢順とか作品順とかにソートしたい。ア行カ行とか指定できるとなおいい。

    というわけで、プログラミング勉強を兼ねて作ってみることにしました。

    使用した言語RubyフレームワークRails3です。

    プログラミング歴は10か月ぐらいかな?

    作成期間は2週間ぐらいです。

    以下作成手順です。

    1、DMMからAV女優情報、作品情報などをmechanize(Rubyクローラー)を使って取得。

    2、Wikiからアイドルモデルスリーサイズなどをmechanizeで取得。

    3、chickipediaから海外セレブスリーサイズなどをmechanizeで取得。

    4、Railsサイトの骨格を作る。

    5、JQueryスライダーを実装

    6、デザインを整える。

    7, サーバーのセッティングなど

    作業ポイント

    1、http://actress.dmm.co.jp/-/top/ DMMAV女優情報から情報取得する。

     完全に一致さんみたいにFace.comのAPIを使うのは面倒だったので、

     作品のタイトルAV女優名前がある作品だけをピックアップすることにした。

     そうすることで自動的にAV女優100名出演みたいなベスト作品とかは取り除かれる。

     

    2、http://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%A9%E3%83%93%E3%82%A2%E3%82%A2%E3%82%A4%E3%83%89%E3%83%AB%E4%B8%80%E8%A6%A7

     グラビアアイドル一覧から個別ページに行き、必要情報を取得。

     女性モデル一覧でも同様のことをする。

    3、英語版のwikiスリーサイズが載っていなかったのでhttp://www.mademan.com/chickipediaから必要情報を取得。

     バストサイズがブラのサイズしかのってなかったが大体合ってればいいかということで、そのままcmに変える。

     身長フィート表示なのでこれもcmに変えてデータベースに突っ込む。

     外人のカップ数がバストに比べて小さいなと思っていたら、外国Aカップ日本Cカップぐらいあるというトリビアを知る。

     

    4、サイトの構成はできるだけシンプルにした。

     一応URLAV女優名前がでるようにした。

    5、JQueryを使ったことがなかったので、一番苦労した。

     JQueryというよりも非同期通信をするためのAJaxという仕組みをRailsでどう実装するのかが分からなかった。

     具体的にはスライダーの値をRailsコントローラーに渡すにはどうすればいいのかが分からなかった。

     色々検索しているとhttp://eddorre.com/posts/tutorial-filtering-results-with-jquery-ui-slider-and-rails-3-beta-3

     というRails3でUI Sliderを使用するためのチュートリアルというドンピシャサイトが見つかる。

     英語で読み解くのに苦労したが、合わせてhttp://jqueryui.com/demos/slider/スライダーの使い方を見ながら何とか実装していった。

     非同期通信はかっこいいけど実装するのに手間がかかるなと思いました。

     あとPHPにすら挫折した人間なのでjavascript書くのがきつかったです。

     Rubyみたいに書けるらしいCoffeescript勉強したい。


    6,デザインはBootstrap

    7,サーバーは、とりあえず人が来るかわからないので、一番安いオスキニサーバーVPS月450円プランにした。

     アダルトOKなのは確認ずみ。http://support.saases.jp/index.php?action=artikel&cat=85&id=409&artlang=ja

     何度かやったことがあるのでいつも通りセッティングする。かなり面倒な作業。

     一応、アダルトということで,mod_evasive,KeepAliveなどの設定をする。


    できあがったのが3 Size Search(スリーサイズ・サーチ)というサイトです。

     

     URLhttp://3sizesearch.comです。

     スリーサイズスライダー検索するので3SizeSearchです。

    完全に一致さんとの一番の違いは有名人リストが充実していることです。

     好きな芸能人と似たスタイルAV女優さんがすぐにわかます

     例えば、西田麻衣に似たスタイルAV女優範田紗々だとすぐにわかます

     検索の幅を緩くすることもできます。+-1から+-2へボタンを押して切り替えると、さらに22名のAV女優名がでてきます

     http://3sizesearch.com/people/%E8%A5%BF%E7%94%B0%E9%BA%BB%E8%A1%A3

     一応、外人も200名ぐらい登録してます

     例えばアヴリル・ラヴィーンに似たスタイルAV女優は、藤咲りさ、本田成美、優木ルナになります

     似たスタイル芸能人も分かりますアヴリル場合浅香友紀 菅野美穂 木内美穂 黒坂真美 小橋めぐみ 佐藤ありさ さとう里香 西原亜希 平田薫 松永京子 蓮舫という感じです。

     http://3sizesearch.com/people/%E3%82%A2%E3%83%B4%E3%83%AA%E3%83%AB%E3%83%BB%E3%83%A9%E3%83%B4%E3%82%A3%E3%83%BC%E3%83%B3

     

     ですのでAV女優さんの個別ページに行けば似たスタイル芸能人も分かります

     例えばRioに似たスタイル芸能人浅倉結希 立花麗美 吉井怜となります

     http://3sizesearch.com/people/rio

     

    最後

    楽しみながら作れ、JQuery勉強にもなったので良かったです。

    今度は完全にオリジナルサイトを作らないとダメですね。

    あと色々自分検索して思ったのですが、

    アイドルよりAV女優の方が人数も多いし可愛くてスタイルのいい子が多いですね…。

    小飼弾さんの「作品から商品へ - 書評 - 職業としてのAV女優」というエントリーが頭に浮かびました。

    http://blog.livedoor.jp/dankogai/archives/51804435.html

    よろしければ3SizeSearchを使ってみてください。http://3sizesearch.com

    2012-05-26

    C++PHPJavaScriptとクソ言語が天下を取る法則でもあるのかね?

    いやC++はクソなりにいいところもあるし、PHPは避けることもできるが

    JavaScriptは単にクソというだけじゃなく使用を強要してくるからな。

    HTML5大勝利、これからウェブアプリ時代と喜んでる

    無邪気なユーザーや、無知投資家ども、TechCrunch等のライター

    経験の浅そうなエンジニアどもを見てると腸が煮えくり返るんだけど。

    あらゆるソフトウェアをクソ言語JavaScriptで実装させる気かよ。悪夢だ。

    CoffeeScriptやらDartやら出てきてるのは、

    ナマじゃとても使えねーぜこんなクソ言語とはっきり言明しているようなものだろ。

    真面目な話、JavaScriptをどうやって滅ぼすかが今後10年か20年かの課題になってくると思う。

    暗黒の時代の始まりだ。

    2012-05-06

    CoffeeScriptプライベート関数パブリックメソッドとして開示するやつ

    class MyClass
    	constructor: ->
    		name = 'unknown'
    		
    		@getName = ->
    			return name
    		
    		@setName = (newName) ->
    			name = newName
    	
    		
    MyClass:: = do ->
    	_greet = ->
    		console.log('どうも、' + @getName() + 'です。')
    	
    	return {
    		constructor: MyClass
    		greet: _greet
    	}
    
    
    myInstance = new MyClass()
    myInstance.setName('純子')
    myInstance.greet() #どうも、純子です。
    

    CoffeeScript で @なんとかのプロパティが全部パブリックになるのが気になってて。

    ログイン ユーザー登録
    ようこそ ゲスト さん