Обновить
1024K+

Программирование *

Искусство создания компьютерных программ

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

Пишу алгоритм FFT на Си для процессора Эльбрус: прямая векторизация

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

Данная статья является продолжением предыдущей статьи.
Здесь рассматривается вариант прямой векторизации алгоритма FFT.
Перед чтением рекомендуется бегло ознакомиться с предыдущей статьёй.

Читать далее

Новости

Мы поставили сторожа на конвейер публикаций. Первую неделю он сторожил сам себя

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

У нас несколько фоновых агентов публикуют контент на разных площадках по расписанию — Дзен, VC, TenChat, Хабр. Если основной движок не справился за 20 минут, включается запасной. Чтобы не сидеть в логах руками и не пропускать пустые слоты, поверх этого стоит раннер: он спрашивает у каждой площадки факт публикации, сверяет с базой и, если слот не закрылся, шлёт алерт с просьбой перезапустить вручную.

Читать далее

AI меняет центр тяжести разработки

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

В эпоху AI код становится дешевле, а качественное инженерное решение — ценнее.

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

Viaduct помогает превратить архитектурное проектирование в структурированный, проверяемый и доступный AI-агентам контекст — от модели системы до Change Set, по которому можно безопасно реализовать изменение.

Читать далее

Бэкап, из которого ни разу не восстанавливались — это не бэкап

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

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

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

Реверс‑инжиниринг электросамоката и новая прошивка для него на Rust

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

Я выполнил реверс‑инжиниринг оборудования и прошивки своего электросамоката Egret GT. В статье будет рассказано о том, как мне удалось забраться внутрь, проанализировать обмен данными между компонентами и отреверсить прошивку.

Читать далее

Код будущего: Хабр и Сбер запускают новый сезон статей о роли ИИ в создании ПО

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

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

Поэтому Хабр совместно со Сбером запускают новый сезон статей «Код будущего», в котором вы сможете рассказать о своей практике использования ИИ в создании ПО и взаимосвязи ИИ и open source. Сезон продлится с 11 сентября по 11 ноября 2026 года. Под катом — все подробности: тема, сроки, правила.

Читать далее

Миллионы товаров и миллисекунды: как устроен специализированный движок каталога

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

Что происходит, если строить каталог на миллионах товаров не вокруг PostgreSQL и Elasticsearch, а вокруг mmap, собственных индексов и zero-allocation JSON? Разбираю архитектуру, компромиссы и реальные результаты на работающем агрегаторе: около 50 000 RPS и миллисекундные ответы.

Читать далее

Как тестировать API с 202 Accepted и не пропускать сбои фоновой обработки

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

Запрос получил 202, автотест прошёл, а через несколько дней выясняется, что часть операций так и не завершилась успешно. Такая ситуация возникает, когда проверяется только ответ HTTP‑обработчика, а сама асинхронная цепочка остаётся без контроля. Разберём, как построить тест для API с polling: от запуска операции и проверки статуса до валидации итогового результата и безопасного повторного запроса.

Проверить API

Особенности сбора кодового покрытия в ОС «Нейтрино»

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

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

В статье разберём, как организован сбор покрытия в ОС «Нейтрино»: от сборки компонентов и получения файлов .gcno и .gcda до формирования трассировочных файлов и объединения результатов из различных CI/CD‑конвейеров. Также рассмотрим особенности формирования итоговых отчётов и расскажем, почему в дальнейшем планируется переход с lcov на gcovr.

Ознакомиться

Что делает разработчика ценным, когда код всё лучше пишут AI‑агенты

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

За последний год я стал гораздо меньше писать код руками и гораздо больше отдавать AI‑агентам: реализацию, тесты, исследование кодовой базы, поиск вариантов и часть анализа.

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

Я решил проверить эту идею. Посмотрел исследования производительности разработчиков с AI, карьерные лестницы инженерных компаний и поговорил с Middle/Senior‑разработчиками, Team Lead'ами и Engineering Manager'ами.

Картина оказалась сложнее. AI действительно может сильно ускорять работу, но эффект зависит от задачи, опыта и контекста. Зелёные тесты не гарантируют готовность изменения к продакшену. А способность работать с неопределённостью сама по себе плохо объясняет разницу между Middle и Senior.

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

Читать далее

SPAC — биржевая фирма‑обертка. Выводит на биржу того кто не может. Почему в App Store и Google Play такого почти нет?

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

Что такое SPAC на бирже. Это фирма которая уже внутри и уже может собирать деньги. А новые фирмы которые хотят добраться до биржевых денег побыстрее могут использовать такие вот фирмы контейнеры. Это не кооператив. Есть владелец SPAC который оказывает такие услуги. Некий сервис за процент.

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

Ну казалось поначалу что это ну не велика проблема. Оказалось что велика да еще и для российского разработчика. Она не велика. Она практически непреодолима.
Теперь то каждый может стать разработчиком. И тому уже есть примеры когда люди с идеями пишут софт без знания ничего из программирования. Грешным делом я и сам уже балуюсь вовсю.

Но в магазины не попасть никак. А хотелось бы.

Потому что есть жесткий список того что должно быть.

Читать далее как попасть в App Store

Я попал к психиатру из‑за кодинга с AI

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

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

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

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

Читать далее

А чё, так можно было? int == -int

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

Есть число, которое не меняется от смены знака. Минус перед ним ничего не делает, а модуля у него не существует: Math.Abs бросает исключение.

Это int.MinValue. И это ещё не всё, что он умеет.

Читать далее

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

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

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

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

Разобрать подход

Холмс, 993 вызова исчезли, и лучше не становится. Три ловушки Rust IPC в Tauri 2

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

Холмс, я убрал 993 лишних IPC-вызова, и моё приложение стало тормозить в два с половиной раза сильнее. В логах было тихо. Бэкенд на Rust молчал. На границе с WebView творилось что-то необъяснимое…

Следствие начинается!

Как не потерять интеграцию с Docker в IDE после блокировки JetBrains

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

Те, кто работал в IntelliJ IDEA, PyCharm, GoLand или WebStorm, привыкли управлять Docker прямо из IDE: запускать и останавливать контейнеры, смотреть логи, работать с томами не выходя из редактора.

В 2022 году JetBrains приостановила продажи и поддержку для пользователей из России. IDE стали недоступны через официальные каналы, а плагины из JetBrains Marketplace (в том числе и Docker-плагин) вместе с ними.

Именно по этой причине консорциум OpenIDE принял решение реализовать поддержку Docker с нуля!

Про неё сегодня и поговорим.

Читать далее

Создали корпоративный IT-сервис на С# и .NET, который предсказывает будущее

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

Называется Контур Оракул. 🔮 За первый день после запуска он собрал сотни реакций сотрудников, и сразу показал, что корпоративные прогнозы могут быть не развлечением, а рабочим инструментом.

Сделали сервис студенты ФИИТ (это программа УрФУ, которую поддерживает Контур). А в этой статье пришли и рассказали, как появилась идея Оракула, как он выглядит внутри, что за технологии использовали в серверной и клиентской частях, и как в основе сервиса работает алгоритм LMSR для расчётов.

Читать далее

Life Cycle: что остаётся после того, как тебя больше нет

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

Две недели назад я ехал к отцу и не успел примерно на сорок минут.

Ему было 84 года, последние месяцы он был совсем плох, поэтому сама возможность такого исхода не была неожиданностью. Я девятый ребёнок в семье и самый младший. Я метис: отец был кумыком, мама русской. Маму я похоронил в 2016 году. Из всей большой семьи именно я жил в Ставропольском крае, и когда близкие сообщили, что отец совсем плох, я выехал к нему.

Когда приехал, его уже не было.

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

Но эти сорок минут почему-то заставили меня думать не столько о смерти, сколько о времени.

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

На этот раз мне захотелось попробовать описать не любовь.

Мне захотелось описать конец жизненного цикла.

Читать далее

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

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

Документация устаревает быстрее, чем код успевает писаться? Рассказываем, как мы построили конвейер из Python-скриптов и нейросетей, который сам находит изменения в PHP-контроллерах и обновляет документацию API Invapi.

Читать далее

А чё, так можно было? Dictionary == List

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

Ключ-структура из числа и строки. Поиск по словарю на 10 000 таких ключей занимает 74 975 микросекунд. Тот же ключ, объявленный record struct, — 3,354 микросекунды.

Разница в 22 354 раза, и берётся она не из сравнения ключей.

Читать далее