Баги и промахи
• Диалог разработчика с приложениями, если бы последние умели сообщать о своих трудностях.
• Skype: хотели как лучше, а получилось как всегда.
• Бортовой компьютер автомобиля Volkswagen занижал содержание вредных веществ в выхлопных газах дизельного двигателя (1, 2).
• К истории вскрытия паролей пользователей сервиса Ashley Madison: если хакер получает доступ к истории изменений исходного кода, он может найти там очень полезные зацепки.
• Не забудь отключить режим отладки перед релизом, или ночной кошмар обеспечен.
• Неудаленные после удаления: история о том, как триггер в SQL-сервере предотвращал удаление записей из базы данных.
• Какой хитрый калькулятор: хоть ты и миллиардер, копай от забора до обеда.
• Современные системы связи позволяют общаться с коллегами по всему миру, но несоответствие разъемов может сорвать презентацию, а чат – усложнить общение.
• Так ли страшен NULL как его малюют?
• Два взгляда на коммит, который не привел к изменениям.
• Баг в работе GitHub-расширения для Visual Studio 2015 привел к раскрытию исходного кода плюс финансы спели романсы.
Архитектура систем и разработка приложений
• Катастрофа: каким образом Facebook в течение пяти минут сообщает вашим друзьям, что с вами все в порядке?
• История приложения для мобильных устройств, работающего на трех платформах: цель достигнута за четыре недели.
• Батюшки святы: объединенная приборостроительная корпорация готова начать серийные поставки защищенной от шпионов операционной системы “Заря“.
• Uber: система резервного копирования/восстановления использует телефоны водителей как источники для восстановления данных.
• Uber: развитие платформы идет в ногу с впечатляющим развитием бизнеса.
• Что такое хорошо и что такое плохо в архитектуре микросервисов?
• Что бы еще присобачить в наш стек инструментов и библиотек, чтобы весь мир замер в восхищении, а система удержалась на плаву?
• Выбор правильной сторонней библиотеки: не взять ее слишком рано или слишком поздно.
• Code review: лучше позже чем никогда, или позже не надо?
• Airbnb: каким образом потребности пользователей и бизнеса в целом оказывают влияние на технологическое развитие сервиса?
• История написания одной программы, оказавшейся самой трудной для автора статьи.
• Этапы проекта по разработке ПО в циничной интерпретации.
• Развенчание мифов: так ли хорош REST API, и всегда ли он полезен?
Тестирование и качество ПО
• Когда ошибок в работе сервиса слишком много, они перестают быть значительными.
• Пушкой по воробьям или точечные цели? Как не переборщить с модульными тестами?
• Замечательная история о том, как обучить fuzzer c помощью существующих тест-кейсов и найти неизвестные баги с помощью тест-кейсов, которые сгенерировал fuzzer.
• Тестирование без написания тестов: Diffy выявляет баги путем сравнения откликов от текущей и предыдущей версий продукта.
Между стулом и монитором
• 10 лет работы в Google: хороший повод поделиться своими мыслями.
• Вот как: хочешь видеть меньше рекламы от Google и не хочешь ее резать плагинами? Плати ежемесячный взнос.
• Наш виртуальный двойник сможет не только выполнить рутинную работу, но и в один прекрасный день полностью нас заменить.
• Как свести с ума своего менеджера, искренне пытаясь помочь ему с терминологией.
• Если у вас плохие предчувствия в проекте, не стоит ими делиться, иначе они сбудутся.
• Jonathan Kohl перешел из сферы тестирования в сферу управления продуктами и рассказывает о новой стезе.
• Что роботу можно и что нельзя: нужно быть осторожным с выбором.
• И пусть весь мир подождет: я исправлю баг, чего бы мне это ни стоило.
Всего доброго.
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.