Как стать автором
Поиск
Написать публикацию
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Больше, чем аналитика: как Process Mining помогает ритейлу экономить и повышать выручку

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров634

Процессная аналитика (Process Mining) — это методология сбора и анализа информации о бизнес‑процессах. Она помогает составить реальную схему процессов, разобраться в их работе и найти узкие места, требующие вашего внимания. Также процессная аналитика помогает выявлять «нетипичные» пути прохождения и прогнозировать работу бизнес‑процессов.

Мы рассмотрим подробнее эту методологию и особенности её применения. А также на нескольких примерах из практики М.Видео‑Эльдорадо и Т1 покажем, чем процессная аналитика может быть полезна в компании.

Читать далее

SLA в проектах внедрения программных продуктов 1С

Время на прочтение3 мин
Количество просмотров235

SLA (Service Level Agreement) — это соглашение об уровне услуг, документ, который четко определяет, кто, что и в какие сроки должен делать.

SLA (Service Level Agreement) — это не просто очередная бюрократическая бумажка, а свод правил, который спасает проекты от хаоса.  Если представить проект внедрения 1С как футбольный матч, то SLA — это правила игры. Если у одной команды — мяч, а у другой — шайба, игра превращается в хаотичную драку. SLA как раз и нужен, чтобы все играли по одним правилам.

Читать далее

Ставим шину AHB-Lite на ядро YRV

Уровень сложностиСложный
Время на прочтение5 мин
Количество просмотров773

При разработке SoC много говорят про RISC-V, а вот информации про шину AHB-Lite сравнительно мало. Все, что есть на русском языке, касается старого проекта MIPSFpga. Почему бы не взять открытые наработки из MIPSFpga Plus и не использовать совместно с ядром RISС-V?

Читать далее

Три ошибки в C#, которые лучше не допускать

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.6K

Привет, Хабр!

Сегодня мы рассмотрим три самые коварные ошибки, которые регулярно просачиваются даже в продовые C#-проекты. Разберёмся, как они рождаются, почему остаются незамеченными и что нужно сделать, чтобы больше никогда не ловить эти проблемы.

Читать далее

От табличек и звонков к онлайн-бронированию: кейс автоматизации в Ситидрайве

Время на прочтение7 мин
Количество просмотров402

Привет, Хабр! Я Саша Яничкина, продакт-менеджер в Ситидрайве. Долгое время нас знали как сервис поминутного каршеринга с яркими тачками. Со временем вокруг каршеринга начали появляться новые продуктовые направления, и Ситидрайв превратился в платформу для автомобилистов с разными сценариями использования.

В этой статье расскажу, как мы:

— вытащили бронирование из ручных процессов и перенесли его в приложение,

— пересобрали клиентский путь и внутренние процессы без остановки продукта,

— запустили автоматизацию, которая теперь обрабатывает большую часть заявок без участия людей.

Если вы в той самой точке, где всё держится на костылях, а хочется собрать нормальную систему — будет полезно.

Читать далее

Выделенные серверы + Kubernetes: практическое руководство

Время на прочтение17 мин
Количество просмотров3.6K

Привет, Хабр! Я Максим, инженер по тестированию Selectel. Недавно мы провели технический воркшоп по работе с Kubernetes на выделенных серверах. Под катом — подробный текстовый разбор. Рассмотрим создание кластера через панель управления, деплой приложения, настройку внешнего доступа и подключение облачной базы данных с тестовым запросом прямо из пода.

Читать далее

Выжимаем максимум из Postgres на RTABench Q0

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров817

Время от времени приходится слышать мнение, что Postgres никуда не годится для решения задач аналитики. При при этом, в качестве аргументации приводятся в пример результаты тестирования на TPC‑H или ClickBench. Что ж, когда стоит простая задача перебрать 100 млн строк на диске и посчитать набор агрегатов над ними — формат хранения и распараллеливания действительно сильно ограничивают нас в возможностях оптимизации СУБД. Однако когда запросы высоко селективны, им по факту требуется не так много строк таблицы и фокус внимания смещается на порядок JOINов, кэширование промежуточных результатов и минимизацию операций сортировки. В этом случае Postgres, имеющий весьма широкий выбор различных стратегий выполнения запроса, может получить преимущество...

Читать далее

Домофон Лидер-М. Как скрестить трубку с ключом и всем проиграть

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5.1K

Приветствую всех!

Когда-то я уже рассказывал про цифровые домофоны и про то, как они работают. Но, как оказалось, их система с перемычками была далеко не единственной.

В конце девяностых появилась ещё одна схема, использовавшаяся в малораспространённых питерских домофонах. Чем она была примечательна и почему она так и не получила распространения? Сейчас и узнаем.

Читать дальше →

Автоматическое определение параметров хранения в базе данных

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров665

Предлагается к рассмотрению метод динамического определения форматов хранения и типов индексации в таблицах аналитической базы данных Dimension DB. На основе метаданных из источников данных (SQL-запросов, таблиц или представлений) определяется формат хранения или представления данных, а по текущему распределению данных, автоматически определяется тип индексирования.

Читать далее

Самозанятый или ИП: как айтишнику выбрать форму работы в 2025

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.1K

Айтишник работает удалённо. Пишет код, собирает дашборды, настраивает DevOps или консультирует по безопасности. Клиенты платят. Деньги капают. И вот тут возникает вопрос: оформляться как самозанятый или регистрировать ИП?

Однозначного ответа нет — и это хорошо. Потому что выбор формы работы в 2025-м стал не просто техническим, а стратегическим. Он зависит не только от цифр, но и от целей. 

Ниже разберёмся: почему фрилансерам и технопредпринимателям этот выбор так важен, где могут быть юридические «мины» и когда стоит менять режим.

Читать далее

Как мы ускорили проверку документации с помощью AI-агента: от боли к решению

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров2.7K

Привет, Хабр! 

Я — Мила Муромцева, системный аналитик в Альфа-Банке. Пишу эту статью, чтобы поделиться нашим опытом, а с кодом и тех. частью мне помогает наш разработчик Миша Буторин. Расскажем, как мы научили LLM проверять документацию для платформы Альфа-Онлайн: переписали стандарт, поборолись с токенами и немного с хаосом.

Читать далее

Секреты работы онлайн-редакторов: что происходит при совместном редактировании? Yjs, CRDT и другие магические слова

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров768

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

На деле за этим волшебством часто скрываются CRDT — структуры данных, делающие возможной децентрализованную синхронизацию. Я сам столкнулся с этим, когда работал над онлайн-совместным редактором: CRDT и библиотека Yjs буквально спасли мой проект от хаоса и сделали синхронизацию прозрачной.

Меня зовут Никита Лыкосов, я занимаюсь фронтенд-разработкой в Doubletapp и предлагаю шаг за шагом разобраться, как устроена эта инженерная магия. Спойлер: это гораздо проще, чем кажется.

Читайте в статье:

G-Counter — самый простой CRDT
Какие правила CRDT выполняются на примере G-Counter и зачем это нужно?
Массивы
Yjs: как устроено совместное редактирование на практике

Читать далее

HTC Desire HD: история, дизайн и возможности легендарного смартфона

Время на прочтение6 мин
Количество просмотров4.2K

HTC Desire HD, выпущенный в 2010 году, стал одним из первых флагманов HTC на Android, задав высокую планку для премиальных смартфонов. И я это говорю не просто так, а в качестве очевидца. Именно тогда, 15 лет назад, я стал владельцем этого чуда техники. Сразу после Nokia 6220, если не ошибаюсь.

Аппарат был стильным, мощным, а еще он получил продвинутую оболочку HTC Sense. В статье расскажу историю появления устройства, опишу технические характеристики и программные возможности. И конечно, разберу, благо мой смартфон до сих пор со мной, правда, в качестве экспоната, а не рабочего аппарата.

Читать далее

Ближайшие события

Scala Digest. Выпуск 31

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров269

Привет, Хабр! Мы — Настя, Эвелина и Миша — бэкенд-разработчики Т-Банка, пишем код на Scala и горим желанием его популяризировать. Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. 

Приветствуем любую обратную связь! (づ ◕‿◕ )づ

Читать тридцать первый выпуск

Пилим стартап, часть 2.5. Мини-гайд по Claude Code, причесываем UI

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3K

Да, я убрал из заголовка "за выходные", потому что проект чутка растянулся. Но идёт весело! У него и веб-версия теперь есть: https://mini.qyp.ai

Напомню: я давно хотел пощупать Tauri v2, и новомодные фреймворки для построения AI-агентов (ai-sdk / mastra / llamaindex).

Идея простая: десктопное приложение, дешборд на весь экран, справа интерфейс чата. Просим ИИ вывести на дешборд какую-то информацию в духе "сколько новых юзеров за последнюю неделю" - ИИ пишет код виджета, и размещает его на дешборде. Под капотом - runtime компиляция React.js + sql-коннекторы.
Полный open-source, весь код в репозитории: https://github.com/ElKornacio/qyp-mini

Читать далее

DNS-хаос, зомби-поды и майнеры в кластере: самые невероятные случаи при работе с Kubernetes

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров1.6K

Kubernetes — мощный и одновременно сложный инструмент, работа с которым неизбежно порождает… инциденты. И на практике DNS виновата далеко не всегда. Иногда всё ломает слишком длинное имя деплоймента, протухший CA-сертификат или сбой сетевой карты, из-за которого TCP-пакеты просто отбрасываются. В статье вас ждут самые интересные и поучительные инженерные истории с Reddit.

Читать далее

Часть 2: Rope-Ladder Tracker — от идеи к стабильной системе

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров491

Это продолжение статьи “Rope-Ladder Tracker: визуальный возврат без GPS” , где я представил концепцию структурированного позиционирования по принципу “верёвочной лестницы”. Тогда это была идея, прототип и первые кадры. Сегодня — полноценная, стабильная система, готовая к интеграции в реальный дрон.

Читать далее

Автоматизация при создании профилей для антидетект браузера через API: мой практический опыт

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров870

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

В общем, копаясь в недрах арбитража (для настоящих гуру эти недра конечно могут показаться сильно на поверхности) я запилил скрипт по автоматическому созданию профилей в антидетект браузере через АПИ. Звучит угрожающе? Ну давайте не будем торопиться с выводами.

Итак, тестируя различные моменты, я подготовил два скрипта, которые, вероятно, могли бы быть полезны для начинающих арбитражников, либо для более продвинутых начинающих арбитражников, которые погружаются в автоматизацию и работу через АПИ (like a boss).

Первый скрипт позволяет в автоматическом режиме генерить сотни профилей, как с автоматически генерируемыми отпечатками браузера, так и со своими собственными (но тогда скрипт нужно будет немного допилить и добавить в папку дополнительный файл с отпечатками).

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

Ну а теперь, давайте разбираться более подробно.

Читать далее

(Не)случайные числа в VBA Excel Ч. 1

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров893

Первая часть из моего цикла исследований, посвященного генерации псевдослучайных чисел в скриптовом языке VBA, используемого в офисных приложениях от Microsoft.

Погрузиться в мир псевдослучайных чисел!

GIMP Script-Fu ООП. Классы. Начало

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров1.5K

С необходимостью введения в язык Script‑fu Объектно‑ориентированного стиля программирования я столкнулся на поздних этапах реализации языка функциональной геометрии. Когда в коде появились «свичи/переключатели» и возможность исполнения кода в зависимости от типа входящих данных. Сам то этот «переключатель» написать не сложно, но в развивающемся проекте, постоянно возникают новые типы, изменяются, от каких то приходится отказываться, а ещё есть вариант создания модульных систем, когда в одном варианте существует один набор типов, а вдругом другой, ну а в третьем третий и т. д. И код этого «переключателя» постоянно приходится переписывать, или прибегать к различным «хакам», модифицирующим код в зависимости от того или иного варианта загрузки.

Когда вы в своём проекте сталкиваетесь с подобными конструкциями это явный признак того что вам необходимы языковые конструкции поддерживающие гибкое поведение кода. В объектно‑ориентированном программировании подобное поведение функций называется полиморфным, а сам принцип позволяющий создавать такие функции полиморфизмом.

Читать далее