RAILS

Sticky Plus!: 検索機能を追加

http://storehouse.quickvps.net/sticky_plus/ acts_as_searchableでとりあえず追加。 ActiveRecordと同じようなI/Fなのがよい感じ。

acts_as_…

acts_as_searchableのソースをながめていて「インデックス更新のタイミングがやだな。インデックスは非同期にやりたいな」とか思って、でもfulltext_searchはあったら便利そうだから、fulltext_searchだけ実装したsimple_acts_as_searchableでも作るかと思っ…

Cookieの有効期限を延ばす/セッションを無効にする

Cookieの有効期限を延ばす class ApplicationController < ActionController::Base ... after_filter :set_session_expires ... private def set_session_expires cgi = request.instance_variable_get(:@cgi) output_cookies = cgi.instance_variable_get(:…

Sticky Plus!: やりたいこと

締め切りも迫ってきたし、とっとと実装しよう。 猫メソッド HyperEstraierを使った検索 あんまり必要そうじゃないけど…

ActionController::Base.allow_concurrencyの話

mongrelでActionController::Base.allow_concurrencyをtrueにすると、スレッドの処理を排他的にしないという話があって、ふーんと思ってソース見てみたら、mongrelの1.0.1では絶対に同期を取るようになってた。 @guard.lock unless ActionController::Base.a…

Sticky Plus!:はてな認証実装

http://storehouse.quickvps.net/sticky_plus/sticky/board?url=http%3A%2F%2Fd.hatena.ne.jp%2Fwinebarrel%2F 仕事からの逃避として。 しごとしたくなーい。めんどくさーい。

Sticky Plus!: erubis入れた

http://www.kuwata-lab.com/erubis/users-guide.05.html#rails gemでerubisをインスコして、パッチを当てるだけ。 速くなった気もするけど、abの結果はあんま変わらず。。。

link: speed up my rails app : clipclip

http://www.clipclip.org/activity/view/580/speed-up-my-rails-app IBM Page Detailerが妙な感じ。

Sticky Plus!:フォントサイズを変更可に

http://storehouse.quickvps.net/sticky_plus/sticky/board?url=http%3A%2F%2Fd.hatena.ne.jp%2Fwinebarrel%2F とりあえず。

Custom Mongrel Handlers: Learning how to walk the dog

http://www.slideshare.net/ezmobius/custom-mongrel-handlers-learning-how-to-walk-the-dog/ うーん、Railsのダイエットは大変そうだ… それはさておき、Merbはくるかなぁ?

Sticky Plus!: ShootingStar -> 3.2.1

http://storehouse.quickvps.net/sticky_plus/sticky/board?url=http%3A%2F%2Fd.hatena.ne.jp%2Fwinebarrel%2F 一応、ShootingStarをアップデート。URLのプリフィックス対応は地道に手作業で。 いまんとこ、不具合はないように見える。Firefoxで ms.event is…

Sticky Plus!: Web API

こんな感じ。こっちの画面でリアルタイムな変化を見ることが出来ると思う。 $KCODE = 'u' require 'cgi' require 'net/http' def query_string(params) params.map {|key, value| "#{CGI.escape(key.to_s)}=#{CGI.escape(value.to_s)}" }.join('&') end def …

Sticky Plus!: サイトに直接貼れるようにしてみる

http://storehouse.sakura.ne.jp/foo.html 以下のコードで、サイトに直接貼り付けられるようにした。 <script type="text/javascript" src="http://storehouse.quickvps.net/sticky_plus/sticky/library_js"></script><br>

Sticky Plus!: いろいろ

http://storehouse.quickvps.net/sticky_plus/ 直したトコ インデックスページにヘルプを追加 編集中に右クリックされたら、普通のコンテキストメニューを出すようにした localhost/127.0.0.1は貼れないようにした タスク 付箋紙画面にヘルプを追加する

ShootingSter: キャッシュでハマる

新しい付箋紙を2枚も作成されると困るので、イベントの発火元ではJavaScriptの更新をしないように、sessionにMeteorのidを入れていたんだけどうまく動かず。 なんでだろと小一時間頭をひねっていたところ「caches_action :strike」をコメントアウトしたら直…

Sticky Plus!: 一覧をPaginate

http://storehouse.quickvps.net/sticky_plus/ とりあえず。 自分の登録しかないなぁ…orz 追記 ロゴも変更。

Sticky Plus!: 付箋紙のリサイズ方法を変更

http://storehouse.quickvps.net/sticky_plus/ 編集中に付箋紙をリサイズする場合に、小さくなるのを抑止するようにした。 なかなか良い感じ。sticky.jsの最新版はコレとコレ。 ちなみに、Sticky Plus!のタスクはココにあったりする。

url_encode

def url_encode(text) ::CGI.escape(text) end

Sticky Plus!

http://storehouse.quickvps.net/sticky_plus/ 付箋紙をデータベースに保存するようにした。 いまいちレスポンス悪し。

Sticky Plus!

http://storehouse.quickvps.net/sticky_plus/ 右クリックで色を変えられるようにした。そろそろ寝よう… 明日はShootingStar対応かなー。

Sticky Plus!

http://storehouse.quickvps.net/sticky_plus/ とりあえずCOMET対応。リアルタイムで更新される…はず。 たまに動作が怪しい。。。

Sticky Plus!

http://storehouse.quickvps.net/sticky_plus/ 一応、完成。このページだとこんな感じ。 ドリコムのページにも貼り付けてみる。

Sticky Plus!: タスク

http://storehouse.quickvps.net/sticky_plus/ 人気一覧を出す ページネート タグ ページ一覧を出す 余力があればマイページ

mod_proxy_balancer + mongrel_clusterにしてみた

Apacheの設定がこんな感じ。 #ProxyRequest Off ProxyPass /sticky_plus balancer://sticky_plus ProxyPassReverse /sticky_plus balancer://sticky_plus <Proxy balancer://sticky_plus> BalancerMember http://localhost:3000/sticky_plus loadfactor=10 BalancerMember http://localhost</proxy>…

Sticky Plus!

http://storehouse.quickvps.net/sticky_plus/ とりあえず、右クリックで剥がせるようにした。 右クリックメニューはこちらのライブラリを使用。prototype.jsの機能を使うように少し改造。 UUIDの生成で若干ハマる。VPS環境のせいかMACアドレスを取得できて…

local_javascriptタグ

def local_javascript(&block) concat(javascript_tag(<<-EOS), block.binding) (function() { #{capture(&block)}; })(); EOS end

opacity_tag

def opacity_tag(name, options = nil, &block) opacity = options.has_key?(:opacity) ? options.delete(:opacity) : 0.75 opacity /= 100.0 if opacity >= 1 style = options[:style] || '' options[:style] = "#{style}; filter:alpha(opacity=#{(opacity…

orz...

認証まわりが致命的なことに気づいた。 はてなパスを入力してもらうのはマズイ…どーしよ… 追記 とりあえず、ログインはできなくした。 サービスを停止した。ログ・DB等のデータは削除。 うーん、どうしよ…

新しいのを作る!

masudaitterはいろいろやばそうなのと、モチベーションが低くなってしまったので、新しいサービスを作ることにした。 ちょうど以前、作りかけにしていたものがあったので、速攻でモックを作成。 http://storehouse.quickvps.net/sticky_plus/ニコブの改良版…

masudaitter:「自分の増田」をCOMETで更新

http://storehouse.quickvps.net/masudaitter/ 「自分の増田」もCOMETで更新するようにした。 セッションまわりではまったけど、MeteorController側でごにょごにょしたら解決した。 いろいろバッドノウハウも多数。更新データをDBに入れなくても何とかなるの…