golang
Go: жарим общие данные. Атомно, быстро и без мьютексов

Как правило, в Go для безопасного доступа к общим данным используются мьютексы. Да, каналы тоже можно приспособить для изменения общих данных, так как они потокобезопасны, но это усложняет и замедляет логику. Но в этой статье мы поговорим о другом. Современные процессоры имеют поддержку атомарных операций, что позволяет на основе них организовывать работу с общими данными до нескольких раз быстрее, чем с помощью общепринятых вариантов. Так как мьютексы реализованы на основе ОС, каналы сделан…

  • среда, 7 августа 2024 г. в 00:00:09
golang
Как мы выбираем задания на отбор Route 256: подход и разбор задач

Однажды мы решили, что грамотных инженеров эффективнее всего растить самим. Так 3 года назад родился Route 256 — курсы Ozon для разработчиков и тестировщиков уровней junior и middle. Во время курса ведущие специалисты Ozon погружают в индустрию e-com, знакомят с актуальным стеком и бизнес-задачами. Самые успешные выпускники получают оффер в команду Ozon. В статье расскажем, почему для отбора мы используем алгоритмы, и покажем разбор задач с контеста.  Почему проект использует алгоритмические з…

  • среда, 7 августа 2024 г. в 00:00:08
golang
Используем gocv, чтобы определить возраст, эмоции и пол человека по фото

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

  • среда, 7 августа 2024 г. в 00:00:07
javascript
JavaScript: структуры данных и алгоритмы. Часть 3

Привет, друзья! В этой серии статей мы продолжаем разбирать структуры данных и алгоритмы, представленные в этом замечательном репозитории. Это третья часть серии. Первая часть Вторая часть Сегодня мы будем говорить о таких структурах данных, как деревья. В этой статье мы рассмотрим двоичное дерево поиска, АВЛ-дерево и красно-черное дерево. Код, представленный в этой и других статьях серии, можно найти в этом репозитории. Интересно? Тогда прошу под кат. Дерево Википедия YouTube Yandex Дере…

  • среда, 7 августа 2024 г. в 00:00:05
javascript
Интерфейсы в JS с помощью @teqfw/di

На эту статью меня сподвигла переписка в комментах с коллегой @iliazeus и его вопрос, как в @teqfw/di код может зависеть от интерфейса, а не от его имплементации. В своём ответе я попытался провести параллели с героем Джейсона Стэйтэма из фильма "Перевозчик" - с Фрэнком Мартином. У Фрэнка было три правила (условия контракта) и любой, кто удовлетворял этим правилам (и имел достаточно денег), мог нанять Фрэнка в качестве первозчика.Фрэнка Мартина детали не интересуют.Ниже я продемонстриру…

  • среда, 7 августа 2024 г. в 00:00:05
github
bghira / SimpleTuner

A general fine-tuning kit geared toward Stable Diffusion 2.1, Stable Diffusion 3, DeepFloyd, and SDXL.SimpleTuner 💹 ⚠️ Warning: The scripts in this repository have the potential to damage your training data. Always maintain backups before proceeding. SimpleTuner is a repository dedicated to a set of experimental scripts designed for training optimization. The project is geared towards simplicity, with a focus on making the code easy to read and understand. This codebase serves as a shared aca…

  • среда, 7 августа 2024 г. в 00:00:03
github
trailofbits / multiplier

Code auditing productivity multiplier.Multiplier finds more bugs faster Multiplier provides precise and comprehensive code understanding capabilities. It does so by saving build artifacts into a database, and then making them persistently accessible using a C++ or Python API. Multiplier emphasizes the ability to unique identify all entities in a build process, including individual tokens, AST nodes, and intermediate representations. With Multiplier, an analyst can identify code patterns of inte…

  • среда, 7 августа 2024 г. в 00:00:01
xaker
Astra Linux 1.8. Что нового в системе безопасности защищенного дистрибутива

Ты и без нас прекрасно знаешь, для чего нужны защищенные операционные системы и где они используются. Наиболее надежными считаются ОС семейства Linux, но и среди них есть дистрибутивы, отвечающие повышенным требованиям безопасности, в частности Astra Linux. Сегодня мы разберемся, какие нововведения в сфере ИБ и защиты данных появились в новой версии Astra Linux — 1.8.

  • вторник, 6 августа 2024 г. в 00:00:21
xaker
Скоро uBlock Origin перестанет работать в Google Chrome

Google Chrome рекомендует пользователям uBlock Origin переходить на другие блокировщики рекламы, так как скоро, в рамках перехода на Manifest v3, все расширения Manifest v2 будут отключены.

  • вторник, 6 августа 2024 г. в 00:00:19