События, публикации, решения по темам: разработка и тестирование программного обеспечения, инструменты автоматизации, системное администрирование.
Разработка приложений
• Enum: в каких случаях эта конструкция будет не лучшим решением?
• Производительность облачных сервисов: сравнительный анализ наиболее популярных решений, представленных на рынке, и рекомендации по выбору оптимальной стратегии.
• Разработка web-приложений для мобильных устройств: подборка ссылок.
• Проект Voldemort: распределенное хранилище для высоконагруженных web-сайтов. Обзор архитектуры и обсуждение (аудиозапись).
• Концепция клиент-отзывчивого web-дизайна: благодаря технологиям CSS (media queries) страницы сайта оптимально отображаются в устройствах с разными техническими характеристиками.
• Django: типичные трудности, с которыми сталкиваются новички.
• Современные тенденции в web-дизайне: чуткий отклик на окружающий мир и использование новых технологий. Репортаж в картинках.
• Десять ошибок в программировании, которые лучше не совершать (дабы не прослыть ужасным недоучкой).
• Скелет в шкафу: исповедь разработчика аддона для World of Warcraft.
• Hierarchical Model View Controller (HMVC): краткое введение, основные понятия и практический пример. Чем HMVC лучше старого-доброго MVC и как этот подход может пригодиться при разработке web-приложений?
• Применение PHP в облачных вычислениях: работа с Amazon EC2 посредством Zend Framework (1, 2).
• Минималистичный web-дизайн: каждая деталь несет смысловую нагрузку, внося свой штрих в благоприятное впечатление от сайта.
• Сногсшибательные интервью представительниц прекрасного пола, работающих web-дизайнерами: победы и поражения, извлеченные уроки и напутствие начинающим дизайнерам.
• Архитектурные решения и технологи, задействованные в портале Sify.com. Как удается выдерживать нагрузку в 3900 запросов за секунду?
• Steve Huffman, один из создателей Reddit, рассказывает о базовых принципах и интересных особенностях создания популярного сервиса.
• Пользовательские интерфейсы: подборка материалов. Теория и практика, методы и инструменты, уроки и перспективы.
• Web-дизайн: современные тенденции, законы, особенности и перспективы.
• MocoSpace: архитектура, решения и уроки, извлеченные при построении социальной сети для мобильных пользователей.
• Jeff Atwood, один из создателей StackOverflow, рассказывает о титанических муках при работе с CSS и способах облегчить мучения.
Тестирование программного обеспечения
• Слухи об исчезновении тестировщиков преждевременны: Matt Heusser и Catherine Powell разъясняют суть тестирования, призывают не сводить его исключительно к автотестам, предлагают искать оптимальные пути для решения отдельно взятой задачи (1, 2).
• Группа экстренного реагирования на проблемы компьютерной безопасности CERT представила инструментарий Basic Fuzzing Framework (BFF), предназначенный для автоматизации процесса нахождения уязвимостей в программном обеспечении.
• James Bach рассказывает об эвристике в тестировании (1, 2, 3). Michael Bolton приводит дополнительные разъяснения (4, 5).
• Как потенциальный посетитель воспринимает страницы вашего web-сайта? Nate Bolt представляет несколько подходов и инструментов, позволяющих взглянуть на сайт глазами пользователя и увидеть возможности для более эффективного дизайна web-страниц.
• Стратегия тестирования: очередной перечень пунктов, которым стоит уделить внимание.
• Не было у бабы порося, или подходы к организации модульных тестов для программы Hello, world!
• Google предоставил полигон для практических занятий по обеспечению безопасности web-приложений. Взгляни на свой продукт глазами хакера!
Инструменты автоматизации
• Selenium-RC: работа с модальными окнами в Java. Разбор полетов на практическом примере.
• Adam Goucher иллюстрирует применение Assert и Verify в скриптах для Selenium-RC.
• Evel Tester публикует практический пример работы с Selenium в Java. Задача: анализ сетевого трафика.
• PowerShell + Fitnesse = автоматизация приемочных испытаний в среде Windows.
• IBM developerWorks: принципы автоматизации развертывания приложений (1, 2).
Системное администрирование
• Brent Ozar представляет краткое введение в noSQL для администраторов баз данных. В чем преимущества новых веяний?
• Расширенные возможности shell-скриптов: десять малоизвестных приемов и практик.
Разное
• Откровения доброго хакера: рассказ о нахождении уязвимости на сайте qip.ru.
• Безопасный поиск в Google: как защитить условия и результаты поиска от шпионов и диверсантов.
• Лучшее – враг хорошего. Старый-добрый интерфейс Google доступен по следующей ссылке. Бонус: поиск в Google становится все более интеллектуальным: первичная обработка информации перед выдачей ее пользователю.
• Кодекс настоящего хакера: за что бороться и к чему стремиться.
• Подборка расширений для Chrome, существенно облегчающих серфинг и отладку приложений в Сети.
• История о том, как баг в компьютерной игре завоевал симпатии пользователей и отстоял свое право на жизнь.
• Jeff Atwood делится опытом: как организовать работу над проектом, когда разработчики разбросаны по разным уголкам земного шара.
• Забавные варианты контрольных вопросов и ответов при верификации банковских аккаунтов.
Вышло в эпизодах:
Т1. Не могу заснуть. Ничего не помогает.
Р1. А ты считай баги: раз баг, два баг, три баг…
Т1. Тогда они проникнут в мой сон! Кто их там исправит?!
Р1. (в сторону). Жуткое дело. Больше никаких модульных тестов. Буду просто клепать код. Рассудок дороже!
Р1. Баги? Баги… Это ерунда.
Б1. Лучше вряд ли может быть ответ.
Р1. Срочному релизу – да, да, да!
Б1. Качеству продукта – нет, нет, нет!
Б1. Перепись багонаселения? Мне уже страшно.
Б2. Да ладно, у нас везде свои маглы: разработчики-багоразводители, тестировщики-багописцы, пользователи-багоприемники.
Б1. Вот и залетим!
Б2. Ну разве что на доску почета. Нет продукта без багов. Значит, без багов нет продукта!
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.