nekobato note

Cybernetiker

m&mは作業中バリバリ食べるのに良い

コストコで買ったm&mの大袋がかなり良かった。

【M&M's エムアンドエムズ】ミルクチョコレート プレイン 56oz(1587.6g)

【M&M's エムアンドエムズ】ミルクチョコレート プレイン 56oz(1587.6g)

1.4円/gで、小分け袋無し。

糖分補給。 バリバリ食べる。歯ごたえは眠気に良い。 お口で溶けて、手に溶けない。キーボードが汚れない。 作業中には最高の食べ物だ、と妻に言ったら、糖尿病を心配された。 今後はこっそり食べようと思う。

他にも最近大袋のお菓子買いが多い。

【きらら】チーズののり巻き550g

【きらら】チーズののり巻き550g

チーズおかきとかチーズのり巻きってのは、普通に買うと割高。 大袋で買うとお得感あった。

おいしいけど、全然無くならなくて困ってる。 一つつまむことはよくあるけど、二つ目に手が伸びない。

コストコティラミス。 でかい

アップデート可能なブックマークレットの作り方

ブックマークレットというと化石のように言われたりもするが、他人のサイトを便利に使うのには一番手軽な方法だと思うので、積極的に活用していきたい。 そして、いざ作るとなると説明が書かれているのは化石のようなサイトが多いので、ナウな構造はソースを参考にするしか無かった。 これは、最近のブックマークレットを参考に、アップデート可能なブックマークレットを作った記録。

GyazzA(C)というのを作った

GyazzというWikiの見た目をスライドにするためのブックマークレットを管理している。 http://gyazz.com

github.com

書いて捨てるようなプレゼンテーションの時は、メモ書きがスライドになるので便利に使っている。

これが

こうなる

「やったースライドにするブックマークレットできたよー」の後にも色々と機能追加やらバグ潰しやらしてて、 そうなるとブックマークレットjavascript自体をメンテ可能な記述にする必要が出てくる。

(数人の)使ってる人に「更新したんでブックマークレット変えてください」と言い続けるのはメンテに精神を消耗するので、 結果的に気軽にメンテできるコードになった

// minify前
javascript:
  (function(){
    var%20a; // %20はスペース
    a=document.createElement("script"),
    a.setAttribute("src","https://nekobato.github.io/GyazzAC/gyazzac.js?time="+Date.now()),
    document.querySelector("head").appendChild(a)
  }).call(this);

スクリプト本体は外部から読み込んで挿入する

手軽なスクリプトならともかく、Wikiをスライドにするような量のスクリプトを全てブックマークレットに書き込むのは無理なので、基本このスタイルになると思う。

自分のサーバで配るのはやめた

最初はhttp://gyazzac.nekobato.net/***みたいに管理していたのだが、 ブックマークレットのために自分のサーバの管理労力を裂くのは馬鹿らしくなってやめた。 gh-pages最高

?time="+Date.now() とは

読み込み先でこの変数を使っているわけではない。 普段のサイトならキャッシュを手動で避ける方法がある(ChromeならShift+更新とか)が、ブックマークレットにはそれがない。 なので、常にキャッシュを使わず読み込むためにこんなクエリを付けている。

静かになった管理

これでようやく 「死んだ?ああ、更新したんでこっちが最新です」とか 「スタイルが当たらない?それキャッシュですね」とか 言わずに済むようになった。

作って投げてそれで済むのが一番いい。

vue.jsを0.12から1.07へ上げてみる

http://vuejs.org/

1.0.0が出たのだが変更が多くてすぐに更新する気が起こらなかった。 小さめのプロジェクトで試しに変えてみたので作業ログを残す。 Vueの新しい機能とかの恩恵は受けないので、基本文句しかない。

動的コンポーネントの書き方

<component is=''> から
<div :is=''></div> になった

comopnentとかいうタグは消えたらしい

v-repeatがv-forに

1.0 は古い v-repeat ディレクティブを v-for で置き換えます。 同じ機能でそしてより直感的なスコープを提供するに加えて、v-for は大きいリストやテーブルをレンダリングするとき、初期レンダリングのパフォーマンス向上を 100% 提供します!

repeatも十分直感的ではないですかね

なぜだ

file : filelist と書いていた表記も
file in filelist に変える必要がある。

v-on=''v-on:

これが一番めんどい 互換性完全に消すの勘弁して

this.$$this.$elsv-el=''v-el:

this.$$が動かないのはまあわかる
v-el=''も動かないので変える必要がある

contentからslotへ

contentでいいじゃん...
微妙に使い方も違ってくるので、後でまた見る
説明文がcontentの頃より詳しくなってるのでハマることが少なくなったと信じたい

感想

互換性とか半分くらいぶっちぎってきたのでかなりつらい
本当ワンマン開発のライブラリを使い続けるのは地獄だぜ、という感想。

ただ、表記はかなり変わったものの、使い方はほぼ変わってないので置換でほぼ動くのは頭を使わないので楽だった。
...というのも、小さくて素直な使い方をしているプロジェクトだから言えることかもしれない。
少しづつ振る舞いが変わっているので大きめのプロジェクトだとまた違ってくるのだろう。