LINODEの転送量が大幅に増えてる
アダルトサイトの運営にLINODEのサーバーを使ってるんですが
転送量制限が大幅に増えてる・・・・
前は確か月に400Gとかだったはずなのに
今は4TBになってる。
けっこう毎月ギリギリの感じだったからうれしいですね。
もっと画像とかおけるかも。
アドワーズ広告で彼女を作った早川さんが羨ましすぎるので自分で作ったWEBサービスに広告掲載して彼女を募集してみる
アドワーズに広告を出したら綺麗なお姉さんと同棲することになったというツワモノがいて
それを見た僕はモニターの前で
あああああああああ、ちくしょ~!!!!!
と叫んでいたのですが
僕も彼女欲しい!ということで
自分でWEBサービスを作ってそこで彼女を募集することにしました。
正確にはこの段階で既に新たにWEBサービスは開発中だったので
それに広告を載せよう!と
で完成したサービスですが
サイト名:nweet
http://nweet.net/
ツイッターと連携したWEBサービスで
エロ動画URLを含むツイートを直近100件のツイートの中から抽出しブログ化し
埋め込みプレイヤー表示できるものに関しては埋め込みプレイヤーで表示するというものです。
(抽出対象サイトXvideos、FC2アダルト、RedTube)
では、簡単に技術的な情報を書きます。
使用環境言語等
php
mysql
Apache
Memcached
twitterのOAuth認証
twitter bootstarp
■twitterのOAuth認証
まず、はじめにtwitterのhttps://dev.twitter.com/ でアプリケーションの登録をします。
「twitter developers 登録」とかで検索すると沢山、登録の仕方がでてきますので登録してください。
※クライアントアプリの場合、3月4日か5日から10万アカウント制限が実施されるようです。その他にもapi ver1.1からかなり制限がかかります。
登録したらログイン機能から実装していきます。
「twitter sign in with twitter」とかで検索すると実装方法が沢山でてきます。
ログイン時にユーザータイムラインからツイートを100件取得します。
その中で動画URLがあるツイートを抽出しデータの登録をします。
こんな感じ
$req = $to->OAuthRequest("http://api.twitter.com/1.1/statuses/user_timeline.json?user_id=ユーザーID","GET",array("count" => 100));
$req = json_decode($req);
foreach($req as $status){
if(strpos("URLを含むツイート",'http://www.nicovideo.jp/')!==FALSE){
データ登録処理
}
}
登録したデータをブログっぽくして表示させます。
■負荷対策について
mysqlについてはクエリーキャッシュを効かせています。
ログイン後とログイン前で負荷対策を変えています。
ログイン前はexpiresを効かせユーザーのブラウザにキャッシュさせています。
ログイン後はMemcachedを利用しオブジェクト単位でキャッシュさせています。
ログイン系のサイトで以前cache liteを使って作ったのですが今回はMemcachedを利用。
Memchachedはネームスペースのような機能がないらしく
ユーザー単位でのキャッシュのコントロールをするため擬似的にネームスペースを実装しました。
それと、負荷分散やってみて~!と思ったんですが
数万/日ぐらいのアクセスだったら必要ないので今回は見送りました。
仮に現状のサーバで捌けないアクセスがあったとしてもスケールアップで対応できるレベルかなと。
1台のハード上に仮想マシンを5、6個たちあげて負荷分散実験している人がいたので僕も時間がある時にやってみようかなと思います。
■twitter bootstarp
簡単にtwitterライクな綺麗な感じのサイトができるというので使ってみましたが
慣れてないせいか普通に作るより時間かかってしまたかも・・・
グリッドシステムは確かに便利だしその他の機能も便利だけれど
最近だとこれを利用して作られたサイトが多すぎてオリジナリティにかけてしまうかも。
あと、グリッド間のスペースを調整してカスタムダウンロードしたけれど調整されてなかったのが残念。(バグ?)
で作ってから気付いたんですが
エロサイトで彼女募集してどうする!と(-_-;)
これは、いかんということで
nweetの仕組みを流用して
サイト名:atodemiru
http://atodemiru.com/
を作成!
こちらはエロ動画じゃなくてyoutubeやニコニコ動画など普通の動画URLを抽出。
こっちに募集広告載せます!
これで彼女ゲットだぜ!
でもね、いい年したおっさんがこんなことやってるのが恥ずかしすぎるのでカムフラージュして掲載しておりますw
サイト名:nweet
http://nweet.net/
サイト名:atodemiru
http://atodemiru.com/
よかったら使ってみて下さい。
あと、抽出されないURLとかあると思うので気付いたら教えて下さい。URLのパターンが全部拾いきれてないと思うので。
第2回 WordBench千葉・まったりお茶会・懇親会に参加してきました。
千葉でお茶会しながら勉強会が行われるということで行ってきました。
普通の勉強会と違ってかなりフリーダムな感じだったようですごく楽しかったです!
講師の方の中には猫耳をしている方がいたりして芸人並のトークを繰り広げていましたw
ほかにもワードプレス界隈で有名で書籍を出している方などもいて勉強会ってすごい人がくるなとびっくり。講師の方々のお名前は書いていいか許可を取ってないので書けせませんが。
参加者の方も始めたばかりの方からプロフェッショナルな方までいろいろな方が参加されていました。
僕自身、ワードプレスはオリジナルのテンプレート作成とプラグインのショッピングカートのカスタマイズくらいしかしたことがなかったので知り尽くしている方の話は非常に勉強になりました。
皆さん、お茶菓子を大量に持ち寄ってきていたのでお腹いっぱいになりました。
また、機会が会ったら参加しようかと思います。
写真は福井の勉強会?懇親会?に行かれた講師の方のお土産の鯖寿司、激うまっす
ピンボケですが(-_-;)
アドワーズを使って彼女を募集した人がすごいことになってる件
正直、凄すぎてびびりましたw
http://razokulover.hateblo.jp/entry/2013/01/23/220418
http://razokulover.hateblo.jp/entry/2013/01/28/233655
http://razokulover.hateblo.jp/entry/2013/02/05/230254
エロいWEBサービスとかももクロのアプリとか作ってる大学4年生が2年付き合った彼女と別れたということでアドワーズで彼女募集の広告を出す。
↓
いくつかのメディアに取り上げられ話題に
↓
5人の応募がくる
↓
一人のお姉さんと会う
↓
新宿で鍋デートする
↓
後日、上野動物園でデート&ぶりしゃぶ
http://razokulover.hateblo.jp/entry/2013/02/03/002541
↓
その日に同棲決定
羨ましすぎて泣ける・・・・
俺だってエロサービス作ってるのに・・・
あああああああああああああああヽ(TдT)ノアーウ…
ちくしょ~~~~~~~~!!!!!
ただ、これだけは言えると思う。
この人
絶対イケメンだと思いますw
Bootstrap使ってみた
確かにデザインにこだわりがなければ
すぐにかっこいいサイトができるかも。
Bootstrapで一番便利なのはおそらくグリッドシステムなんだろうけど
グリッド間のスペースが調整できない・・・
通常グリッド間のスペースは20pxで設定されているので
スマホサイトだと大きすぎる。
http://twitter.github.com/bootstrap/customize.html
上記URLからカスタマイズしてダウンロードできるらしいんだけど
@gridGutterWidthの値を変更してダウンロードしても
グリッド間のスペースが狭くならない・・・
なんでだろう?
カスタマイズされてないのかな?
使い方が間違ってるのかな?
分からないので
一番外側の要素を
margin:-16pxとかで対応(通常、グリッド間スペースは20px)
これで4pxに縮まった・・・けどスマートじゃないよね。
また、時間のある時に調べる。
memcachedのモニタリングするためにCloudforecastを入れるのに大ハマリしたのでメモしとく
まず、perlが10.0.0以上でないとダメみたい。
これで大ハマリ
http://gihyo.jp/dev/feature/01/memcached_advanced/0003?page=2
を参考に進めていたんだけど
$ cpanm -l extlib --installdeps .
perl10.0.0以上にしろと怒られる。
perlbrewをインストールしてバージョンを10.0.1に変更
はじめパスを通してなかったのでsshでログインするたびにperlのバージョンが元に戻ってしまってはまる・・・
echo "source ~/perl5/perlbrew/etc/bashrc" >> ~/.bashrc
でパスを通さないといけない。
perlbrewはこれが分かりやすかも
http://tech.perlcode.info/entry/20110220/1304648995
で
今度は起動しようと
./cloudforecast_web -p 5000 -c cloudforecast.yaml -l server_list.yaml
とすると
Can't locate RRDs.pm in @INC (@INC contains: ・・・・・・・・・
とか出てきた。
RRDs.pmがない?
でも検索するとある・・・
http://ameblo.jp/shige2006/entry-10068257571.html
を読んでみると
「とかかれてました。つまり、@NIC以外にある場合は、use libで設定しろと。
んで、早速設定しました。」
とある。
・・・それは大変じゃないのか・・?
http://pentan.info/server/linux/memcached.html
を参考にmemcachedをソースから入れたからこんなことになってるのか?
とりあえずこれもソースから入れ直すことにしてみた。
http://oss.oetiker.ch/rrdtool/pub/
で最新バージョンwgetして
http://www.ipentec.com/document/document.aspx?page=cacti-change-rrdtool-version1-4&culture=ja-jp
cd rrdtool-1.4.7
./configure
make
make install
で、
./cloudforecast_web -p 5000 -c cloudforecast.yaml -l server_list.yaml
として
http://ipアドレス:5000
で表示された!!!!
一旦killして
CF_DEBUG=1 ./cloudforecast_radar -c cloudforecast.yaml -l server_list.yaml -r > /tmp/cloudforecast_radar.log 2>&1 &
CF_DEBUG=1 ./cloudforecast_web -p 5000 -c cloudforecast.yaml -l server_list.yaml -r > /tmp/cloudforecast_web.log 2>&1 &
で実行
Traffic (eth0)
と
Basic
のところでエラーが表示されてグラフが表示されてなかったけど
設定したmemcachedの部分はちゃんとグラフが表示されました!
簡単に書いたけどほんとはもっと色々はまって3日かかりました。
こんなのに・・・
・・・さらに言うなら、別に入れなくても良かったかも・・・(-_-;)