MN

Marble Noteの技術 5.データの活用のための機構(2)

Marble NoteではRSSの他に、現代的なWebアプリケーションの潮流どおりXML-RPC APIを提供しています。 この、「Marble Note XML-RPC API」を使うと外部のアプリケーションから簡単なコードでMN上のデータを取り出し、加工することが出来ます。Rubyでの例を取…

おそろい。

今まで、開発環境はSQLite、実行環境はPostgreSQLって構成でやってたんです。ActiveRecordが良きにはからってくれるから普段はDBMSの違いなんて気にならないんだけど、たまに違いが発現することがある。 実行環境で初めて分かるエラーとか、不安材料なので思…

繋がりに潜む落とし穴。

link_toメソッドは第一引数nameをそのまま出力する。そのため、適宜hメソッドでサニタイズしてやらないとXSS脆弱性が。 危ない危ない。

Marble Noteの技術 4.データの活用のための機構(1)

Marble Noteはこれだけである程度完結したシステムになっては居ますが、他のサービスと組み合わせることにより応用が利く設計になっています。ここで使われている技術の一つがRSS。MNシステムが保持している各種の時刻情報をこのフォーマットで提供すること…

Marble Noteの技術 3.ユーザ管理

いまのところMNではユーザサービスとしてブックマークとセレクションの二つの機能を用意しています。こういったユーザ個々人に合わせたパーソナライズを行う際に避けて通れないのが、個人認証。一般的にIDとパスワードを発行し、アクセスしてきたユーザが誰…

と思ったら。

ってタグの問題は解決しましたが、今度は空行2行が入ると例外が出るのを見つけてしまいました。 irb(main):001:0> require 'text/hatena' => true irb(main):002:0> p=Text::Hatena.new => #<Text::Hatena:0x55c134 @sectionanchor="o-", @ilevel=0, @baseuri="", @texthandler=#<Proc:0x00358f5c@./text/hatena.rb:16>, @html="", @invalidnode=[], @permalink=""> irb(…</text::hatena:0x55c134>

Text::Hatena0.06の修正。

Text::Hatena 0.06で例外が発生するらしい 速っ。もう修正されました。迅速な対応をありがとうございます。 さっそくsvn update叩いて試してみたところ、ちゃんと動いてます。

Text::Hatena0.06(2)

Text::Hatena 0.06 <img src="hoge.png" alt="ほげ" />ってタグが含まれてると落ちるような気配がする。 irb(main):001:0> require 'text/hatena' => true irb(main):002:0> p=Text::Hatena.new => #<Text::Hatena:0x55c134 @sectionanchor="o-", @ilevel=0, @baseuri="", @texthandler=#<Proc:0x00358f5c@./text/hatena.rb:16>, @html="", @invalidn…</text::hatena:0x55c134>

Text::Hatena0.06

Text::Hatena 0.06 id:drawnboyさんの差分でRuby版Text::Hatenaが0.06ベースになってました。以前の0.02ベースのと比べると、HTMLタグのサニタイズがText::Hatena任せに出来るようになったのが大きい。 それもタグ全面禁止みたいな頭の悪い方法じゃなく、ち…

Marble Noteの技術 2.更新時刻の取得

各部分の仕掛けを見ていきましょう。 MNの重要な機能の一つとして、各ゴーストのネットワーク更新時刻を取得、表示する機能があります。この部分はRailsで作られた本体とは独立し、samidare*1を利用しています。 MNヘルパーやMNのWebインターフェースから登…

ひとりふたやく。

ユーザモードとゲストモードの二つを持つWebアプリ開発だと、往々にしてログイン中としてないときの挙動を両方見たい時があります。当然その都度ログイン、ログアウトしても良いんだけど、MNの場合は認証を外部(TypeKey)にゆだねてる事もあってあんまりがし…