Program & Service
mixi日記をRSS配信
2009年7月23日
mixidiary2feed概要
mixi日記をRSS2.0で配信するためのサービスを作りました。名前は、mixidiary2feedです。
使い方は、mixi IDを引数に渡すだけです。
URLフォーマット:
http://matsu.tymy.net/contents/RSS.html?id=mixi ユーザのID
URLの例:
Jomsocialバグ多すぎ
2008年12月11日
海外では有名なCMSであるJoomlaのプラグインである、Jomsocialが使えなさすぎて困る。
バグ多すぎてインストールすら出来ない。ユーザ登録しないと見られないフォーラムではバグ報告の嵐だ。
JomsocialはJoomla上でSNSを提供するサービス。
Google Friend Connect
2008年12月4日
ついにGoogle Friend Connectを利用できるようになりました!
利用を知らせるメールが来た。
Hi,
We appreciate your interest in Google Friend Connect and would now like to invite you to try the service. You can get started by visiting our homepage and clicking the “Set up a new site” button. Please sign in with your matsubokkuri@gmail.com account to http://www.google.com/friendconnect
- snip -
Google Friend Connectを一言で表すと、SNSのネットワーク規模がすべてのWeb上になり、個人のプロフィールページが1つのWebサイトになる。
mixiに置き換えると:
- mixi自体→インターネット上のWebサイト
- プロフィール→google profile
- コミュニティ→Webサイト
- 日記→Webサイト自体または、Google Friend ConnectのWidget
英語だけど、何が出来るかを知るためにはofficeial pageを見るのが一番早い。
http://www.google.com/friendconnect/
動作モデルは、2001年頃に登場して、2006年に活動休止したAfferioに酷似。
右のサイドバーにバッジを張ったのでjoinしてもらえるとうれしいです!
Webアプリケーションの認証ロジック
2008年12月3日
くぅ。またくだらないミスを犯してしまった。。。
↓対処法
細かいことだけど,手軽な実装で大きなリスクを減らせる実装を紹介する.
システムの背景
- Webアプリケーション
- HTTPセッション管理をファイルに保存している
- データベースが開発環境と運用環境に分離されている
- 運用環境のデータを開発環境に取り込み,動作テストやリハーサルを行う場合がある
- ユーザのHTTPリクエストによって実行されるプログラムからメールを送信する
- ログイン認証をユーザIDなどの1つの値を保持するのみで実装してある
背景となるアプリケーションアーキテクチャの例.
| 開発環境データベース | → | プログラム | → | ユーザ |
| 運用環境データベース | → |
上記の背景では,オペレーションミスにより,運用環境に登録されているユーザへメールが送信されてしまう場合がある.
- 開発環境のデータベースを利用する状態でログインする.
- データベースを運用環境のデータベースに変更する.
- ブラウザで再度アクセスすると運用環境のユーザIDでログインされた状態になる
- メール送信を行うプログラムへアクセスすると,運用環境に登録されたユーザへメール送信される.
上記の問題を回避するために,ログインの定義を変更する.
ログインの定義が,「ユーザIDの保持」だと問題が発生するので,「ユーザIDとアカウント名の一致」とすることでセッションジャックの危険性を減らせる.セッションハイジャックの危険性をより減らすためには,より多くの情報とログイン状態を関連づける.
背景の認証ロジックの式は以下.左辺と右辺が一致した場合はログイン認証を認める.
仮定:
- getFromSession()はセッションからログイン情報として保存してある文字列を取得する関数
idはセッションから取得した顧客ID - isValid(id)は顧客IDを引数とし,ログイン可能な状態ならばidを返却する.
式:
getFromSession() == isValid(id)
問題を回避するための認証ロジックの式は以下.
仮定:
- other1, other2はidに関連した情報.ユーザ登録時から一切変更されない情報.idを元にデータベースから取得した情報。
- hash()は引数の値をseedに取るハッシュ関数.
式:
getFromSession() == hash(isValid(id) , other1, [other2...])
都道府県コードの仕様
2008年11月9日
都道府県のIDがJIS X 0401によって決められていた。
システムで都道府県のIDを扱うときにはこれを利用した方がいいね。
北海道 青森県 岩手県 宮城県 秋田県 山形県 福島県 茨城県 栃木県 群馬県 埼玉県 千葉県 東京都 神奈川県 新潟県 富山県 石川県 福井県 山梨県 長野県 岐阜県 静岡県 愛知県 三重県 滋賀県 京都府 大阪府 兵庫県 奈良県 和歌山県 鳥取県 島根県 岡山県 広島県 山口県 徳島県 香川県 愛媛県 高知県 福岡県 佐賀県 長崎県 熊本県 大分県 宮崎県 鹿児島県 沖縄県
上記に追加して、99はその他と定義されているっぽい。
リモートホストのIPアドレスを表示。
2008年11月5日
サーバのアクセス制限をするときに自分のグローバルIPアドレスを調べたいときあるよね。
いちいち「確認君」というフレーズをぐぐるのがめんどくさいから、スクリプト作ってブックマーク入れておく方が楽。
ソースコードのスペルチェック
2008年10月11日
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Aspell#ve0ff963
ソースコードにある英単語のスペルチェック。
PHPやHTMLなど、どんなファイルでもできるはず。
findの引数でチェックしたいファイルを指定してね。
% find modules libs batch -name '*.php' |sed "s/[A-Z][a-z]/ \0/g" | tr '[A-Z]' '[a-z]' |aspell -l |sort|uniq acc addphp api ... ....
自分で、単語を登録したい場合は、ここら辺を参照してみてください。


最近のコメント