2009年8月17日月曜日

結論は別RDBMSをqueueにみたてて読み書きGo!Go!

結論からすると、RDBMS自身がネットワーク越しに接続できるのだから、それを利用しようということになりました。
messageに対して1対1で処理プロセスが走るならメモリ上のqueueでもいいのだろうけど、1つのmessageで複数の情報を生成するつもりなのでね。あ、あとqueueからmessageを消すタイミングは時間ベースでやるし、リレーションしやすいというかすでに慣れてるRDBMSのSQLでやろうかなと。

さー、DBのschemaガチガチに固めなければ、、、いまどきっぽくないですけどっ!(T_T)

2009年8月16日日曜日

で、いろんなfeedを提供したいのだが、

いろんな切り口でRSSってかfeedを提供したいのだが、message queueに入ってる情報をどう使うかはクライアント(この場合、提供するfeed情報を生成する)プログラム側の処理次第。

で、じゃ、いつまでqueue内の情報は残しておけばいいの?ってのが問題。
クライアントプログラムがどのように切り込んでくるかはわからない状態だと、永遠にすべて残しておかないといけなくなる。さすがにそれは無理ぽ。
だとすると、やはり先に生成するfeed情報を決めておかなければならない。そうしないとqueue内のデータがいるのかいらないのか判断をつける材料がないもの。

さーて、困った。
どこまでほしいんだ?個人的には what's new と 個別テーマくらいでいいかなとは思うのだけど、mylistの更新情報もfeedでほしい気がする。
他にも共通グループでのfeedもほしいかもな、、、グループは大枠できてるし、このまま採用されるだろうから、それも考慮しておいたほうがいいよな。
あー、だれそれさんって個人ののfeedもほしいかなー。


feed集めて表示してるfriend feedとかfacebookとかはどうやってるんだろうか?
動的に取ってるわけでもないだろうし。。。むむー、悩むぅ~~~~

だいたい提供するfeedそんなに多くていいのか? mylistを分類できるようにしといて、それをfeedすればよくね?「feedしたかったらmylistに登録しやがれ、このヤロウ!」と言い切れるしw。

2009年8月14日金曜日

でだ、

そうなってくると、更新のタイミングで処理するものが多くなってレスポンスが悪くなるのがみえみえ。
まだ、ユーザが少ないので更新なんてそうそう発生してないから、マシンパワー使いたい放題だけど、ユーザが増えてきたらここらへんが効いてきそうだなーと。60万PV/日の携帯サイトをやってた経験からね。

なので、リアルタイムで更新する必要のないものは、チマチマとバックグラウンドで処理しようかなと。RSS の書き出しとかtwitterでつぶやきとか。(RSSつける前にtwitterのつぶやきI/Fをつけたあたり今時でしょ?w)

ということで、そんなときは、メッセージキューだよな、と。IPCだと同一マシン(ていうかOSのインスタンス)内でしか利用できないので、それは却下。ネットワーク越しにできたほうがいいじゃない?いまは利用しなくても将来的に絶対に。
てことでActiveMQやらRabbitMQやらを調べていたのだけど、結構面倒そう。Java環境入れなきゃならんしねー。もちっと軽量なのないかなぁー。

でけた。RSS

なんと、問題はURLの&でした。xmlを書かなくなって久しいので、こんな問題にひっかかってましたよ。とほほ。つか、HTMLは普段書いてるんだから、意識しろよ>おれ。

てわけで、とりあえず what's new をRSS1.0で書き出せるような仕組みはできた。
あと、個別のテーマ更新もそれを追ってる人向けにRSSできればなぁ、、とおもい、更新のタイミングをトリガとしてRSSファイルをベースにした更新履歴を考えたのだが、そうなると、RSS1.0よりもRSS2.0のほうが簡単な処理で済みそうなので、RSS2.0ベースで全体で使えるユーティリティクラス化してみた。

当初、node操作なんぞせずに、ベタにXMLファイルを書き出すつもりだったけど、node操作しないと履歴操作できないから、結局DOMでガリガリにXML操作するハメになったし。。。実に10年ぶりくらいにDOMでXML操作したよ。はじめてつくった携帯サイトがXMLバリバリでつくったヤツなので、あれ以来。いやぁ、XPathだとか便利なものも揃ってるし、いいね。いまどきのXMLは。

2009年8月13日木曜日

ハート型のビーズに黙々と糸を通していく娘、3才。

すでに50個くらいは通したようだ。
色はバラバラだが、すべて同じ方向に通してるぞ、、、

なんかチマチマした作業が好きなのか?

自分がダメだと思う瞬間

エロサイトを見ていて大量のサンプルムービーを見つけて、その一括ダウンロードスクリプトを書いているとき。特にJavaScriptとか絡めれ て簡単にぶっこ抜きできなくしてるようなサイトを攻略してるとき。

すべてのしがらみを振り切って、一心不乱にサイトの構造とかファイルの規則性だとか見つけ出したり、HTMLやJavaScriptを読んでどう動いてるか調べてるときに、ふっと我に返ってしまうと「ああ、おれ、ダメじゃね?」と思う。
だが、そんなものは一瞬なので、すぐに作業に戻るのだがw。


てか、その情熱を生産的ななにかに向けろよ、、、42才のおれ。(汗

やっぱいまどきのサービスを作ってるんだから

feedできなきゃね。とおもい、RSSを自動生成しようとしてるのだが、
なんかうまくないのです。

ひとんちのサービスが提供してるRSSファイルを参考にいぢってみたりもしたのだが、
まるまるコピーする分にはうまくいくけど、大幅に項目削除して縮小版とかつくってみるとうまくいかなくなる。

なんでかなぁ~。もちっと悩んでみるかぁ...(T_T)

2009年8月12日水曜日

私の中のmixi終了のお知らせ。

私の中ではmixiは利用価値が激低下。
単なる知り合いのblogのfeedの価値ぐらいしかない。
あ、ときたま2ホップ以上の知り合いで近しくなりたい人はでてくるけど、んま、それもmixiである必要はなし。私がwebサービスに求めるものがmixiでは実現できないので、利用価値激減。

ユーザ側の要望(つか進歩?)をフォローしきれなかったmixiさん、敗北です@私の中。

AmazonEC2 postfix submisson 設定時のメモ

ローカルのPCのHDDが吹っ飛んだりした場合、メモをなくすと困るのでブログに書いとく。
---------------------------
■環境
amazon ec2 m1.small
(fedora x86/32bit インスタンス)

submmision port = 587
TCP/UDPの両方が必要

MTA is postfix.

■submission portを開ける

/etc/postfix/master.cf
#submission inet n - n - - smtpd

submission inet n - n - - smtpd


■SMTP Authする
/etc/postfix/main.cf

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain
#smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes


aws EC2 の fedora8 Basicでは sasl2はデフォルトインストールっぽい....
一応、確認...
> # cat /usr/lib/sasl2/smtpd.conf
> pwcheck_method: saslauthd
> mech_list: plain login

いらない
mkdir /var/state/saslauthd
chmod 700 /var/state/saslauthd
chown postfix /var/state/saslauthd

saslauthd で使用可能なメソッドを確認。
># /usr/sbin/saslauthd -v
>saslauthd 2.1.22
>authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap

とりあえずpamで運用。


sasl2の起動
/etc/init.d/saslauthd start

動作してることを確認
> # ps ax | grep saslauthd
> 31697 ? Ss 0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam
> 31699 ? S 0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam
> 31700 ? S 0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam
> 31701 ? S 0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam
> 31702 ? S 0:00 /usr/sbin/saslauthd -m /var/run/saslauthd -a pam

postfixの再起動
/etc/init.d/postfix restart


----------------------------------
■popperの設定
dovecot.i386
dovecot-devel.i386

># yum install dovecot.i386 dovecot-devel.i386

/etc/init.d/dovecot start


----------------------------------
■EC2の Security Groupsの設定
メール関連部分のみ抜粋

C/Method Protocol FromPort ToPort Source
POP3 tcp 110 110 0.0.0.0/0
SMTP tcp 25 25 0.0.0.0/0
- tcp 587 587 0.0.0.0/0
- udp 587 587 0.0.0.0/0

----------------------------------

■動作確認
自ホストから....
># nmap localhost
>
>Starting Nmap 4.52 ( http://insecure.org ) at 2009-08-12 02:36 UTC
>Interesting ports on localhost.localdomain (127.0.0.1):
>Not shown: 1705 closed ports
>PORT STATE SERVICE
>22/tcp open ssh
>25/tcp open smtp
>80/tcp open http
>110/tcp open pop3
>143/tcp open imap
>587/tcp open submission
>993/tcp open imaps
>995/tcp open pop3s
>5432/tcp open postgres
>
>Nmap done: 1 IP address (1 host up) scanned in 0.155 seconds


外から...
>$ nmap さーばあどれす
>
>Starting nmap 3.70 ( http://www.insecure.org/nmap/ ) at 2009-08-12 11:54 JST
>Interesting ports on さーばあどれす:
>(The 1654 ports scanned but not shown below are in state: filtered)
>PORT STATE SERVICE
>22/tcp open ssh
>25/tcp open smtp
>80/tcp open http
>110/tcp open pop3
>587/tcp open submission
>
>Nmap run completed -- 1 IP address (1 host up) scanned in 35.845 seconds

2009年8月11日火曜日

メールサーバ移行の手順メモ for 自分

旧DNS
MX=旧サーバ
TLLを300程度にする。浸透するまで待つ。(いまのままだと10時間程度)

■新サーバ
新DNSをたてておく

SMTP AUTH/TSLでpostfixを入れる。
旧サーバと同等のアカウントを作る。
旧サーバと同等のmain.cf/virtual/aliasを用意する
(virtualで旧サーバのアカウントをフォローしておく)

別ドメイン名の新旧DNSのMXを新サーバに向け、それで送受信ができることを確認。
-----------------

旧サーバMTA停止
DNSのMXを新サーバに向ける

10分程度待ってで新サーバにメールがとどくかどうかチェック


ドメイン名のレジストラにDNSの変更通知(新DNSに変更)
了承がとれたら、旧DNS停止


以上。

FriendFeedが買われた。

んま、企業の売買はよくあることなので、珍しくもなんともないのですが、買ったのはFacebookですか。
金に困って売った。的なものではないようなので。

なんていうんですか、feedを集めて1つのコンテンツにする。って最近のはやり、名称はよくわかりませんが。この手のサービスは、元ネタ提供の他のサービスから独立した位置にあって成立しているのでおもしろいとおもっていたのですよ。

あ、ああ、あれだ。mixiがなんでもかんでも囲い込んでしまっているのとは対照的な位置ですね。
オープンな感じ。個人の采配で好きなようにサービスが組み合わせられる。という感じ。


んとね、以前からなんかやれそうだな。とは思っていたんです。んま、自分でやってないのでその時点で負け犬の遠吠えなんですが。
この手のソーシャル系サイトとかブログとかニュースサイトなんかでもいいんですけど、今時的にいえばリアルタイムストリームサイト(?)などの更新が頻繁なものを、個人にどうみせるか。ってインタフェースね。
もう、webでしかサービスが許されないような状況になりつつあるので、やるならweb上で。

常に集めて、趣味嗜好、現在の興味のターゲットでリアルタイムに分類して、表示方法も工夫。
たとえば、いま興味の中心になっているものは大きく見やすく、情報量多めに。
iTuneとかsafariのUIでCDジャケットやらwebページが3次元的に並んでいて、注視しているところが中心に表示されるヤツあるじゃないですか?あんな感じのもっとイイやつ版。
もちろん、ぼんやりとしか考えてないので、どうすればいいか?なんてわかりませんよ。そりゃ。汗。
でも、あの手のUIで見せてあげれば、人の思考の補助装置としてはとてもよいのではないかなー
と思っていたのです。

で、その手の可能性としてFriendFeedを使い始めたのですよ。
そしたらその矢先にFacebookによる買収って。
いや、ただ、いまFriendFeedとtumblrに注視してたのでこの話題を書いてるだけです。

2009年8月10日月曜日

ここから

friendfeedを経由してtwitterにでるのか?ほんとに?

よ、わからんちん。

よっ!???
どう?