LeopardにPlaggerをインストールしてMixiをGmailで読む方法
Developer Toolsがインストールされていない場合は、OS付属のディスクからインストールしておく。
MacPortsがインストールされていない場合は、下記からインストーラをダウンロードしてインストールしておく。
http://www.macports.org/install.php
ここからはTerminalで作業する。
where port
として、
/opt/local/bin/port
と出力されればオーケー。
MacPortsを使って予め必要なものをインストールしておく。
sudo port selfupdate sudo port install sqlite3 sudo port install subversion sudo port install wget sudo port install libxml sudo port install libxml2
次はCPANの設定をする。
sudo cpan
とするとずらずらと色々出力される。途中で止まって何か聞かれている場合は基本的に全てエンターで進む。
そのまま終われば良いが、CPANサーバーが落ちているときがあって、
--15:48:26-- ftp://ftp.perl.org/pub/CPAN/MIRRORED.BY.gz (試行:20) => `-' ftp.perl.org|163.143.1.21|:21 に接続しています... 接続しました。 anonymous としてログインしています... サーバの応答にエラーがあるので、接続を終了します。 中止しました
とか言われることがあるが、その場合はとりあえず放っておいて
Please enter your CPAN site: []
と出てくるのを待つ。出てきたら、
http://ftp.nara.wide.ad.jp/pub/CPAN/
とでもしておく。
Enter another URL or RETURN to quit: []
と出てくるのでとりあえずそのままエンター。
cpan>
となるので、必要なモジュールを入れていく。
cpan> install Module::Install cpan> install Test::Base cpan> install YAML cpan> install WWW::Mixi::Scraper
CPANを使うのはここまで。
PlaggerはSubversionを使って最新版を入れる。
svn co http://svn.bulknews.net/repos/plagger/trunk/plagger ~/Desktop/plagger-tmp cd ~/Desktop/plagger-tmp perl Makefile.PL sudo make sudo make install
インストールはここまで。
plagger -v
として、
Plagger version 0.7.17
と出力されればオーケー。
のはずだが、たぶんXML::Atomがないと怒られる。
ので、インストールする。
cd ~/Desktop/ curl -O http://search.cpan.org/CPAN/authors/id/M/MI/MIYAGAWA/XML-Atom-0.28.tar.gz tar zxvf XML-Atom-0.28.tar cd XML-Atom.0.28 perl Makefile.PL sudo make sudo make install
cd ~/Desktop/plagger-tmp/ sudo make install
とすれば今度こそインストール完了。
plagger -v
として、
Plagger version 0.7.17
と出力されればオーケー。
次はPlaggerの設定をする。
mkdir ~/plagger cd ~/plagger
ここに、mixi.yamlという名前でファイルを作成する。
mixi.yamlの中身はこんな感じ。
global: plugin_path: /Users/ユーザー名/plagger/assets/plugins/ assets_path: /Users/ユーザー名/plagger/assets/ timezone: Asia/Tokyo log: level: info cache: base: /Users/ユーザー名/plagger/tmp plugins: - module: CustomFeed::MixiScraper config: email: example@gmail.com password: password fetch_body: 1 fetch_comment: 1 show_icon: 1 feed_type: - FriendDiary - RecentComment - Message - Log - BBS - module: Filter::Rule rule: module: Deduped - module: Publish::Gmail config: mailto: example@gmail.com mailfrom: plagger@localhost mailroute: via: smtp_tls host: smtp.gmail.com:587 username: example@gmail.com password: password
あと、Gmailにメールする部分が使っているテンプレートを用意する。
mkdir assets/plugins/Publish-Gmail cd assets/plugins/Publis-Gmail curl -O http://search.cpan.org/src/MIYAGAWA/plagger-0.5.0/templates/plugins/gmail_notify.tt
これで作業はおしまい。
さてさて、実際に使ってみる。
cd ~/plagger plagger -c mixi.yaml
私の場合は、plagger起動用のシェルスクリプトを書いて、それをcronで5分間隔で動かしています。
sudo vi /usr/local/bin/execplagger
cd ~/plagger plagger -c mixi.yaml plagger -c livedoor.yaml
livedoor.yamlはLivedoor Readerを購読するYAML。
vi ~/cron
MAILTO="" */5 * * * * /usr/local/bin/execplagger
crontab ~/cron
デザインプロトタイプ
number0.jpの一部を改修し始めた。
PaperVision3D 2.0 Alpha - Great Whiteの学習も兼ねて。
[参考]
import caurina.transitions.Tweener; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; import flash.events.IOErrorEvent; import flash.events.MouseEvent; import flash.events.NetStatusEvent; import flash.events.SecurityErrorEvent; import flash.geom.Point; import flash.media.Video; import flash.net.NetConnection; import flash.net.NetStream; import flash.system.Security; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.TextFormat; import org.papervision3d.cameras.Camera3D; import org.papervision3d.materials.ColorMaterial; import org.papervision3d.materials.VideoStreamMaterial; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.objects.DisplayObject3D; import org.papervision3d.objects.primitives.Cube; import org.papervision3d.render.BasicRenderEngine; import org.papervision3d.scenes.Scene3D; import org.papervision3d.view.Viewport3D;
気になったフリーフォント
中でも「A La Nage」と「AI pointe」と「Little Days」が良い。
フォント自体が良いのはもちろんなんだけど、自分が使う名前と相性が良いのが気に入った。
これだけクオリティが高いフォントをフリーで提供してもらえるのは、私のようなプログラムサイドの人間にとっては非常にありがたい。
こういう時、プログラムを使って何かを作りたいデザインサイドの人間と一緒に何かやれたらおもしろいなと思う。
ライブラリへのコミットなど、還元していけるところは還元していきたい。
String型の変数に数値文字参照を使って文字列代入する
数値文字参照を利用して横を向いた三角(▶)を表現したい場合
public static const TRIANGLE:String = "▶";
こうするとただの「▶」という文字列になってしまう。
public static const TRIANGLE:String = String.fromCharCode(0x25B6);
StringクラスのクラスメソッドfromCharCodeを利用する。
AIR Beta 3、Flex Builder 3 Beta 3に移行するの続き
Flex Builderのプロジェクト構成要素にまた変更があった模様。
デバッグ用の出力先のデフォルトが「bin」から「bin-debug」に変わったので、プロジェクトディレクトリのsvn:ignoreを書き変える。
svn propedit svn:ignore hoge
.actionScriptProject .actionScriptProperties .flexProperties .flexProject .project bin-debug bin-release html-template .settings
些細なことだけど、全部のプロジェクトを書き換えるのは結構手間がかかる。
何か良い策はないものか。
prototype.jsのbindとbindAsEventListener
bindとbindAsEventListnerの違いは?
1. 引数の受け取り方が違う
bindの場合
function callback(event, arg1, arg2, ...){...}
bindAsEventListenerの場合
function callback(arg1, arg2, ..., event){...}
2. イベント発生時の挙動の差を吸収
bindAsEventListenerの場合
IEとその他のブラウザでのイベント発生時の挙動の差を吸収してくれる
ただし、Event.observeを使う限りはEvent.observeがイベント発生時の差を吸収してくれるのでわざわざbindAsEventListnerを使う必要はなさそう。
Flex BuilderのプロジェクトをSubversionで管理する方法
すでにSubversionで管理されているディレクトリ「~/Sites/hogehoge」に、新たに「~/Sites/hogehoge/flex/」というディレクトリを作り、そこにFlex Builderで作ったプロジェクトを置いて、それをSubversionで管理する方法。
そもそもなぜこんなことを考えなければならないかと言うと、Flex Builderのプロジェクトには、Flex Builderがプロジェクトを管理するために作るファイルがあって、そのファイルのパーミッションがFlex Builderのものになっているため、素直にコミットしようとするとエラーになる。
そこで、Subversionのpropertyのsvn:ignoreを使って、このファイルは管理しませんよ、というのを予め宣言しておかなければならない。
まず、適当なテキストエディタで除外リストを作り「~/ignore.txt」に保存
.actionScriptProject .actionScriptProperties .flexProperties .flexProject .project bin .settings
次に、ターミナルでもろもろ下準備
cd ~/Sites/hogehoge mkdir flex svn add flex svn propset svn:ignore -F ignore.txt flex svn ci . cd flex
で、ここまで出来たところでFlex Builderを立ち上げ、Flex BuilderのNavigatorで右クリック→新規→Flex Projectとし、ウィザードの2ページ目の一番上、「Use Default Location」のチェックを外し、すぐ下の「Folder」のところを「~/Sites/hogehoge/flex」にする。
これでプロジェクトが作成されるので、適当に作業をして保存する。
(さっきの続きの)ターミナルに戻って、
svn add .
とすると、余計なファイルが除外されてAddされるのがわかる。
svn ci .
として完了。
ちなみに、別の人が上記の作業をしてコミットされたものをチェックアウトしたものをFlex Builderに追加するのは、Flex BuilderのNavigatorで右クリック→新規→Flex Projectとし、ウィザードの2ページ目の一番上、「Use Default Location」のチェックを外し、すぐ下の「Folder」のところをチェックアウトしたディレクトリにするだけです。