Добрый день.
Баги и промахи
• История одного бага: выполнить код сто триллионов раз до его проявления.
• Чем дальше в лес, тем больше дров: истории отладки.
• Невозможное возможно: как компания Google потеряла данные пользователей.
• Уроки, извлеченные из провалов: к чему приводит игнорирование багов, плохая обработка исключений, незавершенные пункты в ToDo, упрощенная конфигурация для тестирования и другие факторы.
• Таки да, особо въедливые пользователи продукта или API камня на камне не оставят от дежурных сгенерированных фрагментов документации.
• Взлом сервиса Ashley Madison: измена супругу(ге) рано или поздно вылезет наружу со всеми подробностями.
• Убийство из-за ошибки стимулятора мозга: моя хата с краю, никого не знаю.
• Анатомия уязвимости в просмотрщике PDF-файлов в Firefox: подробный разбор полетов.
• Если баг зародился на этапе подготовки спецификаций и был упущен, его последствия могут быть необратимы.
• Oracle: не сообщайте нам об уязвимостях, найденных с помощью обратного инжиниринга. Мы и сами с усами.
• Коварный вирус может пролезть в ваш компьютер из роутера: Jeff Atwood эмоционально описывает меры предосторожности.
• И не баг вовсе: объяснение числа 301 в YouTube (количество просмотров, на котором замирает счетчик).
• Баги – хорошие учителя: лучше позже чем никогда, но чем раньше, тем лучше.
• История одного бага: С++ сервер, обслуживающий медицинский монитор, падал только по средам.
• Лучше позже чем никогда: возможные причины неудач проекта с открытым кодом.
Архитектура систем и разработка приложений
• Оптимизация производительности web-сайта: хорошее введение в тему.
• Martin Fowler призывает разделять мух, котлеты и тарелку, но при этом не упускать из виду всю картину в целом.
• История создания приложения для Apple Watch: и опыт, сын ошибок трудных…
• Правила существуют не только для предотвращения проблем в настоящем, но и для их исключения в будущем.
• Martin Fowler предельно краток в разговоре об антипаттернах.
• К основам: как работают реляционные базы данных.
• Mark Russinovich: что Microsoft собирается предпринимать в отношении контейнеров.
• Kremlin.ru: как разрабатывался дизайн флагмана государственных ресурсов.
• Тише едешь, дальше будешь? Создание среды разработки может отнять немало времени, но должно себя оправдать.
• Никому не пожелаю вляпаться в старый заброшенный проект: если не разберешься в коде, код поглотит тебя.
• Семь смертных грехов при работе с микросервисами.
• Парадигмы программирования: кто не без греха, пусть первым бросит в OOP камень.
Тестирование и качество ПО
• Слишком много и слишком мало знаний о коде снижает эффективность модульных тестов.
• Два апостола индустрии тестирования ведут дебаты: следует ли относить различные подходы к стратегиям или школам тестирования?
• Так вот как ларчик раскрывался. Подобная забота о пользователях вызывает уважение.
• Подборка текстовых строк в качестве источника для тестирования продукта с входными данными от пользователя.
• Запуск тестов на Ruby: от трех часов к трем минутам.
• От модульных тестов будет мало толку, если они сравнивают результаты двух одинаковых вызовов одного и того же метода, либо пишутся из-под палки.
Администрирование систем
• Пять ошибок администратора баз данных, о которых впоследствии можно пожалеть.
• Еще одна подборка команд для диагностики и управления Unix-системами.
• Как помочь Windows 10 не брать грех на душу и не следить за вашими действиями?
Будущее
• Кто тут говорил, что до сингулярности как до Парижа пешком?
• Армия роботов объявляет войну человечеству: атака не за горами.
Человеческий фактор
• Хороший расклад: нетехнические аспекты в проекте зачастую бывают важнее технических нюансов.
• Что произойдет, если приложить закон Мерфи к закону Мура в программировании?
• Дилберт узнает, что означает думать как предприниматель и при этом ничего не менять.
• Силлогизм силлогизмом, но из двух связанных заключений не всегда следует третье.
• Если персональный виртуальный ассистент будет слишком умным, он попытается взять ваше время под свой контроль.
• Самые серьезные заботы отходят на второй план, если на свет появляется маленькое существо.
• Стоит ли начинать писать код, если не знаешь с чего начать?
• Тяжела и неказиста жизнь простого программиста: релиз как победа в футбольном матче.
• Закон кармы: история одного увольнения, или скупой платит дважды.
• А почему бы и нет? Порой стоит повременить чуток с решением задачи: возможно, в решении нет необходимости.
Бархатное лето.
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.