2012年9月13日木曜日

Facebook sdk(php)でログアウト実装

どうも、俺@残業中です。
またブログさぼっておりました。仕事していないわけではありません^^;
最近はもっぱらObjective-Cの世界にどっぷりです。


さて、今日はfacebookで提供されているphp版のAPIでログアウトする方法についてメモ。

サンプルはこちら。
$facebook = new Facebook(array('appId'=>'xxxxxx', 'secret'=>'zzzzzzzz'));

// ログアウトする
$url = $facebook->getLogoutUrl();
$facebook->destroySession();
header('location:'. $url);


以上でぇぇえぇす。

2012年8月7日火曜日

UIViewをcocos2dに配置する

どうも、俺@残業中です。
久々のエントリー。仕事サボってた訳ではございません^^;バタバタしてました!


今日はUIViewをcocos2dで利用する場合のメモメモです。

UIView *myView = [UIView alloc] init];
[[[CCDirector sharedDirector] openGLView] addSubView:myView];
簡単ですね。

cocos2dでゲームアプリを開発しながら、UIViewなオブジェクトを貼り付けたいとき!はこの方法でOK!


以上でぇぇぇえぇす!


2012年7月4日水曜日

Node.jsで手動GCをかける

どうも、オレ@残業中です。

今日はNodeアプリケーションで任意のタイミングでGCをかける方法をめもめも。
nodejs_jpグループ内で、メモリリークに質問してたら@shigekiさんに教わりました。
※その時の質問はコチラ(https://groups.google.com/forum/#!topic/nodejs_jp/WcbaEZndexE)
※@shigekiさんのサンプルソースはコチラ(https://gist.github.com/2840165)

Nodeを起動するときに

$ node --nouse_idle_notification and --expose_gc app.jp
のようにして起動させます。


GCをかける時は、プログラム内に

global.gc();
を追加します。


参考サイトはこちら
MANUALLY RUN GC IN NODE.JS - DEV JAR
V8エンジンのGCはこれからも改良されていき、またV8がNodeに反映されるまでも少しタイムラグがあるみたいですが、
これから少しずつ改良されていくことに期待です。


以上でぇえぇぇぇす。

2012年7月3日火曜日

Node.jsをv0.8.1にしたらexpressがv3.0.0 beta4になって動かなくなった

どうも、オレ@お昼休みです。
Nodeが一気にv0.6.19からv0.8.1になったという知らせを受けて早速バージョンアップしました。

$ nave install stable

何かが動かなくなるだろうな、と思いながらテスト用に作ってあるexpress+socket.io製app.jsを起動しようとすると案の定動きませんでした。
「動きません」というか起動はするのですが、socket.ioを使ったwebsocket接続ができませんでした。
接続してもうんともすんとも言わない状況です。

expressのhello-worldサンプルのがるGitを見ると、どうもexpressの使い方が以前と変わってるみたい。
→createServer()が必要なくなったぽい。

なので、サンプルに習ってこう書き換えます。(部分抜粋)

$ vim app.js

---------------------------------
var express = require('express');
// これはもう使わない
// var app = module.exports = express.createServer();
var app = express();

var io = require('socket.io');

// 使わない
// app.listen(3000, function() {
//    console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
//});

var socket = io.listen(app.listen(3000));
これでバッチリ



以上でぇぇえぇぇす。

2012年6月7日木曜日

mroongaをインストール

どうも、俺@残業中です。
今日はMySQLの全文検索エンジンmroonga(v2.03)をインストールする方法をメモメモ。
超簡単です。
公式サイトはこちら

MySQL(v5.5.25)はインストール済みとします。(今度こっちのインストール方法もメモメモしとかな)

まずはgroongaインストール。(yumインストール)
# rpm -ivh http://packages.groonga.org/centos/groonga-release-1.1.0-0.noarch.rpm
# yum install groonga-devel

ちなみにgroongaをソースからインストールする場合は
# yum install mecab-devel
しておいて

# wget http://packages.groonga.org/source/groonga/groonga-2.0.3.tar.gz
# tar zxvf groonga-2.0.3.tar.gz
# cd groonga-2.0.3
# ./configure
# make -j$(grep '^processor' /proc/cpuinfo | wc -l)
# mak install
とします。
※未検証です。ここを参考にしてみてください。



次に辞書をインストール。(MeCabの辞書)ソースインストールした場合はmecab-develの中に入ってるかも?

# yum install mecab-ipadic

ここまででとりあえずgroongaはインストールされました。
/usr/lib以下にgroongaというディレクトリが出来てると思います。




いよいよmroongaインストール。

# wget 'https://github.com/downloads/mroonga/mroonga/mroonga-2.03.ta.gz'
# tar zxvf mroonga-2.03.ta.gz
# cd mroonga-2.03



configureしてmakeしてmake installします。

# ./configure --with-mysql-source=/path/to/mysql --with-mysql-config=/path/to/mysql/bin/mysql_config --with-default-parser=TokenMecab
# make
# make install
これでMySQLのプラグインディレクトリ以下にha_mroonga.soが生成されます。
例)/usr/local/mysql-5.5.25/lib/plugin/ha_groonga.so



mysqldを起動または再起動してmysqlにログインします。

# /path/to/mysql/bin/mysql
mysql> INSTALL PLUGIN mroonga SONAME 'ha_mroonga.so';
mysql> SHOW ENGINES;

+--------------------+---------+------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                    | Transactions | XA   | Savepoints |
+--------------------+---------+------------------------------------------------------------+--------------+------+------------+
| CSV                | YES     | CSV storage engine                                         | NO           | NO   | NO         |
| InnoDB             | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES          | YES  | YES        |
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                      | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                         | NO           | NO   | NO         |
| MyISAM             | YES     | MyISAM storage engine                                      | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables  | NO           | NO   | NO         |
| mroonga            | YES     | CJK-ready fulltext search, column store                    | NO           | NO   | NO         |
+--------------------+---------+------------------------------------------------------------+--------------+------+------------+
7 rows in set (0.02 sec)
Yes!インストールでけた!


あとはCREATE TABLEする時に

 ENGINE=mroonga;
をつけてね!






以上でぇぇぇえぇす。