парсинг урл? регуляркой? еретики!
думаете, эти 1300 строк просто так занимают место в JRE?
Про ситуацию с библиотеками для работы со временем вообще молчу...
Они есть, но никому не нужны, т.к. всем важен размер яваскрипта. Сильно влияет на юзабилити сайта.
Что действительно нужно яваскрипту — так это оптимизирующий минификатор, способный выкидывать неиспользующийся код. Вопрос в том, как это сделать в таком языке, как яваскрипт...
Когда-то я самостоятельно пришел к той же мысли — хороший код, как и хорошие программы, должен делаться для людей, а не для машин. Любой повторно используемый код — как библиотеки, так и утилиты, должен писаться так, чтобы им можно было пользоваться, не изучая исходники. Причем речь не о документации (кто ее читает?), а о дизайне в целом. Это экономит огромное количество времени в дальнейшем.
А перевод, кстати, чудовищен. Огромное количество англицизмов, ошибок и просто тяжёлый слог. Оригинал читается куда приятнее.
Итак. голый http у меня возвращает 301 на https-версию. Как оказалось, https-версию сайта нужно добавлять руками в вебмастер, чтобы видеть статистику по HTTPS-версии сайта. Добавил, зашел на бета-версию вебмастера яндекса, страница "Проверка ответа сервера". Респонс есть, хтмл возвращается. Вот заголовки:
У меня тоже не индексирует… Не ожидал такого от Яндекса. Исправляется скорее всего аналогично — нужно в if вставить директиву, удаляющую заголовок Upgrade. Вечером займусь.
Всё немного сложнее. Agile, при всех его преимуществах, не бесплатен: итерации требуют дополнительных ресурсов и дополнительного взаимодействия между людьми, увеличивая время разработки. Я думаю, что не будет преувеличением сказать, что примерно на треть.
С другой стороны, при наличии сильной команды аналитиков waterfall может оказаться намного полезнее, предоставляя меньшие сроки разработки, предсказуемость по срокам и качеству результата. Другой вопрос, что качественное ТЗ — это очень дорогое и еще и небыстрое удовольствие, позволить которое мало кто может. Но кое-где это оправдано.
Хе. У меня есть сайт, который крутится и обслуживается ansible+Docker+ES+Kibana+Scala+Finagle+MongoDB+несколько интересных решений в серверной части+несколько интересных решений в яваскрипте. Хватит на цикл статей, но зачем мне это делать, если я не получу ни пиара, ни достаточного количества вменяемых отзывов по архитектуре?
Тайпскрипт — да. Я обожаю его за то, что тайпскрипт — это яваскрипт с метаданными. Прозрачная кодогенерация и полная совместимость с яваскриптом не оставляет ни одной причины НЕ использовать его.
А вот html… пытаться от него изолироваться, имхо, бесполезное дело. Но я до сих пор не уверен, как делать правильно. Возможно, использование компонента не обязано быть единственным тегом? Как в старые добрые времена jquery — мы пишем разметку, а потом она "оживает". типа: <div class=tabs activeTab={activeTab}><div class=tab></div><div class=tab></div></div>. Не знаю.
Как обычно, очень интересная статья, если не смотреть код :-) Оставляет двойственное впечатление — кладезь интересных мыслей и какие-то странно-закрученные реализации.
Те же атомы — я написал свою реализацию в 160 строк и доволен как слон. Что касается фреймворков… нужна простота. минимальное количество кода, чтобы проще было скопипастить к себе исходники, чем читать документацию. Максимальная приближенность к голому хтмл и яваскрипту.
Уже перевел свой сервер на HTTP/2 на nginx. Если у вас на сайте есть TLS, то для новых браузеров этот протокол существенно уменьшает время загрузки страницы. С нетерпением жду, когда же разработчики nginx реализуют HTTP/2 prefetch/preload/server push — это ускорит загрузку еще на один roundtrip.
Токены можно кешировать локально на небольшой интервал времени, это снимает проблему нагрузки, а заодно и latency, если обращаются одни и те же юзеры. Проблема с локально проверяемыми токенами в том, что их нельзя оперативно отозвать, а также в вычислительной сложности или безопасности — смотря как они подписаны.
Увы, 12factor не отвечает на вопросы, сформулированные выше. Если вам нужны логи в кибане не в виде текста, а в виде структурированных данных, если у вас ненадежная сеть (привет, амазон), если вас волнуют потенциальные даунтаймы и узкие места в системе, если вы не можете себе позволить потерю логов из-за сетевых проблем, то...
Мы долго думали об этом, но варианта лучше и гибче, чем писать логи в каталог, смапленный наружу, где они подхватываются логсташем, который парсит их в зависимости от их типа и шлет в кибану json-документы, не нашли.
думаете, эти 1300 строк просто так занимают место в JRE?
Про ситуацию с библиотеками для работы со временем вообще молчу...
Что действительно нужно яваскрипту — так это оптимизирующий минификатор, способный выкидывать неиспользующийся код. Вопрос в том, как это сделать в таком языке, как яваскрипт...
А перевод, кстати, чудовищен. Огромное количество англицизмов, ошибок и просто тяжёлый слог. Оригинал читается куда приятнее.
Да, HTTP/2 у меня включен, https://tools.keycdn.com/http2-test не станет врать. Или уже починили, или я чего-то не понимаю.
ifвставить директиву, удаляющую заголовокUpgrade. Вечером займусь.С другой стороны, при наличии сильной команды аналитиков waterfall может оказаться намного полезнее, предоставляя меньшие сроки разработки, предсказуемость по срокам и качеству результата. Другой вопрос, что качественное ТЗ — это очень дорогое и еще и небыстрое удовольствие, позволить которое мало кто может. Но кое-где это оправдано.
А вот html… пытаться от него изолироваться, имхо, бесполезное дело. Но я до сих пор не уверен, как делать правильно. Возможно, использование компонента не обязано быть единственным тегом? Как в старые добрые времена jquery — мы пишем разметку, а потом она "оживает". типа: <div class=tabs activeTab={activeTab}><div class=tab></div><div class=tab></div></div>. Не знаю.
Те же атомы — я написал свою реализацию в 160 строк и доволен как слон. Что касается фреймворков… нужна простота. минимальное количество кода, чтобы проще было скопипастить к себе исходники, чем читать документацию. Максимальная приближенность к голому хтмл и яваскрипту.
https://github.com/scf37/docker-nginx
За статью спасибо, выглядит интересно.
Мы долго думали об этом, но варианта лучше и гибче, чем писать логи в каталог, смапленный наружу, где они подхватываются логсташем, который парсит их в зависимости от их типа и шлет в кибану json-документы, не нашли.