カラクリスタ

「人並みの人生」なんて失かった人の個人ブログ

ここ数日前の数日間、ひとりデスマしてました

概要: もう嫌だ!嫌だよぅ……


1. 何をやってたのか

  • LDR Full Feed を Fluid.app で使えるようにしてた
  • Fluidlize した Qiita を LDRize するための手法を探ってた

2. デスマってたけど出来た成果

LDR Full Feed for Fluid.app Qiita LDRize for Fluid.app

3. 何故ひとりデスマったのか

Case 1: LDR Full Feed の場合

  1. Firefox しかサポートしてない Javascript 構文に最初気づかなかった
  2. GreaseMonkey 特有の関数の代用方法の開発に手間取った
  3. Fluid.app の localStorage が揮発する事に気がつかなかった
  4. あと wedata が死んでた。だいぶ前から
  5. 上記理由により、FullFeed for Chrome から SITEINFO のキャッシュ取り出す羽目になった
  6. あと事ある毎に Fluid.app の UserScript が黙して死ぬ。エラーでない
  7. 最後は気合いと根性でなんとかした。完全に動作させるまでまる二日かかった

Case 2: Qiita LDRizre の場合

  1. 最初 LDRize と MiniBuffer を Fluid.app に移植しようとして死んだ
  2. 途中で方針転換し、独自に LDRize する方向に切り替えるまで時間がかかった
  3. やっぱり Fluid.app で UserScript が黙して死んだ
  4. あと Qiita 上の UI のイベントを発火させる方法の開発に手間取った
  5. Fluid.app 上でのスクリプト完成後、Google Chrome 上で動かそうとして死んだ

4. 今回のデスマで得られた知見

  1. Fluid.app のwindow.localStorageは揮発する
  2. スクリプトが黙して死す場合、Javascript Console にブツを流し込め。そうすればエラー箇所が分かる
  3. Backbone.js のclickイベントは、DOM から発火させろ。jQueryから発火させてもエラーを吐く
  4. 精神が荒廃する前に撤退しろ。いくら気になって気になって仕方がなくてもだ!

5. 以上、報告終わり

プロジェクトが炎上するのなら、みんな死ぬしかないじゃない……

あなたも……

わたしも……

FIXME