На примере FastAPI-чата показываю, как выстроить автотесты для API с двумя транспортами: REST используется для подготовки состояния, WebSocket — для проверки событий. В статье разбираем архитектуру тестов на Python: клиенты, фикстуры, Pydantic-схемы, контрактные проверки, Allure и CI/CD.
Читать далееКогда я впервые начал работать с «1С:Элемент», казалось, что установка среды - это самая простая часть. Скачать, установить, открыть - что может пойти не так?
На практике оказалось, что именно на этом этапе многие стопорятся: у кого-то не запускаются скрипты, у кого-то проблемы с окружением, а кто-то просто теряет время на лишние настройки.
Со временем у меня сформировался простой подход: минимум действий максимум результата. Делюсь, как делаю это сейчас.
Любому руководителю, у которого к команде есть эксперт, предлагаю сделать татуировку: эксперт всегда должен быть доступен. Под экспертом я понимаю человека со сверхкомпетенциями – сеньора, суперархитектора, мегаспеца по выруливанию сложных ситуаций с клиентами.
Никогда не загружайте эксперта на фуллтайм, не давайте длинных неделимых задач (которые нельзя в любой момент отложить), не отдавайте в длинные проекты на линейных ролях (разработчик, аналитик, консультант). Любая загрузка, которая делает эксперта недоступным для команды – зло.
Читать далееОн подарил миру один из самых популярных персональных компьютеров, сколотил миллионное состояние, а потом потерял почти все. Это история Клайва Синклера, создателя Спектрума.
Читать далееКогда звонок начинается через Wi‑Fi, а продолжается уже в LTE, для пользователя ничего не происходит — разговор просто не обрывается. Но внутри сети в этот момент запускается цепочка сетевых процедур.
В статье разбираем как работает хэндовер по фазам и показываем, как переход выглядит в логах.
Читать далееНаш загрузчик оказался слишком медленным. Требование было чётким: загружаться менее чем за 500 миллисекунд. Показатели оставались не менее чёткими: 720 миллисекунд. Мы отставали от нужного значения на 44%.
Это требование не было «мягким». Загрузчик должен был работать в промышленном контроллере, обязанном реагировать вскоре после включения питания. Каждая секунда времени загрузки — это потерянная продуктивность. В спецификации к изделию был указан максимум в 500 мс. Мы обязаны были их обеспечить.
Задача загрузчика была простой:
1. Инициализировать оборудование (UART, SPI, DDR-контроллер)
2. Загрузить ядро из флэш-памяти
3. Спарсить дерево устройств
4. Перейти ко точке входа ядра
Реализация казалась логичной: стандартные структуры данных из библиотеки C. Проблема выявилась при профилировании: 45% времени загрузки тратилось на malloc/free! В загрузчике всего с 64 КБ ОЗУ динамическое распределение роняло производительность.
Читать далееПривет, Хабр! (И тебе, школьник, который пришёл на YoungCon за панамкой и Slava Marlow, и тебе, опытный разраб, который читает это и крутит пальцем у виска: «Зачем ты вообще туда поехал?», и тебе, представитель Яндекса, который, я надеюсь, дочитает это до конца.)
Сразу скажу - формат не самый привычный для моего блога. Обычно я тут разбираю, то что разрабатываю по косточкам или ною про процессы в IT мире. Но сегодня без кода, и без YAML. Сегодня - про то, как я съездил на главное молодёжное IT-событие страны и вернулся с очень смешанными чувствами.
Поехали.
Читать далееВ 2017 году в мире нейросетей произошел почти незаметный переворот. Без громких презентаций и человекоподобных роботов исследователи из Google опубликовали статью с очень скромным названием — Attention is All You Need. Но именно после нее индустрия ИИ фактически разделилась на «до» и «после».
Сегодня на трансформерах работают ChatGPT, Claude, Gemini, Midjourney и почти весь современный генеративный ИИ. И самое странное в этой истории — фундаментом революции стала одна из самых простых операций линейной алгебры: скалярное произведение векторов.
Не новая архитектура памяти.
Не сложная логика вывода.
Не биологически правдоподобная модель мозга.
А обычное перемножение чисел с последующим сложением.
Но чтобы понять, почему именно эта операция оказалась настолько мощной, нужно сначала вспомнить, в какую стену уперлись нейросети старого поколения.
Читать далееСамые интересные новости финансов и технологий в России и мире за неделю: уголовка косплееру по Warhammer, ограничение сроков льготной ипотеки, Илон Маск запустил летающую тарелку и перестал быть триллионером, падение биткоина, OpenAI выпустили GPT-5.6, а Цукерберг хочет ворваться на рынок предсказаний.
Читать далееРассказ
ИИ-офис молчал всю ночь. Это было плохо.
Обычно корпоративный ИИ-офис не молчит. Он шуршит фоном: нарезает записи в протоколы, собирает письма, подсвечивает риски, сравнивает версии договоров, ловит просрочки, пишет «рекомендовано назначить ответственного» и прочую административную поэзию, за которую раньше платили живым людям с лицами, кредитами и отпускными.
Молчание означало одно из трёх: либо всё сломалось, либо закончились токены, либо система нашла способ решить проблему без меня.
Третий вариант был самым неприятным.
Я проснулся в 5:40, потому что телефон завибрировал на тумбочке. На экране было сообщение от финансового директора:
«Андрей Сергеевич, вы точно согласовали выгрузку всего пакета по банку во внешний контур?»
Сон сразу закончился.
Есть фразы, после которых организм просыпается без кофе. «К вам пришли из налоговой». «Подрядчик снял людей». «Дизель встал, бетон греть нечем». И вот теперь в этот список добавилось: «..вы точно согласовали выгрузку всего пакета во внешний контур...»
Читать далее"Интуиция – это нечто такое, что опережает точное знание. Наш мозг обладает, без сомнения, очень чувствительными нервными клетками, что позволяет ощущать истину, даже когда она еще недоступна логическим выводам или другим умственным усилиям."
Привет, Хабр!