habrahabr
Как malloc сломала JPGLoader в Serenity, или Как выиграть в лотерее

Пару лет назад мне выпала возможность расследовать в SerenityOS интересный баг, связанный с декодированием изображений JPG, которые по какой-то причине при просмотре выглядели так, как вы видите выше. Странно, не так ли? Похоже, будто просто перепутали RGB и BGR. При этом внесение в JPGLoader.cpp следующего изменения: - const Color color { (u8)block.y[pixel_index], (u8)block.cb[pixel_index], (u8)block.cr[pixel_index] }; + const Color color { (u8)block.cr[pixel_index], (u8)block.cb[pixel_…

  • среда, 17 июля 2024 г. в 00:00:15
habrahabr
Хитрые бактерии и антибиотики

Аптека в Африке, сейчас пациент получит одну таблетку доксициклина Бактерии — мастера генетических рекомбинаций. У них очень короткий цикл жизни, большое потомство, миллиарды попыток на мутации и очень короткая петля обратной связи. Одного этого достаточно, чтобы если не забрутфорсить, то найти решение проблемы алгоритмами группы Монте-Карло. Плюс у них есть такая милая штука, как горизонтальный перенос генов. В смысле, бактерия может брать и раздавать свой код. Например, в виде плазмид — …

  • среда, 17 июля 2024 г. в 00:00:14
habrahabr
Firefox не только самый быстрый, но и самый эффективный браузер

Несколько месяцев назад мы публиковали результаты тестов Speedometer 3.0, согласно которым Firefox сохраняет преимущество в производительности перед Chrome. А сейчас появились доказательства, что Firefox не только быстрее, но и эффективнее Chrome по некоторым параметрам. В частности, по работе с памятью. ▍ Преимущество по скорости Если напомнить предысторию, то примерно год назад вышли результаты стандартных тестов Speedometer, измеряющих скорость работы браузеров. Тогда случилось знаковое …

  • среда, 17 июля 2024 г. в 00:00:13
habrahabr
Популярная задача на собеседовании: сотрудники с максимальной зарплатой в отделе

Кто ходил на собеседования по устройству на работу, тот знает, спрашивают там всякое и странное. Нередко можно встретить задачу по нахождению сотрудников с максимальной зарплатой в отделе. Причем ваш потенциальный начальник считает, что у этой задачи есть только одно «правильное решение», то, про которое он прочитал в Интернете. Так ли это?Постановка задачиРазумеется ваш потенциальный начальник не придумывал ни эту задачу, ни её решение. И задачу и «правильный» ответ он подглядел в Интернете, ч…

  • среда, 17 июля 2024 г. в 00:00:12
golang
Работа с аренами: почти избавляемся от GC

Меня зовут Максим Горозий. Я тимлид в Т-Банке, работаю над нашей образовательной платформой, которая служит для разных направлений бизнеса. В ИТ больше 10 лет и успел поработать в двух GameDev-компаниях, где управление памятью занимало весомое время в оптимизации производительности кода. Люблю строить системы и взаимосвязи между ними, а также EdTech и преподавание, а еще больше — работать над инструментами обучения. Хотя начинал с C, я идеологический фанат Go, DDD и Agile.«Оно тормозит» — класс…

  • среда, 17 июля 2024 г. в 00:00:10
golang
Кластеризация множества объектов, алгоритм K-means++

Приветствую, друзья. Квалифицирую себя как джуна на языке GO, с анализом данных еще не сталкивался, поэтому после изучения вопроса, решил что выйдет классная статья из полученного опыта. Плюс разложу материал для себя по полочкам. Статья будет описываться поэтапно, т.к считаю это самым удобным восприятием алгоритмов.Поступила задача выполнения кластеризации множества товаров, по их размерам. Значения распределения: ширина и высота.После изучения вопроса, было найдено несколько подходящих алгори…

  • среда, 17 июля 2024 г. в 00:00:10
javascript
JavaScript: структуры данных и алгоритмы. Часть 2

Привет, друзья! В этой серии статей мы продолжаем разбирать структуры данных и алгоритмы, представленные в этом замечательном репозитории. Это вторая часть серии. Первая часть Сегодня мы будем говорить о таких структурах данных, как хэш-таблица, куча, очередь с приоритетом и префиксное дерево. Код, представленный в этой и других статьях серии, можно найти в этом репозитории. Интересно? Тогда прошу под кат. 5. Хэш-таблица Описание Википедия YouTube Хэш-таблица (hash table) — это структура …

  • среда, 17 июля 2024 г. в 00:00:08
javascript
Vercel VS Edge VS Next. Что такое Edge, зачем, как и куда

Edge рантайм. Один из главных функционалов компании Vercel - компании, которая разработала и развивает next.js. Тем не менее, её влияние по edge рантайму вышло далеко за рамки её фреймворков и утилит. Edge рантайм работает и в недавно купленном Vercel Svelte, и в nuxt, и в более чем 30 других фронтенд фреймворках. Эта статья будет посвящена edge рантайму - что это, как это используется в Vercel, какими возможностями дополняет next.js и какие решения сделал я, чтобы эти возможности расширить.Ver…

  • среда, 17 июля 2024 г. в 00:00:07
javascript
Почему Microsoft отказывается от React в браузере Edge

Недавно команда Microsoft Edge написала статью о том, как они улучшают Edge, чтобы браузер стал быстрее. В материале Microsoft сделала выпад в сторону React и объявила, что больше не будет использовать React для Edge.React произвел революцию в создании веб-приложений, продвигая многократно используемые компоненты, оптимизируя производительность с помощью виртуального DOM, упрощая управление состоянием и рендеринг пользовательского интерфейса.Что такое React (с примером кода)React — это JavaScri…

  • среда, 17 июля 2024 г. в 00:00:05