忘れたときに備えた記録

トップ 最新 追記
2005|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|11|12|
2009|01|02|03|04|05|06|10|12|
2010|06|07|08|12|
2011|07|09|
2012|09|11|
2013|02|03|09|
2015|10|11|
2016|01|08|11|
2017|02|08|10|
2018|11|

2010-08-11(Wednesday)

Prepared Statement

[ruby-list:47290] 改行やタグを含むデータをmysqlでinsertするにはという話題があって、以前Railsでアプリを作ったときに同じような疑問を覚えつつ放置していたのですが(確か、バイナリファイルをMySQLに保存したくて、どういう風に実装されているのか調べていたはず)、"Prepared Statement"というのを使うと良いらしいのです。

Tags: メモ MySQL

2010-08-17(Tuesday)

Access-Control-Allow-Origin によるクロスドメインAjax

404 Blog Not Found:Ajax - Goodbye, JSONP. Hello, Access-Control-Allow-Originという記事があって、興味があったのでRuby(Sinatra)でサンプルを作ってみました。

gistに置いてあります。

最初、Access-Control-Allow-Originヘッダ(以下ACAO)を出すのは呼び出し元のHTMLを出すサーバの方だと勘違いして、CSRF対策のキーとか読まれて危ないんじゃないかとか思ったのが、サンプル作成の直接の動機です。 実際には勿論そんなことはなくて、ACAOヘッダを出すのはxhrが呼び出すWebAPIの方です。

試してみて気がついたのですが、ACAOの有無に関わらず(というか、ACAOの有無を知るために)、XHRオブジェクトでサーバーにアクセスする記述がある場合は、同じドメインかどうかに関わらずアクセス自体は行っています(ACAO対応以後のブラウザだけなのか、対応前のブラウザでもそうだったのかは確かめていません)。 今回のサンプルは、その辺もSinatraの出すログ等で分かるようになっています。

使い方は、次のようになります。

  • rubygemsでsinatraを入れてある環境を用意する
  • acao_sample.rbを実行
  • http://localhost:4567/ にアクセス