habrahabr
Подборка игр с низкоуровневым программированием

TL;DRИгры от Zachtronics:TIS-100EXAPUNKSSHENZHEN I/OПро создание процессора от логических элементов и до написания кода на ассемблере:браузерная бесплатная nandgame.comболее продвинутая Turing completeЕсли Вам нравится какая-то игра из перечисленных - наверно, и остальные тоже подойдут. В каждую из них я наиграл по 30+ часов, получил кучу удовольствия и научился чему-то новому.Первые три игры - от одного и того же человека и парохода издателя Zachtronics, (Zach Barth), и в чём-то похожи друг на…

  • среда, 7 августа 2024 г. в 00:00:13
habrahabr
Как мы в России сделали микрофон как у Артемия Лебедева и продаем по всему миру

ДИСКЛЕЙМЕР: Статья написана автором блога на основе интервью с сооснователем производства микрофонов П.БаздыревымВ Советском Союзе делали громкоговорители, в которых в 1941-м объявили начало Великой Отечественной. В 1961-м в отечественный микрофон Гагарин сказал: «Поехали!». Одним из ведущих разработчиков того самого завода был Владимир Селезнев – теперь наш главный инженер-конструктор. Наши микрофоны – это американский дизайн и маркетинг (справа), русский менеджмент (по центру) и продолжение с…

  • среда, 7 августа 2024 г. в 00:00:12
golang
Подбираем нужные автозапчасти: миллиарды комбинаций за 12 минут

Привет! Меня зовут Кирилл Егоров, я технический лидер двух юнитов Авито: «Запчасти» и «Строительство и ремонт». В этой статье рассказываю о том, как мы определяем, к каким автомобилям подходят запчасти из объявлений, как нам с помощью Golang удается перебрать миллиарды вариантов и какие трудности пришлось решить при реализации этого решения.Задача юнита «Запчасти» — помочь пользователю легко и быстро найти детали, которые подойдут его авто. В приложение встроен раздел «Гараж» — туда можно добав…

  • среда, 7 августа 2024 г. в 00:00:10
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