長いURLなどで、「414 Request URI is too long.」エラーが発生してしまう問題。 具体的にはヘッダが1KB以上の場合にこのエラーが発生する模様。対応するには、ソースを一部修正すればよい。 (configureのオプションでって情報もあったけど、うまくいかなか…
気づいたこと、ちょっとしたことを書いていこうかな。対象バージョン 2.0.2 SQLを生成 ActiveRecord::Base.findが内部で使ってるメソッドを呼べば、findと同じパラメータを使って、同様のSQLを組み立てられる。サブクエリなんかに使えるよね。行儀悪いけど。…
プログラミングのジャンルと難易度(および Web プログラミング批判) Web に可能性があるというのなら、 Web アプリケーションを構文解析に劣る程度の文字列処理、あるいは GUI プログラムの焼き直しで終わらせちゃいけない。違いませんか? ごもっとも。 た…
タイトルの通り。 たとえば、mongrel_clusterなんかをつかってて、 prefix: /railsとかやってて、アプリのURLが http://taslam.example.jp/sampleなんかになってると、javascript_include_tag(*, :cache => 'cache')の動作がおかしくなる。Railsのソースを追…
ソースコードの入手〜コンパイル 公式から落としてきてmake wget ftp://ftp.delegate.org/pub/DeleGate/delegate9.8.1.tar.gz tar zxvf delegate9.8.1.tar.gz cd delegate9.8.1 make インストール srcの中にdelegatedってのが出来てるので適当なところにコピ…
関連テーブルでカテゴリみたいな多対多の関連を実装したとき、一番安易なのはとのかくJOINで全部連結しちゃう方法だけど、これだと重そうだ。なるべく連結の規模が小さくて拡張しやすそうなSQLを考えてる。SQL素人の癖に。いろいろ試してみたけどこんな感じ…
ソース管理の実施 ソースのバージョン管理「元に戻す機能」。 ロックを使用すると競合の問題はなくなるが、ロックの解除を忘れると悲惨だったり欠点あり。 tagはマイルストーンに対して意味のあるラベルとして使える。 branch リリース時にbranchを作り、保…
id:viverさんのところで、Comet/Ajaxの上を行く技術として紹介されてた。 Ajaxもそうだが、個々の技術は目新しいことはないのに、それらを組み合わせることで面白い技術を生み出せるってのは興味深いね。おもしろそうなので使ってみたいと思う。
Web+DB Press vol.44の特集「SQLアタマ養成講座」を読んでてちょっと不思議だった点。 (p65) MAX関数を使ったのは、どうせ切り分けた集合が一行しか含まないのだから [NULL, 100, NULL]とかNULLを含んだ集合になんじゃね?集約関数,GROUP BY句,HAVING句…
ITmedia 鎌倉の自宅ではたらく、父子2人のIT企業 就職活動はしていない。何となく行きたい会社がなかった。脱サラを考えていた父と「2人で会社を作ろう」と話もしていたが、しばらくはニートにでもなるつもりだった。 私立の院まで出といてなんというブルジ…
良いと思った点 分散リソースがかんたんに使える 特に更新などが楽 システムの疎結合化を 不便だなぁと思った点 ページネーション。limitとoffsetで検索範囲を指定できるように実装しても、ページネーションに関する情報は付加できないので、どうしてくれよ…
ただ読むだけじゃ理解できない低脳なのでノートとりまーす。 Webアプリケーションにおける階層化アーキテクチャ プレゼンテーション層 飾りつけ CSS マークアップ層 ユーザに見える形で、下位層へのアクセス手段を提供 受け取ったデータをHTML、XMLに落とし…
RAIDレベル 断然1がおすすめ。 5はArray崩壊のトラウマが・・・ RAIDデバイスのつくる際の注意 ややこしいので/bootもswapもミラーリングする。 grub OSのインストール後、ブートローダGRUBをsda,sdbそれぞれの/bootにインストールしておく。こうしておかないと…
Ludia 1.5でPostgreSQL 8.3対応が行われ、@@演算子が「%%」に変更になった。これに対応するため、PostgreSQLのバージョンを判別する必要があった。ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#postgresql_version で取得できる。 # PostgreSQL 8.1…
CentOS 5.1 x86_64 PostgreSQL 8.3.1(yum.postgresql.orgのもの) RPMづくり http://slony.info/:公式からソースを拾ってきてrpmをつくる。 wget http://slony.info/downloads/1.2/source/slony1-1.2.13.tar.bz2 tar jxvf slony1-1.2.13.tar.bz2 cd slony1-…
poundでロードバランシングさせていると、Webサーバ1台で運営するのに比べ、アクセスログが分散して全体を把握しにくい。Railsアプリなんかの振り分けもしてると余計に。 Poundの設定 「LogLevel 3」がミソ。「4」にするとバーチャルホストのないタイプにな…
Web+DB Press vol.43に載ってたので入れてみる。 今回の環境 CentOS 5.1 x86_64 PostgreSQL 8.3.1 net-snmpが必要らしい syslog-ngを入れるときにもう入れてたが、入れてなければyumで。 yum install net-snmp.x86_64 落としてくる http://pgfoundry.org/pro…
APCのAPCES725を買った。 オープンソースのapcupsdで、バッテリ駆動になったとき自動シャットダウンできる。 入手 APCUPSDのサイトで、RHEL5(x86_64)用のRPMパッケージを拾ってきた。 インストール net-snmpも必要なので一緒に入れる。 yum install -y net…
そのままだとモデル毎に接続を設定することになるが、これでは複数のユーザがそれぞれのアカウントで接続して、それぞれの権限でエントリを編集するといったことはできない。コードを追ってみたところ、エントリの更新などの際にはActiveResource#connection…
なんかあるブログのRSSに「PR:」とかついた、そのブログの記事ではないエントリがついてきてた。 で、調べてみたら、RSS広告社ってところのTrendMatchというサービスらしい。すごく・・・うざいです・・・新着記事を効率よく取得するためにRRSを使ってる人に…
ネット上ではもはや恒例となっているエイプリルフールのジョークサイト。 GIGAZINE エイプリルフールに便乗しているサイトまとめ2008年版 コーヒー吹いたwww
http://www.nikkei.co.jp/news/main/20080330AT1D280EI29032008.html NTTドコモは31日から携帯電話の「識別番号」をコンテンツ会社に通知するサービスを開始する。コンテンツ会社は識別番号を活用し、携帯でサイトを閲覧した履歴などが把握できるようにな…
to_xmlが遅いので適当に作ってみた。developmentモードではキャッシュ無効。 ただし memcache-clientが必要。 :builderオプションが渡されたときは、キャッシュを使わない。(Entry.find(:all).to_xml とか) Rails 2.0.2でしか試してない。 無保証。 インス…
やっぱり便利ですね。 既存のアプリにインストール script/plugin install acts_as_versionedモデルにacts_as_versionedを追記。 class Entry < ActiveRecord::Base acts_as_versioned end マイグレーションを追加。 require 'entry' class CreateEntryVersi…
Basic認証以外に対応させるの例として、WSSE認証。 require 'digest/sha1' require 'base64' class ActiveResource::Connection::WSSE < ActiveResource::Connection private def authorization_header if @site.user || @site.password { 'Accept' => 'appl…
HTTPリクエストヘッダに認証情報を付加する場合(WSSEとか)。 ソースを追ってみるとActiveResource::Connection#authorization_headerをオーバーライドしてやれば良い様だ。 # Sets authorization header; authentication information is pulled from crede…
RESTって? http://yohei-y.blogspot.com/2005/04/rest_23.html:REST入門 ActiveResourceって? RESTアーキテクチャでいうところのリソースをActiveRecordと同様のインタフェースで扱うためのマッパ。 TwitterAPIをActiveResourceで TwitterのAPIでRailsのAc…
ちょっとしたことだけど、知っておかないとよくわかんないバグになるよ。 インスタンスメソッド内で、アクセサを使ってインスタンス変数を変更する際の注意点。 たとえば、 class Sample attr_accessor :a, :b # インスタンス変数@a,@bを文字列連結して返す …
ソースはBBC。 こんな国でオリンピックとかwww なんで日本じゃ詳しく放送しないんだろう( ´゚д゚)(゚д゚` )ネー チベット問題 解説
超お手軽に対応するにはtest_helper.rbとかに、 class ActionController::TestRequest # 環境変数 HTTP_USER_AGENT を返す。 def user_agent env['HTTP_USER_AGENT'] end # 環境変数 HTTP_USER_AGENT を設定する。 def user_agent=(str) self.env["HTTP_USER…