Кодирование с помощью параметризации нечётных чисел
Рассмотрим стандартную 8-битную кодировку (например, ASCII+). Но с одним условием, мы хотим передавать сообщения так, чтобы только адресат мог их расшифровать — без применения традиционных криптографических примитивов, таких как AES или RSA. Есть ли альтернатива? Оказывается, да — можно построить биективное отображение между символами и определённым подмножеством нечётных натуральных чисел, генерируемых по заданному правилу.
https://habr.com/ru/articles/964666/
Алгоритмы и Структуры данных
Рассмотрим стандартную 8-битную кодировку (например, ASCII+). Но с одним условием, мы хотим передавать сообщения так, чтобы только адресат мог их расшифровать — без применения традиционных криптографических примитивов, таких как AES или RSA. Есть ли альтернатива? Оказывается, да — можно построить биективное отображение между символами и определённым подмножеством нечётных натуральных чисел, генерируемых по заданному правилу.
https://habr.com/ru/articles/964666/
Алгоритмы и Структуры данных
🤯1
Алготрейдинг на крипторынке: Реализация стратегии «Bomberman» как самостоятельного Python-бота
. Вдохновившись недавней статьей на Veles Finance "«Bomberman»: стратегия для крипторынка с индикаторами BOP, Mean Reversion и Дончиана", я решил воплотить эту идею в жизнь. Не просто в теории, а в коде: создал полноценного алгобота на Python, который автоматизирует торговлю, тестирует параметры и визуализирует результаты.
Этот бот прозрачен: использует открытые данные с binance, классические индикаторы технического анализа и строгий walk-forward бэктест, чтобы избежать look-ahead bias (смещения в будущее).
В статье разберем логику стратегии, архитектуру бота, ключевые функции и реальные результаты на исторических данных BTC/USDT. Если вы программист с интересом к финансам или трейдер, жаждущий автоматизации, — добро пожаловать. Мы пройдемся по коду, формулам и рискам.
https://habr.com/ru/articles/964672/
Алгоритмы и Структуры данных
. Вдохновившись недавней статьей на Veles Finance "«Bomberman»: стратегия для крипторынка с индикаторами BOP, Mean Reversion и Дончиана", я решил воплотить эту идею в жизнь. Не просто в теории, а в коде: создал полноценного алгобота на Python, который автоматизирует торговлю, тестирует параметры и визуализирует результаты.
Этот бот прозрачен: использует открытые данные с binance, классические индикаторы технического анализа и строгий walk-forward бэктест, чтобы избежать look-ahead bias (смещения в будущее).
В статье разберем логику стратегии, архитектуру бота, ключевые функции и реальные результаты на исторических данных BTC/USDT. Если вы программист с интересом к финансам или трейдер, жаждущий автоматизации, — добро пожаловать. Мы пройдемся по коду, формулам и рискам.
https://habr.com/ru/articles/964672/
Алгоритмы и Структуры данных
Хабр
Алготрейдинг на крипторынке: Реализация стратегии «Bomberman» как самостоятельного Python-бота
. Вдохновившись недавней статьей на Veles Finance "«Bomberman»: стратегия для крипторынка с индикаторами BOP, Mean Reversion и Дончиана" , я решил воплотить эту идею в жизнь. Не просто в теории, а в...
🤯1
Арбитраж ставок финансирования — создаём скрипт для отслеживания возможностей
На крипто рынке у бессрочных фьючерсов существует специальный механизм: ставка финансирования (funding rate) - периодический платёж между держателями длинных (long) и коротких (short) позиций, который служит для выравнивания цены фьючерса с ценой спота.
Арбитраж по ставке финансирования - стратегия, цель которой не столько угадать движение цены, сколько извлечь выгоду из разницы в ставках финансирования на разных площадках или между контрактом и спотом.
Например: если фьючерс на актив торгуется с положительной ставкой +0.03 % за период, то держатели short получают оплату от long. Арбитражер может занять длинную позицию на споте и короткую на фьючерсе, тем самым оставаясь почти нейтральным к движению цены, и получать платёж по ставке. Или - если ставка отрицательная (short платят long) - можно действовать наоборот: short спот и long фьючерс.
https://habr.com/ru/articles/965072/
Алгоритмы и Структуры данных
На крипто рынке у бессрочных фьючерсов существует специальный механизм: ставка финансирования (funding rate) - периодический платёж между держателями длинных (long) и коротких (short) позиций, который служит для выравнивания цены фьючерса с ценой спота.
Арбитраж по ставке финансирования - стратегия, цель которой не столько угадать движение цены, сколько извлечь выгоду из разницы в ставках финансирования на разных площадках или между контрактом и спотом.
Например: если фьючерс на актив торгуется с положительной ставкой +0.03 % за период, то держатели short получают оплату от long. Арбитражер может занять длинную позицию на споте и короткую на фьючерсе, тем самым оставаясь почти нейтральным к движению цены, и получать платёж по ставке. Или - если ставка отрицательная (short платят long) - можно действовать наоборот: short спот и long фьючерс.
https://habr.com/ru/articles/965072/
Алгоритмы и Структуры данных
Хабр
Арбитраж ставок финансирования — создаём скрипт для отслеживания возможностей
Введение: что такое арбитраж по ставке финансирования На крипто рынке у бессрочных фьючерсов существует специальный механизм: ставка финансирования (funding rate) - периодический платёж между...
🤯1
Решаем криптарифмы с помощью алгебры и python
Если вы увлекались математикой в возрасте до 12 лет, то, наверное, встречались с криптарифмами - числовыми ребусами.
Числовым ребусом называется корректное арифметическое выражение (обычно - равенство), часть цифр в котором заменена на буквы и звездочки. Правила просты: одинаковые буквы заменяются на одинаковые цифры, разные - на разные.
Задача - восстановить исходные цифры, получив верное равенство.
Числовые ребусы хороши для тренировки у младшеклассников навыков логического мышления и счета в столбик. Однако и взрослым программистам может быть интересно поискать ответ на общий вопрос - а как, всё таки, алгоритмизировать процесс решения ребуса?
https://habr.com/ru/articles/733642/
Алгоритмы и Структуры данных
Если вы увлекались математикой в возрасте до 12 лет, то, наверное, встречались с криптарифмами - числовыми ребусами.
Числовым ребусом называется корректное арифметическое выражение (обычно - равенство), часть цифр в котором заменена на буквы и звездочки. Правила просты: одинаковые буквы заменяются на одинаковые цифры, разные - на разные.
Задача - восстановить исходные цифры, получив верное равенство.
Числовые ребусы хороши для тренировки у младшеклассников навыков логического мышления и счета в столбик. Однако и взрослым программистам может быть интересно поискать ответ на общий вопрос - а как, всё таки, алгоритмизировать процесс решения ребуса?
https://habr.com/ru/articles/733642/
Алгоритмы и Структуры данных
Хабр
Решаем криптарифмы с помощью алгебры и python
Если вы увлекались математикой в возрасте до 12 лет, то, наверное, встречались с криптарифмами - числовыми ребусами. Числовым ребусом называется корректное арифметическое выражение (обычно -...
❤1🤯1
Поведенческие шаблоны проектирования: назначение, структура, примеры использования
Как создавать приложения, которые легко поддерживать и масштабировать: подробный разбор поведенческих шаблонов.
https://proglib.io/p/povedencheskie-shablony-proektirovaniya-naznachenie-struktura-primery-ispolzovaniya-2022-02-22
Алгоритмы и Структуры данных
Как создавать приложения, которые легко поддерживать и масштабировать: подробный разбор поведенческих шаблонов.
https://proglib.io/p/povedencheskie-shablony-proektirovaniya-naznachenie-struktura-primery-ispolzovaniya-2022-02-22
Алгоритмы и Структуры данных
Библиотека программиста
🏗️ Поведенческие шаблоны проектирования: назначение, структура, примеры использования
Как создавать приложения, которые легко поддерживать и масштабировать: подробный разбор поведенческих шаблонов.
👍1
Как работает навигация между городами без интернета
2ГИС с самой первой версии навигатора умеет строить разные виды маршрутов — автомобильные, пешеходные, маршруты на общественном транспорте — на мобильных устройствах без доступа к интернету, но только внутри городов.
С 2019 года 2ГИС также умеет строить маршруты между городами, но только при наличии интернета.
Уже давно наши пользователи просили дать возможность строить междугородние маршруты без доступа к сети. И вот, мы наконец сделали это.
https://habr.com/ru/companies/2gis/articles/959712/
Алгоритмы и Структуры данных
2ГИС с самой первой версии навигатора умеет строить разные виды маршрутов — автомобильные, пешеходные, маршруты на общественном транспорте — на мобильных устройствах без доступа к интернету, но только внутри городов.
С 2019 года 2ГИС также умеет строить маршруты между городами, но только при наличии интернета.
Уже давно наши пользователи просили дать возможность строить междугородние маршруты без доступа к сети. И вот, мы наконец сделали это.
https://habr.com/ru/companies/2gis/articles/959712/
Алгоритмы и Структуры данных
Хабр
Как работает навигация между городами без интернета
2ГИС с самой первой версии навигатора умеет строить разные виды маршрутов — автомобильные, пешеходные, маршруты на общественном транспорте — на мобильных устройствах без доступа к интернету, но только...
🤯1
Серверы VALORANT с тикрейтом 128
Привет! Меня зовут Brent «Brentmeister» Randall (Брент Рэндалл). Я — инженер из команды Gameplay Integrity, которая занимается игрой VALORANT. В сферу нашей ответственности входит система сборки игры, фреймворки, используемые для автоматизации различных задач, производительность игрового клиента и серверов. Именно последнему пункту этого списка и посвящена данная статья. Я поделюсь с вами историей поиска подходов, позволивших вывести производительность наших серверов на оптимальный уровень.
https://habr.com/ru/companies/wunderfund/articles/964694/
Алгоритмы и Структуры данных
Привет! Меня зовут Brent «Brentmeister» Randall (Брент Рэндалл). Я — инженер из команды Gameplay Integrity, которая занимается игрой VALORANT. В сферу нашей ответственности входит система сборки игры, фреймворки, используемые для автоматизации различных задач, производительность игрового клиента и серверов. Именно последнему пункту этого списка и посвящена данная статья. Я поделюсь с вами историей поиска подходов, позволивших вывести производительность наших серверов на оптимальный уровень.
https://habr.com/ru/companies/wunderfund/articles/964694/
Алгоритмы и Структуры данных
Хабр
Серверы VALORANT с тикрейтом 128
Привет! Меня зовут Brent «Brentmeister» Randall (Брент Рэндалл). Я — инженер из команды Gameplay Integrity, которая занимается игрой VALORANT. В сферу нашей ответственности входит система сборки игры,...
👍2❤1
Главная проблема «чистых архитектур»
Откройтелюбой пулл‑реквест в проекте с любой «чистой архитектурой», и вы скорее всего увидите не обсуждение бизнес‑логики, а срач. «Это нельзя класть в UseCase, это логика домена!», «Зачем тут еще один DTO, мы же просто поле прокидываем!», «Этот интерфейс не нужен, у нас никогда не будет другой реализации!». Полагаю, с очень многими такое случалось.
Это и есть главная проблема. «Чистая архитектура» — это не инженерная дисциплина. Это множество концепций, который каждый понимает по своему. И это касается не только чистой архитектуры, которую описывает «о великий Роберт Мартин». Это касается вообще всех архитектур. Из‑за отсутствия конкретных ответов каждая команда превращается в парламент, где все спорят, но никто ничего не может решить. Архитектура из инструмента для разработки превращается в причину, по которой разработка стоит на месте, а страдают все.
https://habr.com/ru/articles/965812/
Алгоритмы и Структуры данных
Откройтелюбой пулл‑реквест в проекте с любой «чистой архитектурой», и вы скорее всего увидите не обсуждение бизнес‑логики, а срач. «Это нельзя класть в UseCase, это логика домена!», «Зачем тут еще один DTO, мы же просто поле прокидываем!», «Этот интерфейс не нужен, у нас никогда не будет другой реализации!». Полагаю, с очень многими такое случалось.
Это и есть главная проблема. «Чистая архитектура» — это не инженерная дисциплина. Это множество концепций, который каждый понимает по своему. И это касается не только чистой архитектуры, которую описывает «о великий Роберт Мартин». Это касается вообще всех архитектур. Из‑за отсутствия конкретных ответов каждая команда превращается в парламент, где все спорят, но никто ничего не может решить. Архитектура из инструмента для разработки превращается в причину, по которой разработка стоит на месте, а страдают все.
https://habr.com/ru/articles/965812/
Алгоритмы и Структуры данных
Хабр
Главная проблема «чистых архитектур»
Откройтелюбой пулл‑реквест в проекте с любой «чистой архитектурой», и вы скорее всего увидите не обсуждение бизнес‑логики, а срач. «Это нельзя класть в UseCase, это логика...
👍1
Нечёткий поиск при пересечении множеств, или Как выжать все соки из Хэширования по сигнатуре
На просторах интернета легко можно найти материалы по реализации нечёткого поиска, в которых предполагается поиск одной строки в множестве строк M. Но что если возникнет необходимость реализовать нечёткое сравнение множества M₁ с множеством M₂? При классическом подходе нам придется выполнить M₁*M₂ сравнений - при линейном росте этих множеств, сложность задачи будет расти экспоненциально, в плане производительности это решение никуда не годиться!
Предложенное ниже решение для БД SQL реализовано с помощью хэширования строк по сигнатуре. Оно максимально эффективно выполняет данный поиск в пределах одной ошибки (по расстоянию Левенштейна), но его можно адаптировать и под поиск в пределах какого угодно количества ошибок, но увеличение допуска экспоненциально усложняет алгоритм.
https://habr.com/ru/articles/965934/
Алгоритмы и Структуры данных
На просторах интернета легко можно найти материалы по реализации нечёткого поиска, в которых предполагается поиск одной строки в множестве строк M. Но что если возникнет необходимость реализовать нечёткое сравнение множества M₁ с множеством M₂? При классическом подходе нам придется выполнить M₁*M₂ сравнений - при линейном росте этих множеств, сложность задачи будет расти экспоненциально, в плане производительности это решение никуда не годиться!
Предложенное ниже решение для БД SQL реализовано с помощью хэширования строк по сигнатуре. Оно максимально эффективно выполняет данный поиск в пределах одной ошибки (по расстоянию Левенштейна), но его можно адаптировать и под поиск в пределах какого угодно количества ошибок, но увеличение допуска экспоненциально усложняет алгоритм.
https://habr.com/ru/articles/965934/
Алгоритмы и Структуры данных
Хабр
Нечёткий поиск при пересечении множеств, или Как выжать все соки из Хэширования по сигнатуре
Слияние рек Солимоэнс (верхняя Амазонка) и Риу-Негру в Бразилии На просторах интернета легко можно найти материалы по реализации нечёткого поиска , в которых предполагается поиск одной строки в...
🤯1
Время дорого стоит
У Контура более 10 тыс сотрудников и очень-очень много групповых встреч: около 30 тыс ежемесячно, мы считали. 👀 И бывает так, что нужно собрать сразу нескольких ребят в наиболее удобное для всех время. И начинается вот это вот: зайти на страницу человечка > посмотреть, какое время у него свободно > сопоставить со своим > проверить, а могут ли в это время остальные участники > обнаружить, что нет, и идти заново по кругу смотреть другие слоты, забывая, чё там у кого. 🙄 Да блин!
Мы решили остановить эту котовасию ✋🚫 и добавить в наш внутренний портал (в Контуре используется Стафф) рекомендацию свободных слотов для всех участников встречи. Рассказываем и показываем, как реализовали это.
https://habr.com/ru/companies/skbkontur/articles/965280/
Алгоритмы и Структуры данных
У Контура более 10 тыс сотрудников и очень-очень много групповых встреч: около 30 тыс ежемесячно, мы считали. 👀 И бывает так, что нужно собрать сразу нескольких ребят в наиболее удобное для всех время. И начинается вот это вот: зайти на страницу человечка > посмотреть, какое время у него свободно > сопоставить со своим > проверить, а могут ли в это время остальные участники > обнаружить, что нет, и идти заново по кругу смотреть другие слоты, забывая, чё там у кого. 🙄 Да блин!
Мы решили остановить эту котовасию ✋🚫 и добавить в наш внутренний портал (в Контуре используется Стафф) рекомендацию свободных слотов для всех участников встречи. Рассказываем и показываем, как реализовали это.
https://habr.com/ru/companies/skbkontur/articles/965280/
Алгоритмы и Структуры данных
Хабр
Время дорого стоит
У Контура более 10 тыс сотрудников и очень-очень много групповых встреч: около 30 тыс ежемесячно, мы считали. 👀 И бывает так, что нужно собрать сразу нескольких ребят в наиболее удобное для всех...
🤯1
Воксельный движок за выходные
Похоже, что каждый, изучающий создание воксельного движка, впитывает знания исключительно осмосом информации. Давайте изменим эту ситуацию и напишем воксельный движок сами!
https://habr.com/ru/articles/965988/
Алгоритмы и Структуры данных
Похоже, что каждый, изучающий создание воксельного движка, впитывает знания исключительно осмосом информации. Давайте изменим эту ситуацию и напишем воксельный движок сами!
https://habr.com/ru/articles/965988/
Алгоритмы и Структуры данных
Хабр
Воксельный движок за выходные
Похоже, что каждый, изучающий создание воксельного движка, впитывает знания исключительно осмосом информации. Давайте изменим эту ситуацию и напишем воксельный движок сами! Введение Приготовьтесь, мы...
🤯1
Междугородние маршруты без интернета? Сделали!
В 2ГИС теперь можно строить маршруты между регионами офлайн.
Звучит просто, но за этим — куча инженерных решений... Например, чтобы всё это заработало, мы работаем с макрографом — он позволяет строить маршрут по крупным кускам, а потом достраивать начало и конец уже по детальному графу.
В статье — про архитектуру, организацию данных и предрасчёты. Для тех, кто любит алгоритмы и инженерные задачи 🕵️
\#2ГИС_алгоритмы
В 2ГИС теперь можно строить маршруты между регионами офлайн.
Звучит просто, но за этим — куча инженерных решений... Например, чтобы всё это заработало, мы работаем с макрографом — он позволяет строить маршрут по крупным кускам, а потом достраивать начало и конец уже по детальному графу.
В статье — про архитектуру, организацию данных и предрасчёты. Для тех, кто любит алгоритмы и инженерные задачи 🕵️
\#2ГИС_алгоритмы
🤯1
Разбор задачи «Regular Expression Matching»
В этой статье я разберу решение задачи сопоставления строки шаблону с регулярным выражением, которая предлагается сайтом LeetCode под номером 10.
https://habr.com/ru/articles/966134/
Алгоритмы и Структуры данных
В этой статье я разберу решение задачи сопоставления строки шаблону с регулярным выражением, которая предлагается сайтом LeetCode под номером 10.
https://habr.com/ru/articles/966134/
Алгоритмы и Структуры данных
Хабр
Разбор задачи «Regular Expression Matching»
В этой статье я разберу решение задачи сопоставления строки шаблону с регулярным выражением, которая предлагается сайтом LeetCode под номером 10. Постановка. Даны строка и шаблон , реализующий...
❤1
Поведенческие шаблонов проектирования: назначение, структура, примеры использования
В трех частях статьи мы последовательно рассмотрим 23 шаблона проектирования, которые впервые были перечислены в книге «Шаблоны проектирования: элементы объектно-ориентированного программного обеспечения». Описание каждого шаблона включает структуру, объяснение, рекомендации по использованию и пример практического применения. Первая часть посвящена поведенческим шаблонам, вторая – структурным, а третья – порождающим.
https://proglib.io/p/povedencheskie-shablony-proektirovaniya-naznachenie-struktura-primery-ispolzovaniya-2022-02-22
Алгоритмы и Структуры данных
В трех частях статьи мы последовательно рассмотрим 23 шаблона проектирования, которые впервые были перечислены в книге «Шаблоны проектирования: элементы объектно-ориентированного программного обеспечения». Описание каждого шаблона включает структуру, объяснение, рекомендации по использованию и пример практического применения. Первая часть посвящена поведенческим шаблонам, вторая – структурным, а третья – порождающим.
https://proglib.io/p/povedencheskie-shablony-proektirovaniya-naznachenie-struktura-primery-ispolzovaniya-2022-02-22
Алгоритмы и Структуры данных
Библиотека программиста
🏗️ Поведенческие шаблоны проектирования: назначение, структура, примеры использования
Как создавать приложения, которые легко поддерживать и масштабировать: подробный разбор поведенческих шаблонов.
🤯1
Несколько мыслей по подготовке к алгоритмической части собеседования
Всем привет! На связи снова Петр Коробейников, техлид сервисов DBaaS for Redis и RabbitMQ (релиз скоро) в #CloudMTS. В этой статье хочу поделиться с вами некоторым опытом подготовки к прохождению алгоритмических интервью. Конечно, статья не про хардкорные алгоритмы. Это, скорее, эскиз к роадмапу по подготовке. Тем не менее, я надеюсь, он будет полезен новичкам (и даже некоторым «старичкам»).
https://habr.com/ru/companies/mws/articles/735348/
Алгоритмы и Структуры данных
Всем привет! На связи снова Петр Коробейников, техлид сервисов DBaaS for Redis и RabbitMQ (релиз скоро) в #CloudMTS. В этой статье хочу поделиться с вами некоторым опытом подготовки к прохождению алгоритмических интервью. Конечно, статья не про хардкорные алгоритмы. Это, скорее, эскиз к роадмапу по подготовке. Тем не менее, я надеюсь, он будет полезен новичкам (и даже некоторым «старичкам»).
https://habr.com/ru/companies/mws/articles/735348/
Алгоритмы и Структуры данных
Хабр
Несколько мыслей по подготовке к алгоритмической части собеседования
Всем привет! На связи снова Петр Коробейников, техлид сервисов DBaaS for Redis и RabbitMQ (релиз скоро) в #CloudMTS. В этой статье хочу поделиться с вами некоторым опытом подготовки к прохождению...
🤯1
⚡️ Linux и DevOps теперь в Telegram!
Ребята делают реально классный канал про IT — просто, понятно и без воды.
О Linux, DevOps, разработке, безопасности и инструментах, которые помогают работать эффективнее.
Подписывайтесь: @recura_tech
Ребята делают реально классный канал про IT — просто, понятно и без воды.
О Linux, DevOps, разработке, безопасности и инструментах, которые помогают работать эффективнее.
Подписывайтесь: @recura_tech
🤯1