15.05.17 ゆるふわRe:VIEW'erの近況

13
ゆるふわRe:VIEW'erの近況 @muo_jp (なかざわ けい) 2015/05/17 Re:VIEW developers meeting #2

Transcript of 15.05.17 ゆるふわRe:VIEW'erの近況

ゆるふわRe:VIEW'erの近況

@muo_jp (なかざわ けい)2015/05/17 Re:VIEW developers meeting #2

Re:VIEWとわたし

• 2013年7月 コミケ(C84)向け同人誌執筆への参加時、原稿書きに使用

• 以降、2013年12月(C85)、2014年7月(C86)、2014年12月(C87)と同様に使用

• 雑誌記事執筆時、原稿作成に利用

• 2014年末頃にVim→Atom(language-review)乗り換え

Re:VIEWでblog - why?

• 主に、雑誌記事を書いた際にボツったネタをblogへ流す用途

• 加えて、日々のメモ系もRe:VIEWに揃えてまとまった文章にしておくと後からなにか使えるかもという欲

Re:VIEWでblog

• まずは自分が使っているBloggerへ流し込めるように

• なるべく手間をかけずにスタートしたい

• 同blog内の他エントリを@<chapref>で参照したい

• YouTubeの動画埋め込みは適当に@<raw>で処理する

Re:VIEWでblog first-step

• 画像の貼り付け問題

• Bloggerは画像アップロードAPIを持たない

• CSSは基本的にゼロから組んでいく

• 例

Re:VIEWでblog first-step

• 結果: https://github.com/muojp/review-blog-template/

• 結構なゴリ押しreview-ext.rblocale.yml

Re:VIEWでblog first-step

• 詳しくはblogにまとめました

• blogをRe:VIEWで書くことを考える( http://www.muo.jp/2015/04/blogusingreview.html )

• 当然このエントリ自体もRe:VIEWにて。

• 始めてから3週間ほどで12エントリ公開、 7エントリ書きかけ→

Re:VIEWでblog 課題

• Blogger特有のURL変換などをreview-ext.rbで処理するのは結構ゴリ押しなので、HTMLBuilderが書き出してくれるXHTML(XML)をパースし直して後処理したほうが何かと良さそう

• divのid属性をほどよく書き換えるなど

• Wordpressぐらいまでは出力変換対応したい気持ち

• Atom+language-reviewの重さ(後述)

Atom+language-reviewの重さ

• .reファイルが200行を超えたあたりから反応悪くなる

• MacBook(12" Early 2015)のCPUが単純に弱い

Atom+language-reviewの重さ

• 調べてみると1タイプごとに120ms止まってた

120ms

Atom+language-reviewの重さ

• タイピング速度が秒間8を超えてくると反応悪さが体感にかなりの悪影響を与えるようになる

• なんで今までは気にならなかったのか?

• CPUが強かった(MacBook Proだと1.7倍ぐらいは速いので12タイプ/sぐらいまではさほど違和感ないはず)

• どう対処する?

• 軽く調べた感じではコンパイル頻度が問題(タイプ都度やってる)

Atom+language-reviewを軽くしたい

• https://github.com/atom/autocomplete-plus/ の実装を調べてみた

• エディタビュー部分にcompositionstartとcompositionendのハンドラを登録しておいて、日本語入力などIMEでの候補決定待ち状態の文字タイプは一切文法解析にかけないような改修が適切そう

./lib/autocomplete-manager.coffee: @editorView.addEventListener('compositionstart', compositionStart)

./lib/autocomplete-manager.coffee: @editorView.addEventListener('compositionend', compositionEnd)

Atom+language-reviewを軽くしたい

• 方針は決まったのでそろそろ実装するフェイズめう