События, публикации, решения по темам: разработка, отладка и тестирование программного обеспечения, инструменты автоматизации, системное администрирование.
Разработка приложений
• Путь программиста: исчерпывающее руководство для начинающих и опытных разработчиков.
• IBM developerWorks: рассказ об утилите dialog, предназначенной для создания диалоговых окон в shell-скриптах.
• jQuery: 40 полезных советов и приемов на все случаи жизни. Бонус: как не переборщить с интерактивным дизайном.
• Несколько полезных советов по программированию на PHP: сериализация, информация о потреблении ресурсов, поиск файлов и другие возможности.
• Работа над ошибками: выбор между jpg и png в web-интерфейсах.
• Эмоциональная аура web-сайта: сайт, несущий эмоциональную подпитку, привлекает большее внимание посетителей.
• Непрерывная интеграция: как выпускать новый билд наиболее эффективно?
• Perl 6: лестное сравнение с Lisp и энциклопедия по основным возможностям языка.
• Лучше позже чем никогда: возможности JavaScript глазами разработчика, который хотел бы обладать этими знаниями в начале пути.
• Уроки портала знакомств Poppen.de: каким образом команде проекта удается справляться с высокими нагрузками на сайт?
• Повод для размышлений. Что лучше: выпустить продукт с повышенным количеством багов или отрезать часть функциональности, сосредоточившись на качестве оставшейся части?
• Jakob Nielsen: как расположить материал на web-странице, чтобы он привлек внимание пользователя?
• Visual Studio 2010: обзор новых возможностей и руководство по созданию сервиса для работы в Windows Azure.
• IBM developerWorks: основные источники информации по Java, применение Expect и Python в администрировании Linux, работа с XML в Ruby on Rails.
• В GMail добавлена поддержка OAuth-аутентификации, что устраняет необходимость запрашивания пароля пользователя при доступе к его данным.
Отладка приложений
• Частный детектив Mark Russinovich расследует загадочные сбои при печати документов с одного из компьютеров. Инструмент Procdump из набора Sysinternals оказался весьма кстати.
• Mark Russinovich, вооружившись инструментами Sysinternals, отправляется в очередное турне по территории Windows и продолжает рассказ про пользовательские и графические объекты.
Тестирование программного обеспечения
• Udi Dahan: как разрабатывать приложение с прицелом на удобство его тестирования?
• Тестирование web-приложений на предмет работы в Firefox c помощью плагина для Visual Studio 2010.
• Matt Heusser: 10 подходов к выявлению уязвимостей в web-приложениях.
• Michael Bolton и его друзья раскладывают исследовательское тестирование по полочкам: тестовые сценарии, сессии, управление, отчеты.
• Michael Bolton раскрывает суть исследовательского тестирования, развенчивает популярные заблуждения и приводит несколько неожиданных сравнений (шахматы, секс).
• Michael Bolton продолжает серию образных сравнений, обнажая грани исследовательского тестирования.
• Jay Philips и Dilbert о необходимых составляющих процесса тестирования приложений.
Инструменты автоматизации и модульные тесты
• Gojko Adzic призывает воспринимать автотесты для приемочных испытаний как самостоятельный продукт и относиться к нему с соответствующим уважением.
• Gojko Adzic об автоматизации тестирования графического интерфейса: базовые основы, первые шаги, практические рекомендации.
• Gojko Adzic: применение TDD при разработке сложных гетерогенных систем.
• Pex и Moles: новая версия инструментов для модульного тестирования .Net-приложений.
• Ranorex 2.3: обзор изменений в новой версии продукта для автоматизации тестирования графических интерфейсов.
• Selenium: подготовка скрипта для тестирования приложения (на примере заглавной страницы SalesForce).
• Кладоискатель Adam Goucher представил очередные подборки ссылок по Selenium (1, 2).
• TDD: как освоить премудрости этого подхода с помощью игровой практики.
• Google Test 1.5.0: краткое введение в работу с библиотекой для модульных тестов.
• I.M.Testy рассказывает о гибком изменении формата даты в процессе тестирования продукта с различными региональными настройками.
• Miško Hevery признается в любви к JavaScript и объясняет, почему этот язык удобен для автоматизации тестовых сценариев.
• Тестовые сценарии: при автоматизации “всего и вся” миссия автотестов может стать невыполнимой.
• I.M.Testy призывает не усложнять автотесты и аргументирует свою точку зрения на наглядном примере.
• Selenesse: мост между Selenium и Fitnesse. Краткое вступление от создателей.
Системное администрирование
• Введение в Vagrant: инструмент для подготовки, развертывания и управления виртуальными образами, размещаемыми в EC2 и других облачных системах.
• Балансировка нагрузки в облачных системах: экспериментальные данные и полезные советы.
Разное
• Мудрым пользуйся девизом: “Будь готов к любым сюрпризам”. К чему может привести неверное размещение специальных пометок на клавиатуре, предназначенных для удобства слепого набора?
• Paul Graham: хорошей идеей для стартапа будет создание продукта, которого так не хватает вам.
• Программизм: история одной болезни. От рождения через идеализм к просветлению.
• Секреты Apple: что отличает успешную компанию и можно ли повторить ее успех.
• Поисковые системы: что скрыто внутри? Ученые из Google и University of Waterloo рассказывают о поисковых алгоритмах, структурах данных, индексировании и прочих аспектах поисковых машин.
• Google: скорость выдачи страниц сайта может служить одним из факторов, определяющим позицию сайта при ранжировании результатов поисковых запросов.
• Код, доходящий до абсурда, или нарочно не придумаешь.
• Краткое руководство: как подыскать неквалифицированного программиста.
Вышло в эпизодах:
Р1. Предлагаю оформлять спецификацию в виде багов. Каждый баг описывает будущий элемент интерфейса.
Р2. Здорово. Избавимся от лишних документов. Реализовал элемент – закрыл баг.
Б1. Это что получаетcя? Мы – баги из будущего?
Т1. Bug driven development. Вы – специфические!
Б1. Хоть на что-то сгодимся!
Б1. Папа, а что такое счастье?
Б2. Счастье – это когда тебя понимают.
Б1. Если я счастлив, значит, меня понимают?
Б2. Не понимаю, о каком счастье ты говоришь.
Б1. Перестаньте надо мной издеваться! Пихаете, понимаешь, туда-сюда…
Р1. Я в тебя не верю, ты фантом, мираж, плод воображения!
Т1. Нет, нет, я его видел!
Б1. “Неопознанный летающий объект” – разумный компромисс?
Р1. Наша цель? Создавать приложения.
Т1. Наша задача? Тестировать творения предыдущего оратора.
Б1. А мы язык общения и средство коммуникации.
Б2. Наша служба и опасна, и трудна.
Б3. И на первый взгляд как будто не видна…
Всего доброго. Оставайтесь с нами.
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.