Добрый день.
В выпуске: баги и дыры; архитектура систем; разработка приложений; тестирование ПО и тестировщики; инструменты; человеческий фактор; эпизоды.
Баги и дыры
• Некоторые баги настолько хитрые, что найти их можно лишь в ходе пристального изучения структуры программных модулей.
• Разбор полетов: почему провалилось внедрение ПО компании SAP и ее партнеров в Avon?
• Delta Airlines из-за технического сбоя стала продавать билеты почти задаром.
• Ретро-баг: как сложно порой найти черную кошку, если она спряталась в темных недрах CPU.
• Cron: мудрым пользуйся девизом, будь готов к любым сюрпризам.
• В тихом омуте черти водятся, или потроха одного Java-приложения, пытающегося выполнить различные операции в зависимости от типа операционной системы.
• Взлом сервиса eBay: как была найдена дыра и как такие дыры избегать в будущем?
• Dependency injection: вещь хорошая, но не нужно перегибать палку.
• Вовремя исправленный баг может спасти человеческие жизни и негативно сказаться на здоровье героя.
• Необычный подход к воровству ключей криптования: 4096-битный RSA-ключ можно получить прослушиванием звуков, которые издает компьютер при расшифровке текстов, зашифрованных этим ключом.
• Йух-23, или история покупок в одном интернет-магазине.
• Команда Walmart в роли Шерлока Холмса: поиск утечек памяти в node.js.
• Поймать ошибку и проглотить, и тогда все будет шито-крыто.
• Обновление Яндекс.Диска привело к неработоспособности Windows и прикладных программ.
• Уязвимость в GitHub позволила злоумышленникам покуситься на святое, создав репозиторий от имени создателя Linux.
• Ужасы нашего городка: в течение двух десятилетий код активации ядерного оружия в США был 00000000.
• Плохие новости о собственном здоровье могут быть следствием бага в алгоритме диагностики.
Архитектура систем
• Белая ворона: NoSQL-решения не всегда являются предпочтительным выбором для хранения данных.
• Статья инженера Linkedin: что такое настоящий лог и как на его основе можно построить надежную систему хранения данных.
• 22 рекомендации для построения web-системы с ожидаемым большим трафиком.
• История одного проекта: причины перехода с Google App Engine на Amazon EC2 и полученные бенефиты.
• Старая школа не стесняется в выражениях: “Good design is as little design as possible.”
• Компания IBM опубликовала пять предсказаний: как изменится наша жизнь в ближайшие пять лет?
Разработка приложений
• Как избавиться от надоедливых опций в Twitter с помощью нескольких строк на JavaScript?
• Как создать собственную социальную сеть с помощью PHP и Redis за несколько часов?
• Привет из прошлого: к каким уловкам прибегали разработчики компьютерных игр в эпоху 8-битной архитектуры.
• Еще одна классификация программистов: одиннадцать архетипов со своими тараканами.
• Трудности с регулярным выражением? Решение на расстоянии кружки пива.
• А что если для структуры каталогов в Unix оставить только права на запись?
• Если вы растащите мой код на куски, это будут ваши проблемы, а не мои.
• Сухие цифры: Stack Overflow помогает сберечь миллионы долларов в пересчете на стоимость труда программиста.
• Jeremiah Peschka сравнивает администраторов баз данных с водопроводчиками и аргументирует свою точку зрения.
Тестирование ПО и тестировщики
• James Bach приоткрывает страницы своего прошлого, рассказывает о непростом решении и подчеркивает важность честности и прямоты как неотъемлемых составляющих личности.
• Google Testing Blog: первая статья цикла об условиях работы технических специалистов.
• Alan Page считает, что выделенные команды тестировщиков – это выброшенные деньги и время, но рисует хорошие перспективы для настоящих специалистов в тестировании.
• Helium – инструмент для Web-автоматизации с простым человеческим языком.
• Чем выше квалификация тестировщика, тем меньше отговорок у разработчика и костылей в продукте.
• James Bach ищет новые оттенки в приемочных тестах: что такое acceptance tests и с чем их едят.
• Spec Explorer и тестирование на основе моделей: концепция и сферы использования.
• В скором времени Facebook может закрыть сделку по покупке индийского стартапа Little Eye Labs, предоставляющего сервисы для тестирования Android-приложений.
Инструменты
• Как замести все свои следы в Web и больше их не оставлять? (1, 2)
• Scott Hanselman публикует очередной ежегодный список утилит, которые он считает полезными при работе в Windows.
• Никогда не поздно придумать полезную утилиту (when): выполнение команды после успешного запуска предыдущей.
• Python-скрипт позволяет найти e-mail адрес интересующего человека.
Человеческий фактор
• Зачем принимать решения на IT-собраниях? Можно просто собраться и хорошо провести время.
• Вход для избранных: как молоды мы были, как искренне любили, как верили в себя.
• Если вы не разрешаете мне в рабочее время сидеть в Facebook, я не буду на вас работать бесплатно дома.
• Как организовать удаленную работу, чтобы извлечь все ее преимущества и избежать недостатков.
• Можно ли покуситься на святое? IT-компания без менеджеров.
Эпизоды
http://openquality.ru/episodes/239
М1. Завтра релиз, а мы в багах тонем. Как выйти сухим из воды?
М2. Спрятать концы в воду!
М1. Точно. Мы в документации напишем: вот вам буйки, за них не заплывать!
http://openquality.ru/episodes/240
Р. У нас покрытие кода тестами 100%. Это означает, что багов у нас нет.
Т. В теории, нет разницы между теорией и практикой. Но на практике она есть.
Р. То есть, баги – это разница между теорией и практикой? Под это дело нужен модульный тест!
Всего наилучшего в 2014 году!
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.
Автор комментария : Юрий Удовиченко | January 1, 2014
Спасибо за очередную подборку!
Насчёт “Как организовать удаленную работу…” - автор не сказал ничего нового по сравнению с книгой Remote от компании 37signals: http://37signals.com/remote/
Очень советую.
С наступившим!
[Ответить]
Капитан отвечает:
January 2nd, 2014 в 1:12 pm
Юрий, спасибо!
Да, я читал эту книгу. Точнее, прослушал в аудиозаписи. Хорошие мысли.
Наилучшие пожелания в проекте WMSPanel!
[Ответить]