Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Javascript в Go – Aleksei Shaikhaleev

Javascript в Go – Aleksei Shaikhaleev

GopherCon Russia

April 13, 2019
Tweet

More Decks by GopherCon Russia

Other Decks in Programming

Transcript

  1. Нам нужен умный прокси! Источник данных Прокси Источник данных Источник

    данных Виджет — специализированные языки выражений например, Common Expression Language
 
 https://github.com/google/cel-go
  2. — специализированные языки выражений например, Common Expression Language
 
 https://github.com/google/cel-go

    — скриптовые языки программирования Python, PHP, Ruby, Lua, Javascript Что делать?
  3. Что делать? — специализированные языки выражений например, Common Expression Language


    
 https://github.com/google/cel-go — скриптовые языки программирования Python, PHP, Ruby, Lua, Javascript
  4. Что делать? — специализированные языки выражений например, Common Expression Language


    
 https://github.com/google/cel-go — скриптовые языки программирования Python, PHP, Ruby, Lua, Javascript — Go биндинги к существующим движкам: Google V8, duktape
  5. Окей, а что с Javascript в Go? — Go биндинги

    к существующим движкам: Google V8, duktape — Интерпретаторы написанные на Go https://github.com/robertkrimen/otto https://github.com/dop251/goja
  6. Окей, а что с Javascript в Go? — Go биндинги

    к существующим движкам: Google V8, duktape — Интерпретаторы написанные на Go https://github.com/robertkrimen/otto https://github.com/dop251/goja
  7. Грабли и костыли: — Интеграционные тесты, используем golden files —

    Нельзя вместить в мастер и задеплоить на продакшен, пока тесты не станут зелеными
  8. Тесты: — Интеграционные тесты — Нельзя вместить в мастер и

    задеплоить на продакшен, пока тесты не станут зелеными
  9. Что хочется улучшить? — сделать лучше версионирование парсеров, автоматически откатывать,

    если что пошло не так — перейти на более быстрый интерпретатор JS
  10. Что хочется улучшить? — сделать лучше версионирование парсеров, автоматически откатывать,

    если что пошло не так — перейти на более быстрый интерпретатор JS — сделать автоматическую проверку JS литерами
  11. Что хочется улучшить? — сделать лучше версионирование парсеров, автоматически откатывать,

    если что пошло не так — перейти на более быстрый интерпретатор JS — сделать автоматическую проверку JS линтерами
  12. Стоила игра свеч? — Javascript в Го можно интерпретировать в

    продакшене — Даже внутренние утилиты должны быть удобными
  13. Что ещё? @nimdraugsael я на Гитхабе и в Твиттере Встраиваемые

    интерпретаторы для Go: https://github.com/avelino/awesome-go#embeddable-scripting-languages Интерпретаторы JS:
 https://github.com/robertkrimen/otto https://github.com/dop251/goja