タグ

ブックマーク / zentoo.hatenablog.com (6)

  • canvasのgetImageData(), toDataURL()などにおけるCORSについて - 愛と勇気と缶ビール

    僕のcanvas力はいまだ中学生男子並みなので、そもそもcanvasの一部のAPIにSame Origin Policy的なものが適用されることすら今日まで知らなかったのですが、どうやら 違う生成元がsrcに指定されているimgをputImageData -> その描画領域をgetImageDataしようとするとDOM Exception という感じに、普通に怒られちゃうみたいですね。知らんかった。 http://www.w3.org/TR/cors/#use-cases ↑のあたりに書いてあるのをみると、taintedなcanvas、というのですかね。getImageDataで同じ生成元から読み込んだimgの描画部分を指定しても怒られないけど、違う生成元の画像を描画した部分に少しでもかかっていると怒られるので、canvasってピクセルごとに "taintedか、そうでないか" を管理して

    canvasのgetImageData(), toDataURL()などにおけるCORSについて - 愛と勇気と缶ビール
    raimon49
    raimon49 2012/09/11
    img要素のcrossorigin属性 + 配信側でAccess-Control-Allow-Origin header
  • Maintainable JavaScriptにみる、コンテキストとアプリケーションロジックの分離 - 愛と勇気と缶ビール

    個人的なこと 読書はいわゆる自己投資?にあたるものなのでケチるもんじゃないよなあ、とは思いつつも可能なら安い値段でより大きなリターンを得たいよねー、ということで最近はOreillyの半額セールに目を光らせるようになりました。英語は「拾い読み」がし辛いという欠点があるのですが、まぁ、安いし、全てのにちゃんと訳が出るわけでもないので、ええかなぁと。 そんなわけで "Maintainable JavaScript" というを読んでいたのですが、その中のEvent Handlingについての章が「おお、これこれ」という感じだったのでちょっと紹介。 Maintainable Event Handling jQuery覚えたぜ!って感じの人がとりあえずコードを書くと、だいたいこんな感じになりますね。ちなみに、これは別にjQueryがどうとかいう話ではなくて、質的には生DOMでも他のライブラリでも

    Maintainable JavaScriptにみる、コンテキストとアプリケーションロジックの分離 - 愛と勇気と缶ビール
    raimon49
    raimon49 2012/09/02
    アプリケーションロジックをEvent Objectに依存しないよう切り離すことで適切に部品化されテストもし易くなる。
  • jQueryオブジェクトを入れる変数の名前を$で始める話 - 愛と勇気と缶ビール

    前提として、何度も同じelementを操作するのに毎回 $("#your complicated.selector").css({"...":"..."}); とか書いてる奴はくたばれ。それは、参照するデータが同じなのに毎回DBに問い合わせてるのと同じだぞ。 $で変数名を始めるのはなんでキモいか 僕がjQueryを使うときは$()関数で返ってきたオブジェクトを入れる変数名を$から始める、ということをけっこうよくやるのだけども、それについて「なんかキモくないですか」という意見があったのでちょっと考えてみる。ちなみにそれをやり始めたのはどこかで見たからだと思うんだけど、ソースは忘れた。 jQuery objectをつっこむ変数の名前を$で始めることが気持ち悪い理由はだいたい以下の2つくらいだと思う オブジェクトの型(のようなもの)に基づいてprefixをつけているところに、ハンガリアン的な闇の

    jQueryオブジェクトを入れる変数の名前を$で始める話 - 愛と勇気と缶ビール
    raimon49
    raimon49 2012/05/07
    $()ラップ済みのオブジェクトは$から始める。気持ち悪さは置いといて、戦略としてはアリだと思う。
  • やったーJavaScriptの動くMySQLできたよー - 愛と勇気と缶ビール

    ※ネタです ※UDFです Mysql 5.1 Plugin Development 作者: Andrew Hutchings,Sergei Golubchik出版社/メーカー: Packt Publishing発売日: 2010/08/30メディア: ペーパーバック購入: 1人 クリック: 45回この商品を含むブログ (2件) を見る しばらく積ん読していたこのをちょっと眺めてみたら、MySQLのUDFって簡単に作れるんだなー、と思った && そういやV8ってライブラリとして簡単にリンクできるはずだな、と思い出した ので、ついカッとなって作った。 http://github.com/zentooo/mysqludf-jseval UDFうんぬn ほとんど↑のの受け売りになるけど、一応MySQLのUDFについて備忘録代わりに軽く紹介しておくと UDFを追加する場合、MySQLの再コンパイ

    やったーJavaScriptの動くMySQLできたよー - 愛と勇気と缶ビール
    raimon49
    raimon49 2011/09/26
    js_eval関数を定義してしまう力技
  • githubのアレ(history.replaceStateとかhistory.pushStateの話) - 愛と勇気と缶ビール

    会社で下の記事についてリマインドしてもらって、なんとなく気になっていたことを調べたメモ。 http://webtech-walker.com/archive/2010/12/06160539.html 記事を読んで、history.replaceState(null, "title", "/new.html") とかやると遷移なしでページのcontentも勝手に置き換わるのかなー、だったらあのアニメーションはどこで発火してんだ?とか考えていたがそもそもreplaceStateの動作について勘違いしていた。 要は、次のようなhtml書いてボタンをクリックしても、historyの先頭が置き換わるだけでページ自体には何も起こらない。(ただしlocation.hrefは置き換わっており、reloadすると/replace.htmlにいく) <!DOCTYPE HTML> <html lang="e

    githubのアレ(history.replaceStateとかhistory.pushStateの話) - 愛と勇気と缶ビール
    raimon49
    raimon49 2011/02/11
    history API
  • Vimのplugin管理ツールつくった - 愛と勇気と缶ビール

    いつかやろうやろう、と思いつつ、.vim以下の整理がなかなかできていなかった。なので、整理しようと思ったんだけど、どうせこういったパッケージ的なものを整理するなら何らかのパッケージマネージャで一元的にinstall/remove/upgradeしたいと思うのが人情。 Vimのplugin管理ツールといえば少し前からVimanaというツールがあって、これはとても便利なツールなのだけれど、ソースの中に固定値で"3000"とか書かれていてそれをvim.orgの検索のパラメータにしているために新しめのplugin(current_func_info.vimとか)が検索してもひっかからないとか微妙に使いにくいところがあった。 そこで、せっかくgithubvim.orgのplugin群もミラーされたことだし、githubをリモートリポジトリとしてsearch/installしちまえばめんどくさいファ

    Vimのplugin管理ツールつくった - 愛と勇気と缶ビール
  • 1