Буквально на днях группой китайских ученых была открыта уязвимость, позволяющая проводить DDoS-атаки с амплификацией. Авторам удалось провести атаку с коэффициентом 43000! Новая атака может не только истощать ресурсы иcходящего канала целевого веб-сервера, но и каналы CDN нод. Уязвимыми оказались все 13 из 13 проверенных крупнейших CDN провайдеров, включая Akamai, Fastly и Cloudflare. Под катом рассмотрим механизм атаки и предложенные авторами меры.
Пользователь
NextDNS вышел из беты — защита приватности, обход госцензуры и блокировка рекламы для всей домашней сети

Cервис NextDNS наконец-то вышел из беты и теперь официально предоставляет бесплатные услуги по блокировке рекламы и других вредоносных IP-адресов на уровне DNS. Это простой и эффективный метод защиты: NextDNS автоматически фильтрует трафик, не ведёт логов, шифрует DNS-запросы, поддерживает DNS over HTTPS (DoH), представляя собой альтернативу известным DNS-резолверам от корпораций Google, Cloudfalre и «Яндекс».
NextDNS похож на расширения для браузера вроде uBlock Origin, только блокирует адреса на уровне DNS, что в некоторых случаях представляется более удобным вариантом, потому что NextDNS блокирует ненужные запросы не только из браузера, но из других программ, например, из ОС Windows, MS Office, Adobe и так далее.
Как живые: наш опыт редактирования старых фотографий
Революцией в этой сфере для нас в последние месяцы стало появление ряда программ и сервисов, которые в совокупности и при правильном использовании позволяют любому человеку легко ретушировать и расцвечивать старые семейные фото. Результат — реалистичные, чёткие, красивые кадры из старых, зернистых, нерезких и часто поврежденных фото. В большинстве случаев не требуется использование фотошопа.
Хотим поделиться со всеми, кому интересно это ремесло, теми программами, которые мы открыли, а также некоторыми способами их комбинирования в правильном порядке. Речь пойдет об онлайн-приложении Remini, сервисе «Компьютерное зрение от почты mail.ru», приложении Google Snapseed, а также о ряде других штуковин.

Про просмотр кино на английском с субтитрами, упрощение его с помощью двуязычных субтитров, и Bilingual Subtitler
Затем логичным образом должен был идти переход на английский звук и английские субтитры.
Но… все оказалось не так просто, как казалось.

И я придумал выход из этой ситуации.
Vue.js компонент для справки/документации
Пару раз понадобилось встроить в сайт справочную систему. Простенькую, с тремя колонками — общее меню, текущая статья и меню содержания статьи. Поиски готового компонента/библиотеки не привели к успеху совсем. Поэтому пришлось написать свой, который предлагается к использованию.
Как выучиться на Data Scientist: наиболее востребованные технические навыки

В своей первоначальной статье 2018-го года я рассматривал спрос на общие навыки – статистику и коммуникацию. Также я рассматривал спрос на Python и язык программирования R. Технологии создания программного обеспечения меняются намного быстрее, чем спрос на общие навыки, поэтому в этот обновленный анализ я включаю только технологии.
Я искал ключевые слова, которые появлялись в списках вакансий на должность «Data Scientist» в США на таких сайтах как SimplyHired, Indeed, Monster и LinkedIn. В этот раз я решил написать код, чтобы изучить все списки вместо того, чтобы искать вручную. Это решение оказалось очень успешным для SimplyHired, Indeed и Monster. Я использовал Requests и Beautiful Soup из библиотеки Python HTTP. Код с анализом вы можете увидеть в моем отчете на GitHub.
Продираться через LinkedIn оказалось в разы сложнее. Необходимо пройти процесс авторизации, чтобы просматривать точное количество списков вакансий. Я решил использовать Selenium для просмотра страниц без графического интерфейса пользователя. В сентябре 2019 года Верховный суд США выиграл дело против LinkedIn, тем самым позволив очистить данные сайта. Тем не менее, я не смог получить доступ к своей учетной записи после нескольких попыток входа. Возможно, эта проблема возникла из-за ограничения скорости. Апдейт: Я все же смог войти, но боюсь, что меня заблокируют при повторной попытке.
Проверяем уровень защищённости Linux с помощью утилиты Lynis

Вы когда-нибудь задумывались о том, насколько безопасна ваша Linux-система? Существует множество дистрибутивов Linux (каждый со своими настройками по умолчанию), на которых вы запускаете десятки программных пакетов с разными номерами версий. Кроме того, на вашей ОС в фоновом режиме работает множество сервисов, о которых вы порой не знаете или не думаете.
Чтобы получить информацию о системе, то есть проверить общее состояние программного обеспечения, сети и служб, работающих на вашем компьютере с установленной ОС Linux, достаточно выполнить несколько команд. Но что теперь делать с полученной информацией? Как в ней разобраться? Ведь объём данных, которые вам нужно проанализировать, огромен.
Публикуем дизайн-библиотеки компонентов VKUI в Figma
Библиотеки в дизайн-инструментах — это важная часть дизайн-системы. Мы считаем, что дизайнеры должны работать с элементами, которые максимально приближены к реализации в коде. Поэтому в библиотеках мы собрали для них самые актуальные компоненты, которые отражают все те же состояния, что доступны при разработке.
На Github уже опубликован исходный код компонентов на React — следуя примеру наших разработчиков, теперь мы делимся библиотеками компонентов в Figma.
Шаблон backend сервера на Golang — часть 2 (REST API)
UPD. Ссылка на новый репозиторий проекта с поддержкой развертывания в Kubernetes
Представленный ниже шаблон сервера на Golang был подготовлен для передачи знаний внутри нашей команды. Основная цель шаблона, кроме обучения — это снизить время на прототипирование небольших серверных задач на Go.
Первая часть шаблона посвящена HTTP серверу:
- настройка HTTP сервера через командную строку и конфигурационный файл
- настройка параметров TLS HTTP сервера
- настройка роутера и регистрация HTTP и prof-обработчиков
- настройка логирования HTTP трафика, логирования ошибок в HTTP
- HTTP Basic и MS AD аутентификация, JSON Web Token
- запуск сервера с ожиданием возврата в канал ошибок
- использование контекста для корректной остановки сервера и связанных сервисов
- настройка кастомной обработки ошибок и кастомного логирования
- сборка кода с внедрением версии, даты сборки и commit
Вторая часть шаблона посвящена прототипированию REST API.
Ссылка на репозиторий проекта осталась прежней.
Третья часть посвящена развертыванию шаблона в Docker, Docker Compose, Kubernetes (kustomize).
Пятая часть посвящена оптимизации Worker pool и особенностям его работы в составе микросервиса, развернутого в Kubernetes.
В ходе тестирования шаблона на стенде были получены следующие результаты.
Визуализация промисов и Async/Await

Доброго времени суток, друзья!
Представляю вашему вниманию перевод статьи «JavaScript Visualized: Promises & Async/Await» автора Lydia Hallie.
Приходилось ли вам сталкиваться с JavaScript кодом, который… работает не так, как ожидается? Когда функции выполняются в произвольном, непредсказуемом порядке, или выполняются с задержкой. Одна из главных задач промисов — упорядочение выполнения функций.
Мое ненасытное любопытство и бессонные ночи окупились сполна — благодаря им я создала несколько анимаций. Пришло время поговорить о промисах: как они работают, почему их следует использовать и как это делается.
Быстрый роутинг и NAT в Linux
Визуализация сетевых топологий, или зачем еще сетевому инженеру Python #2
Привет, Хабр! Эта статья написана по мотивам решения задания на недавно прошедшем онлайн-марафоне DevNet от Cisco. Участникам предлагалось автоматизировать анализ и визуализацию произвольной сетевой топологии и, опционально, происходящих в ней изменений.
Задача является не самой тривиальной, и в блогосфере встречается довольно мало статей на эту тему. Ниже представляю разбор собственной реализации, а также описание используемых инструментов и подходов.
Всем заинтересовавшимся добро пожаловать под кат!
Универсальное событие в Google Tag Manager
Если вы отслеживаете множество событий и то и дело добавляете новые, вам приходится выполнять серию одних и тех же операций:
- Повесить событие на сайте.
- Создать в GTM триггер.
- Создать в GTM тэг отправки события в Google Analytics.
- Создать в GTM тэг отправки события в Яндекс Метрику.
- Если у вас собираются данные для ретаргетинга в Facebook и VK, то для каждого из них нужно создать в GTM еще по тэгу.
При этом количество сущностей в GTM растет и ориентироваться в них становится всё утомительней. (А еще GTM не резиновый и допустимое количество сущностей ограничено.)
Я придумал и внедрил решение, которое позволяет:
- сократить рутину, избавляя от шагов 2-5;
- не плодить тэги;
- упростить управление событиями.
Нужно только один раз настроить несколько сущностей в GTM и больше вообще его не трогать при добавлении новых событий! Подробности по порядку.
Python: Работа с базой данных, часть 2/2: Используем ORM
часть 1/2: Используем DB-API | часть 2/2: Используем ORM |
---|
Статья ориентирована в первую очередь на начинающих, она не претендует на исчерпывающе глубокое изложение, а скорее дает краткую вводную в тему, объясняет самые востребованные подходы для старта и иллюстрирует это простыми примерами базовых операций.

Требуемый уровень подготовки: базовое понимание SQL и Python (код статьи проверялся под Python 3.6). Желательно ознакомится с первой частью, так как к ней будут неоднократные отсылки и сравнения. В конце статьи есть весь код примеров под спойлером в едином файле и список ссылок для более углубленного изучения материала.
Понимание CSS Grid (3 часть): Grid-области
Приветствую! Представляю вашему вниманию перевод статьи «Understanding CSS Grid: Grid Template Areas» автора Rachel Andrew
При использовании CSS Grid, вы можете располагать элементы на сетке, указывая начальную и конечную grid-линии. Однако, существует и другой, более наглядный способ описания разметки. В этой статье мы узнаем, как использовать свойство grid-template-areas
для размещения элементов на сетке и выясним, как оно в действительности работает.
TV first, отзывчивая типографика или как не забыть о всех размерах девайсов
Добрый день, хабровчане! Не так давно я опубликовал перевод статьи "Полностью отзывчивый дизайн — это больше, чем просто медиа-запросы". В той публикации я пообещал рассказать вам, как я применял данную технику в своем проекте, с чем мне пришлось столкнуться и все связанные с этой техникой особенности, на которые обязательно стоит обратить внимание при разработке. В сегодняшней публикации я постараюсь выполнить свое обещание. Если вам интересен опыт практического использования техники отзывчивых шрифтов в реальном проекте, прошу под кат.
Визуальный отладчик для Jupyter
Пользователи Jupyter любят проводить в блокнотах эксперименты, они используют блокноты как интерактивное средство коммуникации. Правда, если говорить о задачах классической разработки ПО, например, о рефакторинге большой кодовой базы, то можно сказать, что для решения таких задач Jupyter часто меняют на обычные IDE.

Окружение JupyterLab
Проект Jupyter уже несколько лет прилагает усилия к тому, чтобы закрыть разрыв между блокнотами и обычными IDE. Эти усилия, в значительной мере, представлены платформой JupyterLab, которая даёт разработчику более совершенный и удобный интерфейс, в который входят менеджер файлов, текстовые редакторы, консоли, блокноты.
Правда, до недавнего времени в JupyterLab кое-чего не хватало. Речь идёт о том, что являло собой главную причину, по которой пользователи вынуждены были переключаться на другие среды. Пользователям Jupyter не хватало визуального отладчика. Пользователи, особенно те из них, которые привыкли к обычным IDE, долго просили об этой возможности.
Интерактивные эксперименты с машинным обучением (на TensorFlow)
Вкратце
Я создал новый проект Интерактивные эксперименты с машинным обучением на GitHub. Каждый эксперимент состоит из Jupyter/Colab ноутбука, показывающего как модель тренировалась, и Демо странички, показывающей модель в действии прямо в вашем браузере.
Несмотря на то, что машинные модели в репозитории могут быть немного "туповатенькими" (помните, это всего-лишь эксперименты, а не вылизанный код, готовый к "заливке на продакшн" и дальнейшему управлению новыми Tesla), они будут стараться как могут чтобы:
- Распознать цифры и прочие эскизы, которые вы нарисуете в браузере
- Определить и распознать объекты на видео из вашей камеры
- Классифицировать изображения, загруженные вами
- Написать с вами поэму в стиле Шекспира
- И даже поиграть с вами в камень-ножницы-бумагу
- и пр.
Я тренировал модели на Python с использованием TensorFlow 2 с поддержкой Keras. Для демо-приложения я использовал React и JavaScript версию Tensorflow.
Новый способ отслеживания данных в Google Tag Manager – Server-Side Tagging
Давайте рассмотрим поближе, как это работает.
Information
- Rating
- Does not participate
- Registered
- Activity