Добрый день.
События, публикации, решения по темам: разработка и тестирование программного обеспечения; инструменты автоматизации.
Разработка приложений
• Организация атаки на приложение с помощью SQL injection. Подробный разбор полетов.
• Twitter API + OAuth: пример создания простого приложения.
• Jeff Atwood начинает наступление на сайты, внедряющие собственную систему аутентификации, и призывает к переходу на решения, доказавшие свою эффективность (OpenID, OAuth 2.0).
• Memory grids: быстрые и дешевые модули памяти становятся хранилищами данных, а жесткие диски уходят в тыл и применяются лишь для восстановления информации (аудиозапись).
• Теория и практика Java: все ли в порядке в Web-приложениях, которые хранят свое состояние в сеансе пользователя?
• Убийственные поисковые запросы: как их выявлять и как с ними бороться?
• Google App Engine: здравствуй и прощай. Откровения бывшего пользователя. Бонус: еще один реверанс.
• Exceptions в C#5: разбор полетов на практическом примере.
• Реальный опыт создания и оптимизации сетевых демонов, работающих с десятками тысяч одновременных соединений и/или гигабитным трафиком.
• Grig Gheorghiu печется о здоровье информационной системы и делится своими секретами профилактики и обнаружения критических участков.
• Алена C++ рассуждает о временных оценках в программировании и приводит несколько способов рассчитывать сроки выполнения задачи.
• REST + HTTP: как организовать взаимодействие между компонентами web-системы? Краткое руководство с примерами.
• PHP и MySQL: разработка почтовой службы с веб-интерфейсом (1, 2, 3, 4, 5).
• Почему “игрушечные” устройства и приложения завоевывают мир, а их более “серьезные” полнофункциональные аналоги лопаются от зависти? Разбор полетов.
• Искусство программирования в Unix: неувядаемая книга от Эрика Рэймонда.
• Facebook: искусство оптимизации запросов к базам данных.
• Git: вводная статья, описывающая работу с популярной системой управления версиями.
UI
• Красивые картинки и анимация далеко не всегда гарантируют удобство серфинга по web-сайту. Несколько примеров.
• Стратегия Microsoft по внедрению HTML5: лебедь, рак да щука или тщательно выверенный путь?
• Команда, разрабатывающая Google Chrome, выпустила руководство “20 Things I Learned About Browsers and the Web”. Богатые возможности HTML5 и забавные иллюстрации.
• Симпатичный инструмент по подбору цветовой гаммы для web-сайта.
• CSS: 30 селекторов, которые предлагается выучить наизусть.
ТDD и CI
• TDD и Java: три инструмента для разработчиков.
• TDD и JavaScript: краткое введение в тему и первые шаги на конкретных примерах.
• Gojko Adzic: TDD и рефакторинг идут рука об руку.
• Непрерывная интеграция на примере Hudson: автоматизация процесса сборки билда.
Тестирование ПО и обеспечение качества
• Гибкие технологии в тестировании: тезисы докладов на конференции.
• I.M.Testy расказывает о применении заведомо неверных данных в комбинаторном тестировании.
• Catherine Powell рассказывает о проявлении синдрома цыпленка в тестировании ПО.
• James Whittaker раскрывает седьмой ингредиент тестирования: блюдо можно считать готовым после того как учтены все значимые "http://googletesting.blogspot.com/2010/11/ingredients-list-for-testing-part-seven.html">риски.
• James Whittaker считает вариативность неотъемлемым ингредиентом тестирования. P.S. Какой будет следующая приправа? Courage? Curiosity? Intuition?
• I.M.Testy продолжает тему комбинаторного тестирования и призывает обращать особое внимание на проверку сценариев, которые наиболее часто встречаются у пользователей.
• Michael Bolton продолжает искать подходы к Черному Лебедю и рассуждает об оценке продолжительности тестирования.
• Gojko Adzic: семь подходов к обеспечению качества программных продуктов.
• Matthew Heusser задается вопросом: “А что же это за зверь – качество“? Интересные подходы и оптимистичные прогнозы.
• Результаты исследования безопасности и качества открытого кода.
Инструменты автоматизации
• Adam Goucher находит материалы по Selenium и смежным областям (1, 2, 3, 4, 5).
• Ranorex 2.3.5: список новшеств и исправлений.
• Jason Elbaum (Google) рассказывает о BidiChecker – инструменте для отслеживания ошибок в web-страницах с двунаправленным размещением текста.
• MSDN Magazine: автоматизация тестирования Web-приложений в среде C#.
Разное
• Андрей Себрант, директор по маркетингу сервисов “Яндекса”, рассказывает о том, как прогнозировать популярность сайта.
• Хочешь в Google? Поработай над Chromium и получи работу своей мечты.
• Google повышает зарплату всем сотрудникам на 10%, не желая уступать пальму первенства в конкуренции с Facebook.
• Компания Google готова платить за ошибки, найденные на принадлежащих ей сайтах. Перечень сайтов и список особо важных ошибок прилагаются.
• Blekko: еще один поисковик, призванный устранить спам в выборке ответов на запрос.
Вышло в разделе Опыт Экспертов:
Интервью с Еленой Сагалаевой. В кругах профессиональных разработчиков Елена Сагалаева (Алена C++) широко известна благодаря своему блогу и докладам на конференциях. Нюансы С++, алгоритмы, геймдев, будущее индустрии, стартапы, обзоры книг – вот далеко не полный перечень тем, которые Елена поднимает в своих публикациях. Поднимает и раскрывает с присущей ей глубиной и основательностью. Программирование для прагматиков – название блога Елены и предмет нашего разговора.
Интервью с Александром Дёминым. Александр работает в компании Bloomberg, ведет популярный блог “Программирование – это просто”, разрабатывает и поддерживает несколько полезных инструментов для разработчиков. Перевел документацию по Google C++ Testing Framework и Google C++ Mocking Framework. В интервью Александр рассказывает о своих подходах к созданию приложений и делится накопленным опытом.
Вышло в эпизодах:
Т1. [Commercial OS] Something’s working? By design. Not working? Must die!
Р1. [Free OS] Something’s working? Cool! Not working? Challenge!
Б1. [Bug OS] Something’s working? Must die! Not working? By design! No features, bugs only!
Р1. Это что тут за представление?
Б1. Бажественная комедия. Под дурика маскируюсь!
Т1. Не стоит себя принижать. Ты вовсе не так велик.
Р1. Какой интересный баг!
Т1. Ты даже не спрашиваешь, повторяется ли он?
Р1. Да, кстати, повторяется?
Т1. Ох, не спрашивай!
Времена не выбирают, в них живут и процветают. Разные судьбы:
Баг-неудачник. Нашли быстро, жил недолго (System Crash)
Баг-кормилец. Пользователи просят убрать в следующей версии (Vista)
Баг-колючка. Можно обойти, но лучше не трогать (SysReqs)
Баг-счастливчик. Гадкий утенок превратился в прекрасного лебедя (Twitter)
Баг-легенда. Фундамент для других продуктов (.Net)
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.