Обновить

Разработка

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

PostgreSQL Antipatterns: отказ от агрегатных функций = кратное ускорение

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

Иногда в архиве нашего сервиса анализа планов запросов к PostgreSQL встречаются примеры не очень эффективных, мягко говоря, запросов.

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

Читать далее

Наш новый LLM-based синтез речи

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

Рассказываем о нашем новом синтезе речи.

Мы так и называем его — «новый синтез», или GigaTTS. Под капотом у него GigaChat 3b, аудио адаптер, собственный токенизатор речи и 30 тысяч часов данных. Никаких диффузий. Очень много работы было проделано над обучением модели, на студии и при подготовке данных для обучения.

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

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

Читать далее

Новый рекорд оверклокинга: что нужно, чтобы разогнать DDR5 до 13 211 МТ/с

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

Традиционным оверклокингом сегодня никого не удивить. Даже если вы не большой профессионал, для вас не составит особого труда немного поколдовать с множителем или напряжением и поднять производительность сборки без апгрейда самих комплектующих. Но экстремальный разгон – это совсем другое. Тут можно неделями подбирать стабильную конфигурацию, настраивать систему и заливать каждый компонент, который хоть как-то влияет на результат, жидким азотом. Чего ради, спросите? Ради цифр, конечно. Все ради них.

8 ноября американский оверклокер AiMax установил новый мировой рекорд, разогнав память Patriot Viper Xtreme 5 до 13 211 МТ/с. 

Читать далее

Кросс-компиляция и запуск консольного Go‑приложения на Android, Windows, macOS и Linux

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

Делюсь опытом кросс-компиляции и запуска консольной программы на Go из-под Linux в другие ОС: Android, Windows. Для сетевых сервисов, утилит, криптопрограмм и других решений без GUI это может быть весьма полезно.

Читать далее

Под капотом современных AI-систем: разбираем железо

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

Как объединить по сети вычислители? Что происходит при компиляции кода для железа под капотом и какие есть нюансы при работе с AI в пространстве ядра? ИИ с ноги ворвался во все сферы разработки, работы — вагон и маленькая тележка. Но на чём и как она должна ехать? У каждой программы есть свои требования, универсальных советов нет.

О новых решениях можно будет узнать на конференции OS DevConf 25 — там будет целый трек, посвящённый железу для AI. Пул экспертов соберётся, чтобы показать, как устроен современный стек ИИ — от базового железа для инференса до системных рантаймов и объединения ферм GPU, чтобы обучить большие языковые модели. Участники не просто узнают об инструментах, но и ознакомятся с методиками, как программировать это железо до уровня «можно использовать в Pythorch».

Читать далее

Kaspirin: история о том, как ограничения помогли ускорить разработку

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

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

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

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

Читать далее

Rustore. Делаем пуши для MAUI

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

Зарегистрировавшись в РуСторе быстренько перешёл в раздел для разработчиков и глянул на список доступных SDK. Но где же тут поддержка MAUI?

Давайте это исправим

Тайна раскрыта! NASA опубликовало снимки скандально известного 3I/ATLAS

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

19 ноября 2025 года NASA провело пресс-конференцию, чтобы поделиться изображениями кометы 3I/ATLAS, собранными различными космическими миссиями. Заместитель администратора Амит Кшатрия начал конференцию, заверив общественность, что этот межзвёздный объект действительно является кометой, а не чем-то, связанным с внеземной жизнью, как широко спекулировали в социальных сетях.

Далее вы можете ознакомиться с новейшими изображениями.

Читать далее

Нам хватило одного столбца: как Kanban-подход работает в бэк-офисе

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

Привет, Хабр! На связи снова Иван Чаплыгин, руководитель отдела ИТ-переводов КРОК. Сегодня хочу рассказать, как Kanban – подход, заточенный прежде всего под нужны разработчиков, можно использовать в бэк-офисе. Под катом – наш нехитрый опыт внедрения Kanban в дашборды Jira.   

Читать далее

Упрощаем работу с микросервисами при помощи API Gateway на Java

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

Микросервисы легко разрастаются до зоопарка эндпоинтов, где каждый сервис живёт по своим правилам, а клиенту приходится знать обо всех. В статье разберем, как API Gateway превращает этот хаос в единую точку входа: берёт на себя маршрутизацию, аутентификацию, агрегацию запросов и наблюдаемость. На простом примере с Spring Cloud Gateway рассмотрим, как собрать такой слой поверх Java-сервисов и упростить жизнь и разработчикам, и внешним потребителям API.

Разобраться с Gateway

Меня снова спросили за Optional

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

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

Читать далее

Лень – двигатель прогресса, на примере создания облачной CLI

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

Привет! Я Эмиль Ибрагимов — старший Go-разработчик команды Development Platform в MWS Cloud Platform. В этой статье расскажу о том, как мы создали облачную CLI на Go и что из этого вышло. Спойлер: получилось реализовать утилиту и поддерживать её силами небольшой команды внутри Development Platform.

Читать далее

Большое исследование C#-разработчиков

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

Привет, Хабр. Я Катя Куваева, DevRel C#-разработчиков и инфраструктурных команд в Контуре, а это моя первая статья. 

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

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

Посмотрите, сколько разных эмоций я испытала за время общения с C#-разработчиками — и мы начинаем!

Читать далее

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

«Фамипия». Венгерские домофоны в подъездах Питера

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

Приветствую всех!
Уверен, многие видели на стенах старых домов эти штуки - довольно большие серебристые или цветные панели с кучей кнопок на них. Сейчас практически все они давно разбиты или выдраны, однако те, кто постарше, возможно, даже успели застать их рабочими. И нет, никаких фамилий там нет: называлась эта панель именно так.

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

Во время разговора кнопку держать нажатой

Marathon OS: экспериментальная мобильная ОС на Qt6 и Wayland с фокусом на производительность

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

Разработчик Патрик Куинн недавно запустил проект Marathon OS. Это мобильная ОС на базе postmarketOS с полностью переработанным интерфейсом под Qt6, QML и собственным Wayland-композитором. Основная идея заключается в полном отказе от виртуальных кнопок в пользу жестового управления, вдохновленного BlackBerry 10, где все действия выполняются свайпами от краев экрана.

Сейчас система тестируется на базе OnePlus 6 и 6T, показывая стабильные 60 кадров в секунду, загрузку за 20–25 секунд и задержку ввода в пределах 10–15 миллисекунд. На устройствах со Snapdragon 845 приложения запускаются за 200–250 миллисекунд, что для чистого Linux выглядит весьма убедительно без каких-либо Android-подложек.

Читать далее

Осваиваем ML WAF: от текстовых правил к машинному обучению

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

Всем привет, меня зовут Семён. Я пишу на С++ и работаю в группе Антиробота. Антиробот — это сервис, который на уровне L7 защищает нас от парсеров и DDoS-атак. Разрабатывать его начали более 10 лет назад — сначала он предназначался только для защиты Поиска, затем был внутренним инструментом, который в онлайн‑режиме анализирует запросы к сервисам Яндекса. Постепенно Антиробот вырос в настоящий highload. Сейчас это часть облачного сервиса Smart Web Security (SWS).

В этой статье я расскажу, как с нашим сервисом мы прошли путь от текстовых правил до машинного обучения. Вы узнаете, зачем вообще нужен Web Application Firewall (WAF) — межсетевой экран для веб-приложений — и разберётесь, как он устроен. А ещё — как работают рулсеты, почему у нас их целых три и какие существуют метрики для оценки качества и быстродействия сервиса.

Читать далее

Сколько воды в бочке?

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

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

Читать далее

Cloud Native LVM: как автоматизировать поиск и разметку локальных дисков в Kubernetes

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

Всем привет, меня зовут Александр Зимин, я руковожу разработкой подсистемы хранения данных в Deckhouse. Сегодня хочу поговорить о хранении данных на локальных дисках в Kubernetes и поделиться тем, как мы автоматизируем их поиск и разметку для администраторов и пользователей.

Читать далее

Переезд с Nuxt 2 на Nuxt 3: почему для крупного интернет-магазина мы выбрали рерайт, а не миграцию

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

Пять лет назад мы запустили интернет-магазин на Nuxt 2. За это время он превратился в классический монолит: вносить правки стало дорого, а сайт начал «задыхаться» под нагрузкой. Когда вышел Nuxt 3, перед нами встал выбор: пытаться оживить проект через Nuxt Bridge или переписать всё с нуля.

Мы проанализировали код и поняли: плавная миграция для нас — это путь к созданию «зомби-проекта». Слишком много фундаментальных отличий: Options API против Composition API, Vuex против Pinia, смена логики роутинга и несовместимость ключевых библиотек.

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

Внутри кейса:
4 технических «фаталити», которые делают миграцию легаси-монолита невозможной.
Архитектура FSD + Nuxt 3: как мы подружили фронтенд с бэкендом на Symfony и навели порядок в зависимостях.
Паттерн «Фабрика»: как упростить сложную логику доставки в Composition API.
Бонус: почему благодаря правильному старту недавнее обновление с Nuxt 3 до Nuxt 4 заняло у нас минимум времени, в отличие от мучений с Nuxt 2.

Если вы всё еще поддерживаете проекты на второй версии и боитесь подступиться к обновлению — этот опыт для вас.

Читать далее

CI/CD и непрерывное тестирование (управление рисками в условиях постоянных изменений)

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

Я уже писал, что всестороннее тестирование является критической необходимостью для обеспечения киберустойчивости. Сейчас хотел бы показать, как этот принцип применяется в условиях, когда ИТ-системы развиваются с беспрецедентной скоростью, а изменения вносятся постоянно. Возникает парадокс: чем быстрее мы внедряем новое, тем выше риск сбоев. Аналитики отмечают, что общее количество инцидентов в критически важных сервисах неуклонно растет. Как же управлять этим "хаосом изменений" и обеспечить стабильность 24/7?

Читать далее