愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

2012-01-01から1年間の記事一覧

Google Apps Scriptが気合入りすぎな件

https://developers.google.com/apps-script/Google Apps Scriptっていうのは、JavaScriptでコードを書くとそれがGoogle先生のサーバサイドで何しか解釈されて動いて、Googleの各サービスのオブジェクトを簡単に操作できるぞオウイエ!ってやつです。そこま…

Event handling with anon-func style on iOS / Android

JavaScriptでユーザからのイベントを受け取ってホゲホゲ、という処理は大体次のようなスタイルで書く。なお、jQueryとか使っていても概要は同じ。 el.addEventListener("eventName", function(evt) { // do something }, false); iOS appでこのようなイベン…

最近の捗るものたち

思うままの羅列 キーボード収納ボード 僕の家の机はあまり広くなくて、大きめの技術書を参照しながら手を動かす、というのが何ともしづらかった。脇に置くと視線が散るし、机に無理に置くと狭いし、膝の上は邪魔だし。これを使うと単純に机の上の可用面積が…

AndroidのWebViewについての発表資料とか

前のエントリと内容が被っていてアレなのですが、AndroidでWebView(+ addJavascriptInterface)を使った場合に発生しうる脆弱性などなどについて社内の勉強会で発表した資料を公開します。割と具体的な攻撃方法っぽいことも書いてあるので、良い子はやらな…

AndroidのWebView#addJavascriptInterfaceは基本使わない方がいい、っていう話

基礎知識 Androidアプリケーションで埋め込みブラウザのようなものを実現するためのViewコンポーネントであるandroid.webkit.WebViewには次のようなシグネチャでaddJavascriptIntefaceというメソッドが生えています。http://developer.android.com/reference…

window.gc on Android?

http://sites.google.com/site/devcollaboration/codesearchAndroidのソースを↑で検索していて見つけたhttp://tools.oesf.biz/android-2.3_r1.0/xref/frameworks/base/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java#136windo…

MySQL 日付関数のあんちょこ

こういうのは一時的に詳しくなって、どうせ2ヶ月後には忘れてるものだからあんちょこを書いておくのだ。 ちなみに全てbestな方法かは知らないのだ。次の火曜日 SELECT DATE_ADD(CURDATE(), INTERVAL (IF(@day_of_week <= 2, 3 - @day_of_week, 10 - @day_of_…

MySQL::Sandboxで作った環境にpluginをぶち込む

最近になってようやくMySQL::SandboxでlocalにMySQLのsandbox環境を作って、「マジ便利だなぁ、Perl使ってない人も使うべしなツールだなぁ」という気分になっております。で、今回はせっかくなのでMySQL::Sandboxで作った環境でより色々なことを試せるように…

JSONPのエラーハンドリング(この記事の内容は結果としてエイプリルフールになりました)

※めんどくさい && アホの証拠として残しておくため 消しませんが、ここに書いた方法だと200以外の404とかに対応できないです。つまりダメです http://d.hatena.ne.jp/NeoCat/20110206/1296934235これって結局、根本的には JSONPにおいては、200であっても「J…

Android MarketもといGoogle Playで攻めるとどうなるか

最近休日の勉強やらの合間にAndroidアプリを作ったりしていることは以前にも書いたけど、「これどうかな?」と思ってエロ方向にほんのちょっとだけきわどいアプリを出したらGoogle Playからこんなメールがきた This is a notification that your application…

CORSメモ

大分今更産業ではあるが CORS ≠ xhr2などの特定の技術 xhr2, canvas, SSEなどでcross originな外部リソース取得をする技術の共通基盤的な何か GET, POST, HEAD以外を飛ばそうとするとpreflight request(OPTIONS)が飛ぶ 一部のHTTP Header除くHTTP Headerを勝…

Webアプリのなんかアレ

HTTPはそもそもstatelessだ sessionとかをホゲホゲしてstateを持ち込むけど、そっちを基準にして考えるよりstatelessを基準にして考えた方がいいと思う ここからはWebアプリのことなので、プロトコルから演繹するものかどうかはアレだけど続ける HTTPは本来s…

Gmailのマルチアカウントを切り替えるためのVimpコマンソ

https://github.com/zentooo/rc/blob/master/.vimperator/plugin/gmail_switcher.jsつくった

Content Security Policy (CSP) についてちょっと調べたことのメモ

http://blog.monoweb.info/article/2012031523.htmlしばらく前に↑のblogで記事になった、Content Security Policy(以下CSP)についてのメモ。ちなみにCSP自体の仕様については、 W3Cのdraft (https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/cs…

最近のtest(まだまだ青い)

例えば、testしたいメソッドにif elsif elseという条件分岐があるとして、素直に書くとこうなりがちなので subtest "test for hogehoge" => sub { my $input1 = +{ ... }; my $output1 = $logic->do_hogehoge($input1); is($output1 ... ); my $input2 = +{ …

Source Maps

http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/CoffeeScriptがブラウザ上でデバッグできるようになるなんてすごい!というより、ようやく実用的なレベルに近づいたか、という話だと思うのだが。自分の書いたコードの行と、エラーが出た…

LimeChat for Macのアレ

思い出した。社内の掲示板にはだいぶ昔に書いたんだけど。LimeChat for Macはユーザ定義のCSSやJavaScriptで見た目や振る舞いをカスタマイズすることが出来る(Preferences -> Theme)。JavaScriptのコード内でlocation.hrefを取ると、file://で動いていること…

「オスカー・ワオの短く凄まじい人生」を読んだ

ついに、技術に関係のないことを書かないという誰にも知られていない禁を犯すことになった。まあどうでもいいことです。数ヶ月ぶりに一日で小説を読みきった。ずーっと息を止めて潜るあの感じで。それだけ面白かった。色々な要素が詰め込んであるけど、しっ…

適当なサービスをのっけてみるにはVPSとクラウドサービスのどっちがいいか

作ってみたいベースの適当なサービスであるとか、サービスと言えない程度のiPhoneアプリやAndroidアプリのバックエンドを置くには、VPSとクラウドサービスのどっちがいいか、という話。ここでVPSという言葉で指しているのはさくらVPSを代表として、仮想サー…

jQueryオブジェクトを入れる変数の名前を$で始める話

前提として、何度も同じelementを操作するのに毎回 $("#your complicated.selector").css({"...":"..."}); とか書いてる奴はくたばれ。それは、参照するデータが同じなのに毎回DBに問い合わせてるのと同じだぞ。 $で変数名を始めるのはなんでキモいか 僕がjQ…

本当の効率厨

本当の効率厨なら、いつまでも目先の効率化ばかりしていてはいけないとか言ってみるテスト

CSS3ではセレクタの詳細度(specificity)って結局どうなったんだっけ、という話

CSS

ホッテントリメーカーでエントリのタイトルを作るのはやめにしました。 今日とある場所で、「CSSセレクタの詳細度について説明して」「私は説明するのが面倒なのであなた自身でGoogle検索してください(実際はもっとアグレッシヴな表現)」というやりとりを…

だっふんだぁ

おいしーいーおさけがーのみーたーいー

mixiをしていたごく普通のOLが、何故NodeListというフィールドに舞い降りたのか?

エントリのタイトルを考えるのが面倒になったので、ホッテントリメーカーで作成もしくはホッテントリメーカーで作成されたかのようなタイトルをつけることにしました。 getElementHogeHogeが返すのはliveなNodeListで、querySelectorHogeHogeが返すのはstati…

プログラミング言語について語るときに僕の語ること

僕はしばらく前までプログラミング言語についての議論を戦わすのが好きな人間だった。今でもそういう会話が嫌いではないとはいえない。というか好きか嫌いかで言うと好きな方かもしれない。今でもそういった会話、「何とか言語はこういうとこがいけない」「…

そういえばAmon2のpluginを二つ書いていた

仕事で必要だったので、Amon2のpluginを二つ書いていた。https://github.com/zentooo/Amon2-Plugin-Web-Stash https://github.com/zentooo/Amon2-Plugin-Web-Flashどのくらい一般的な需要があるのか分からないので今のところgithub止まり。内容としてはAmon2…

「アンサイクロペディア・ブラウザ」とかいうAndroidアプリをつくった

わけもなく「よし、Androidアプリが作りたいぜ」と昨年のクリスマスに思ったので、年末からどわーっと勉強し直して、どわーっと作りました。「あんたは実家に帰ってきてもいつもパソコン触っとるねえ」と家族に白い目で見られました。https://market.android…

SQL_SLAVE_SKIP_COUNTERについて教えてもらったよ

何らかの理由でmasterとslaveの間で不整合があって、「既にテーブルがある」とか「UNIQUE制約にひっかかる」とかそういう理由でreplicationが止まっている時は、 SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1; start slave; show slave status; (確認)って風に一…