Обновить

Все потоки

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

Масштабирование Zeebe: от каскадных сбоев до 100 процессов в секунду через анализ ресурсов и тюнинг

Уровень сложностиСложный
Время на прочтение16 мин
Охват и читатели6.9K

Привет, Хабр! Мы — команда разработки кредитных продуктов для физических лиц в Т-Банке. Делимся опытом нагрузочного тестирования workflow-движка Zeebe (основы Camunda 8), который проводили, когда искали альтернативу Camunda 7.

Вокруг Zeebe ходит немало стереотипов: медленный, сложный в настройке, нестабильный. Но большинство мнений основаны на данных, актуальных для устаревших версий. Мы приняли во внимание развитие продукта и провели собственное исследование.

Читать далее

Как встроить PDCA для топ-менеджмента, чтобы он не умер через месяц

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

Решение встроить PDCA (цикл Деминга) в рутину топ-менеджмента выросло из стратегических сессий. Инициатив после каждой оставалось много, но проверенных выводов ни одного.

Замысел такой. Каждое значимое решение оформляется как гипотеза с ожидаемым результатом (Plan), выполняется (Do), факт сверяется с ожиданием (Check), по итогам гипотеза закрепляется в практике или отбрасывается (Act).

Расчёт был на то, что управленческие решения это те же гипотезы, просто их почти никогда не проверяют, и цикл превратит поток инициатив в накопление выводов.

Читать далее

Document Driven Development: превращаем хаос разработки в порядок с помощью TypeSpec и не только

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели8.8K

Всем привет! Меня зовут Егор Гурин и я разработчик в компании MTC Web Services. Работаю в стриме, который занимается разработкой контактного центра МТС. Практически любые обращения клиентов в компанию, будь то неработающий интернет или вопрос по заказу в интернет-магазине, проходят через нас. 

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

В этом материале я поделюсь инструментами, которые помогли наладить процессы в нашей команде в рамках методологии Document Driven Development, — возможно, вам она знакома под такими терминами как design-first или API-first. Покажу, как в удобной форме описывать контракты с помощью TypeSpec, использовать мокирующие сервера не дожидаясь реализации серверной, а еще — расскажу про инструмент кодогенерации на Go и автотесты с помощью Schemathesis.

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

SOFROS OneView. Описание настроек конфигурационного файла

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

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

С вами Кирилл Бибиков, технический архитектор СОФРОС. Буду делиться с вами полезной информацией, касаемо продукта компании СОФРОС - мониторинг сообщений OneView.

Читать далее

Старый добрый ламповый SOCKS5. Почему спустя почти 30 лет ему всё-таки понадобился TLS

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели8.7K

Есть технологии, которые вспыхивают ярко, несколько лет находятся на пике популярности, а затем постепенно исчезают, уступая место чему-то новому. А есть SOCKS5.

Он появился в 1996 году, когда массового HTTPS ещё практически не существовало, контейнеры оставались делом будущего, а облачные сервисы скорее напоминали научную фантастику. За это время вокруг него успело измениться почти всё. Появились NAT и IPv6, повсеместный TLS, HTTP/2, HTTP/3, QUIC, контейнеры, облачные платформы и Zero Trust. Сам SOCKS5 при этом почти не изменился и, что удивительно, продолжает прекрасно выполнять свою работу.

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

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

Год назад я рассказывал на Хабре о ProxiFyre, небольшом инструменте для Windows, который позволяет прозрачно направлять трафик выбранных приложений через SOCKS5-прокси. Многие программы вообще не умеют работать через SOCKS5 или требуют ручной настройки. ProxiFyre берёт эту работу на себя: приложение продолжает работать как обычно, а решение о том, какие соединения следует отправить через прокси, принимается на уровне операционной системы.

Читать далее

Третий год придумывают

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели9.1K

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

Полтора часа на десятерых — пятнадцать человеко-часов. Само исправление занимает полчаса работы аналитика с разработчиком.

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

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

Проект к этому моменту шёл третий год.

Читать далее

Линейки версий WordPress под микроскопом

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели7.3K

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

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

Чтобы показать вам драматизм ситуации, я для примера провёл с помощью профилировщика PHP измерение ресурсозатратности каждой линейки семейства WordPress - это версии 1, 2, 3, 4, 5, 6 и недавняя 7.

Кому интересно, прошу под кат. Увидите, как от первых версий, на которых WordPress завоёвывал славу легковесной блоговой системы, он пришёл в конце концов к многократно утяжелённой платформе по множеству срезов измерения.

Читать далее

Измеряя незримое: что и как измерять в мобильной разработке

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7.3K

Всем привет! Меня зовут Алексей, я техлид Android-направления в компании Домклик.

Этой статьёй я открываю цикл материалов, в которых будут собраны мысли, советы и инструкции о том, как сделать приложение и процессы его разработки измеримыми, как находить «узкие места», диагностировать проблемы и причины их возникновения, а также фиксировать их наличие. Минимум кода, сложных терминов и «rocket science» — только практический опыт и наработки по различным метрикам.

Читать далее

Создаем сайт с Claude: готовим проект к публикации в интернете

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.7K

В прошлый раз мы работали с сайтом-библиотекой, где можно посмотреть разные визуальные компоненты в интерактивном режиме, а потом попросить ИИ добавить их на свой сайт.

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

Читать далее

Mac mini feat OpenClaw: проверяем локальный инференс LLM

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели11K

Локальный инференс LLM требует не только мощного GPU, но и огромной ширины шины памяти. Объединенная память Apple Silicon частично решает проблему нехватки VRAM за разумные деньги, превращая Mac miniTM в портативный сервер для AI-агентов вроде OpenClaw. В этом материале протестируем Mac miniTM M4 Pro на языковых моделях среднего размера, разберем настройку окружения и выясним, где проходят реальные границы возможностей этой конфигурации.

Читать далее

Почему найти ценник мало: разбираем ML-задачу с движущейся камеры

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели6K

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

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

Читать далее

Организмы, для которых самые суровые места Земли стали домом

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.6K

Жизнь на Земле практически не встречает преград, которые она не могла бы преодолеть. Хотя большая часть биологического разнообразия сосредоточена в пышных и богатых средах обитания, таких как тропические леса и коралловые рифы, даже самые суровые уголки нашей планеты заселены. Организмы, процветающие в экстремальных условиях — при обжигающих температурах, сокрушительном давлении и воздействии едких кислот, — мы называем «экстремофилами».

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

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

Читать далее

Может ли DIY-устройство умного дома стать чем-то большим, и поможет ли в этом Matter?

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели8.5K

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

МУЗА - умная колонка с Алисой, датчиками умного дома, камерой видеонаблюдения, поддержкой локального управления и AirPlay. МУЗА позволяет следить за показателями среды в помещении и трансляцией видеонаблюдения, управлять устройствами умного дома с помощью голоса и в зависимости от показаний датчиков, воспроизводить музыку и помогать ребенку.

В статье особое внимание уделено вопросам разработки и сложностям трансформации DIY-образца в устройство для продажи другим людям.

Читать далее

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

Я месяцами пилил MVP, потому что боялся позвонить клиенту

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.4K

Понедельник.

Я просыпаюсь и сразу же сажусь вайбкодить. Впрочем, я возможно даже не ложился спать. Ведь я окрылён: от идеи будущего стартапа меня распирает изнутри. И ничего, что кредиты Claude Code улетучиваются со скоростью, с которой уходит энергия на созвоне, которому следовало быть письмом. Да и мой ИИ-агент не может врать, когда в очередной раз мне поддакивает: "О да, блестящий ход. Эта фича точно необходима. Сделаем это прямо сейчас или мгновенно?"

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

Последние дни мало отличаются друг от друга... Кстати, сегодня июнь или уже сентябрь?

За минувшие месяца три я собирал MVP. Ещё немного, ещё чуть-чуть и я доведу его до рабочего состояния. Потом отполирую ещё капельку до стадии, когда и показать не стыдно. Наконец-то мои друзья, подруга и даже бабушка увидят первую версию и на этом дофамине я смогу ехать ещё долго.

Таким мне казался идеальный путь соло-фаундера: я знаю проблему, способен накормить своего ИИ-агента точными промптами, да и вообще у меня в голове стооООолько фич.
Это всё определенно нужно рынку, надо просто ещё немного вложиться и продукт готов!

Итак, я воодушевлён: прожигаю кредиты, трачу сбережения уже чуть выше запланированного, но мне кажется, что всё идёт отлично и непременно окупится.

А потом продукт выходит в свет и... Пшик!
Ноль регистраций.

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

Узнали себя?

Читать далее

Асимметричная криптография в Java Card

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели6.9K

В этой статье разговор пойдет о приложении на Java Card, бегающем на смарт-картах. На хабре уже есть несколько публикаций на эту тему, в своей же я бы хотел немного выйти за рамки стандартного “Hello World”. Здесь вы узнаете как собирать апплет, увидите пример размещения данных в апплет на этапе инсталляции, а также установим защищенный канал между Хостом и картой.

Читать далее

Лучший разработчик в команде — не всегда лучший тимлид. Как оценивать кандидатов на повышение

Время на прочтение4 мин
Охват и читатели7.8K

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

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

Читать далее

nanoCAD Облака точек – новая версия на Платформе nanoCAD 26

Время на прочтение3 мин
Охват и читатели6.3K

Компания «Нанософт» – ведущий разработчик инженерного программного обеспечения объявляет о выходе версии 26 nanoCAD Облака точек.

nanoCAD Облака точек – специализированное решение на Платформе nanoCAD, предназначенное для обработки данных 3D-сканирования и решения инженерных и информационных задач в области геодезии, машиностроения, строительства, инфраструктурного и метрологического мониторинга.

Версия nanoCAD Облака точек 26 доступна в трех конфигурациях: «ReClouds», «Метрология» и «Геотехнический мониторинг».

Что нового в конфигурации «ReClouds»

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

Точное указание уровней сечений при послойной векторизации
В инструменте Послойная векторизация высота каждого сечения теперь может задаваться индивидуально относительно начального уровня для более точного отображения контуров объекта в облаке точек.

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

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

Узнать больше об обновлении

SPI-контроллер на FPGA: от идеи до сигналов на осциллографе

Уровень сложностиСредний
Время на прочтение142 мин
Охват и читатели11K

Откройте любой учебный материал по FPGA. С вероятностью девяносто процентов он закончится мигающим светодиодом, бегущей строкой на семисегментнике или, в лучшем случае, генератором VGA-сигнала с цветными полосами. Это нормальные учебные задачи, но у них есть общее свойство, о котором редко говорят вслух: они работают сразу или не работают совсем. Прошили — мигает. Не мигает — перепроверили три строчки кода, нашли опечатку, мигает.

Реальная инженерная работа с ПЛИС устроена иначе. Реальная задача — это когда ваша микросхема должна разговаривать с другой микросхемой по протоколу, у которого есть спецификация на сорок страниц, четыре режима тактирования и подводные камни в каждом втором абзаце даташита. Когда «вроде работает» — это худший из возможных результатов, потому что «вроде» означает «упадёт у заказчика». И когда между «код написан» и «устройство работает» лежат недели верификации и отладки.

Эта статья - следующий шаг в моем обучении и попытка показать полный путь: от фразы "нам нужен SPI-контроллер" до момента, когда логический анализатор показывает красивые пачки импульсов на ножках кристалла. Здесь будут не только архитектурные решения и листинги, но и все ошибки, которые были сделаны по дороге: testbench, который врал, потому что master и slave-модель содержали один и тот же баг; гонка на один такт, из-за которой тест прерываний падал при исправном железе; и финальный детектив — прошивка, в которой SPI-сигналы честно генерировались... на других ножках, потому что файл назначения пинов на диске оказался не тем, который мы правили. Каждая такая история — это методика: симптом, гипотеза, эксперимент, причина, фикс.

Читать далее

Как мы ускоряли прошивку ESP (спойлер: совы не то, чем кажутся)

Уровень сложностиСредний
Время на прочтение42 мин
Охват и читатели23K

Производство пожаловалось: модуль WB-MGE v.3 на ESP32 шьётся слишком долго — 42 секунды на устройство. Что начиналось как простое «склеить вызовы esptool в один», превратилось в копание в исходниках загрузчиков на Си и Расте, патч прошивальщика, разгон системной шины, физику NOR-флеша (туннелирование Фаулера–Нордхайма — теперь я знаю что это такое), и в итоге ускорение почти в четыре с половиной раза. И да, совы оказались совсем не тем, чем казались.

Читать далее

Жрать или втирать в себя стволовые клетки — это развод?

Время на прочтение8 мин
Охват и читатели11K

Жила-была в Швейцарии яблоня. Сорт назывался Uttwiler Spätlauber — кислый, твёрдый, есть его свежим почти невозможно, лицо сводит. Аналог нашей коломенской косорыловки. Зато была у этих яблок одна особенность: их можно было снять с ветки, бросить в погреб и забыть на несколько месяцев. Соседние сорта за это время сморщивались и сгнивали, а Uttwiler Spätlauber лежал себе целёхонький. Крестьяне держали такие яблоки на чёрный день — до весны, когда свежей еды уже не остаётся.

Потом пришёл прогресс, в лавках появились красивые сладкие сорта, и кислое яблоко, которое надо ещё полгода ждать в погребе, оказалось никому не нужным. Деревья вырубали. К началу нашего века от сорта осталось несколько деревьев.

На последние деревья обратила внимание швейцарская косметическая компания. Логика была примерно такая: яблоко долго не портится и не морщится, значит, в нём сидит секрет долголетия. Из клеток редкого яблока сделали косметический ингредиент, назвали красиво, PhytoCellTec Malus Domestica, и запустили в продажу.

Маркетинг получился гениальный. «Стволовые клетки редчайшего яблока, которое не стареет» — за такое и платить не жалко. Кремы на этом активе и сегодня уходят за несколько тысяч за баночку, а у премиальных марок — за десятки тысяч.

Мы в лаборатории сталкиваемся с такой магией регулярно. То заказчик попросит «добавить стволовые клетки, это сейчас хорошо продаётся», то знакомая принесёт баночку размером с напёрсток, заплаченную как за неделю продуктов, и спросит: правда работает?

Поэтому давайте один раз спокойно откроем эту баночку и посмотрим, работает или нет.

Спойлер — нет, конечно!

Читать далее