Почему ручное тестирование никуда не денется: Любовное письмо специалисту по контролю качества

Почему ручное тестирование никуда не денется: Любовное письмо специалисту по контролю качества

Представьте: вы только что испекли идеальный шоколадный торт. Ваш робот-повар-помощник чётко следовал рецепту, но вы всё равно попробуете его перед подачей на стол, верно? В этом суть ручного тестирования — это проба программного продукта на «вкус» человеком. Давайте разберёмся, почему армии автоматизированных скриптов не могут (и не смогут) заменить этот важнейший человеческий подход. Секрет приготовления качественного программного обеспечения Если автоматическое тестирование действует как неумолимый кухонный таймер, подающий сигнал: «ЭТА КНОПКА ДОЛЖНА БЫТЬ СИНЕЙ!...

26 мая 2025 06:00 · 3 минуты · 1 слово · Maxim Zhirnov
Выжимание крови из камня: Профилирование и сравнительный анализ приложений Go, как у циркового жонглера

Выжимание крови из камня: Профилирование и сравнительный анализ приложений Go, как у циркового жонглера

Когда ваше Go-приложение начинает двигаться со скоростью continental drift (смещение тектонических плит), пора доставать инструменты профилирования и проводить бенчмаркинг, как будто от этого зависит работа вашего продакшн-кластера (потому что это так). Давайте превратим ваш код из «так себе» в «молниеносно быстрый» с помощью методов, которые заставят гофера покраснеть. Цирк профилирования Шаг 1: Установка трапеции Сначала добавьте импорт профилирования в ваш основной пакет: import _ "net/http/pprof" Шаг 2: Ловля CPU-огня в воздухе...

25 мая 2025 14:00 · 3 минуты · 512 слов · Maxim Zhirnov
Кодекс или крестовый поход? Великая дискуссия о предвзятости в отношении языка программирования

Кодекс или крестовый поход? Великая дискуссия о предвзятости в отношении языка программирования

Начну с признания: в прошлый вторник я 45 минут спорил со своей кофемашиной о том, является ли «тёмная обжарка» политическим комментарием. Это происходит, когда ты слишком много думаешь об алгоритмической предвзятости. Сегодня мы обсудим слона в IDE: следует ли языкам программирования встраивать фильтры политической предвзятости в свой синтаксис? Когда «Hello World» говорит «Прощай, нейтральность» Современный код не просто парсит строки — он парсит человеческую культуру. Рассмотрим этот фрагмент на Python:...

25 мая 2025 06:00 · 3 минуты · 547 слов · Maxim Zhirnov
Redis: Швейцарский армейский нож от Backend Wizardry

Redis: Швейцарский армейский нож от Backend Wizardry

Ах, Redis! База данных, похожая на squirrel’а, зависимого от кофеина, — хранит данные с молниеносной скоростью и запоминает всё… пока вы не скажете ей забыть. Давайте узнаем, как это чудо в оперативной памяти может ускорить работу ваших приложений и сделать управление сессиями плавным, как игра джазового саксофониста. Когда кэш — король 👑 Ваш код заслуживает заряда кофеина. Традиционные обращения к базе данных похожи на ожидание, пока ленивец приготовит эспрессо. Встречайте кэширование Redis:...

24 мая 2025 14:00 · 3 минуты · 612 слов · Maxim Zhirnov
Почему ваша одержимость оптимизацией кода подобна тюнингу Ferrari для продуктового магазина

Почему ваша одержимость оптимизацией кода подобна тюнингу Ferrari для продуктового магазина

Представьте: вы на code review, с четвёртой чашкой кофе за утро в руках, и тут кто-то бросает такую фразу: «Зачем здесь использовать списковое включение? Поиск по словарю выполняется за O(1)!» Между тем рассматриваемый метод обрабатывает максимум три элемента. Поздравляем — вы только что стали свидетелем преждевременной оптимизации в естественной среде обитания. Высокая цена ранней оптимизации Начнём с истории, которую вы, возможно, узнаете: # «Оптимизированный» подход results = [] for i in range(0, len(data), 1): temp = process(data[i]) results....

24 мая 2025 06:00 · 3 минуты · 567 слов · Maxim Zhirnov