- Цикл событий
Задачи, тики и Web API
Очередь задач
16,6 миллисекунды на задачу
Обработка больших задач
Микрозадачи
requestAnimationFrame
requestIdleCallback
Сравнение очередей
Цикл событий в Node.js - Функции обратного вызова
Ад обратных вызовов
Не выпускайте Залго
Жёсткая сцепленность
Проблема доверия - Обещания
Цепочки обещаний и проброс отказа
Неявное поведение
Возвращение нового обещания
Спрятанный try/catch
Thenable-объекты
Статические методы
Promise.all
Promise.race
Promise.any
Promise.allSettled
Промисификация
Обещания или функции обратного вызова?
Корутины - Async/await
Верхнеуровневый await и асинхронные модули
Обработка ошибок
Не все await одинаково полезны - Заключение
Performance Engineer
Пишем анонимный мессенджер с нуля
Тонкая настройка сети в Linux
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/061/08c/eef/06108ceef7583fd4aa39096ec6941777.png)
Про то, что Linux изначально разрабатывалась как сетевая операционная система я думаю знают все. Поэтому в этой ОС можно вносить достаточно серьезные изменения в сетевую конфигурацию. Как говорится, в Линуксе можно все, главное знать как. Но прежде, чем начать обсуждение темы тонких настроек совершим небольшой экскурс в историю развития Линукс.
React, всплывающие подсказки (tooltips), для самых маленьких
![](https://habrastorage.org/getpro/habr/upload_files/b80/c4d/9bb/b80c4d9bb1582caa0d107fc73642c82b.gif)
Во множестве проектов web разработки для улучшения пользовательского опыта используются всплывающие подсказки - tooltips. В статье рассматривается создание переиспользуемого и гибко настраиваемого React компонента для отображения таких всплывающих подсказок.
Беспроводная сеть и атаки на неё. Часть 2
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/940/571/204/9405712045b283c6de7ad960764ccf9f.png)
В прошлой статье мы установили 2 инструмента для исследования сетевой активности и собрали первые данные о состоянии радио канала вокруг. В этой статье попробуем собрать данные по существующим инструментам для проведения атак и изучим основные протоколы безопасности.
Беспроводная сеть и атаки на неё. Часть 1
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/26d/942/b71/26d942b714d15391ac729acf16b9938f.png)
В этой статье поговорим о том, как работают сети на основе радиоканала и какие существуют атаки в зависимости от используемых технологий. Разберемся как можно "слушать" сеть в сыром виде, обнаруживая её через радиоканал, а в следующей части посмотрим как можно собранные данные использовать.
Предотвращаем утечки памяти в Go, ч. 2. Особенности рантайма
![](https://habrastorage.org/r/w780/getpro/habr/upload_files/7a9/c96/877/7a9c96877ce44eeab107a8ce57f55b99.jpg)
Мы продолжаем наш рассказ о причинах повышенного потребления памяти в языке Go. В предыдущей статье мы детально разобрали ошибки бизнес-логики приложения, которые могут привести к утечкам памяти. Сегодня же сосредоточимся на особенностях рантайма языка Go.
Разработка драйвера сетевого адаптера для Linux. Часть 1
В этой статье мы рассмотрим как устроен драйвер сетевого адаптера для Linux.
Cтатью разделим на две части.
В первой части рассмотрим общую структуру сетевого адаптера, узнаем какие компоненты входят в его состав, что такое MAC и PHY, разберемся как подготовить адаптер к работе, сконфигурировать, и как в итоге получать сетевые пакеты.
Хотя при разработке драйверов необходимо использовать стандартные ядерные фреймворки, такие как clock, reset, libphy и пр., поначалу мы будем работать с адаптером напрямую через регистры состояния и управления. Это позволит нам детально разобраться с аппаратной частью.
Во второй части статьи приведем драйвер к нормальному виду, с использованием стандартных фреймворков и описанием того, что надо указать в Device Tree, и рассмотрим как передавать сетевые пакеты.
Нам нужна макетная плата с сетевым адаптером, на которую можно поставить Linux. Возьмем Orange Pi Zero на платформе Allwinner H2+. В состав платформы входят четыре процессорных ядра Cortex-A7, поддерживается ОЗУ стандартов LPDDR2, LPDDR3, DDR3, широкий спектр соединений и интерфейсов, в том числе сетевой адаптер, для которого мы будем разрабатывать драйвер. Подробное описание платформы тут, документация на платформу Allwinner H3 Datasheet.
Имплементируем WebSocket протокол на Go
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/4a4/fe6/3a7/4a4fe63a7728e298cf3d753449165f74.png)
Статья для тех, кто хочет познакомиться с устройством технологии WebSocket или языком программирования Go.
Или узнать с какой простотой Go стал одним из самых популярных языков программирования для написания сетевых приложений.
Мы сделали наш публичный синтез речи еще лучше
Обновление — забыл ссылку на репозиторий и на колаб с примерами.
Мы были очень рады, что наша прошлая статья понравилась Хабру. Мы получили много позитивной и негативной обратной связи. Также в ней мы сделали ряд обещаний по развитию нашего синтеза.
Мы достигли существенного прогресса по этим пунктам, но ультимативный релиз со всеми новыми фичами и спикерами может занять относительно много времени, поэтому не хотелось бы уходить в радиомолчание надолго. В этой статье мы ответим на справедливую и не очень критику и поделимся хорошими новостями про развитие нашего синтеза.
Если коротко:
- Мы сделали наш вокодер в 4 раза быстрее;
- Мы сделали пакетирование моделей более удобным;
- Мы сделали мультиспикерную / мультязычную модель и "заставили" спикеров говорить на "чужих" языках;
- Мы добавили в наши русские модели возможность автопростановки ударений и буквы ё с некоторыми ограничениями;
- Теперь мы можем сделать голос с нормальным качеством на 15 минутах — 1 часе (с теплого старта в принципе заводилось даже на 3-7 минутах) или на 5 часах аудио (с холодного старта). Но тут все очень сильно зависит от качества самого аудио и ряда деталей;
- Мы привлекли коммьюнити к работе, и нам помогли сделать удобный интерфейс для записи. Мы начали работу над голосами на языках народностей СНГ (украинский, татарский, башкирский, узбекский, таджикский). Если вы хотите увидеть свой язык в числе спикеров — пишите нам;
- Мы продолжаем собирать обратную связь по применимости нашей системы для экранных интерфейсов чтения, и пока кажется, что нужно где-то еще всё ускорить в 5-10 раз, чтобы наши модели закрывали и этот кейс;
Настройка сетевого стека Linux для высоконагруженных систем
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/64e/88f/4a5/64e88f4a59209342ab22da71fd359816.png)
Сетевой стек — одна из самых запутанных вещей в Linux. И не только из-за сложности некоторых концепций и терминов, но и из-за изменения смысла некоторых параметров в разных версиях ядра. В этой статье приведена информация для ядра 2.2 и выше, а также, там где это возможно, указано различие между версиями вплоть до 5.5.
О том как изменять параметры ядра, описываемые здесь, можно прочитать в статье Linux Kernel Tuning for High Performance Networking: Configuring Kernel Settings.
Мониторинг и настройка сетевого стека Linux: получение данных
![](https://habrastorage.org/files/87c/247/7b4/87c2477b48ca450ebaf422832db71333.jpg)
В этой статье мы рассмотрим, как осуществляется приём пакетов на компьютерах под управлением ядра Linux, а также разберём вопросы мониторинга и настройки каждого компонента сетевого стека по мере движения пакетов из сети в приложения пользовательского пространства. Здесь вы найдёте много исходного кода, потому что без глубокого понимания процессов вы не сможете настроить и отслеживать сетевой стек Linux.
Также рекомендуем ознакомиться с иллюстрированным руководством на ту же тему, там есть поясняющие схемы и дополнительная информация.
Мои machine learning тулы для инвестирования
![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/d0e/893/b28/d0e893b28ab48a19faebb697b1d92ea8.png)
В последнее время все больше людей приходит к тому, чтобы не держать деньги под матрасом, а куда-то их инвестировать в надежде сохранить и преумножить свой капитал. Вариант с матрасом плох тем, что с повышением цен на товары и услуги(инфляция) покупательная способность денег падает и через какое-то время купить на них можно значительно меньше, чем раньше. Есть много вариантов, куда вложить деньги(недвижимость, банковский вклад, ценные металлы), но в последнее время популярным становится инвестирование в акции. Только у брокера Тинькофф Инвестиции за несколько лет число клиентов превысило 3.5 млн. В статье я постараюсь описать свой подход к выбору бумаг и поделюсь инструментами, которые для этого разрабатываю.
17 способов проникновения во внутреннюю сеть компании
Сегодня мы поговорим о том, как можно проникнуть в современную корпоративную сеть, которая защищена на периметре различными, даже очень хорошими, средствами сетевой безопасности и самое главное поговорим о том, как с этим можно бороться.
![image](https://habrastorage.org/webt/m_/su/lw/m_sulwcoiihsgxf7z0shbkdai_0.jpeg)
Давайте посмотрим на современную сеть, которая используют самые новомодные технологии в области безопасности.
Видеокурс «Введение в реверсинг с нуля, с использованием IDA PRO. Глава 1»
Хочу сообщить Вам приятную новость. Уже доступна первая видео-глава из цикла статей — «Введение в реверсинг с нуля, с использованием IDA PRO». Сам видеоролик доступен здесь. Очень красивый PDF файл здесь.
Также здесь можно увидеть какие комплектующие я приобрел в своё время:
А здесь можно посмотреть на компьютер в сборке:
Также, в видеоролике я рассказываю про 99 год, Журнал Хакер, в общем про то, что было и уже не будет. И я очень рад, что я попал в это время, время 90-х и пережил всё это.
Информация
- В рейтинге
- Не участвует
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность