2011年11月28日月曜日

Net::Twitter::Lite でつぶやいてみる。

①bot用アカウントを作成し、キーを取得。

bot用のアカウントを作成したら、以下のURLにアクセス。
http://dev.twitter.com/apps
「Creat a new application」をクリックする。
Name:
希望のアプリケーション名
Description:
アプリの説明。短すぎると怒られる。
Web Site:
自分のブログなど。
アプリケーション名をクリックすると飛ぶURL
※bot用のtwitterページでよい。
Callback URL:
空欄のまま。
Developer Rules of the Road には、内容を確認の上「Yes, I agree」にチェック


登録できると以下の画面が表示される。

画面下の「Create my access token」をクリック
※これを行わないとaccess tokenが発行されない。

OAuth toolタブをクリックすると以下の画面が表示される。
ここに表示された内容をPerl側で利用します。

②Perl側の記述
※あらかじめ、以下をCPANでインストールすること。
cpan> install YAML::Tiny
cpan> install Net::Twitter::Lite;

以下、ソース
twitter_bot.pl

config.yml


動かしてみる。



ちゃんと発言できた!!


※Net::Twitterをいれるのは難しい。Mooseベースらしい。
※昔はUser、Passwordでできたらしいが、今はOAuthをつかわないといけない。
※つぶやく文言はUTF8でdecodeする必要がある。
2012/08/17 追記
Twitterの設定画面で、settingsタブの「Application Type」で、Write権限があるものを選択しておかないとツイートできないです。

2011年11月21日月曜日

PHP5.1.6からPHP5.3.3へのバージョンアップ

※これは個人的なメモです。実際に試すときには、個人の責任でお願いします。参考程度にお読みください。

個人用サーバー(某VPS CentOS5.7)のPHPのバージョンアップを行った時のメモ。
CentOSの標準リポジトリでPHP5.3のパッケージが用意されているっぽいので、
PHP5.1.6がインストール済みのCENTOS5.7にphp53パッケージで、PHP5.3.3をインストールする。

きっかけ
FacebookAPIをつかって、「いいね」の判定をしようと思い、サンプルを動かしたが、以下のエラーが発生した。
PHP Fatal error:  Call to undefined function json_decode() in/home/ftpuser/htdocs/ikel_test/parse_signed_request.php on line 14,
どうやら、parse_signed_request.php内で利用しているjson_decode関数は
PHPのバージョンが5.2.0のものからだそうです。
※「いいね」判断の内容はこちら
http://developers.facebook.com/docs/authentication/signed_request/


①サーバーへインストール済みのPHP関連のパッケージの確認
以下のコマンドを使って、インストール済みのPHP関連パッケージを確認
#  rpm -qa | grep php
php-cli-5.1.6-27.el5_5.3
php-mysql-5.1.6-27.el5_5.3
php-common-5.1.6-27.el5_5.3
php-pdo-5.1.6-27.el5_5.3
php-5.1.6-27.el5_5.3
php-mbstring-5.1.6-27.el5_5.3
php-pear-1.4.9-6.el5
php-devel-5.1.6-27.el5_5.3


②CentOSのphp53のパッケージを確認
以下のコマンドをつかって、CentOSのリポジトリphp53のパッケージを確認
# yum list php53*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: rsync.atworks.co.jp
 * extras: rsync.atworks.co.jp
 * updates: rsync.atworks.co.jp
Available Packages
php53.x86_64           5.3.3-1.el5_7.3
php53-bcmath.x86_64    5.3.3-1.el5_7.3
php53-cli.x86_64       5.3.3-1.el5_7.3
php53-common.x86_64    5.3.3-1.el5_7.3
php53-dba.x86_64       5.3.3-1.el5_7.3
php53-devel.x86_64     5.3.3-1.el5_7.3
php53-gd.x86_64        5.3.3-1.el5_7.3
php53-imap.x86_64      5.3.3-1.el5_7.3
php53-intl.x86_64      5.3.3-1.el5_7.3
php53-ldap.x86_64      5.3.3-1.el5_7.3
php53-mbstring.x86_64  5.3.3-1.el5_7.3
php53-mysql.x86_64     5.3.3-1.el5_7.3
php53-odbc.x86_64      5.3.3-1.el5_7.3
php53-pdo.x86_64       5.3.3-1.el5_7.3
php53-pgsql.x86_64     5.3.3-1.el5_7.3
php53-process.x86_64   5.3.3-1.el5_7.3
php53-pspell.x86_64    5.3.3-1.el5_7.3
php53-snmp.x86_64      5.3.3-1.el5_7.3
php53-soap.x86_64      5.3.3-1.el5_7.3
php53-xml.x86_64       5.3.3-1.el5_7.3
php53-xmlrpc.x86_64    5.3.3-1.el5_7.3 

pearが見当たらないが、後でインストールすることにする。


③Apacheの停止
既存のPHP5.1.6を削除する必要があるので、Apacheを停止
# /etc/rc.d/init.d/httpd stop


④既存PHP5.1.6を削除
# yum list php php-*
# yum -y remove php php-*


⑤php53のインストール
# yum -y install php53 php53-mbstring php53-mysql


⑥Apacheの起動
# /etc/rc.d/init.d/httpd start


⑦PHPのバージョン確認
# php -v
PHP 5.3.3 (cli) (built: Nov  2 2011 23:35:50)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

なんとかこれで「いいね」判断できるようになったかな。

参考:http://okiraku-server.net/server/2011/05/27178.html

2011年11月14日月曜日

Facebookに怒られた

ここのところ、Facebookに怒られっぱなしである。

仕事などの関係でFacebookを使わないといけないのだが、
「セキュリティチェックを実行してください」となりログイン出来ない。

まあこんな感じなので、「Enter a phone number」をクリック
以下の画面がでるので、ケータイ電話番号(最初の0は抜く。「090」なら「90」ですね)を入力し「テキストを送る」にしてみる。

すると

でも、ケータイにはなんにもメッセージがきません。

次に、「電話をかける」にしてみると、
以下の画面が表示される。

「Our systems are currently overloaded. Please try again in a few minutes.」
今、都合わるいから、数分後にやりなおしやがれください、とのことなので、
何回もやっているのだが、ずっと同じ・・・。コマッたものだ

この状態がもうかれこれ1週間くらい。。。
時間をみては、同じ事の繰り返し・・・。マジでこまる。



ということを、ブロクにかきながらやっていたら、変化が!!
上記の状態でいつもどおり、番号を入力し、続行をクリックしたら、

キターーーーー。
そしてケータイが、ブルブル。
電話にでると、音声合成のメッセージで暗証番号が告げられました。

そして、今まで通りFacebookが利用できるようになりました。
よくわからんが、何回も根気よく、電話をかけさせれば解決できるのか?

まったくもってめんどくさいです。



2011年10月21日金曜日

YAPC::ASIA 2011に行って来ました。その2

一番面白かったセッション「画像Hacks (Image Hacks with Perl)」で紹介されていたImagerを使っていろいろと試してみる。

0.画像Hacks (Image Hacks with Perl)の感想
@yusukebeさんの発表。発想力とそれを現実に作ってしまう実現力に感動しました。
Imagerモジュールの紹介。
・サムネイルが作成できる。
scaleメソッド。
・画像の切り取り
cropメソッド
・画像サイズ取得
getwidth/getheightメソッド
・読み込み、書き込み
read/writeメソッド
・フィルター
幕末フィルター → Imager::Filter::Bakumatsu
色のマッピングの調整
画像オーバーレイ
・QRコードの生成
Imager::QRCode
→FaceBookカード作成。
・キャプチャ破り
動画投稿サイトなどの、4桁の数字を入力するあれ。
・OpenCVの利用
Cascadeファイルがあれば、Image::ObjectDetectで読み込み可能。
・任意のパターンの認識
OpenCVの学習を利用してCascadeファイルを作成する。
※お●●いを認識させてましたが。。。

http://yapcasia.org/2011/talk/73


とりあえず、今回は幕末フィルターに挑戦。

1.インストール
とりあえず以下のものをcpanでインストール
Imager
Imager::Filter::Bakumatsu


2.サンプル
# フィルター
my $img = Imager->new;
$img->read( file => "$inpath" );
$img->filter( type => 'bakumatsu' );
$img->write( type => 'png', file => "$outpath" );

これをテキトーにCGIにしてみた。


3.実際に動作させてみる。
大都会岡山
岡山県庁と市内東部を流れる旭川


http://images.uncyc.org/ja/thumb/5/59/Okayama_Asahigawa.jpg/250px-Okayama_Asahigawa.jpg

加工後

良い感じの雰囲気。すごいなこれ。

そういえば岡山からYAPCに行った人っていたのかな?

とりあえずPerlのImagerってかなり遊べそうな予感。

2011年10月16日日曜日

YAPC::ASIA 2011に行って来ました。その1



YAPC::ASIA 2011のために東京に行って来ました。
タイムテーブル的に悩んだが、以下の話をききました。




1日目
・Perl 5.16 and beyond Jesse Vincent


・Webアプリケーション高速化 mala
 →http://ma.la/files/yapcasia2011/


・新はてなダイアリーの裏側


・Webアプリでパスワード保護はどこまでやればいいか 徳丸 浩
 →http://www.slideshare.net/ockeghem/how-to-guard-your-password


・Rubyist のための Perl ウェブアプリケーション開発入門 Kensuke Nagae
 →http://www.slideshare.net/kyanny/rubyist-perl-perl-web-development-guide-for-rubyist


・Perl 5.14 For Pragmatists  Ricardo Signes


・One Page Appsの作り方 Shinichiro Aska
http://slide.7kai.org/yapc2011/


・Perlでちょいモテ電子工作 (Pretty Electric Engineering in Perl ) @mandy_44 
 →http://www.slideshare.net/YukiManno/yapc2011perl




2日目
・続 Unix Programming with Perl Kazuho Oku (kazuho)


・大規模環境における、マニアックなキャッシュ利用術 Yuji Shimada (xaicron)
 →http://static.xaicron.dotcloud.com/slide/yapc2011/index.html


・ぼくがかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく cho45
 →https://docs.google.com/present/embed?id=dcsh7dq6_133dhm29x9z&size=l


・画像Hacks Yusuke Wada
 →http://www.slideshare.net/yusukebe/hacks-9704013


・Perlで無理ゲーム攻略 TAKESAKO


・闇のEメール伝説 Ricardo Signes


・Evolution of API With Blogging Takatsugu Shigeta


・少人数でのWebアプリ開発 - CGIからPSGIまでの変遷 aloelight (aloelight)
 →http://www.slideshare.net/aloelight/yapcasia2011-web


・あんなテスト、こんなテスト tsucchi 
 →http://www.slideshare.net/tsucchi/this-and-that-about-testing


・Perlで仮想サーバ制御(ゆるふわ) HIRATA, Satoshi 


※内容メモは、また別途記述する予定つもり


購入した本
・Perl CPANモジュールガイド
 http://www.amazon.co.jp/Perl-CPAN%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89-%E5%86%A8%E7%94%B0%E5%B0%9A%E6%A8%B9/dp/486267108X
 →著者がいらっしゃったらしいのですが、サインもらえず残念...


・Cooking for Geeks――料理の科学と実践レシピ
 http://www.oreilly.co.jp/books/9784873115092/


おまけ
・Acme大全 2011
 http://www.donzoko.net/gakuya/

2011年9月21日水曜日

VirtualBoxにWindows8 Developper版をインストールしてみた。その2

前回では、なぜかエラーがでてうまくいかなかった・・・。
どうやら、64bitだとあのエラーが発生して動かないらしい。

ということで、32bitをダウンロードして再度トライ。
おおっ。うごいたっぽい。



が、、、
となってしまい、強制終了。。。

なぜ・・・。
またしても原因は不明です。
hostはWindows7 home 64bitでした。


とりあえず、他のPCでも同じように試してみた。
Windows7 Pro 32bit
うごいた!!
WindowsPhoneみたい。
ちゃんといつものデスクトップもあるようだ。

2011年9月15日木曜日

VirtualBoxにWindows8 Developper版をインストールしてみた。

用意するもの

①VirtualBox
以下のサイトよりダウンロード


②Windows8 Developper版
以下のサイトよりダウンロード
http://msdn.microsoft.com/en-us/windows/home/
利用する環境にあわせてISOをダウンロードする。


VirtualBoxをインストールする
ダウンロードした
VirtualBox-4.1.2-73507-Win.exe
を実行する。
すべてOKなど選択。




VirtualBoxの仮想ディスクを作成する。
とりあえず適当に新規イメージを作成。
作った後で、以下の設定を行うこと。
システム→アクセラレーションで、
①Vt-x/AMD-Vを有効
②ネステッドページングを有効化

ディスプレイ→ビデオで
③3Dアクセラレーションを有効化


VirtualBoxで作成した仮想ディスクを起動する。
メニューから起動。
起動すると初期起動ウィザードが表示され、インストールメディアを選択する。
ダウンロードしたISOイメージを指定。
下記のような画面が表示されるので、いざ起動!!。



あれ??こんなのでた

残念起動せず。。。

また、次回トライです。。。とほほ。

参考: http://www.sysprobs.com/guide-install-windows-8-virtualbox