Сегодня состоялся одновременный релиз Node.js v10 (LTS) и NPM v6. Данное событие особенно важно, оно знаменует собой новую веху для всей платформы и превносит много значимых изменений и улучшений во всей кодовой базе Node.js. Появилась поддержка новых алгоритмов шифрования.
Frontend Teamlead
Директивы prefetch и preload в webpack
prefetch
и preload
(они выглядят, соответственно, как «магические комментарии» webpackPrefetch
и webpackPreload
к командам import()
). С их помощью браузеру можно давать подсказки о ресурсах, которые могут понадобиться пользователю в недалёком будущем. Браузер заблаговременно загружает такие ресурсы, что позволяет улучшить впечатление пользователя от работы с сайтом.В материале, перевод которого мы сегодня публикуем, речь пойдёт о том, как пользоваться этими директивами для оптимизации производительности веб-сайтов.
Технический долг на проекте или выбраться из черной дыры
Moscow SPA №4: краткое содержание, видео, презентации, фотоотчёт
Недавно в офисе Авито прошёл четвёртый по счёту митап-сателлит Moscow.js — Moscow SPA, встреча для фронтенд-разработчиков, которым интересна тема веб-приложений (Single Page Application). Прозвучали доклады от представителей Mail.ru, Альфа-Банка и Авито, а в конце встречи прошла панельная дискуссия о том, каким должно быть SPA сегодня. Под катом — видеозаписи и презентации докладов и ссылка на фотоотчёт.
Из рутины в приятный процесс: что такое бэклог продукта и как им управлять?
Ещё один инструмент для проверки ваших npm зависимостей — wtfwith
Ну и никак нельзя обойтись без этой классической картинки:
Export to Excel from JS
Введение
Всем привет! Сегодня я опишу довольно тривиальную, но нигде не освещенную тему экспорта из страницы данных в Excel. На мое удивление сам процесс не описан нигде в полной мере. Итак, приступим.
Bluebird: пояс с инструментами для асинхронщика
Асинхронность. Асинхронность никогда не меняется. Node.js использовал асинхронность, чтобы получить большой rps для io-операций. TC39 добавила промисы в спецификацию для борьбы с адом колбеков. Наконец, мы стандартизировали async/await. Но асинхронность никогда не меняется. Погодите, что это синеет в небе? Похоже bluebird несёт в клюве пояс с инструментами для тех из нас, кто плотно подсел на thenable-объекты и всю эту асинхронную лапшу.
Современный PHP без фреймворков
У меня есть для вас непростое задание. Когда в следующий раз начнёте новый проект, постарайтесь обойтись без PHP-фреймворка. Я не собираюсь перечислять недостатки фреймворков, и это не проявление синдрома неприятия чужой разработки: в этом руководстве мы будем использовать пакеты, написанные разработчиками нескольких фреймворков. Я всецело уважаю инновации в этой сфере.
Патч от Meltdown привел к более критичной уязвимости Windows 7x64/2008R2
Патч, закрывающий уязвимость Meltdown привел к более критичной уязвимости систем Windows 7X64 и Windows 2008R2. Уязвимости подвержены системы, обновленные патчами 2018-01 или 2018-02. Уязвимости не подвержены системы, не пропатченные с декабря 2017 года, либо если на них установлен кумулятивный патч 2018-03.
Классы и фабричные функции в JavaScript. Что выбрать?
class
и о так называемых фабричных функциях (Factory Function). Автор материала, перевод которого мы публикуем сегодня, исследует и сравнивает эти две концепции в поисках ответа на вопрос о плюсах и минусах каждой из них.Проблемы при работе с кэшем и способы их решения
Меня зовут Виктор Пряжников, я работаю в SRV-команде Badoo. Наша команда занимается разработкой и поддержкой внутреннего API для наших клиентов со стороны сервера, и кэширование данных — это то, с чем мы сталкиваемся каждый день.
Существует мнение, что в программировании есть только две по-настоящему сложные задачи: придумывание названий и инвалидация кэша. Я не буду спорить с тем, что инвалидация — это сложно, но мне кажется, что кэширование — довольно хитрая вещь даже без учёта инвалидации. Есть много вещей, о которых следует подумать, прежде чем начинать использовать кэш. В этой статье я попробую сформулировать некоторые проблемы, с которыми можно столкнуться при работе с кэшем в большой системе.
Я расскажу о проблемах разделения кэшируемых данных между серверами, параллельных обновлениях данных, «холодном старте» и работе системы со сбоями. Также я опишу возможные способы решения этих проблем и приведу ссылки на материалы, где эти темы освещены более подробно. Я не буду рассказывать, что такое кэш в принципе и касаться деталей реализации конкретных систем.
При работе я исхожу из того, что рассматриваемая система состоит из приложения, базы данных и кэша для данных. Вместо базы данных может использоваться любой другой источник (например, какой-то микросервис или внешний API).
Resolve IP адресов в Linux: понятное и детальное описание
Настройка сетевого взаимодействия сервисов не самая простая задача и часто осуществляется без глубокого понимания как требуется настраивать систему и какие настройки на что влияют. После миграции сервисов в docker контейнерах с centos 6 на centos 7 я столкнулся со странным поведением вебсервера: он пытался присоединиться к сервису по IPv6, а сервис же слушал только IPv4 адрес. Стандартный совет в такой ситуации — отключить поддержку IPv6. Но это не поможет в ряде случаев. Каких? В этой статье я задался целью собрать и детально объяснить как приложения resolve
'ят адреса.
Четыре факта о memcached-амплификации
Это перевод оригинальной публикации Артема ximaera Гавриченкова «Understanding the facts of memcached amplification attacks», опубликованной в блоге APNIC (Азиатско-Тихоокеанский сетевой информационный центр).
Неделя с 25 февраля по 3 марта была высокоинтенсивной с точки зрения memcached-амплифицированных DDoS-атак во всех уголках мира, то есть в интернете.
Тем не менее, давайте еще раз вспомним все факты, которые нам известны об амплифицированных атаках.
Факт номер один: Амплификаторы были, есть и будут есть
NTP (Network Time Protocol) был первым протоколом, злонамеренно использованным в качестве амплификатора (усилителя) DDoS-атак еще в 2013 году. Тысячи и сотни тысяч NTP-серверов к тому моменту были развернуты по всей сети, так что использование данного вектора амплификации было вполне выгодно злоумышленникам. И NTP давал такую возможность, что вылилось в волну амплифицированных NTP DDoS-атак. В начале 2014 года на какое-то время NTP в качестве главного амплификатора стал даже популярнее протокола DNS (Domain Name System).
Как превратить веб-сайт в мобильное приложение с помощью 7 строк JSON
Превращение веб-сайта в мобильное приложение
Главные критерии SEO и AEO в будущем — понимание и достоверность
Отправляя запрос в Гугл (или Бинг), мы формулируем задачу, которую требуется решить, или вопрос, на который нужно найти правильный ответ. Смысл существования этих поисковиков всегда сводился к тому, чтобы легко и быстро направлять пользователей к наилучшему возможному результату.
С ростом популярности голосового ввода поисковые системы все более стремятся предоставить одно-единственное верное решение и все больше полагаются на такие критерии, как понимание и достоверность.
Что нужно сделать, чтобы этим воспользоваться?
В этой статье мы рассмотрим:
- Обзор текущего положения дел.
- Тенденции развития поисковых систем.
- Что нужно предпринимать уже сегодня.
Переведено в Alconost
Вам не нужны разработчики автотестов
В эпоху вселенского внедрения agile-методологий и Devops уже никто не сомневается в том, что регрессия должна быть автоматизирована. Особенно, если в компании идет речь о Continuous Delivery. Все кинулись хантить разработчиков автотестов, от чего рынок становится перегретым.
В этой статье я расскажу о том, что на самом деле разработчик автотестов — не такая уж и важная роль в команде. Они не нужны, особенно если вы внедряете у себя scrum. И все эти agile-ы и devops-ы можно внедрять и без этих людей. Так что если кто-нибудь вам скажет, что у них в команде все тестируют руками — потому что у них по каким-либо причинам нет разработчика автотестов — не верьте им. Они тестируют руками, потому что по-другому им лень. Или не умеют.
Как выполнять много UI-тестов параллельно, используя Selenium Grid?
Всем привет! Я работаю в Avito и занимаюсь разработкой инструментов для тестирования. Когда у нас стало много UI-тестов, мы столкнулись с проблемой масштабирования Selenium-серверов, и сейчас я расскажу, как мы ее решили.
И так как же все-таки выполнять много UI-тестов параллельно, используя Selenium Grid? К сожалению — никак.
Selenium Grid не способен выполнять большое количество задач параллельно.
Хотите зарегистрировать действительно большое количество нод? Что ж, попробуйте.
Хотите скорости? Её не будет — чем больше нод зарегистрировано на гриде, тем менее стабильно выполняется каждый тест. Как следствие — перезапуски.
Хотите отказоустойчивость на случай, если Grid перестал отвечать? Тоже нет: вы не можете запустить несколько реплик и поставить перед ними балансировщик.
Хотите обновить Grid без даунтайма и чтобы тесты, выполняющиеся в данный момент, не упали? Нет, это не про Selenium Grid.
Хотите не держать тысячи Selenium-ов разных конфигураций в памяти, а поднимать их по требованию? Не получится.
Хотите знать, как решить все эти проблемы? Тогда приглашаю вас прочитать эту статью.
*(Мой доклад с таким же названием уже звучал на Heisenbug 2017 Moscow, и, возможно, кто-то из читателей с ним знаком. Под катом — более подробная текстовая версия рассказа об инструменте).
Шаблоны проектирования в React
Автор этого материала говорит, что начал работать с React около трёх лет назад. В то время ещё не было устоявшихся практик, изучая которые и следуя которым можно было бы улучшить качество своих разработок.
Сообществу React понадобилось около двух лет для того, чтобы выработать несколько идей, которые теперь стали популярными. Тут можно отметить переход с
React.createClass
к классам ES6 и к чистым функциональным компонентам, отказ от миксинов и упрощение API. Теперь, учитывая то, что число React-разработчиков постоянно растёт, то, что в развитие этого проекта вкладываются серьёзные силы, можно наблюдать эволюцию нескольких интересных шаблонов проектирования. Этим шаблонам и посвящён данный материал. Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Работает в
- Дата рождения
- Зарегистрирован
- Активность