Добрый день.
События, публикации, решения по темам: разработка и тестирование программного обеспечения; инструменты автоматизации; системное администрирование; эпизоды.
Разработка приложений
• Facebook: 2,5 часа простоев, разбор полетов и уроки на будущее.
• Django + jQuery + библиотекa python-wrapper = web-приложение, умеющее работать с Twitter.
• Алгоритмы: система непересекающихся множеств и ее применение.
• HTML 5: факты и мифы о новом стандарте представления web-страниц.
• Как научиться программировать? In short, you start with little bit of something real and make it tick. Then you make it tock.
• Первые шаги в программировании и web-дизайне? Совет от 37signals и Ван Гога: берись и делай.
• Пошаговое руководство по освоению Cucumber – инструмента для апологетов Behaviour Driven Development.
• Концепция “зеленого” Интернета: как оптимизировать контент web-сайта для снижения выработки углекислого газа?
• Как большой адронный коллайдер умудряется работать с петабайтами данных? Подробности.
• IBM developerWorks: моделирование методов цифровой обработки сигналов (1, 2) и стохастических процессов (1, 2, 3) на языке Perl; режим реального времени в Java: отличительные возможности и повышение качества сервиса, предоставляемого приложением.
• IBM developerWorks: импорт данных из XML-документа в Google App Engine, построение динамических пользовательских интерфейсов с Android и XML, применение JavaScript-фреймворка Dojo при создании web-приложений, Python для системных администраторов.
• Подкасты для web-разработчиков: подборка ресурсов по технологиям и продуктам.
• jQuery: подборка приемов, советов и рекомендаций.
• Взгляд на баг в Debian глазами практикующего доктора: не лучше ли предотвратить болезнь вместо того чтобы лечить последствия?
• Системные вызовы и процессы в Unix: полезные сведения для разработчиков.
• Отладка ядра Linux c помощью JTAG: базовые принципы и практический пример.
• Hash: как сделать его распределенным? Пример с php-кодом.
Тестирование программного обеспечения
• Применение TestAPI для намеренного внесения ошибок в код .Net-приложения с целью проверки его работы в таких условиях.
• YSlow – анализатор web-сайта, способный определить слабые места страниц с точки зрения времени их загрузки.
• Kent Beck: история создания JUnit и будущее тестирования (аудиозапись).
• Michael Bolton: исследовательское тестирование нельзя автоматизировать, но автотесты могут служить хорошим подспорьем в этом процессе.
• Исследовательское тестирование: Michael Bolton врезается в глубины популярной методики и находит в ней новые (хорошо забытые старые) грани.
• James Whittaker на кухне тестирования. Часть 4: знания – сила.
• James Whittaker, скупой на подробности мыслитель из Google, подчеркивает важность анализа рисков при планировании объема тестирования для той или иной функциональности продукта.
Инструменты автоматизации
• Строитель-высотник Adam Goucher приставляет лестницу к Selenium: продолжительность ожидания элемента определяется результатом предыдущей проверки.
• Фокусник Adam Goucher выступает с фейерверком ссылок по Selenium (1, 2, 3).
• Практический пример работы с интерфейсом Google Mail, в котором заявляется о неполном служебном соответствии Selenium и палочке-выручалочке в виде Java-робота.
• I.M.Testy: первые шаги в разработке автоматизированных тестовых сценариев.
• I.M.Testy рассказывает о снятии снимков экрана с помощью кода на C#.
• TestComplete: использование необъявленных переменных в JScript.
• Как избежать “засыпания” компьютера в случае неактивности GUI при проведении автотеста? Один из вариантов.
• Применение IronPython в тестировании web-приложений, работающих в среде ASP.NET.
• В новом выпуске журнала “Testing Experience” основное внимание уделено метрикам, характеризующим процесс тестирования и качество программного продукта.
• Daniel Brown делится примерами работы с атрибутами в NUnit, выбрав Selenium RC в качестве подопытного кролика.
Системное администрирование
• Шесть полезных однострочников в Linux.
• Как с помощью административных прав в AD настроить прослушку разговоров на компьютерах, входящих в соответствующий домен.
• Представленный в списке рассылки Full Disclosure “работающий” эксплойт Ac1db1tch3z (ABftw.c), предназначенный для проверки систем на наличие обнаруженной на прошлой неделе уязвимости, сочетал в себе функции троянского ПО.
• Linux: несанкционированный полный доступ к системе в случае незащищенного загрузчика GRUB.
• Доступ к Unix-системе по ssh: как усложнить жизнь хакерам?
• Fish (Friendly Interactive Shell) – дружественный командный интерпретатор в среде Unix.
Разное
• Переход с IPv4 на IPv6: неудобен, затратен, но план Б не существует.
• CapsLock: как извлечь из этой клавиши больше пользы по сравнению с ее изначальным предназначением? Придать ей другой смысл.
• Vim –> TextMate –> Vim: история перехода с одного текстового редактора на другой и возврат к истокам.
• Vim: практические рекомендации по укрощению и разгону отличного текстового редактора.
• Двадцать пять информационных ресурсов для освоения Vim.
• Узкая специализация: компьютерный червь Stuxnet рожден для уничтожения ядерных заводов в Иране.
• Сенсационное открытие: найден сотрудник, чья деятельность обеспечивает успех или провал любого проекта.
• Duck Duck Go: утка знает про Google больше чем сам Google? Кря-кря-кря!
• Лидер в IT: “… больше всего востребован прораб-телепат с навыками пророковедения, способный прочитать мысли заказчика на расстоянии и предвидеть возможные изменения, чтобы проект был завершен в срок“.
• Сногсшибательный формат поиска от Google: результаты запроса выводятся по мере набора выражения в строке поиска. Репортаж с места событий.
• Как выбрать и настроить систему управления контентом для будущего проекта: пошаговое руководство.
Вышло в эпизодах:
Б1. Всемогущ ли Разработчик? Сможет ли он создать Баг, который сам не в состоянии исправить?
Б2. Я думаю, что сможет. Иначе благодаря чему мы живем?
Б1. Значит, он не всемогущ?
Б2. Всемогущ, но милосерден. Он сможет создать все что захочет, но рука не поднимется разрушить то, что сам создал.
Р1. Интересный баг: при 10 пользователях все хорошо, а при сотне данные куда-то теряются.
О1–>Б1. Вот это рождаемость! Скоро яблоку будет негде упасть.
Б1–>Б2…Б9. Надо помочь товарищам. Ребята, заходим в класс и гасим конструкторы!
Б1–>Р1. Возьмите меня в помощники! Я код вдоль и поперек знаю.
Т1>Р1. Может быть, ему тестовое задание дать?
Р1–>Б1. Вот тебе задание. Если ты так хорошо знаешь код, то скажи, как в нем от тебя избавиться?
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.