Добрый день.
В выпуске: баги и дыры; архитектура систем; разработка приложений; тестирование ПО и тестировщики; эпизоды.
Баги и дыры
• Действительно ли безопасны приложения на мобильных устройствах, или же доступ к вашим данным находится на расстоянии вытянутой руки?
• И сидит Селектыч в головах, а не в коде: история про то как две группы функциональных web-элементов бросили в одну кучу.
• Разгромная критика в адрес приложений, скачивающих и устанавливающих ПО.
• Egor Homakov продолжает взламывать GitHub и делиться своими открытиями: очередные пять уязвимостей.
• Сага о невоспроизводимых багах: инженер Google делится своими подходами к борьбе с гонками, дедлоками, утечками памяти и другими минами замедленного действия.
• Наглядная агитация: баг не пройдет, если ты откажешься от strcpy.
Архитектура систем
• Архитектура сервиса WhatsApp, купленного Facebook за 16 млрд: статистика, платформа, инструменты, технологии, извлеченные уроки.
• Алгоритмы информационных систем, окутывающих планету, позволяют принимать наилучшие решения в пользу их бесперебойной работы и дальнейшего развития.
• Права доступа в Windows: можно стать наполовину беременным.
• Архитектура AOL: дизайн, инфраструктура, трафик, мониторинг, управление контентом, базы данных, кэш, процесс разработки, извлеченные уроки, взгляд в будущее.
• Jeff Atwood рассуждает о виртуальной реальности и о том как новые технологии изменят наш мир.
• Чертова дюжина полезных советов по масштабированию приложений на базе Python/Django/Apache.
• Khan Academy: несколько подходов к ускорению выдачи главной страницы популярного образовательного ресурса.
• Без права на ошибку: Google хранит эксабайты информации и не может себе позволить потерять хотя бы один байт.
• Что такое web actors, и как эту концепцию можно реализовать при разработке интерактивных web-приложений.
• 11 принципов построения систем, для которых важно минимизировать время выдачи информации.
• Горизонтальное масштабирование PHP-приложений: принципы, компоненты, оптимизация (1, 2).
Разработка приложений
• Peter Norvig: девять шагов к улучшению программного кода.
• Балансировщик нагрузки: скажи мне текущую секунду, и я скажу тебе кто будет обрабатывать запрос.
• Jeff Atwood чувствует себя опустошенным от обилия приложений, которые приходится устанавливать на своем мобильном устройстве.
• Из серии “Нарочно не придумаешь”: операции с датами, целочисленными значениями и строками.
• Горячие головы спешат похоронить Perl, но пациент жив и находится в хорошей форме.
• Цели компании и сокровенные желания пользователей вовсе необязательно должны соответствовать друг другу.
• Commit-push-run: никогда не намечайте важных дел на пятницу.
• Complaint-driven development: хорошие продукты долго запрягают, но потом быстро на них ездят.
• Камень в огород современных методик разработки ПО и раскрытие самого главного секрета успешных проектов.
• Web-анимация: подборка трюков, примеров и рекомендаций (1, 2).
• Антипаттерны: что такое “плохо” при работе с ASP .NET.
• Rich Adams делится тайными знаниями: советы, которые пригодились бы мне на первых шагах работы с AWS.
• JQuery – “наше всё” или без него можно обойтись?
Тестирование ПО и тестировщики
• To code or not to code: следует ли тестировщикам писать код?
• Agile -> Fake Agile -> Real Agile: что думает об Agile консультант по тестированию ПО.
• Тест тесту рознь: какие тесты кому и когда запускать.
• Отказ от тестирования: либо приложение работает, и нет смысла его тестировать, либо не работает, и разработчика нужно уволить.
Разное
• Если программный продукт окажется слишком хорошим, то он сможет разрушить личную жизнь его создателя.
• Дилберт похвастался своими результатами, но выяснил, что не достиг целей, о которых не знал.
• Нам некогда вносить изменения, потому что мы слишком загружены делами, которые есть у нас сейчас.
• Любой шаг может оказаться неверным, но это не означает, что стоит топтаться на месте.
• Камень в огород рекрутеров: шкурка выделки не стоит.
Эпизоды
http://openquality.ru/episodes/243
Т. Если бы мы исправили этот баг в прошлом релизе, то избежали бы нынешних эскалаций. Кто управляет прошлым, тот управляет будущим!
Р. Будем считать, что это был не баг, а опрос: насколько эта функциональность важна для пользователей. Кто управляет настоящим, тот управляет прошлым!
http://openquality.ru/episodes/244
Б. Вероятность появления Разработчика на свет – один на квадриллион, а вероятность того, что он создаст Меня, и того меньше.
Т. Да ты просто Венец Творения! Какие тесты, какой багфикс? Никто и пальцем не тронет!
http://openquality.ru/episodes/245
ТБ. И снилось мне, что я баг и порхаю над кодом, а когда я проснулся, я не знал, тестировщик я или баг, которому снится, что он тестировщик…
Всего доброго в первый месяц весны!
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.