Поиск решений, управляемый данными. Тестирование и документирование
В предыдущих статьях были рассмотрены вопросы представления предметных знаний простыми и понятными для прикладных специалистов формами информационных блоков. Использование терминологического словаря предметной области в качестве естественного языка для представления знаний значительно облегчает процесс подготовки информационного наполнения системы. Так же были подробно описаны механизмы управляющие поиском решений.
Эта статья о том, как технология поиска решений, основанная на информационных блоках, способствует упрощению тестирования прикладных приложений и обеспечивает документирование получаемых решений.
В качестве иллюстративных материалов использованы фрагменты реальных приложений. Эти приложения относятся к таким прикладным областям, в которых нейросетевые технологии могут найти лишь ограниченное применение. В задачах конструкторско‑технологической и медицинской направленности требуются точные, обоснованные и воспроизводимые решения.
https://habr.com/ru/articles/1027826/
Алгоритмы и Структуры данных
В предыдущих статьях были рассмотрены вопросы представления предметных знаний простыми и понятными для прикладных специалистов формами информационных блоков. Использование терминологического словаря предметной области в качестве естественного языка для представления знаний значительно облегчает процесс подготовки информационного наполнения системы. Так же были подробно описаны механизмы управляющие поиском решений.
Эта статья о том, как технология поиска решений, основанная на информационных блоках, способствует упрощению тестирования прикладных приложений и обеспечивает документирование получаемых решений.
В качестве иллюстративных материалов использованы фрагменты реальных приложений. Эти приложения относятся к таким прикладным областям, в которых нейросетевые технологии могут найти лишь ограниченное применение. В задачах конструкторско‑технологической и медицинской направленности требуются точные, обоснованные и воспроизводимые решения.
https://habr.com/ru/articles/1027826/
Алгоритмы и Структуры данных
Хабр
Поиск решений, управляемый данными. Тестирование и документирование
В предыдущих статьях были рассмотрены вопросы представления предметных знаний простыми и понятными для прикладных специалистов формами информационных блоков. Использование...
Давайте объединим линейную и геометрическую алгебры. Часть 2. Матрица Якоби
В этот раз воздержусь от обработки статьи нейросетями, для приукрашивания оборотов речи, напишу просто про следующую идею: Матрица Якоби определяет векторную функцию в малой области, линейным способом, за счет чего может обрабатываться методами и линейной и геометрической алгебры.
https://habr.com/ru/articles/1027942/
Алгоритмы и Структуры данных
В этот раз воздержусь от обработки статьи нейросетями, для приукрашивания оборотов речи, напишу просто про следующую идею: Матрица Якоби определяет векторную функцию в малой области, линейным способом, за счет чего может обрабатываться методами и линейной и геометрической алгебры.
https://habr.com/ru/articles/1027942/
Алгоритмы и Структуры данных
Хабр
Давайте объединим линейную и геометрическую алгебры. Часть 2. Матрица Якоби
Привет Хабр! В этот раз воздержусь от обработки статьи нейросетями, для приукрашивания оборотов речи, напишу просто про следующую идею: Матрица Якоби определяет векторную функцию в малой области,...
Поиск решений, управляемый данными. Клиент-серверная архитектура и WEB
Поиск решений, управляемый данными, предполагает постоянное взаимодействие с пользователем. База знаний должна позволять одновременно обслуживать несколько клиентских мест. В статье рассматриваются принципиальные вопросы различных вариантов организации взаимодействия пользователей с экспертной системой (локально, в локальной сети, через интернет).
В статье не рассматриваются вопросы технической реализации типа: REST/SPA‑подход или long polling / WebSocket / server‑side session / event sourcing.
https://habr.com/ru/articles/1028206/
Алгоритмы и Структуры данных
Поиск решений, управляемый данными, предполагает постоянное взаимодействие с пользователем. База знаний должна позволять одновременно обслуживать несколько клиентских мест. В статье рассматриваются принципиальные вопросы различных вариантов организации взаимодействия пользователей с экспертной системой (локально, в локальной сети, через интернет).
В статье не рассматриваются вопросы технической реализации типа: REST/SPA‑подход или long polling / WebSocket / server‑side session / event sourcing.
https://habr.com/ru/articles/1028206/
Алгоритмы и Структуры данных
Хабр
Поиск решений, управляемый данными. Клиент-серверная архитектура и WEB
Поиск решений, управляемый данными, предполагает постоянное взаимодействие с пользователем. База знаний должна позволять одновременно обслуживать несколько клиентских мест. В статье рассматриваются...
Поиск решений, управляемый данными. Направления развития
Это заключительная статья серии. Экспертная система, состоящая из информационных блоков и словаря, реализованная на принципах технологии поиска решений управляемого данными, позволяет накапливать и сохранять прикладные знания. Наполнение системы знаниями целиком и полностью доступно прикладным специалистам. Появляется возможность реализации прикладных задач в самых разных предметных областях с минимальным привлечением ИТ-специалистов, и практически без традиционного программирования. Опираясь на сохранённые знания, узкие прикладные специалисты могут автоматизировать свои насущные задачи. Радикально снижаются затраты на разработку и одновременно получается качественный, масштабируемый и легко сопровождаемый продукт.
https://habr.com/ru/articles/1028230/
Алгоритмы и Структуры данных
Это заключительная статья серии. Экспертная система, состоящая из информационных блоков и словаря, реализованная на принципах технологии поиска решений управляемого данными, позволяет накапливать и сохранять прикладные знания. Наполнение системы знаниями целиком и полностью доступно прикладным специалистам. Появляется возможность реализации прикладных задач в самых разных предметных областях с минимальным привлечением ИТ-специалистов, и практически без традиционного программирования. Опираясь на сохранённые знания, узкие прикладные специалисты могут автоматизировать свои насущные задачи. Радикально снижаются затраты на разработку и одновременно получается качественный, масштабируемый и легко сопровождаемый продукт.
https://habr.com/ru/articles/1028230/
Алгоритмы и Структуры данных
Хабр
Поиск решений, управляемый данными. Направления развития
Это заключительная статья серии. Экспертная система, состоящая из информационных блоков и словаря, реализованная на принципах технологии поиска решений управляемого данными, позволяет накапливать и...
Как 2ГИС адаптируется к проблемам с позиционированием
Нестабильное позиционирование — не только пользовательская проблема, но и для нас как разработчиков картографического сервиса. Когда спутники теряются или данные становятся неточными, рушится целая цепочка: от отображения местоположения на карте до построения маршрута и поведения навигатора.
А источников ошибок много — плотная застройка, подземные парковки, тоннели и зоны с нестабильным сигналом. Чтобы приложение оставалось рабочим даже в таких условиях, мы стараемся улучшить систему позиционирования.
Ниже рассказываем про работу с геопозицией и что сделали, чтобы приложение оставалось рабочим, даже если сигнал пропал.
https://habr.com/ru/companies/2gis/articles/1028348/
Алгоритмы и Структуры данных
Нестабильное позиционирование — не только пользовательская проблема, но и для нас как разработчиков картографического сервиса. Когда спутники теряются или данные становятся неточными, рушится целая цепочка: от отображения местоположения на карте до построения маршрута и поведения навигатора.
А источников ошибок много — плотная застройка, подземные парковки, тоннели и зоны с нестабильным сигналом. Чтобы приложение оставалось рабочим даже в таких условиях, мы стараемся улучшить систему позиционирования.
Ниже рассказываем про работу с геопозицией и что сделали, чтобы приложение оставалось рабочим, даже если сигнал пропал.
https://habr.com/ru/companies/2gis/articles/1028348/
Алгоритмы и Структуры данных
Хабр
Как 2ГИС адаптируется к проблемам с позиционированием
Нестабильное позиционирование — не только пользовательская проблема, но и для нас как разработчиков картографического сервиса. Когда спутники теряются или данные становятся неточными, рушится целая...
Запускаем DeepSeek-V4 (1.6T) на «калькуляторе»: SVD-трансмутация, Identity Theft и гаражный MLOps
24 апреля 2026 года мир содрогнулся — вышел DeepSeek-V4-Pro. 1.6 триллиона параметров, MoE-архитектура, веса на 800+ ГБ. Академики в белых халатах из исследовательских центров тут же выкатили райдер: «Вам нужно минимум 8xH100 и прямой канал до дата-центра».
Мы посмотрели на свою бесплатную NVIDIA T4 с 16 ГБ VRAM в Kaggle, на 50 ГБ диска и поняли: вызов принят. Пока вы ждете гранты на GPU-кластеры, мы занимаемся цифровой вивисекцией.
https://habr.com/ru/articles/1028560/
Алгоритмы и Структуры данных
24 апреля 2026 года мир содрогнулся — вышел DeepSeek-V4-Pro. 1.6 триллиона параметров, MoE-архитектура, веса на 800+ ГБ. Академики в белых халатах из исследовательских центров тут же выкатили райдер: «Вам нужно минимум 8xH100 и прямой канал до дата-центра».
Мы посмотрели на свою бесплатную NVIDIA T4 с 16 ГБ VRAM в Kaggle, на 50 ГБ диска и поняли: вызов принят. Пока вы ждете гранты на GPU-кластеры, мы занимаемся цифровой вивисекцией.
https://habr.com/ru/articles/1028560/
Алгоритмы и Структуры данных
Хабр
Запускаем DeepSeek-V4 (1.6T) на «калькуляторе»: SVD-трансмутация, Identity Theft и гаражный MLOps
Предисловие: Ода безысходности 24 апреля 2026 года мир содрогнулся — вышел DeepSeek-V4-Pro. 1.6 триллиона параметров, MoE-архитектура, веса на 800+ ГБ. Академики в белых халатах из исследовательских...
❤1🔥1
«Прогеры» или «Битва Големов v4.0»? Сравниваем две настольные игры, обучающие детей основам кода и робототехники
Так уж получилось, что в России уже почти десять лет из настольных игр, которые направлены на обучение младших школьников (и чуть постарше) основам алгоритмики, программирования и робототехники доступны или зарубежные игры типа «Ricochet Robots» или «Robot Turtles». Постарше (с 12–14 лет) могли познакомиться с классикой жанра «RoboRally», а также в последние года появились две сюжетные игры‑головоломки «Quirky Circuits» и «М.А.Р.И.» Я про них писал более года назад.
Но основная «борьба» развернулась между «Прогерами» от Банды Умников и моей «Битвой Големов». И, несмотря на общую направленность, это разные игры как по механикам, так и по применимости. Поэтому решил сравнить игры лоб‑в-лоб достаточно беспристрастно и рассказать об их различиях.
https://habr.com/ru/articles/1028760/
Алгоритмы и Структуры данных
Так уж получилось, что в России уже почти десять лет из настольных игр, которые направлены на обучение младших школьников (и чуть постарше) основам алгоритмики, программирования и робототехники доступны или зарубежные игры типа «Ricochet Robots» или «Robot Turtles». Постарше (с 12–14 лет) могли познакомиться с классикой жанра «RoboRally», а также в последние года появились две сюжетные игры‑головоломки «Quirky Circuits» и «М.А.Р.И.» Я про них писал более года назад.
Но основная «борьба» развернулась между «Прогерами» от Банды Умников и моей «Битвой Големов». И, несмотря на общую направленность, это разные игры как по механикам, так и по применимости. Поэтому решил сравнить игры лоб‑в-лоб достаточно беспристрастно и рассказать об их различиях.
https://habr.com/ru/articles/1028760/
Алгоритмы и Структуры данных
Хабр
Настольные игры для юных программистов и робототехников. Часть 2 — эпоха роботов и исполнителей
В первой части истории я охватил период с 1970 по 1989 годы прошлого века, а в этой части хотел рассказать об образовательных настольных играх для детей и взрослых, в которых упор делается не только...
Задание 7 ЕГЭ по информатике: разбираем базу по кодированию изображений с нуля
Седьмое задание ЕГЭ по информатике часто воспринимается выпускниками как проходное. Казалось бы, что тут вообще может пойти не так? Выучил пару элементарных формул, умножил ширину картинки на высоту — и готово, законный балл в кармане.
Но на практике статистика неумолима: именно на задачах по кодированию изображений абитуриенты регулярно теряют драгоценные баллы. И проблема здесь кроется вовсе не в сложности самой концепции. Главные враги сдающего — это коварные детали. Ошибка при переводе килобайтов в биты, легкая путаница со степенями двойки и, конечно же, неправильное округление (в какую сторону округлять глубину цвета, если результат получился дробным?). Эти мелочи способны разрушить даже абсолютно верный ход мыслей.
Эта статья написана для того, чтобы раз и навсегда избавить вас от сомнений при встрече с графикой в КИМах. Наша цель — пройти путь от абсолютного нуля до полноценного понимания механики кодирования изображений.
https://habr.com/ru/articles/1029206/
Алгоритмы и Структуры данных
Седьмое задание ЕГЭ по информатике часто воспринимается выпускниками как проходное. Казалось бы, что тут вообще может пойти не так? Выучил пару элементарных формул, умножил ширину картинки на высоту — и готово, законный балл в кармане.
Но на практике статистика неумолима: именно на задачах по кодированию изображений абитуриенты регулярно теряют драгоценные баллы. И проблема здесь кроется вовсе не в сложности самой концепции. Главные враги сдающего — это коварные детали. Ошибка при переводе килобайтов в биты, легкая путаница со степенями двойки и, конечно же, неправильное округление (в какую сторону округлять глубину цвета, если результат получился дробным?). Эти мелочи способны разрушить даже абсолютно верный ход мыслей.
Эта статья написана для того, чтобы раз и навсегда избавить вас от сомнений при встрече с графикой в КИМах. Наша цель — пройти путь от абсолютного нуля до полноценного понимания механики кодирования изображений.
https://habr.com/ru/articles/1029206/
Алгоритмы и Структуры данных
Хабр
Задание 7 ЕГЭ по информатике: разбираем базу по кодированию изображений с нуля
Введение. Почему 7-е задание коварнее, чем кажется Седьмое задание ЕГЭ по информатике часто воспринимается выпускниками как проходное. Казалось бы, что тут вообще может пойти не так? Выучил пару...
Вариация на тему Рида-Соломона
В одном из проектов столкнулся с задачей кодирования данных с целью восстановления потерянных пакетов. Поскольку обработка пакетов осуществлялась полностью на цифровом уровне без доступа к информации от аналогового приемника (hard-decision), то я решил использовать код Рида-Соломона (РС). Обработка пакетов осуществлялась на контроллере esp32-s3, который среди прочего имеет возможность работы с векторами. И необходимо иметь большую силу воли, чтобы не воспользоваться этой интересной возможностью для ускорения вычисления. Собственно эта краткая статья посвящена адаптации и модификации кода РС для возможности использования векторных операций на этом контроллере.
https://habr.com/ru/articles/1033246/
Алгоритмы и Структуры данных
В одном из проектов столкнулся с задачей кодирования данных с целью восстановления потерянных пакетов. Поскольку обработка пакетов осуществлялась полностью на цифровом уровне без доступа к информации от аналогового приемника (hard-decision), то я решил использовать код Рида-Соломона (РС). Обработка пакетов осуществлялась на контроллере esp32-s3, который среди прочего имеет возможность работы с векторами. И необходимо иметь большую силу воли, чтобы не воспользоваться этой интересной возможностью для ускорения вычисления. Собственно эта краткая статья посвящена адаптации и модификации кода РС для возможности использования векторных операций на этом контроллере.
https://habr.com/ru/articles/1033246/
Алгоритмы и Структуры данных
Хабр
Вариация на тему Рида-Соломона
Введение В одном из проектов столкнулся с задачей кодирования данных с целью восстановления потерянных пакетов. Поскольку обработка пакетов осуществлялась полностью на цифровом уровне без доступа к...
Фазовая синхронизация в системе FMComms5 от Analog Devices и оценка угла прихода сигнала
В этой статье дана инструкция для выполнения фазовой синхронизации в FMComms5 от Analog Devices и реализации метода пеленгации, использующего эту функцию. Оценочная плата FMComms5 обеспечивает высокую точность фазовой синхронизации. В этой статье рассказывается, как выровнять фазы двух приемопередатчиков AD9361 с помощью специальной программной библиотеки libad9361, созданной на основе инфраструктуры ввода-вывода libiio. Фазовое выравнивание необходимо для многих радиолокационных систем, таких как пеленгаторы и когерентные системы MIMO.
Исходный код GNURadio, на котором основан этот пример, был изначально разработан доктором Шрикантом Пагадараи и доктором Трэвисом Коллинзом при финансовой поддержке компании Ettus Research [1]. Недавно доктор Коллинз портировал его на платформу FMComms5, добавив документацию. В настоящее время код доступен по адресу github.com/tfcollins/gr-doa в ветке adi. Этот код распространяется по лицензии GPL3. Реализация на FMComms5 обеспечивает такую же производительность, как и предыдущая работа [1]. Технический документ из [1] также был дополнен авторами оригинальной статьи информацией о FMComms5 и стратегии его внедрения.
https://habr.com/ru/articles/1029232/
Алгоритмы и Структуры данных
В этой статье дана инструкция для выполнения фазовой синхронизации в FMComms5 от Analog Devices и реализации метода пеленгации, использующего эту функцию. Оценочная плата FMComms5 обеспечивает высокую точность фазовой синхронизации. В этой статье рассказывается, как выровнять фазы двух приемопередатчиков AD9361 с помощью специальной программной библиотеки libad9361, созданной на основе инфраструктуры ввода-вывода libiio. Фазовое выравнивание необходимо для многих радиолокационных систем, таких как пеленгаторы и когерентные системы MIMO.
Исходный код GNURadio, на котором основан этот пример, был изначально разработан доктором Шрикантом Пагадараи и доктором Трэвисом Коллинзом при финансовой поддержке компании Ettus Research [1]. Недавно доктор Коллинз портировал его на платформу FMComms5, добавив документацию. В настоящее время код доступен по адресу github.com/tfcollins/gr-doa в ветке adi. Этот код распространяется по лицензии GPL3. Реализация на FMComms5 обеспечивает такую же производительность, как и предыдущая работа [1]. Технический документ из [1] также был дополнен авторами оригинальной статьи информацией о FMComms5 и стратегии его внедрения.
https://habr.com/ru/articles/1029232/
Алгоритмы и Структуры данных
GitHub
GitHub - tfcollins/gr-doa: Direction-of-Arrival (DoA) Demo for GNU Radio (OOT) with the USRP™ X-Series and TwinRX™
Direction-of-Arrival (DoA) Demo for GNU Radio (OOT) with the USRP™ X-Series and TwinRX™ - tfcollins/gr-doa
Реверс — это сканворд. Как я впервые нормально понял Ghidra
У меня бывают неожиданные заказы, из неожиданных сфер на фрилансе. Недавно писал про то как прилетел большой проект по классификатору фоток. А теперь пришел запрос на реверс! Не могу вдаваться в подробности проекта - много конфиденциального - но я расскажу про конкретный разбор одного .dll файла. Открыл Ghidra, кликнул на функцию, включил декомпилятор - и передо мной встала стена.
Не метафорическая стена. Прям реально стена!
https://habr.com/ru/articles/1029296/
Алгоритмы и Структуры данных
У меня бывают неожиданные заказы, из неожиданных сфер на фрилансе. Недавно писал про то как прилетел большой проект по классификатору фоток. А теперь пришел запрос на реверс! Не могу вдаваться в подробности проекта - много конфиденциального - но я расскажу про конкретный разбор одного .dll файла. Открыл Ghidra, кликнул на функцию, включил декомпилятор - и передо мной встала стена.
Не метафорическая стена. Прям реально стена!
https://habr.com/ru/articles/1029296/
Алгоритмы и Структуры данных
Хабр
Как я учил компьютер понимать 122 000 фотографий — и почему сложностью оказались не нейронки, а слова
Как я вообще туда попал Я крайне редко на фрилансе получал заказы связанные с DS/ML, специалистов для таких задач обычно ищут не там. Причины разные: они требуют долгой интеграции, заказчик сам не...
Почему Chrome весит 7 000 Марио или как сжать «Змейку» в 1 000 раз
На вашем диске лежит семь одинаковых моделей птицы Додо. Не благодарите — это ARK заботливо положил их вам в каждое DLC.
Раньше Super Mario Bros весила 40 КБ. Сейчас одно обновление Chrome — это ~7 000 таких Марио. Как мы дошли до жизни такой, и почему все идет по кругу?
В статье пройдем путь от тайлов NES до Neural Texture Compression и рассмотрим змейку в трех версиях: по трем вехам сжатия. Одна из них в 1 120 раз меньше первой. И это не та, в которой ИИ.
https://habr.com/ru/companies/selectel/articles/1029402/
Алгоритмы и Структуры данных
На вашем диске лежит семь одинаковых моделей птицы Додо. Не благодарите — это ARK заботливо положил их вам в каждое DLC.
Раньше Super Mario Bros весила 40 КБ. Сейчас одно обновление Chrome — это ~7 000 таких Марио. Как мы дошли до жизни такой, и почему все идет по кругу?
В статье пройдем путь от тайлов NES до Neural Texture Compression и рассмотрим змейку в трех версиях: по трем вехам сжатия. Одна из них в 1 120 раз меньше первой. И это не та, в которой ИИ.
https://habr.com/ru/companies/selectel/articles/1029402/
Алгоритмы и Структуры данных
Хабр
Почему Chrome весит 7 000 Марио или как сжать «Змейку» в 1 000 раз
На вашем диске лежит семь одинаковых моделей птицы Додо. Не благодарите — это ARK заботливо положил их вам в каждое DLC. Раньше Super Mario Bros весила 40 КБ. Сейчас одно обновление Chrome — это ~7...
Те, кто не любит отлаживать — против тех, кто не любит писать
В программировании (как и в написании HDL кода и подобных профессиях) есть две школы мысли: чистолисты (строят свою архитектуру с чистого листа и пишут так чтобы поменьше отлаживать) и кодокопатели (отлаживают что есть, дополняя мусором из интернета, чтобы поменьше писать). На это накладывается менеджмент, который пытается комбинировать чистолистов и кодокопателей, иногда неправильным образом, то есть ставит чистолистов править то, что налабали кодокопатели. Это происходит потому, что кодокопатели постоянно выглядят занятыми отладкой, а чистолист часто смотрит в потолок обдумывая дизайн, поэтому менеджмент думает что первые работают быстрее чем вторые, и пытаются соптимизировать “быстроту-качество” вот таким образом.
https://habr.com/ru/articles/1029774/
Алгоритмы и Структуры данных
В программировании (как и в написании HDL кода и подобных профессиях) есть две школы мысли: чистолисты (строят свою архитектуру с чистого листа и пишут так чтобы поменьше отлаживать) и кодокопатели (отлаживают что есть, дополняя мусором из интернета, чтобы поменьше писать). На это накладывается менеджмент, который пытается комбинировать чистолистов и кодокопателей, иногда неправильным образом, то есть ставит чистолистов править то, что налабали кодокопатели. Это происходит потому, что кодокопатели постоянно выглядят занятыми отладкой, а чистолист часто смотрит в потолок обдумывая дизайн, поэтому менеджмент думает что первые работают быстрее чем вторые, и пытаются соптимизировать “быстроту-качество” вот таким образом.
https://habr.com/ru/articles/1029774/
Алгоритмы и Структуры данных
Хабр
Те, кто не любит отлаживать — против тех, кто не любит писать
В программировании (как и в написании HDL кода и подобных профессиях) есть две школы мысли: чистолисты (строят свою архитектуру с чистого листа и пишут так чтобы поменьше отлаживать) и кодокопатели...
Рекурсивные типы. Часть 6. Пересвёртка на практике
В этот раз мы рассмотрим, как пересвёртка рекурсивных структур данных помогает в решении задач динамического программирования.
https://habr.com/ru/articles/1029528/
Алгоритмы и Структуры данных
В этот раз мы рассмотрим, как пересвёртка рекурсивных структур данных помогает в решении задач динамического программирования.
https://habr.com/ru/articles/1029528/
Алгоритмы и Структуры данных
Хабр
Рекурсивные типы. Часть 6. Пересвёртка на практике
В этот раз мы рассмотрим, как пересвёртка рекурсивных структур данных помогает в решении задач динамического программирования. Подразумевается, что читатель уже знаком с предыдущими частями обзора, но...
Попробовали научить AI искать то, чего никто не замечает — слабые рыночные сигналы
Это история об одном эксперименте, одной красивой ошибке и шести настоящих открытиях. О том, что наука — это не только правильные ответы. Это ещё и смелость задавать неудобные вопросы самому себе.
https://habr.com/ru/articles/1030160/
Алгоритмы и Структуры данных
Это история об одном эксперименте, одной красивой ошибке и шести настоящих открытиях. О том, что наука — это не только правильные ответы. Это ещё и смелость задавать неудобные вопросы самому себе.
https://habr.com/ru/articles/1030160/
Алгоритмы и Структуры данных
Хабр
Попробовали научить AI искать то, чего никто не замечает — слабые рыночные сигналы
Как мы научили алгоритм слушать рынок Это история об одном эксперименте, одной красивой ошибке и шести настоящих открытиях. О том, что наука — это не только правильные ответы. Это ещё и смелость...
Совет на ближайшие годы — изучайте ВАЙБ-КОДИНГ
ИИ уже пишет код, чинит баги, генерирует тесты, документацию и помогает запускать продукты быстрее, чем это делали классические команды разработки. И это уже не "будущее когда-нибудь", а реальность, которая меняет рынок уже сегодня
И те, кто научится вайбкодить сейчас, будут увереннее конкурировать на рынке и зарабатывать больше тех, кто по-прежнему делает всё вручную.
Стартовать с нуля поможет канал Вайб-кодинг. Там ребята круглосуточно мониторят более 320 российских и зарубежных источников и публикуют только главное: релизы, инструменты, гайды, курсы и практические кейсы.
Подписывайтесь, нас уже 30 тысяч: @vibecoding_tg
ИИ уже пишет код, чинит баги, генерирует тесты, документацию и помогает запускать продукты быстрее, чем это делали классические команды разработки. И это уже не "будущее когда-нибудь", а реальность, которая меняет рынок уже сегодня
И те, кто научится вайбкодить сейчас, будут увереннее конкурировать на рынке и зарабатывать больше тех, кто по-прежнему делает всё вручную.
Стартовать с нуля поможет канал Вайб-кодинг. Там ребята круглосуточно мониторят более 320 российских и зарубежных источников и публикуют только главное: релизы, инструменты, гайды, курсы и практические кейсы.
Подписывайтесь, нас уже 30 тысяч: @vibecoding_tg
Что именно я понимаю под промежуточным представлением (IR) компилятора
Я много думал о том, как проектируются промежуточные представления (IR) для компилятора. В этом посте я поделюсь с вами некоторыми идеями, к которым я пришёл, и поясню, почему считаю их важными.
Главенствующая идея заключается в способности принимать решения, располагая лишь локальной информацией.
Она существует примерно в паре трактовок. Исходим из того, что в каждый момент времени компилируем один какой-то метод, а не занимаемся чем-то сближающимся с трассировкой (трассировка, трейслеты, версионирование базовых блоков, т.д.).
https://habr.com/ru/articles/1030578/
Алгоритмы и Структуры данных
Я много думал о том, как проектируются промежуточные представления (IR) для компилятора. В этом посте я поделюсь с вами некоторыми идеями, к которым я пришёл, и поясню, почему считаю их важными.
Главенствующая идея заключается в способности принимать решения, располагая лишь локальной информацией.
Она существует примерно в паре трактовок. Исходим из того, что в каждый момент времени компилируем один какой-то метод, а не занимаемся чем-то сближающимся с трассировкой (трассировка, трейслеты, версионирование базовых блоков, т.д.).
https://habr.com/ru/articles/1030578/
Алгоритмы и Структуры данных
Хабр
Что именно я понимаю под промежуточным представлением (IR) компилятора
Я много думал о том, как проектируются промежуточные представления (IR) для компилятора. В этом посте я поделюсь с вами некоторыми идеями, к которым я пришёл, и поясню, почему считаю их важными....
Понять Big O раз и навсегда
Бывало такое: пишешь фичу, проверяешь на локалке — всё летает за миллисекунды. С чистой совестью катишь в прод. А через месяц объемы данных вырастают, приходят реальные юзеры, и всё ложится. Процессор в сотке, логи забиты таймаутами, поддержка в огне.
Смотришь в код — вроде всё логично и красиво. Откуда тормоза?
Всё дело в масштабировании. Алгоритм, который легко переваривает 100 элементов, на миллионе записей может запросто превратиться в тыкву.
Именно для понимания таких моментов и нужна нотация Big O. И нет, это не академическая муть, которую зубрят только ради прохождения алгоритмической секции на собесе и сразу забывают. Это практический навык. Он нужен, чтобы еще на этапе написания кода понимать: «ага, вот этот кусок при росте нагрузки убьет нам сервер».
https://habr.com/ru/articles/1030772/
Алгоритмы и Структуры данных
Бывало такое: пишешь фичу, проверяешь на локалке — всё летает за миллисекунды. С чистой совестью катишь в прод. А через месяц объемы данных вырастают, приходят реальные юзеры, и всё ложится. Процессор в сотке, логи забиты таймаутами, поддержка в огне.
Смотришь в код — вроде всё логично и красиво. Откуда тормоза?
Всё дело в масштабировании. Алгоритм, который легко переваривает 100 элементов, на миллионе записей может запросто превратиться в тыкву.
Именно для понимания таких моментов и нужна нотация Big O. И нет, это не академическая муть, которую зубрят только ради прохождения алгоритмической секции на собесе и сразу забывают. Это практический навык. Он нужен, чтобы еще на этапе написания кода понимать: «ага, вот этот кусок при росте нагрузки убьет нам сервер».
https://habr.com/ru/articles/1030772/
Алгоритмы и Структуры данных
Хабр
Понять Big O раз и навсегда
1. Введение Бывало такое: пишешь фичу, проверяешь на локалке — всё летает за миллисекунды. С чистой совестью катишь в прод. А через месяц объемы данных вырастают, приходят реальные юзеры, и всё...
«Эстафета хвоста» — алгоритм итеративного обхода дерева со стеком, и почему это — Green Computing
Привет Хабр. Представляю вниманию одну идею, и то, насколько ново мне удаётся её реализовать ново и на данном этапе на уровне Green Computing. Этот сервер (над которым работаю) я планирую использовать как буферную зону защищённую от менеджмента и рекламы (реклама если будет, то только в виде ссылок на рекламные хабы).
https://habr.com/ru/articles/1030914/
Алгоритмы и Структуры данных
Привет Хабр. Представляю вниманию одну идею, и то, насколько ново мне удаётся её реализовать ново и на данном этапе на уровне Green Computing. Этот сервер (над которым работаю) я планирую использовать как буферную зону защищённую от менеджмента и рекламы (реклама если будет, то только в виде ссылок на рекламные хабы).
https://habr.com/ru/articles/1030914/
Алгоритмы и Структуры данных
Хабр
«Эстафета хвоста» — о извлечении данных из БД для форумного движка «сервера-слоя»
Всем привет. Тут я опишу одну идею, и то, насколько ново мне удаётся её реализовать. Почему же я отклонился от намеченных целей? Почему форумный движок? Как же чипы, как же машинное зрение? Ну вообще...
Buffer Pool и Clock-sweep: как мы боремся с cache pollution и p99 latency
Один аналитик с одним
В предыдущей статье мы разобрали API-контракты между слоями OLTP-ядра, USDT/eBPF-наблюдаемость и Adaptive Tuning. Сейчас — разбор Buffer Pool: почему Clock-sweep лучше LRU для конкурентной среды, как BufferRing изолирует сканы от горячего рабочего набора, и почему no-steal это не выбор стиля, а вопрос корректности recovery.
Здесь описана текущая реализация: что работает в коде, какие компромиссы зафиксированы как MVP, где что-то не готово — скажем прямо. За рамками статьи намеренно остаются sharded buffer pool, алгоритмы GCLOCK / CLOCK-Pro / ARC, полный Resource Broker с динамическим перераспределением памяти и bulk write маршрут — это отдельные задачи, у каждой свой дизайн-документ.
https://habr.com/ru/articles/1030822/
Алгоритмы и Структуры данных
Один аналитик с одним
SELECT count(*) FROM orders способен серьёзно ухудшить p99 latency всего OLTP-трафика. Пока скан читает таблицу страница за страницей, Buffer Pool заполняется «холодными» данными, горячие OLTP-страницы вытесняются, и после окончания скана приложение тянет данные с диска вместо кэша — ровно до тех пор, пока hot working set не прогреется заново. Это классический cache pollution, и с ним рано или поздно сталкивается любая СУБД с честным LRU.В предыдущей статье мы разобрали API-контракты между слоями OLTP-ядра, USDT/eBPF-наблюдаемость и Adaptive Tuning. Сейчас — разбор Buffer Pool: почему Clock-sweep лучше LRU для конкурентной среды, как BufferRing изолирует сканы от горячего рабочего набора, и почему no-steal это не выбор стиля, а вопрос корректности recovery.
Здесь описана текущая реализация: что работает в коде, какие компромиссы зафиксированы как MVP, где что-то не готово — скажем прямо. За рамками статьи намеренно остаются sharded buffer pool, алгоритмы GCLOCK / CLOCK-Pro / ARC, полный Resource Broker с динамическим перераспределением памяти и bulk write маршрут — это отдельные задачи, у каждой свой дизайн-документ.
https://habr.com/ru/articles/1030822/
Алгоритмы и Структуры данных
Хабр
Как мы строим OLTP-ядро: от API-контрактов до eBPF-проб
В предыдущих статьях я подробно разбирал фундамент нашей новой OLTP-СУБД: принцип Restrictive by Default (fail-closed вместо деградации), отказ от VACUUM в пользу UNDO-лога и концепцию Unified...
Эдсгер Дейкстра. Человек, который придумал параллельные вычисления
Д-р наук, профессор Эдсгер Дейкстра (Edsger W. Dijkstra, 1930−2002) — легендарный голландский и американский учёный, труды которого заложили фундамент современного программирования. Среди всех учёных прошлого Дейкстра оказал самое большое влияние на современную информатику. Он один из разработчиков концепции структурного программирования, формальной верификации, распределённых вычислений, построения компиляторов, графовых алгоритмов, дизайна алгоритмов, дизайна ПО, дизайна математических аргументов, языков программирования и операционных систем.
Некоторые статьи Дейкстры всего лишь на несколько страниц становились источником целых новых исследовательских направлений. Ряд современных концепций были впервые выявлены Дейкстрой и носят придуманные им названия. Например, параллельные вычисления.
https://habr.com/ru/companies/ruvds/articles/1027578/
Алгоритмы и Структуры данных
Д-р наук, профессор Эдсгер Дейкстра (Edsger W. Dijkstra, 1930−2002) — легендарный голландский и американский учёный, труды которого заложили фундамент современного программирования. Среди всех учёных прошлого Дейкстра оказал самое большое влияние на современную информатику. Он один из разработчиков концепции структурного программирования, формальной верификации, распределённых вычислений, построения компиляторов, графовых алгоритмов, дизайна алгоритмов, дизайна ПО, дизайна математических аргументов, языков программирования и операционных систем.
Некоторые статьи Дейкстры всего лишь на несколько страниц становились источником целых новых исследовательских направлений. Ряд современных концепций были впервые выявлены Дейкстрой и носят придуманные им названия. Например, параллельные вычисления.
https://habr.com/ru/companies/ruvds/articles/1027578/
Алгоритмы и Структуры данных
Wikipedia
Edsger W. Dijkstra
Dutch computer scientist (1930–2002)