Добрый день.
События, публикации, решения по темам: разработка и тестирование программного обеспечения, инструменты автоматизации, системное администрирование, эпизоды.
Разработка приложений
• Andy Rutledge берет быка за рога: почему так слаб дизайн сайта The New York Times и как его улучшить.
• Управление памятью: есть ли альтернативы для malloc и new? Рассказ с иллюстрациями.
• Christopher Diggins учит правилам хорошего тона в программировании.
• В погоне за производительностью информационных систем: статьи, комментарии, руководства.
• ”Отзывчивый” web-дизайн: очередная подборка инструментов и стратегий.
• Mark Russinovich представляет новую книгу об инструментах Sysinternals и находит отмычку к источнику таинственных звуков из компьютера пользователя.
• Аналитика в масштабе реального времени: что скрывается внутри информационной системы Facebook?
• Ruby + Redis = приложение для выдачи укороченных wеb-ccылок. Пример разработки с чистого листа.
• Александр Дёмин приводит великолепную иллюстрацию к процессу создания программного обеспечения.
• Подборка материалов по разработке больших информационных систем: выбор СУБД, мониторинг, масштабирование, производительность.
• Addy Osmani рассматривает типичные задачи, решаемые в JavaScript. Паттерны снабжены примерами исходного кода.
• Что такое псевдоэлементы в CSS и как ими пользоваться?
• Архитектура Google+: корочка и начинка.
• Как сделать web-сайт удобным и полезным для пользователей с мобильными устройствами?
• Alex Papadimoulis публикует забавные сообщения, встречающиеся в пользовательском интерфейсе.
• Подборка статей и заметок о производительности современных сервисов и инструментов.
• Развенчание мифа: так ли нужны кластеры машин и технологии параллельной обработки “как у Google” или же в большинстве случае достаточно одной сильной машины?
• Paul Terо раскаивается в своих программистских ошибках и подтверждает закон Мерфи: “Если что-то плохое может произойти, так оно и случится”.
• Redis: какие задачи позволяет решить набирающее популярность хранилище данных?
• Web-сайт для детей: что принять во внимание и какие идеи реализовать?
• Кодекс джедая: не допускать фрагментации памяти, или приложение отъест все ресурсы системы. Пример от разработчика Firefox.
• Розовое сомбреро как знак отличия для разработчика, вносящего изменения в код “по-живому” – непосредственно в систему, с которой работают пользователи.
• JavaScript: тайные знания в текущей и будущей версиях языка.
• Переход с Ruby на Java: разработчики Twitter меняют коней на переправе.
• В июльском выпуске MSDN Magazine: PowerShell + WPF, ASP.NET WebGrid, Silverlight, разработка для мобильных устройств и другие темы.
• Как хранить пароли: MD5 и SHA-3 нервно курят в сторонке.
• Платежная система BrainTree: как разрабатывается система, перемалывающая миллиарды долларов.
• 10 способов улучшить программисткие навыки.
Тестирование программного обеспечения
• Jason Arbon и Tejas Shah (Google) рассказывают о тестировании Google Instant Pages.
• Adam Goucher внедряет TDD в процесс разработки приложений на платформе Android.
• I.M.Testy сводит на нет разницу между SDET и STE, а также развенчивает мифы об их 100% загруженности автоматизацией.
• James Bach решил не оставить камня на камне от систем сертификации тестировщиков в целом и ISTQB в частности.
• Alex Papadimoulis поделился роскошным багом: история о том, как печать отчета на пятый день месяца приводила к изменению системной даты на компьютере.
• I.M.Testy строит пирамиду тестирования, кратко рассматривая каждый уровень.
• Рейтинг 25 самых опасных ошибок, приводящих к возникновению серьезных уязвимостей.
Инструменты автоматизации
• Последние новости из мира Selenium: инструменты, советы, решения.
• Adam Goucher рассматривает проблему с медленной загрузкой web-страниц и работой Selenium-скриптов: можно ли улучшить положение дел? Update 1: продолжение. Update 2: специализированный сервис от Google.
• Web Application Security Penetration Testing: подборка аддонов для Firefox.
• Adam Goucher на гребне волны с очередной подборкой ссылок по Selenium и смежным областям. И еще одна подборка.
• Adam Goucher: жизнь на планете Selenium идет полным ходом.
• Josh Poley призывает инженеров-автоматизаторов время от времени надевать маску пользователя и смотреть на продукт его глазами.
• Selenium 2.0: официальное объявление о выходе и комментарии.
• СSSLint: инструмент для анализа … правильно, CSS. Стоит ли шкурка выделки?
• Вышли в свет Selenium IDE 1.0.12 с поддержкой Firefox 5 и Ranorex 3.0.3 с новой функциональностью.
• Adam Goucher выложил очередную подборку ссылок по работе с Selenium.
Системное администрирование
• Как организовать хостинг нескольких сайтов с разными доменами на одном сервере Apache? Пошаговая инструкция.
• Сотрудники Лаборатории Касперского раскрывают потроха одного из самых заметных ботнетов в киберпространстве.
Разное
• Гуру маркетинга Seth Godin задается вопросом “А что же такое качество?” и рассматривает продукты Bentley, Honda, Dropbox и Microsoft.
• Путь к признанию в IT: оказаться в нужное время в нужном месте с нужными инструментами.
• Google наступает на горло своих экспериментов, закрывает Google Labs и намеревается сосредоточиться на стратегических направлениях.
• SMS-сообщения и номера абонентов Мегафона в кэше Яндекса: утечка или спланированная акция?
• Сотрудники Microsoft вносят существенный вклад в разработку следующей мажорной версии ядра Linux.
• Kendra Little описывает на редкость разумный подход к поиску толкового сотрудника.
• Google в одностороннем порядке меняет правила игры в Picasa и запоздало уведомляет об этом невинных пользователей.
Эпизоды
Т1. Как найти баги в исходном коде?
Т2. Смотри в сторону комментариев вида “To the next version”, “Shit never happens”, “Just in case…”, “Pasted from … but how does it work?”.
Т1. Такие комментарии пишут рядом с багами, или же баги селятся рядом с такими комментариями?
Р1. Странное дело: в твоем коде больше обработки исключений чем бизнес-логики.
Р2. Хорошие исключения – добрые баги!
Р1. Нет правил без исключений!
Б1. Папа, а что такое код?
Б2. Объективная реальность в параллельном измерении.
Б1. Это как?
Б2. Объекты живут в классах. Их обслуживают программисты и тестировщики. А баги с ними не пересекаются!
Т. Странное дело: мы тестируем код разработчиков, но не тестируем действия менеджера. А между тем его ошибки обходятся гораздо дороже.
M. У менеджера нет багов. Если видишь баг, то это либо не баг, либо баг, но не менеджера!
Т. А каков статус бага в таком случае? As designed, Cannot Reproduce, Is Duplicate, Documented или None of your damn business?
Спасибо, до встречи!
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.