Междугородние маршруты без интернета? Сделали!
В 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
Анимация градиентного спуска и ландшафта функции потерь на Python
Демонстрация работающих примеров визуализации ландшафта функции потерь и анимации процесса градиентного спуска.
https://proglib.io/p/animaciya-gradientnogo-spuska-i-landshafta-funkcii-poter-na-python-2021-01-04
Алгоритмы и Структуры данных
Демонстрация работающих примеров визуализации ландшафта функции потерь и анимации процесса градиентного спуска.
https://proglib.io/p/animaciya-gradientnogo-spuska-i-landshafta-funkcii-poter-na-python-2021-01-04
Алгоритмы и Структуры данных
Библиотека программиста
🐍 Анимация градиентного спуска и ландшафта функции потерь на Python
Демонстрация работающих примеров визуализации ландшафта функции потерь и анимации процесса градиентного спуска.
🤯1
Нечеткое сравнение строк с помощью rapidfuzz
В публикации расскажу, как при решении задачи нечеткого сравнения строк, среди разных инструментов сравнения (по косинусному сходству, по сходству Левенштейна, по сходству Джаро‑Винклера) был выбран лучший вариант нечеткого сопоставления. Сравнение инструментов производилось исходя из скорости выполнения, правильности сравнения и простоты реализации, с помощью библиотек rapidfuzz и sklearn.
https://habr.com/ru/articles/733492/
Алгоритмы и Структуры данных
В публикации расскажу, как при решении задачи нечеткого сравнения строк, среди разных инструментов сравнения (по косинусному сходству, по сходству Левенштейна, по сходству Джаро‑Винклера) был выбран лучший вариант нечеткого сопоставления. Сравнение инструментов производилось исходя из скорости выполнения, правильности сравнения и простоты реализации, с помощью библиотек rapidfuzz и sklearn.
https://habr.com/ru/articles/733492/
Алгоритмы и Структуры данных
Хабр
Нечеткое сравнение строк с помощью rapidfuzz
Привет, Хабр! Меня зовут Антон Черниговский, я участник профессионального сообщества NTA . В публикации расскажу, как при решении задачи нечеткого сравнения строк, среди разных...
🤯1
Алгоритмы программы для дозиметра на счетчике Гейгера
Счетчик Гейгера довольно простой датчик с точки зрения его устройства и с точки зрения обработки сигналов с него. Кроме того, энергопотребление счетчиков Гейгера ничтожно. Поэтому они широко используются в бытовых дозиметрах.
https://habr.com/ru/articles/732456/
Алгоритмы и Структуры данных
Счетчик Гейгера довольно простой датчик с точки зрения его устройства и с точки зрения обработки сигналов с него. Кроме того, энергопотребление счетчиков Гейгера ничтожно. Поэтому они широко используются в бытовых дозиметрах.
https://habr.com/ru/articles/732456/
Алгоритмы и Структуры данных
Хабр
Алгоритмы программы для дозиметра на счетчике Гейгера
Счетчик Гейгера довольно простой датчик с точки зрения его устройства и с точки зрения обработки сигналов с него. Кроме того, энергопотребление счетчиков Гейгера ничтожно. Поэтому они...
🤯1
Интерактивные книги 2: на этот раз про геймдизайн и алгоритмы
Хабр силен комментариями. Поэтому, когда я писал топик "Мечтали про интерактивные книги? Я знаю человека, который делает их прямо сейчас", то надеялся, что читатели помогут найти аналогичные примеры. Результат превзошел ожидания.
https://habr.com/ru/companies/timeweb/articles/732902/
Алгоритмы и Структуры данных
Хабр силен комментариями. Поэтому, когда я писал топик "Мечтали про интерактивные книги? Я знаю человека, который делает их прямо сейчас", то надеялся, что читатели помогут найти аналогичные примеры. Результат превзошел ожидания.
https://habr.com/ru/companies/timeweb/articles/732902/
Алгоритмы и Структуры данных
Хабр
Интерактивные книги 2: на этот раз про геймдизайн и алгоритмы
Хабр силен комментариями. Поэтому, когда я писал топик " Мечтали про интерактивные книги? Я знаю человека, который делает их прямо сейчас ", то надеялся, что читатели помогут найти...
🤯1
Апокалипсис контента? Взгляд юриста и разбор LLM
На днях наткнулся на статью, опубликованную в телеграм-канале Habr, под названием «Тихий апокалипсис контента: почему все устали от сгенерированных статей». В ней автор выражает озабоченность количеством сгенерированного контента, который набирает просмотры и вытесняет из выдачи авторские статьи. Статья автора натолкнула меня на идею порассуждать на эту тему, провести небольшие исследования, сравнить процесс генерации текста ИИ и человеком и просто поделиться своим «экспертным» мнением.
https://habr.com/ru/articles/966882/
Алгоритмы и Структуры данных
На днях наткнулся на статью, опубликованную в телеграм-канале Habr, под названием «Тихий апокалипсис контента: почему все устали от сгенерированных статей». В ней автор выражает озабоченность количеством сгенерированного контента, который набирает просмотры и вытесняет из выдачи авторские статьи. Статья автора натолкнула меня на идею порассуждать на эту тему, провести небольшие исследования, сравнить процесс генерации текста ИИ и человеком и просто поделиться своим «экспертным» мнением.
https://habr.com/ru/articles/966882/
Алгоритмы и Структуры данных
Хабр
Апокалипсис контента? Взгляд юриста и разбор LLM
На днях наткнулся на статью, опубликованную в телеграм-канале Habr, под названием « Тихий апокалипсис контента: почему все устали от сгенерированных статей ». В ней автор выражает озабоченность...
🤯1
3D-таймлайн на чистом JavaScript: как я собирал этот слайдер по шагам
Представьте себе не просто «карусель карточек», а временную шкалу, которая уходит в перспективу, карточки выезжают по наклонным линиям, масштабируются как в 3D-сцене, а под всем этим — настраиваемый скроллбар с годами и плавной анимацией смены категорий. Всё это — без WebGL, только HTML, CSS и JavaScript.
https://habr.com/ru/articles/966712/
Алгоритмы и Структуры данных
Представьте себе не просто «карусель карточек», а временную шкалу, которая уходит в перспективу, карточки выезжают по наклонным линиям, масштабируются как в 3D-сцене, а под всем этим — настраиваемый скроллбар с годами и плавной анимацией смены категорий. Всё это — без WebGL, только HTML, CSS и JavaScript.
https://habr.com/ru/articles/966712/
Алгоритмы и Структуры данных
Хабр
3D-таймлайн на чистом JavaScript: как я собирал этот слайдер по шагам
Представьте себе не просто «карусель карточек», а временную шкалу, которая уходит в перспективу, карточки выезжают по наклонным линиям, масштабируются как в 3D-сцене, а под всем этим — настраиваемый...
🤯1
Возвращение легенды: самый востребованный вебинар Зерокодера про Perplexity AI снова пройдёт в ноябре.
На бесплатном занятии ребята покажут, как:
– Собрать презентацию, визуал, игру и текст с помощью Perplexity;
– Экономить ресурсы, заменяя целую команду инструментов всего одним ИИ;
– Получать идеи для монетизации ИИ прямо в процессе работы;
– Настроить рабочие процессы с помощью Perplexity так, чтобы он реально ускорял решение задач.
Все участники получат готовый гайд с набором промптов, который сделает вашу работу и повседневные задачи проще и интереснее.
Бонус: в конце практикума расскажем, как получить годовую подписку Perplexity Pro бесплатно (обычная стоимость — $240).
P.S. Это специальный повтор вебинара от экспертов по Perplexity. Жмите на ссылку и успевайте зарегистрироваться!
На бесплатном занятии ребята покажут, как:
– Собрать презентацию, визуал, игру и текст с помощью Perplexity;
– Экономить ресурсы, заменяя целую команду инструментов всего одним ИИ;
– Получать идеи для монетизации ИИ прямо в процессе работы;
– Настроить рабочие процессы с помощью Perplexity так, чтобы он реально ускорял решение задач.
Все участники получат готовый гайд с набором промптов, который сделает вашу работу и повседневные задачи проще и интереснее.
Бонус: в конце практикума расскажем, как получить годовую подписку Perplexity Pro бесплатно (обычная стоимость — $240).
P.S. Это специальный повтор вебинара от экспертов по Perplexity. Жмите на ссылку и успевайте зарегистрироваться!
🤯1
Дайджест препринтов научных статей в области Информатики
2511.01872 Learned Cost Model for Placement on Reconfigurable Dataflow Hardware. Etash Guha, Tianxiao Jiang, Andrew Deng, Jian Zhang, Muthu Annamalai
Хьюристические модели стоимости для размещения и маршрутизации (PnR) в реconfigurable dataflow архитектурах страдают от неточности, высокой трудоемкости разработки и слабой адаптивности к изменениям компилятора.
Предлагается data-driven подход на основе GNN: где эмбеддинги узлов и ребер графа PnR агрегируются для предсказания throughput регрессором, обученным на эмпирических измерениях, без хьюристик. Это дает 31-52% выше точность предсказаний, 5.6% прирост throughput на моделях BERT/GPT и быструю адаптацию при обновлениях компилятора.
https://habr.com/ru/articles/967018/
Алгоритмы и Структуры данных
2511.01872 Learned Cost Model for Placement on Reconfigurable Dataflow Hardware. Etash Guha, Tianxiao Jiang, Andrew Deng, Jian Zhang, Muthu Annamalai
Хьюристические модели стоимости для размещения и маршрутизации (PnR) в реconfigurable dataflow архитектурах страдают от неточности, высокой трудоемкости разработки и слабой адаптивности к изменениям компилятора.
Предлагается data-driven подход на основе GNN: где эмбеддинги узлов и ребер графа PnR агрегируются для предсказания throughput регрессором, обученным на эмпирических измерениях, без хьюристик. Это дает 31-52% выше точность предсказаний, 5.6% прирост throughput на моделях BERT/GPT и быструю адаптацию при обновлениях компилятора.
https://habr.com/ru/articles/967018/
Алгоритмы и Структуры данных
Хабр
Дайджест препринтов научных статей в области Информатики
Подборка свежих научных публикаций в области Информатики из библиотеки препринтов arxiv.org . Публикуется с обязательным указанием ссылок на первоисточники. 2511.01872 Learned Cost Model for...
❤1🤯1
Ускорение Python в 150 раз с использованием C
Если вы программируете на Python, рано или поздно вы столкнётесь с ограничением скорости выполнения кода. Если вам когда-либо доводилось писать сложные вычислительные алгоритмы в Python(вычисление расстояния между строками, матричные операции или криптографическое хэширование), то вы понимаете, о чём я.
Конечно, большей частью работы может справиться библиотека NumPy, но что делать если алгоритм последовательный? Именно с этой проблемой я столкнулся, когда захотел перевести тестирование алгоритма, который определяет количество правок для преобразования одной строки в другую.
Я попробовал Python. Я попробовал NumPy. А затем обратился к C, который я впервые изучал в колледже десятилетия назад, но не использовал лет пятнадцать. И тут началось самое интересное.
https://habr.com/ru/articles/966880/
Алгоритмы и Структуры данных
Если вы программируете на Python, рано или поздно вы столкнётесь с ограничением скорости выполнения кода. Если вам когда-либо доводилось писать сложные вычислительные алгоритмы в Python(вычисление расстояния между строками, матричные операции или криптографическое хэширование), то вы понимаете, о чём я.
Конечно, большей частью работы может справиться библиотека NumPy, но что делать если алгоритм последовательный? Именно с этой проблемой я столкнулся, когда захотел перевести тестирование алгоритма, который определяет количество правок для преобразования одной строки в другую.
Я попробовал Python. Я попробовал NumPy. А затем обратился к C, который я впервые изучал в колледже десятилетия назад, но не использовал лет пятнадцать. И тут началось самое интересное.
https://habr.com/ru/articles/966880/
Алгоритмы и Структуры данных
Хабр
Ускорение Python в 150 раз с использованием C
От переводчика: Весь текст набирался вручную если вы встретите оп Я чатки, пожалуйста сообщите. Статья также дополнена инструкциями и ссылками на вспомогательные источники. Приятного чтения! Image by...
🤯1
Всегда короткий Python-код
Не так давно довелось спонтанно поучаствовать в активности от T‑банка. Кроме всяких «интересных» заданий, там были задачки и на кодинг. Критерием победы в задачах «Стековки» были не O(n), не микросекунды, а краткость кода, твёрдо измеренная в символах, что тоже по своему интересно. «Как написать решение используя минимальное число символов?».
https://habr.com/ru/articles/967398/
Алгоритмы и Структуры данных
Не так давно довелось спонтанно поучаствовать в активности от T‑банка. Кроме всяких «интересных» заданий, там были задачки и на кодинг. Критерием победы в задачах «Стековки» были не O(n), не микросекунды, а краткость кода, твёрдо измеренная в символах, что тоже по своему интересно. «Как написать решение используя минимальное число символов?».
https://habr.com/ru/articles/967398/
Алгоритмы и Структуры данных
Хабр
Всегда короткий Python-код
Не так давно довелось спонтанно поучаствовать в активности от T‑банка . Кроме всяких «интересных» заданий, там были задачки и на кодинг. Критерием победы в задачах...
🤯2
Как скопировать дерево, но не точь-в-точь
На собеседованиях и литкоде любят вращать бинарные деревья. Но что насчёт трансформации обычного дерева в другое? Как решить эту задачу, и какие могут быть подходы? Рассмотрим на опыте трансляции одного синтаксического в другое, чтобы разобраться.
https://habr.com/ru/companies/pvs-studio/articles/967530/
Алгоритмы и Структуры данных
На собеседованиях и литкоде любят вращать бинарные деревья. Но что насчёт трансформации обычного дерева в другое? Как решить эту задачу, и какие могут быть подходы? Рассмотрим на опыте трансляции одного синтаксического в другое, чтобы разобраться.
https://habr.com/ru/companies/pvs-studio/articles/967530/
Алгоритмы и Структуры данных
Хабр
Как скопировать дерево, но не точь-в-точь
На собеседованиях и литкоде любят вращать бинарные деревья. Но что насчёт трансформации обычного дерева в другое? Как решить эту задачу, и какие могут быть подходы? Рассмотрим на опыте трансляции...
👍1
Ликбез о плавающей точке: сложение, катастрофическое сокращение и бабушка Кэхена
Давайте продолжим обсуждение самой неоптимизированной в мире 32-битной библиотеки для работы с плавающей запятой TinyFloat. Библиотека написана на C++ и намеренно избегает встроенных типов плавающей запятой, полагаясь исключительно на 32-битные целые числа. Цель состоит в том, чтобы сделать код максимально читабельным — без бит-хаков и хитроумных уловок.
Кроме того, я хочу иметь подробную документацию о том, что происходит «под капотом». Оказалось, что лучший способ документировать код C++ — это полностью переписать его на Python :)
https://habr.com/ru/articles/967686/
Алгоритмы и Структуры данных
Давайте продолжим обсуждение самой неоптимизированной в мире 32-битной библиотеки для работы с плавающей запятой TinyFloat. Библиотека написана на C++ и намеренно избегает встроенных типов плавающей запятой, полагаясь исключительно на 32-битные целые числа. Цель состоит в том, чтобы сделать код максимально читабельным — без бит-хаков и хитроумных уловок.
Кроме того, я хочу иметь подробную документацию о том, что происходит «под капотом». Оказалось, что лучший способ документировать код C++ — это полностью переписать его на Python :)
https://habr.com/ru/articles/967686/
Алгоритмы и Структуры данных
Хабр
Ликбез о плавающей точке: сложение, катастрофическое сокращение и бабушка Кэхена
Давайте продолжим обсуждение самой неоптимизированной в мире 32-битной библиотеки для работы с плавающей запятой TinyFloat . Библиотека написана на C++ и намеренно избегает встроенных типов плавающей...
❤1