slowjet

is a part of a carburetor

自動投稿のテスト 2

こんばんは

自動投稿のテスト

こんにちは

地雷になる仕様

十分な吟味が必要 前もって、どれくらいのヤバさを秘めているのかを知っていれば、仕様策定時に一歩引いて考えられる 履歴 ユーザーがトークンを持っていない (トークンなしでの)データの先勝ち HTMLなどの生のデータを保存 こういうことをしてると危険 全…

複数人で開発するときに揃えたほうがいいところ: 機能の実装方法を揃える

例えば、ドラッグアンドドロップを実装するとして、一人はjQueryのプラグインを使って実装して、もう一人はHTML5のDrag & Drop APIを使って実装してしまわないように、その時にいる人たちで話して統一する。後から入った人には、その旨が分かるようにメモで…

GitHubのPull Requstの運用について

GitHubを使っている案件で、何か新しい機能を実装したとき、バグを修正したときはPull Requestを出しているんだけど、これの運用メモ。 作業中は[WIP](Work In Progress)をタイトルの接頭辞にする 作業が完了したら[WIP]を削除する 完了したら誰かに@で確…

大量にDOM操作(追加削除変更)をしていて、そのDOMのイベントを監視している場合は確実にイベントの監視を解除する

キの字だけど、最近イベントの監視を解除し忘れていたのが原因で、メモリリークを起こしてブラウザをクラッシュさせるという事案があったので。 View.render = function() { this.$someElem = $('<div class="someView"></div>'); this.$someElem.on('click', function() { ... }); this.…

GitHubとかによくあるEmoji(iPhoneぽいやつ)のライセンスは誰のもの?

まあAppleですよね。 だから、あのEmoji画像が含まれたリポジトリがMITになってたりするんだけど、ライセンスをよく見ると、Emoji画像はAppleに帰属するとか書いてあったりする。 つまり、基本的には使っちゃいけないんですよ。 オープンソースの「絵文字」…

複数人で開発するときに揃えたほうがいいところ: イベントの命名規則

イベントドリブンな持ち回しだと、よくあるイベント名を使いがち。例えば、クリックされたっていうのから、コントローラーとかへ渡す場合 // view _onClick: function(ev) { this.someController.trigger('click', @); } // controller _eventify: function(…

複数人で開発するときに揃えたほうがいいところ: コメントを出来る限り書く

コメントは出来るだけ、分かりやすく書いたほうがいい コードを読めば分かるけど、あっちへいったりこっちへいったり… コメントが適切に書かれていれば、このメソッドはどこでどう必要になっていて なぜこの引数が必要なのかなど、そういう情報が一目で分か…

複数人で開発するときに揃えたほうがいいところ: どのクラス/コンストラクタ/オブジェクトのメソッドを実行しているのかを明示する

気づいたところをメモしていくところ。今さら…とか恥ずかしがらずに書く。 どのクラス/コンストラクタ/オブジェクトのメソッドを実行しているのかを明示する 例えばSuperPagesと、これを継承するBasicPagesという二つのコレクションがあり、これらはどちらも…

$('<div class="hoge">')はIE8以下ではダメ

ふむ、知らなかった。IE8以下だとうまく要素が作れないので $('<div class="hoge"/>') または $('<div class="hoge"></div>') または $('<div>').addClass('hoge') とする。久しぶりにjQuery関連でハマってちょっとだけうれしい。 classがダメなんじゃなくて、属性関連も全部ダメ。単独じゃない場合は、閉じる</div></div>…

ここにGitHubを便利に使うUserScriptが2つあります

GitHubのIssueナンバーをタイトルに表示する GitHubのIssueページに検索ボックスをとても分かりやすい位置に置く 最初のやつはあれば便利っていう感じだけど、 画像がでかいな・・・ 二つめのやつなんか、ぱっとみどこにあるか分かりますかね。 ヘッダーにある・…

Backbone.jsでsetするときにvalidateが動かないじゃん

だまってvalidateオプションをtrueにするんだ model.set('hoge', 'fuga', { validate: true });

パズドラ風アイコンジェネレーター ver.2で画像サイズとフレームなしも選べるようになった

Facebookのアイコンサイズが180x180らしいので、180x180(実際はちょっと大きくなっちゃうけど)も選べるようにした あとフレームなしも選べるようになった

ChromeでCharlesのMap Localとかが動かないとき

Safariで見よう

genymotionとADB(Android Debug Bridge)でAndroidのWebページデバッグ

長らくAndroid対応をしてなかったので浦島状態だったのだけど、Genymotioinっていうのを使うと、さくさく動いてデバッグしやすいというのを聞きまして。 結論から言うと、4.x系だけでした。2.3.x系以前のOSはなかったので、つまり実機か、バーチャルテスト端…

パズドラ風アイコンジェネレーター ver.2 #ここでハマったよiOS

パズドラ風アイコンジェネレーター ver.2 今回はiOSでハマった場所を中心にお送りします。 Android・・・?そんな(うんこ)端末知らねぇぜ・・・ パズドラ風アイコンジェネレーターはinput[type="file"]で選択した画像をFile APIを使って、読み出してCanvasに書き…

パズドラ風アイコンジェネレーター ver.2 #Webフォント編

パズドラ風アイコンジェネレーター ver.2 7月時点ではiPhoneアプリにしたいなと思ってたんだけども、Canvas使ってプラスとレベル表記乗せたらおもろいということに気づきまして、結局Webアプリのパズドラ風アイコンジェネレーターをアップデートしました。 …

Backbone.jsでタッチイベント周りの処理

eventsの遅延評価で、イベント部分を分ける。対象メソッドは共通にしておく。メソッド内で必要になる位置関連のメソッドも用意しておいて、どちらであっても問題なく取得できるようにしておく。 タッチイベント周りと書いたけど、下記のコードはタッチで何ら…

CoffeeScriptではNamed functionが使えない

ふーむなるほどー使えないんですなー 検索したら出てきた笑ったやつ↓ Named function in CoffeeScript - Gists - GitHub こういうのどう書くんだろうと思ったら (function foo() { bar(); setTimeout(foo, 100); }()); CoffeeScriptだと、こうするようだ (fo…

jQueryのajaxError

気がつけば2ヶ月以上ブログを書いていなかった・・・ マメ男にはなれなさそうです ずっとバカの一つ覚えみたいに $('body').ajaxError(function() { foo(); }); としてましたけど、ajaxErrorが1.8系からdocumentにしか使えなくなっていた $(document).ajaxError…

Vim と Marked で快適な Markdown 編集環境

vim-quickrunとMarkedでmarkdown編集が快適になった このエントリーを見て、Marked を導入してみたのだけど、これが快適で。 以下 Vim って書いているのは Mac Vim です。 導入は書かれている通り、vim-quickrun と Marked を使うだけなんですけど Markdown …

コールスタックを辿って、関数が呼ばれた元の位置を知る

プロジェクトが長くなってくると、前に書いたはずのコードも忘れがちだよね… あれ、なんでこれ2回も呼ばれてるの、記憶にないんだけど(いやいや前に書いてる Chrome なら Error オブジェクトの stack で辿れる function hoge() { var err = new Error(); er…

BLOB とは何か

a[download] と Blob で任意のファイルを作ってダウンロードさせる で唐突に出てきた BLOB という物が何かという説明をちょっと。 32KB以上の大きなデータを扱う場合は、 Large Object(LOB) Data Types を利用する。 BLOB はこれのひとつで、Binary Large OB…

Backbone の collection 全てを destroy する

前書いたと思ってたけど書いてなかった。 destroy で DELETE も同時に行う。 collection.each(function(model) { model.destroy(); }); これだと、destroy 実行で collection から model が削除されて length が変わってしまうので、ダメ _.each(collection.…

a[download] と Blob で任意のファイルを作ってダウンロードさせる

これを JSON ファイルとして保存したい { hoge: 1, fuga: 2, piyo: 3 } インターフェース <a href="#" class="download disabled">ダウンロード</a> 1. Blob(*) を使ってバイナリデータを作る var a = document.querySelector('.download'); var obj = { hoge: 1, fuga: 2 , piyo: 3 }; var blob = new …

$.when には Deferred の配列を渡せない

どうも JS Deferred の癖が残っているようでいつもやってる気がする function hoge() { var dfrs = []; _.each(arr, function(obj) { var $dfr = $.Deferred(); dfrs.push($dfr); // 完了したら $dfr.resolve(); }); return $.when(dfrs); } これだとだめ。…

preventDefault()の位置に悩む

どこに書いても気持ち悪いなんとかしてください 気持ち的にはこれなんだけど $('a').click(function(e) { e.preventDefault(); var self = this; // hogehoge }); ちきしょう、varを先頭にまとめたいぜ・・・ かといって $('a').click(function(e) { var sel…

WebStormでJSHintのglobalsを設定する

もちろんコメントでも指定できるけど Settings>JavaScript>Code Quality Tools>JSHint の Predefined でも設定できる。 Librariesに登録してるものはこれで指定してしまってもいいかも。 ところでWebStorm6からはJSHintの設定UIが大幅に変わって、詳細に指定…

Flexible BoxでGrowlみたいな通知UIを実装する

↑の画像のみたいなGrowlぽい通知UIを作るときに、一筋縄ではいかなそうなところと言えば右上から下へ順に流れていってウィンドウに収まりきらなくなったら、列が変わって左へ流れていくようなレイアウトを作るところでしょうか。言葉が下手すぎたので図を見…

Google Chromeのインスペクタのアイコンをスッキリさせる

Chromeのインスペクタは表示してるDockをブラウザの「下・右・独立ウィンドウ」と選べるんだけど、右にしたときにアイコンがでかすぎて一番よく使うConsoleが見えない。。 Macだと「Cmd+[」で前のタブ、「Cmd+]」で次のタブ移動が出来るんだけど、いやもうそ…

バックグラウンドに残ったrakeのserverプロセスをkillする

pgrep ruby で起動中の一覧が表示されるので 20111 20110 killで指定する kill -9 [ID] 20111をkillするときは kill -9 20111

Gitでコミットせずに現在の変更を一時的に保存して、違うブランチで作業したい

git

調べても全然出てこなかったこれが、聞いたら0.5秒でstashだよって答えが返ってきました・・・git branch commit 移動 とか僕のググらビリティ低すぎわろた とりあえず保存しときたい git stash または git stash save でワークツリーを一時的に保存できる …

$.extend()とディープコピーを理解しよう

軽めのjQuery Advent Calendar 2012 16日目 Backbone.jsでattributesにオブジェクトを入れてハマった、っていうエントリーを書こうとしたら、ハマった僕を助けてくれたほかちゃんが先にBackbone.js Advent Calendarでエントリーを書きやがった書いてくれちゃ…

XHR2でデータをFormDataで送るときの構造の入れ子

なんしか受け取り側が { parent: { child1: 'value', child2: 'value' } } みたいになってるとき var formData = new FormData(); formData.append('parent[child1]', 'hogehoge'); formData.append('parent[child2]', 'fugafuga'); とすればOK 関連: http:…

mochaで非同期のテストとか

describe 'テストやで', -> it 'ほげほげすること', (done) -> # 何らかの処理 # OKだったらdone()を呼ぶ done() これでOK

ヒアドキュメント内の関数展開

hoge.html(""" <div>#{ fuga }</div> """)

CharlesでSSL経由でもローカル(リモート)ファイルにマッピングする

SSL上のファイルはProxy SettingsのSSLにホストを指定しないとマッピングできない

バックグラウンドプロセスで起動したサーバーが残ってて起動できない

$ rake watch みたいなのでNode.jsのサーバーが立ち上がるようになってるんだけど、謎の(僕にとって)エラーが出て立ち上がらなかくて、どうやらバックグラウンドプロセスでサーバー残ってるんじゃないかということを聞いた。 $ ps aux | grep node > nori …

エラーがあった場所を知りたい .stack

どんだけ更新してないのか・・・ //hogeoge .next(function(res) { // hogehogehogehoge }) .error(function(res) { console.log(res); }); resは正しいのでerrorになる。どこでエラーが出てるか分からない。 .error(function(res) { console.log(res.stack)…

$ python -m SimpleHTTPServer 8080でカレンドディレクトリでサーバーが立ち上がる

べんり $ python -m SimpleHTTPServer 8080

夜フクロウでGrowl通知が常にデフォルトになる

いつの頃からか全然覚えてないけど、そうなっててなんとかならんのかなーと思って。Lionになったタイミングからかなぁ。。 とりあえず http://d.hatena.ne.jp/Hoshi-KN/20111126/1322319437 これ試してみたけど、だめで、そういえばGrowlが1.2.2だったから、…

Vimで複数ファイルの置換

Vim

http://zx.jpn.org/b/20081025/155/vim/vim-mluti-file-replace :args *.html :argdo %s/hoge/fuga/g | update :args hogeでとってきたファイルは:argsで確認できる

jadeでextend使うときはlayout:falseが必要

なるほど・・・ app.set('view options', { layout: false });

gitで間違えてrmしたのをpushしてしまった

git

$ git revert #comimt_id で該当コミットまで戻って $ git checkout $files でrmしたファイルを取り戻す あとは $ git add -A $ git push

gitのpushがrejectされた

git

pushしたらなんかエラーが出てpushできない $ git push origin [remote branch] ! [rejected] [branch] -> [remote branch] (non-fast-forward) error: failed to push some refs to 'git@reposicoty.git' To prevent you from losing history, non-fast-for…

gitで心当たりのないコンフリクトしたとき

git

$ git rebase --abort

iOS4.3以下だとEvent delegationでA要素を探せない

こんなコードがあって、アンカー部分をタップしてもiOS4.3以下ではA要素を捕捉できない。 document.addEventListener('click', function(ev) { var target = ev.target; // iOS5以上、Android2.2以上では大丈夫(2.1以下未確認 if ( target.nodeName === 'A'…

Backbone.jsのRouter

Backboneについて何か書こう書こうと思ってたけど、長くなってしまいがちで、長い文章は苦手なので下書きがたまるいっぽうだったんだけど、簡単なやつから書いていきましょうかなみたいな Routerを使うと、hashchangeを監視してroutesに記述したルールに沿っ…

カスタムデータ属性とかたくさん入ってる要素の書き方

<a href="#url" class="hogefugapiyo" data-hoge="hoge" data-fuga="fuga" data-piyo="piyo" >text</a> こんな感じで書いてるけど、みんなどう書いてるんだろう