Обновить

Все потоки

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

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

Как вайбкодить без боли? 11 выводов, к которым я пришёл

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

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

Читать далее

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

Уровень сложностиСредний
Время на прочтение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.4K

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

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

Читать далее

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

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

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

Читать далее

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

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

Всем привет, меня зовут Александр Зимин, я руковожу разработкой подсистемы хранения данных в 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.

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

Читать далее

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

Прямое измерение атомного тепла опровергает старую догму о перегреве

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

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

Читать далее

Рецензия на книгу «Инжиниринг платформ: техническое и управленческое руководство»

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

На календаре 2025 год, и термин platform engineering прочно вошел в лексикон всех инженеров и менеджеров, занимающихся вопросами ИТ-инфраструктуры предприятий — примерно так же, как когда-то «DevOps», а еще раньше «Agile». К слову, предыдущие тренды порой превращались в модный хайп, под которым каждая компания понимала свое видение процессов разработки и развертывания. Но платформенная инженерия сегодня — это не просто набор практик, а системный ответ на тот уровень сложности, к которому индустрию привели облака, микросервисы, CI/CD, SRE и бесконечный поток обновлений в экосистемах OSS (Open Source Software, мир open-source инструментов).

Читать далее

Превратили PVS-Studio в город

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

Вы когда-нибудь хотели взглянуть на свой код под новым углом? Например, увидеть, как бы выглядела ваша кодовая база, будь она городом? Звучит как что-то невероятное. Давайте вместе заглянем в город PVS-Studio и просмотрим, какие тайны он в себе хранит :).

Читать далее

ДНК-спираль изменила наше представление о себе

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

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

В нём участвовало много людей, в том числе Розалинд Франклин, мастер рентгеновской кристаллографии, и Фрэнсис Крик, физик, искавший секрет жизни. Теперь, с кончиной американского генетика Джеймса Уотсона в возрасте 97 лет, последний из этой группы учёных ушёл из жизни.

Эта эмоциональная драма в конечном итоге изменила наше представление о жизни и о нас самих. По мере того как открытие ДНК уходит в историю, становится трудно даже представить, как люди думали о жизни до этого прорыва.

Читать далее

Эффективные Large Language Models: от линейного attention к гибридным архитектурам, наши результаты и выводы

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

Квадратичная сложность и линейно растущий KV cache в классическом механизме внимания, используемом в современных LLM, — серьёзная преграда для обработки экстремально длинных контекстов, особенно в условиях ограниченной видеопамяти на GPU. В этой статье мы рассмотрим различные варианты Linear Attention (линейного внимания) и техники дистилляции LLM в субквадратичные варианты механизма внимания. Мы также расскажем о наших экспериментах с GigaChat и поделимся примером получившейся гибридной модели с линейным вниманием, сделанной на основе Llama-8B.

Читать далее

Что, если Солнце исчезнет?

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

Представим себе ненадолго нечто невозможное, что не подчиняется ни логике, ни законам природы. В одно ужасное мгновение, Солнце, наше светило, исчезло. Не взорвалось, не померкло, а просто перестало существовать. Мгновение назад оно кипело энергией, заливая светом и теплом нашу солнечную систему, и вот уже нет ни света, ни тепла, ни самой причины бега планет по своим орбитам. Что станет с людьми? Что станет с Землей, оставшейся в безмолвии и мраке межзвездной пустоты? Ответы — в той вечной ночи, которой не должно было быть.

Читать далее

Зоопарк строк в вашем C++ коде?

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

CryEngine2 использовал класс собственный CString для реализации работы со строками и немного использовал строки из стандартной строковой библиотеки Windows. Насколько я помню, последняя версия CryEngine всё ещё использует те же самые CString, она кардинально поменялась внутри, но как дань истории название класса менять не стали, зато сильно расширили функционал. Я не на 100% уверен, применялся ли CString только в редакторе или в рантайме игры тоже, вы можете сами это посмотреть в исходниках, которые все еще доступны на гитхабе. Это один подход к работе со строками, довольно распространенный в мире игростроя - когда мы все нужное пишем сами, не оглядываясь... хотя, тут больше уместно слово поглядывая, на существующие реализации и утаскивая в проект все самое лучшее.

Есть и другой подход... Я работал в команде над некоторым проектом, который должен был выйти на консолях, и в какой‑то момент на проект пришел эффективный тимлид, который хорошо умел в красивые презентации, и продавил использование std::string из sdk. Все очень опытные программисты, синьоры и руководство важно кивали на совещании и согласились всё перевести на std::string… не такие уж они оказались опытные, как выяснилось. В итоге мы заменили большую часть CString на std::string. Не сказал бы, что это сильно повлияло на время компиляции — плюс‑минус минута к проекту, который собирается двадцать минут, особой погоды не делают, но это также превратило наш довольно понятный базовый код в запутанный кошмар. Возможно, для переносимости это было лучше, но ни наш проект, ни CryEngine2 Editor так и не были портированы ни на Linux, ни на какую‑либо другую платформу.

Прошло десять лет, я вижу ровно туже ситуацию на текущем проекте — новый тимлид решил перевести местный MySuperPupeString на std::string, уже предчувствуя «нижней чуйкой» последствия — запасаюсь попкорном и беру отпуск на следующий месяц после принятия решения. Но не это интересно, а то — какие вообще строки могут быть в вашем с++ коде.

Строка, на строке и строкой погоняет