События, публикации, решения по темам: разработка, тестирование и отладка программного обеспечения, инструменты автоматизации, системное администрирование, эпизоды.
Разработка приложений
• В web-проекте нет дизайнера? Не беда – симпатичные CSS-шаблоны на все случаи жизни.
• C или C++: развернутое обсуждение достоинств и недостатков двух замечательных языков программирования.
• Материалы из стана Microsoft: будущее интерфейса MSDN и практический пример создания web-приложения с помощью ASP.NET MVC и Visual Studio.
• MSDN Magazine: отладка приложений с помощью IntelliTrace; логирование и трассировка в Windows Azure; примеры работы с MongoDB; кэширование как средство улучшения производительности SOA-приложений.
• MSDN Magazine: продолжение рассказа о работе с MongoDB и новшества C# 4.0 в среде .Net 4.
• Facebook: обзор программных продуктов, позволяющих гиганту расти как на дрожжах.
• Google Command Line Tool: операции с приложениями Google, выполняемые из командной строки.
• Elastic Data Grid: краткое обсуждение архитектуры.
• Защита от SQL-инъеккций и XSS-атак: простой и эффективный способ, исключающий просчеты из-за человеческого фактора и неэффективности тестирования.
• Функциональность jQuery способна придать изюминку web-сайту: несколько практических примеров.
• Albert Gareev проводит уроки рефакторинга, призванного повысить надежность программного кода (1, 2, 3).
• Ian Cooper, апологет техник BDD, делится своими наблюдениями, находками и заключениями в вопросах пересечения BDD и других подходов к разработке ПО.
• Что посеешь, то и пожнешь: игры с выделением максимального времени процессора для отдельно взятой программы могут обескровить все остальные приложения.
• Хотите узнать больше про CSS? Тогда мы идем к вам.
• Создание стилей в CSS: как одним стилем убить всех зайцев и обеспечить корректное отображение страницы во всех браузерах.
• Domain Driven Development (DDD): наиболее серьезные ошибки, допускамые при внедрении, и новые подходы в проектировании функционала системы.
• Регулярные выражения для начинающих: примеры использования в Perl, Python и sed.
• Триггеры в MySQL: что это такое и с чем их едят.
• ”Магические” методы в PHP: краткий обзор и примеры использования.
• Краткое описание и реализация на С++ наиболее известных и популярных алгоритмов: от функции Эйлера до игры в пятнашки.
• Скорость работы web-сайта может оказывать влияние на его место в рейтинге Google. Что предпринять для улучшения производительности?
• Рай в облаках под крышей Google Apps: демонстрашка от Google, обещающая экономию средств, удобство работы и тотальное блаженство.
• C#: краткие заметки по эволюции языка программирования.
• Stanislaw Kulczycki: организация доступа к ресурсам через федеративную систему безопасности, построенную на основе Kerberos.
Отладка приложений
• Mark Russinovich берет в руки WinDbg и раскрывает загадку падения Internet Explorer. По словам Марка, ему потребовалось меньше пяти минут!
• Вкалывают роботы, счастлив программист. JSLint найдет ошибки в JavaScript-коде и поможет его улучшить.
Тестирование программного обеспечения
• ”The development of unit-level checks tends to reveal more problems than the running of them.” Michael Bolton призывает не умалять значимость человеческого фактора в создании модульных тестов и интерпретации их результатов.
• IBM developerWorks: применение заглушек (stubs) и mock-объектов в модульном тестировании приложений, написанных на Ruby on Rails.
• A и Б сидели на трубе: что такое A/B-тестирование, как его организовать и как оно сможет помочь в создании наиболее эффективной версии продукта.
• Gojko Adzic рассказывает об анатомии приемочных испытаний и рассматривает их на практическом примере.
• В новом выпуске журнала “Testing Experience” сделан акцент на тестирование производительности приложений.
Инструменты автоматизации
• Освоение модульного тестирования через игру: первые шаги с Pex в браузере.
• Adam Goucher демонстрирует пример совместного использования Selenium и AutoIt в задаче скачивания файлов в браузере. Бонус: очередная подборка материалов по Selenium.
• Adam Goucher делится очередной подборкой ссылок по Selenium.
• Adam Goucher рекомендует не изобретать велосипед при работе с Selenium в Java, Python и Ruby.
• Обзор инструментов и сервисов для кросс-браузерного тестирования web-приложений.
• I.M.Testy продолжает тему автоматизации тестирования приложений в условиях различных региональных настроек.
Системное администрирование
• Grig Gheorghiu делится точечными настройками syslog-ng и nginx.
• Linux: планирование и автоматизация выполнения заданий с помощью at, cron и других подручных средств (1, 2).
• Шпаргалка по командам Unix: освежает память и дает пищу для размышлений.
• Работа с массивами в bash-скриптах: краткое руководство.
• Инструментарий системного администратора: проверка правильности конфигурации системы путем отслеживания изменений в файлах.
Разное
• Профессиональный жаргон программистов, снабженный красочными иллюстрациями.
• Вакансии для QA-специалистов и не только: поиск идеального места работы по всему миру.
• Прикладные основы военной стратегии Auftragstaktik и следование этой методике в ходе разработки и тестирования приложений (1, 2, 3).
• Взгляд изнутри: как достигаются цели в стенах Google и как измеряется успех.
• Жизнь консультанта в IT: как выжить, как заработать на хлеб с маслом и как сделать заказчика счастливым.
• Вирусы покидают насиженные площадки персональных компьютеров, меняют тактику и перемещаются в … фотоаппараты.
• Взгляд на продукт глазами дальновидного SEO-оптимизатора: очередной инструмент для анализа трафика, метаданных и других характеристик.
• Тайные знания по генерации случайных чисел: нолик как средство обеспечения сверхслучайности.
• Исповедь одного web-приложения: о чем хочется рассказать тестировщикам и программистам.
Вышло в эпизодах:
Т1. Мы – тираны. Ловим беззащитных. Баги – они же как дети. Не ведают, что творят.
Т2. Или просто глупые. Никогда не приписывай злонамеренности тому, что вполне может быть объяснено глупостью.
Т1. Откроем институт, школу и детский сад. Будем перевоспитывать!
Б1. 10Mb, 50Mb, 200Mb… Сколько же памяти там осталось?
Б2. Отсасывайте, коллега, отсасывайте. Назвались Багом? Стремитесь ввысь!
О1. Дорогая, выходи за меня замуж. Создадим семью, объектную ячейку.
О2. Да как ты смеешь, бессвойственный!
О1. Да, свойства мне не свойственны. Но я же свой, свой!
О2. С милым без свойств не рай. Ты гадкий утенок!
Б1. Свой среди чужих, чужой среди своих? +1 !
Б1. Ну скушай еще. За маму, за папу!
Б2. Не хочу я эти методы-объекты. Ну сколько можно?
Б1. Не будешь хорошо кушать – останешься бажком, легкой добычей.
Б2. Н-е-ее-ет! Маленьких не видно!
Б1. Может и не видно. Но если найдут, то обязательно зарЭжут. А вырастишь большим Багом – никто не тронет, побоятся. Дружка твоего съедят, который объекты не ест.
Б2. Мамочка, дай мне еще парочку. Вон тех, пожирнее!
Т1. Гражданин, ваши документы!
Б1. Пардон, какие документы? По какому праву?
Т1. А по такому, что под спецификацию не подходите.
Б1. Не подходим? Гоп-стоп, мы подошли из-за угла.
Б2. Гоп-стоп, ты много на себя взяла…
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.