Обновить

Разработка

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

LLM как резонансно-голографическое поле смыслов

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

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

Хабр говорит, что LLM не способна к новизне и творчеству. Пожалуй, соглашусь.
Хабр видит в ней искры нового разума. Пожалуй, соглашусь.

Проблема в том, что люди пытаются анализировать LLM как объект сам в себе, не до конца понимая, что такое LLM. Эта статья утверждает: вопрос не в том, что LLM знает или умеет, а в том, чем она является.

Читать далее

Зачем вообще нужны дистрибутивы?

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

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

Не я один подметил это, этот факт подсвечен во многих материалах по K8s. Например, вот: 

Читать далее

Taint-анализ в C и C++ анализаторе PVS-Studio

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

Ваш код принимает данные извне? Поздравляем, вы вступили на минное поле! Любой непроверенный ввод от пользователя может привести к уязвимости, и найти все "растяжки" вручную в большом проекте почти невозможно. Но есть "сапёр" — статический анализатор. Инструмент нашего "сапёра" — taint-анализ (aka анализ помеченных данных). Он позволяет обнаружить "грязные" данные, дошедшие до опасных мест без проверки. Сегодня мы расскажем о том, как он работает.

Читать далее

Как мы создавали статусы в eXpress

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

Статусы вошли в жизнь пользователей коммуникационных инструментов очень давно: вспомните легендарную «Аську» или Mail.ru Агента. Это действительно удобно – заранее видеть информацию, которую потенциальный собеседник хочет сообщить о себе. В корпоративной среде статус играет более утилитарную роль. При помощи статусов сотрудник транслирует свой уровень доступности, сообщая коллегам важную информацию о том, что он, например, «В отпуске», «На больничном», «На звонке» или «На встрече».

Мы запустили статусы в июне 2025 года, и это стало долгожданным событием для сотен тысяч наших пользователей. Не каждое нововведение настолько круто «заходит» в корпоративной среде. И конечно, за удобной и простой фичей стояла большая работа. О том, как это было, мы расспросили в команде разработки eXpress.

Читать далее

Эффективный CI/CD: переход на trunk-based development и GitLab

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

Меня зовут Илья Куликов, я руковожу разработкой веб-терминалов в компании «Столото». Сегодня хочу рассказать, как мы превратили ручные релизы и вечные конфликты в почти автономный CI/CD. За почти 10 лет в компании я прошёл путь от бэкенд-разработчика до руководителя направления, в «Столото» же за это время родился и вырос целый продукт — веб-терминал для агентов розничной сети. Изначально у нас был парк дорогих аппаратных терминалов, установленных у агентов. Но как расширить сеть и снизить входной порог? Возникла идея: а что, если сделать аналогичное приложение в браузере? Тогда любой желающий мог бы стать агентом — достаточно старого ноутбука и договора с нами. Так появился полноценный веб-аналог аппаратного терминала со всеми необходимыми функциями для продажи лотерей.

Но вместе с ростом продукта росла и боль: релизы занимали часы, всё постоянно ломалось на проде, а после каждого деплоя команда судорожно грепала логи в поисках причины падения. Мы поняли: без серьёзной перестройки процессов дальше — только хуже. И тогда решили кардинально пересмотреть наш подход к CI/CD. Отказались от классического GitFlow в пользу trunk-based development, полностью перестроили пайплайны в GitLab и внедрили автоматизацию на всех этапах — от сборки и тестирования до деплоя и мониторинга.

В этой статье я делюсь реальным опытом:

- как мы ушли от ручных релизов к автоматическому деплою в прод;

- какие практики и инструменты позволили нам перестать бояться каждого коммита;

- как повысить качество кода и ускорить вывод фич на рынок без ущерба для стабильности.

Этот материал будет особенно полезен техлидам, инженерам DevOps, разработчикам и командам, которые всё ещё живут в мире ручных деплоев, боятся нажимать «мердж» в пятницу вечером. Если вы задумываетесь, как перейти от хаоса к предсказуемости в релизах — вы по адресу.

А как мы этого добились — читайте под катом!

Читать далее

Как мы с ИИ перезапустили документацию Bitrix Framework и сэкономили 400 часов

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

Привет! Меня зовут Марина Павлова, я технический писатель в отделе документации 1С-Битрикс. В этой статье я расскажу, как мы полностью переделали документацию по Bitrix Framework и как команде из двух человек удалось выпустить доку за 9 месяцев с помощью ИИ.

Читать далее

Изучаем Python: модуль pathlib для начинающих с домашним заданием

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

Забудьте о ручном склеивании строк: с pathlib пути элегантно конструируются с помощью оператора /. Проверка существования, чтение, получение родительской директории — всё это становится методами и атрибутами самого объекта. В результате код получается не просто чище и читабельнее, он становится более надежным и по-настоящему "питоничным" (Pythonic).

Читать далее

Рабочий день инженера на Linux

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

С 1 октября у нас проходит открытое бета-тестирование нативного КОМПАС-3D для ОС на ядре Linux. Мы подумали, а что если провести здесь обзорную экскурсию для нового пользователя ОС Linux, который не имеет отношения к IT-сопровождению и не должен заниматься администрированием систем? Такой сотрудник работает, используя не операционную систему, а доступные в ней программы и инструменты. Цель этой статьи — показать эти инструменты.

Читать далее

Когда дашборды лгут. Гайд по перцентилям, очередям и e2e-бюджету

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

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

Пока вы с удовольствием наблюдаете в отчетах красивые 200ms — ваши пользователи стучат в службу поддержки со словами "у меня все висит".
И они не врут, у них действительно TTF порядка 6 секунд. Но и вы не врете, у вас действительно 200ms в отчете!

Врет метрика, а вы ей верите.

Давайте разбираться.

Читать далее

Почему для автоматизации тестирования мы выбрали Selenium и вам советуем

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

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

Сегодня доступно множество инструментов: Selenium, Playwright, Cypress и другие. Каждый имеет свои преимущества. Но в подавляющем большинстве наших проектов мы используем Selenium. Расскажу, почему мы сделали такой выбор.

Цель автоматизации — экономия

Главная задача автоматизации — снизить ручную нагрузку и минимизировать человеческий фактор. Рассмотрим на примере интернет-магазина. Если компания выпускает по 5 версий в месяц, перед каждым релизом необходимо проверять ключевые сценарии: добавление товара в корзину, оформление заказа, оплату. Регулярные ручные проверки требуют времени, увеличивают затраты и подвержены ошибкам.

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

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

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

Требования клиентов и гибкость технологий

Как IT-компания, мы сталкиваемся с разными требованиями заказчиков. Клиенты часто просят использовать определенный язык программирования, чтобы их команды могли поддерживать тесты. Например, если бекэнд написан на C#, то и автотесты предпочтительнее на нем.

Читать далее

Был FSD — стал MSD: как мы допилили методологию FSD, чтобы поудобнее делить монолит на модули

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

Что важно фронтенд-разработчику при создании веб-приложений? Поддержка текущей кодовой базы, удобство внедрения новых фич и возможность повторно использовать компоненты. Создать такие условия помогает популярный подход к проектированию — FSD (Feature Sliced Design). Разбиваем интерфейс на независимые, переиспользуемые модули (виджеты, фичи и т. д.), получаем чёткие правила, единую структуру проекта и ускорение разработки за счёт переиспользования кода и изоляции ответственности.

Подход FSD во многом прекрасен, но всё же нам в нём не хватало некоторых важных аспектов: внятного разделения слоёв бизнес-логики, удобства работы с кастомными хуками (они быстро разрастаются, обрастают связями и становятся сложными для тестирования). Также было неясно, куда выносить сложные общие компоненты из разных частей проекта. И, например, как легко отделять один бизнес-модуль от другого, не ломая всю систему…

Меня зовут Иван Соснович, я тимлид фронтенд-разработки в СберТехе, тружусь в команде Platform V Kintsugi — это графический инструмент для сопровождения, мониторинга и диагностики Postgres-like СУБД. В этой статье я покажу, как мы доработали FSD под себя, и дам ссылку на пример со структурой приложения. Надеюсь, будет полезно фронтенд-разработчикам.

Читать далее

Уголовка руководителя за предоставленный сотрудником логин и пароль

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

Уголовка руководителя за предоставленный сотрудником логин и пароль

Что учесть работодателю и сотрудникам компании?

Заместитель начальника ОАО «Р» Г. осужден по ч. 3 ст. 272 УК РФ – неправомерный доступ к компьютерной информации, повлекший ее копирование, совершенный с использованием своего служебного положения.

Читать далее

Arduino для агента 007 — Uno Q. Что это, зачем и как работает?

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

Новость о том, что Qualcomm покупает Arduino сначала вызвала чувство тревоги. Примерно такое же, как когда Broadcom купил VMware. С чудесным миром микроконтроллеров я тесно познакомился именно благодаря Arduino. Оригинальная Uno базировалась на ATmega328P и стоила на момент выхода 30 $. Реальная себестоимость, по оценкам коммьюнити, была около 15 $, а все остальное пользователь платил за бренд и открытость дизайна.

Последнее, кстати, привело к тому, что спустя короткое время плата была скопирована китайцами. Они не просто нашли способ заменить дорогие компоненты более дешевыми аналогами, но и наладили крупносерийное производство. Это привело к тому, что купить ноунейм-клон аля Nduino Uno можно было на порядок дешевле.

Совсем недавно публике представили новую плату Arduino Uno Q, которая уже была создана с использованием разработок Qualcomm. Она мгновенно вызвала интерес, благодаря новому видению того, как должна выглядеть современная плата микроконтроллера. Мне уже удалось добраться до серийного образца Uno Q, так что спешу поделиться с вами впечатлениями!

Читать далее

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

Эпоха цензуры мирового интернета

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

Тревожная тенденция, о которой заговорил даже Дуров. О том, как работает цензура на Западе, В Китае и США, не касаясь России.

Читать далее

Мастерское масштабирование: создаем утилиту для лупы в играх без риска для античита

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

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

Читать далее

AssemblyLoadContext как архитектурный приём

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

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

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

Осваиваем ALC

Детский значит безопасный. О новом помощнике для детей в колонках Sber

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

Салют, Хабр!

А мы кота завели. Для детей. В интеллектуальных колонках Sber появился новый помощник СберКот, который ранее обитал внутри детского банковского приложения СберKids. Умный помощник знает ответы на детские «почему» и говорит с детьми на одном языке. Он появится, если сказать колонке:

— Салют, позови СберКота!

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

Читать далее

Как мы написали свой софт на базе «коробки»: автотранспорт производства

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

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

Копились и другие проблемы.

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

Всё это работало только под IE/Edge, не поддерживало Хромиум, конфликтовало с требованиями ИБ.

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

Мы давно задумывались о рефакторинге или миграции, суть споров сводилась к самопису или «коробке».

Мы всё проанализировали и решили, что надо взять готовую «коробку», которую потом нужно будет допилить процентов этак на 10.

В итоге оказалось, что сначала мы допилили процентов на 20, а потом от исходной «коробочной» версии осталось процентов 10, и вся разработка переехала к нам внутрь.

Сейчас я расскажу о дьявольском опыте использования чужой «коробочной» версии как фреймворка для своей разработки. Забегая вперёд — второй раз мы в это не полезли бы.

Читать далее

Хватит бороться с ошибками CORS: разберемся, как они работают раз и навсегда

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

Вы когда-нибудь видели в консоли сообщение вроде: «Access to fetch at '…' from origin '…' has been blocked by CORS policy»? Это как в том фильме: «Суслика видишь? — А он есть». CORS не бросается в глаза, пока все работает, но в нужный момент пресекает недопустимые действия. Например, чтение ответа на кросс-запрос без разрешения сервера.

Меня зовут Баир, я разработчик в команде fuse8. В этой статье я отвечу на вопросы о том, зачем была создана CORS политика, как она устроена под капотом, почему простого действия типа «поставить заголовок на бэке» может быть мало, и какие безопасные паттерны стоит выбирать во фронтенде.

Читать далее

Как проверить, окупился ли ваш RPA-робот. Инструкция от внутреннего аудитора

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

Меня зовут Владимир, я внутренний аудитор. В своей работе я анализирую самые разнообразные бизнес-процессы и проекты.

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

Моя статья будет полезна и интересна:

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

топ-менеджерам – определить какие вопросы следует задать ИТ-команде и на что обратить внимание при реализации проектов;

менеджерам ИТ-проектов – заранее оценивать риски и знать какие подводные камни могут быть;

владельцам процессов – знать, как доказать реальную эффективность от внедрения RPA-роботов и подобных автоматизированных решений;

финансистам – корректно подсчитать экономические эффекты.

Читать далее