Сетевой стек Linux по умолчанию замечательно работает на десктопах. На серверах с нагрузкой чуть выше средней уже приходится разбираться как всё нужно правильно настраивать. На моей текущей работе этим приходится заниматься едва ли не в промышленных масштабах, так что без автоматизации никуда – объяснять каждому коллеге что и как устроено долго, а заставлять людей читать ≈300 страниц английского текста, перемешанного с кодом на C… Можно и нужно, но результаты будут не через час и не через день. Поэтому я попробовал накидать набор утилит для тюнинга сетевого стека и руководство по их использованию, не уходящее в специфические детали определённых задач, которое при этом остаётся достаточно компактным для того, чтобы его можно было прочитать меньше чем за час и вынести из него хоть какую-то пользу.
Разработчик
Продвинутая работа с JSON в MySQL
У MySQL нет возможности напрямую индексировать документы JSON, но есть альтернатива: генерируемые столбцы.
С момента введения поддержки типа данных JSON в MySQL 5.7.8 не хватает одной вещи: способности индексировать значения JSON. Для того, чтобы обойти это ограничение, можно использовать генерируемые столбцы. Эта возможность, представленная в MySQL 5.7.5, позволяет разработчикам создавать столбцы, содержащие информацию, полученную из других столбцов, предопределенных выражений или вычислений. Генерируя столбец из значений JSON, а затем индексируя его, можно практически индексировать поле с JSON.
Тест на проникновение с помощью Metasploit Framework: базовое руководство для системного администратора
Редко кто из экспертов, специализирующихся на тестировании защищенности, сталкивался с ситуацией, когда не смог полностью скомпрометировать сеть в ходе внутреннего тестирования на проникновение. Причем причины успехов этичных хакеров банальны: слабые пароли, отсутствие критичных обновлений безопасности, ошибки конфигурации. Возникает вопрос: если причины незащищенности такие тривиальные, можно ли разработать перечень ключевых проверок, которые мог бы провести системный администратор самостоятельно и есть ли единый инструмент, позволяющий это реализовать? Попробуем разобраться.

21 совет по эффективному использованию Composer

Хотя большинство PHP-разработчиков умеют пользоваться Composer, не все делают это эффективно или лучшим возможным образом. Поэтому я решил собрать советы, которые важны для моей повседневной работы. Большинство из них опираются на принцип «От греха подальше»: если что-то можно сделать несколькими способами, то я выбираю наименее рискованный.
Пользователь Reddit под ником DeepFakes научил нейросети создавать интимные ролики со звездами
Правило 34
Пользователь Reddit под ником DeepFakes научил нейросети создавать интимные ролики со звездами. Его жертвами уже стали: Эмма Уотсон, Мейси Уильямс, Скарлетт Йоханссон, Галь Гадот.
Для создавая подобных видео были использованы алгоритмы машинного обучения такие как TensorFlow, которые Google бесплатно предоставляет исследователям, аспирантам и всем, кто интересуется машинным обучением, а также материалы из открытого доступа.
С первого взгляда кажется правдоподобным, но на видео наблюдаются артефакты лицо не отслеживается правильно, хотя распознать фэйк не искушенному зрителю будет сложно.

Большой брат
Как инструменты Adobe, которые могут заставить людей говорить что-либо, и алгоритм Face2Face, который может подменять лица в режиме реального времени, этот новый тип поддельного видео показывает, что человечество находимся на грани, где легко создать правдоподобные видеоролики о том чего мы никогда не делали.
Анонимный Дед Мороз 2017-2018: пост хвастовства новогодними подарками

Анонимный Дед Мороз 2017-2018 набирает обороты: более 30 участников отметили подарок отправленным, а несколько человек даже нашли в себе силы встать из-за компьютера и сходить за получением на почту.
Что же именно дарят Хабравчане своим Хабравнукам, Хабравнучкам и тем, кто не заполняет поле «Пол» в Хабрапрофиле? Давайте зайдем в комментарии и все у них разузнаем.
Если вы стали свидетелем неправильно заполненного адреса, внука, не идущего забирать посылку на почту, либо иной новогодней аномалии, не ленитесь сообщать об этом пользователю iCTPEJlOK. Берегите себя и своих внуков.
С НАСТУПАЮЩИМ НОВЫМ 2018 ГОДОМ!
Ваши iCTPEJlOK и kafeman.
Меняем PID процесса в Linux с помощью модуля ядра

Найдена крупнейшая БД украденных паролей: что следует знать
Это «самая объемная» база данных такого рода на сегодняшний день. В этой статье мы поговорим об особенностях найденной базы, вспомним похожие утечки пользовательских данных и расскажем о том, что делать в ситуации, если вы «нашли себя» в такой БД.

Трансляция h264 видео без перекодирования и задержки
Перед нами и нашими швейцарскими партнёрами из компании Helvetis встала задача транслировать видео в режиме реального времени с web-камеры с маломощного embedded-устройства на дроне по WiFi на Windows-планшет. В идеале бы нам хотелось:
- задержку < 0.3с;
- низкую загрузку CPU на embedded-системе (меньше 10% на одно ядро);
- разрешение хотя бы 480p (лучше 720p).
Казалось бы, что может пойти не так?

Почему Go — это плохо продуманный язык программирования

Окей, заголовок действительно несколько громкий, признаю. Cкажу больше: я прусь от громких заголовков, все из-за внимания. В этой блогозаписи я постараюсь доказать тот факт, что Go это ужасно продуманный язык (спойлер: это так). Я уже играюсь с Go уже на протяжении нескольких месяцев, первый helloworld собрал, кажется, в июне. Математик из меня никакой, но с тех пор прошло уже что-то около 4 месяцев и я даже успел залить на Github несколько репозиториев и собрать немного звезд! Стоит также упомянуть, что у меня совершенно нет опыта применения Go в продакшне, так что любые мои слова о «поддержке кода» или «деплое» не стоит принимать за единственноверную истину.
Я люблю Go, я полюбил его как только впервые попробовал его. Я потратил несколько дней на то, чтобы принять идиоматику, смириться с отсутствием дженериков, разобраться с откровенно странным способом обработки ошибок и вы знаете, всеми этими классическими проблемами, так или иначе связанными с Go. Я прочел Effective Go, много статеек из блога Dave Cheney, следил за всеми новостями из мира Go. Я даже могу сказать, что я достаточно активный участник сообщетсва! Я люблю Go и ничего не могу с этим поделать — Go просто замечательный. Тем не менее, я считаю, что Go это ужасный плохо продуманный язык, который делает совершенно не то, что «продает».
Алиса. Как Яндекс учит искусственный интеллект разговаривать с людьми

Несмотря на кажущуюся простоту, голосовой помощник – один из самых масштабных технологических проектов Яндекса. Из этого поста вы узнаете, с какими сложностями сталкиваются разработчики голосовых интерфейсов, кто на самом деле пишет ответы для виртуальных помощников, и что общего у Алисы с искусственным интеллектом из фильма «Она».
Выжимаем все соки из Chromium на Linux
Поехали!
MikroTik — несколько адресов и несколько разных MAC на одном интерфейсе

Нечасто, но с завидной периодичностью на профильных форумах возникал один и тот же вопрос: «как на одном интерфейсе роутера MikroTik получить два IP-адреса с разными MAC?». Обычно этот вопрос остается без ответа, либо вопрошающему отвечают «никак». И действительно, задача нетривиальная. В стандартной конфигурации соблюдается правило «1 интерфейс = 1 MAC». В этой статье я расскажу как обойти это ограничение используя расширенный функционал MikroTik.
Погружение в CSS: метрики шрифтов, line-height и vertical-align

line-height
и vertical-align
— это простые свойства CSS. Настолько простые, что большинство из нас уверены, что понимают, как они работают и как их использовать. К сожалению, это не так — на самом деле они, пожалуй, являются самыми сложными свойствами, поскольку играют важную роль в создании малоизвестной особенности CSS под названием «строчный контекст форматирования» (inline formatting context).Например,
line-height
можно задать в виде длины или безразмерного значения, но его значение по умолчанию — normal
(стандартное). Хорошо, но что значит «стандартное»? Зачастую пишут, что это (как правило) 1, или, может быть, 1,2. Даже в спецификации CSS нет четкого ответа на данный вопрос.Нам известно, что безразмерное значение line-height зависит от значения
font-size
, но проблема в том, что font-size: 100px
выглядит по-разному для разных гарнитур. В связи с этим возникает вопрос: всегда ли line-height
будет одинаковым или может различаться? Действительно ли это значение находится в промежутке от 1 до 1,2? А как vertical-align
влияет на line-height
?Давайте углубимся в не самый простой механизм CSS…
Если вместо оформления на работу предлагают открыть ИП
Что выгоднее открыть разработчику: ИП или ООО? Небольшой Чек Лист

Традиционный вопрос фрилансеров-разработчиков при расширении (легализации) своей деятельности – что выбрать между ИП и ООО? Признавая важность темы, хочу сказать, что несмотря на особенности этих организационно-правовых форм, их нельзя назвать ключевыми для достижения желаемого результата. Главное в любом бизнесе всё-таки та ценность, которую вы создаёте для потребителей, и умение её донести.
Зачем вообще разработчику создавать ООО или регистрироваться в качестве ИП?
Играючи BASH'им

Нетерпеливые могут посмотреть\поиграть, скачав игру тут, а пользователи Ubuntu 18.04 могут установить игру apt'ом:
sudo apt install -y piu-piu
Далее небольшой рассказ о процессе создания и разбор интересных (по моему мнению) мест.
Пишем расширения для PHP 7 на C++
Если загуглить документацию на тему написания расширений для PHP, то, в основном, это будут тексты до 2014 года, актуальные для версии 5. Сам сайт php.net предоставляет обрывчатые и устаревшие сведения, а то, что удаётся найти в их wiki, опять про 5ю версию. Максимум, что удалось найти на офф сайте, это скудный ман по миграции уже написанных расширений.
В итоге, единственным более или менее понятным маном по написанию расширений для меня оказался исходный код PHP, которым я и руководствовался при написании и миграции расширений.
Load Average в Linux: разгадка тайны
Средние значения нагрузки (Load averages) — это критически важная для индустрии метрика. Многие компании тратят миллионы долларов, автоматически масштабируя облачные инстансы на основании этой и ряда других метрик. Но на Linux она окутана некой тайной. Отслеживание средней нагрузки на Linux — это задача, работающая в непрерываемом состоянии сна (uninterruptible sleep state). Почему? Я никогда не встречал объяснений. В этой статье я хочу разгадать эту тайну, и создать референс по средним значениям нагрузки для всех, кто пытается их интерпретировать.
Information
- Rating
- 9,121-st
- Location
- Южно-Сахалинск, Сахалин, Россия
- Date of birth
- Registered
- Activity