Lebab

942bb606679caf4c57b38927f83178e1?s=47 qsona
February 09, 2016

 Lebab

東京Node学園 19時限目 飛び入りLT
(links)
lebab https://github.com/mohebifar/lebab
カジュアルJavaScript AST http://azu.github.io/slide/JSojisan/
qsona/xto6-let https://github.com/qsona/xto6-let
FiNCとマイクロサービス http://www.slideshare.net/fumiyashinozuka/finc-52564251

942bb606679caf4c57b38927f83178e1?s=128

qsona

February 09, 2016
Tweet

Transcript

  1. 東京 Node 学園 19 時限目 Lebab につ い て 株式会社

    FiNC 森 久太郎 Twitter/GitHub: @qsona 1 / 14
  2. 前回までの あ らすじ Node.js で普通の API サーバをガリガリ書 い てた 「

    フツウ 」 の サーバサイド開発に Node.js を採用しません か ? (-- Node 学園祭 2015 での発表 ) 2 / 14
  3. 近況 _人人人人人人人人人人人人人人人_ >  Ruby on Rails に魂売りました   <  ̄

    Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y  ̄ 3 / 14
  4. Lebab ( 旧 xto6) https://github.com/mohebifar/lebab 4 / 14

  5. Lebab ( 旧 xto6) Babel の逆 ES5 までのコードを ES.next のコードに変換する

    既存の大量のコードを移行で き る 今 か ら一旦 ES5 で開発開始しても 、 後で移行で き る ここ 最近の開発で 、 使 え るプロダクトになって き て い る 10000 行程度に適用した 5 / 14
  6. Babel との比較 Babel Lebab 継続して使 う 基本一回だ け 速 い

    ほ うがいい 遅 く ても いい Regenerative Non-Destructive 6 / 14
  7. Source Transformation AST を利用し 、 ソースコードを書 き 換 え る技術

    参考 : カジュアル JavaScript AST http://azu.github.io/slide/JSojisan/ Non-Destructive / Regenerative ( 前者 ) 元のコードの情報を維持したまま 、 関心 があ ると こ ろ だ け を書 き 換 え る ex) Lebab ... 空白行と か を残した い ( 後者 ) 元のコードの情報を維持せず 、 新し いAST を作る ex) Babel, istanbul, など 7 / 14
  8. Non-Destructive 最初 (2015/11 まで ) は Regenerative だった escodegen =>

    recast にして Non-Destructive に 移行は超簡単だった 関係な い 修正は 3 行 く ら い AST 標準の おかげ 8 / 14
  9. 2015/11 の状態 割と使 い 物にならな か った f o r

    ( v a r i = 0 ; i < 3 ; i + + ) { . . . } ↓ f o r ( c o n s t i = 0 ; i < 3 ; i + + ) { . . . } 9 / 14
  10. 2015/12 の状態 少し直して 、「 使わな い よりはマシ 」 に f

    u n c t i o n a ( ) { v a r x = 0 ; } v a r x = 1 ; ↓ f u n c t i o n a ( ) { c o n s t x = 0 ; } l e t x = 1 ; ( 自分にとって大した問題じゃな いか ら放置した ) 10 / 14
  11. 2016/2 ( 現在 ) の状態 直ってる !! 有力な contributor が

    出現してるぽ い 11 / 14
  12. チーム開発での移行 当然コンフリクトする lebab か ますのは い つでもで き る lebab

    以外の修正を全て優先し 、 最後に lebab し直す master に lebab 入った branch で g i t r e b a s e m a s t e r したらコンフリクト g i t c h e c k o u t f i l e - - t h e i r s => 再 lebab 12 / 14
  13. チーム開発での移行 1 つずつ順番にやったほ うがいい ex: https://github.com/qsona/xto6-let var を const と

    let にするだ け の cli です 13 / 14
  14. Thanks!! We are hiring!!! microservices FiNC とマイクロサービス オーケストレーション層を Node.js で作りた

    い( 計画中 ) React 機械学習 14 / 14