mongoDBの32bitから64bitへの載せ替え

64bitだと思ってたのに32bitが入ってて載せ替えたのでメモ。


何故に載せ替えるかと言えば、
32bit版はDBのサイズが2GBくらいまでしかサポートしてないため。


データのエクスポート

mongoexport --db db --collection col --out col.json

db.colをcol.jsonにエクスポート。


mongo停止

/etc/init.d/mongo stop


mongoアンインストール

yum remove mongo*


レポジトリの変更

vi /etc/yum.repos.d/10gen.repo
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0
enabled=1

baseurlを64bit版に変更。


レポジトリ更新

yum clean all


レポジトリ変更確認

yum list | grep mongo

.x86_64になってればおk。


mongo再インストール

yum -y install mongo-10gen* --enablerepo=10gen


インストール内容確認

yum list installed | grep mongo

こちらも.x86_64になってればおk。


mongo起動

/etc/init.d/mongod start


データのインポート

mongoimport --db db --collection col --file col.json

db.colにインポート。


教訓:サーバ的に問題無いなら最初から64bit入れよう。

Zend_Gdata_Youtubeを使って投稿者を取得する

Zend_Gdata_Youtubeで動画を検索した際、
投稿者情報(ID)が取得できなかった。
色々と探してみたんだけど見つからなかったので、
無理やり引っ張りだしてみたのでメモ。
objectを強制的にarrayに型キャストして引っ張りだしてます。

<?php
require "Zend/Gdata/YouTube.php";

$yt = new Zend_Gdata_YouTube();
$query = $yt->newVideoQuery();
$query->videoQuery = "検索キーワード";
$query->startIndex = 0;
$query->maxResults = 50;
$query->orderBy = "relevance";
$videoFeed = $yt->getVideoFeed($query);
foreach ($videoFeed as $videoEntry) {
	$author = getAuthor($videoEntry);
}

function getAuthor($videoEntry) {
	$video_entry = (array)$videoEntry;
	$author = (array)$video_entry["\0*\0_author"][0];
	$name = (array)$author["\0*\0_name"];
	return $name["\0*\0_text"];
}
?>

がめ通ちょっと変えた

TOPが重すぎ(タイトルが多いので)との話と自分でも思ってたので
タブ式にしました。
TOP50/今月発売/今週発売/全部
かなり軽くなりました。


あとpt計算を今までは直近1500post内を調査してたのですが、
がめ通内に保存しているデータを全部読んで再計算するようにしたので
急に点数が下がったりとかはなくなったと思います。


近々?そのうち?スマホ対応もさせたいと思ってます。

新作ゲームのソーシャルレビューサイトを作ってみました。

■がめ通
URL http://game.milktea-cg7.com/
Twitter @game2shin


■TOPページ

TwitterSearchAPIを利用してデータを集め、
発言内の「欲しい」とか「面白い」とかの言葉で仕分けしてptを算出


■詳細ページ

タイトルの詳細情報
Twitterへpost(※要ログイン)
ステータス(気になるとか買ったとか ※要ログイン)
過去20集計分のポイントのグラフ
対象となったpostデータ
を表示してます。
一応AAと楽天へのリンクもあるのでドウゾ。


■マイページ

ステータスボタンを押したタイトルの一覧情報


こんな感じですが良かったらお使いください。


おまけ


■サーバ
 さくらVPS(CentOS)


■構成
 Apache2+MongoDB+PHP(ZendFramework)


■処理の流れ
 楽天APIで新作タイトル取得
      ↓
 タイトルに検索キーワードを設定
      ↓
 TwitterSearchAPIからキーワードで検索
      ↓
 各タイトルのpt算出


こんな感じ。

OGPcheckerをAdd-onsにアップロードしたよー。

OGP checker
FirefoxのAdd-onsにアップしました。
こちらからの方がインストールは楽かと思います。


また、chromeバージョンは@ikkoさんが作ったようです。
FacebookのOGPを簡単に確認するためのChrome拡張作ったよー


なんかこの流れワロタw

FacebookのOGPcheckerのFirefoxアドオンを作ったよ。

FacebookのOGPを簡単に確認するためのブックマークレット作ったよー
ブックマークレットを@ikkoさんが作ってくれたのですが、
僕はブックマークツールバーを使ってないのでアドオンにしました。


https://github.com/milktea-cg7/ogpchecker/

落としたらogpchecker.xpiをFirefoxに突っ込んでください。
インストールが始まります。

使い方は右クリックメニューからOGP checkerを選択するだけ。

さくらVPS 基本インストールざっくりまとめ

※この記事は随時更新されます。
※基本root作業


アカウント作成・鍵
Play with さくらVPS vii セキュリティ設定その2 SSH鍵認証


yumのアップデート

yum update


gcc makeインストール

yum -y install gcc*
yum -y install make


Apacheインストール

yum -y install httpd httpd-devel

Apache自動起動設定

/sbin/chkconfig httpd on

Apache起動

/etc/init.d/httpd start


PHPインストール

yum -y install php php-devel php-mbstring php-mysql php-pdo php-mcrypt php-pear php-xml


MySQLインストール

yum -y install mysql-server

MySQL自動起動設定

/sbin/chkconfig mysqld on

MySQL起動

/etc/init.d/mysqld start


mongoDBリポジトリ登録

vi /etc/yum.repos.d/10gen.repo
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0

mongoDBインストール

yum -y install mongo-10gen* --enablerepo=10gen

mongoDB起動

/etc/init.d/mongod start


peclインストール

yum -y install pcre-devel

php mongo.soインストール

pecl install mongo

php oauth.soインストール

pecl install oauth-beta


apacheLogローテート用シェルスクリプト

vi logrotate.sh
#!/bin/sh

FILENAME=`date +%Y%m%d`

cd /var/log/httpd/
mv access_log access_log.$FILENAME
/etc/init.d/httpd graceful
sleep 30
gzip -f access_log.$FILENAME