Добрый день.
В блоге опубликована статья “Linux: право на файл, или драма в автотесте”.
В разделе “Опыт Экспертов” опубликована статья “SObjectizer: прошлое, настоящее, будущее”.
Новые приключения старых героев: цели и сроки, страшные санкции и malloc’о на губах.
Баги и дыры
• Если предыдущий апдейт Windows не приводил к синему экрану смерти, то нынешний апдейт с этим справится.
• История одного бага: самые трудночитаемые капчи выжимали все соки из пользователей.
• Правдивая история о тестировании одного приложения для инвестиционного фонда: если нельзя, но очень хочется, то можно.
• Почему плоды труда программистов не столь элеганты и технологичны как одноразовый бритвенный станок? (1, 2, 3, 4)
• Убойные способы проверить корректность мясяца в дате и работать со строками.
• Взломан Twitter премьера. Доступ к ядерной кнопке такой же простой? (1, 2)
• История одного бага в Ubuntu: Open Office не печатал документы по вторникам.
• Баги при параллельных операциях: несколько подробных примеров.
• Event Tracing в Windows API претендует на попадание в список самых худших API в мире.
• Сетевые коммуникации не столь надежны как они могут казаться на первый взгляд.
• Настоящему хакеру открыты все системы в воздухе и на земле (1, 2).
• История обнаружения и самостоятельного устранения бага в .Net.
Архитектура систем и разработка приложений
• Объявлено о готовности нового международного стандарта для языка программирования С++: основные новшества.
• Martin Fowler отвечает на вопрос о противоречии концепции микросервисов Первому Закону Распределенных Объектов.
• Назад в будущее: возврат от Java к С++.
• Иллюстрация к четырем типам облачных технологий на примере компонентов пиццы.
• Как писать хороший код и что такое хороший код: мнения разделились.
• Состоялся релиз SObjectizer – реализации модели акторов для C++, которая позволяет программировать на C++ с использованием работающих на разных нитях агентов, общающихся между собой посредством сообщений.
• Сервис, обслуживающий миллиард запросов в неделю: платформа, архитектура, технологии, плюсы-минусы, статистика, масштабируемость, извлеченные уроки.
• По мнению Дилберта, каждый программист, кроме идиота, мечтает переписать код своего предшественника.
• Научный подход к обнаружению и исправлению багов, вызывающих наибольшие трудности.
• Parallelism и concurrency: наглядное объяснение с картинками.
• Успешное использование GNU Radio, свободного пакета для цифровой обработки и генерации сигналов, для восстановления связи с космическим аппаратом ISEE-3.
Тестирование и качество ПО
• Google Testing blog: первая статья из цикла о тестировании стандарта WebRTC, позволяющего транслировать видео от одного web-пользователя другому в реальном масштабе времени.
• James Bach встает на тропу войны с ISO 291119 – документом, описывающим стандарты в тестировании ПО.
• Каким может быть вклад тестировщика при разработке программного продукта в парадигме TDD?
• Marlena Compton размышляет о пренебрежении к профессии тестировщика и предлагает собственный рецепт достойного существования в этой среде: I see myself as a developer who is great at testing.
• Google Testing blog: идентификаторы web-элементов будут чрезвычайно полезны при написании автоматизированных тестов.
• Ничтоже сумняшеся, Gerald Weinberg взялся за формирование библиотеки тестировщика из собственных книг.
• Google Testing blog: коварные слэши как наглядная иллюстрация к необходимости не допускать избыточных конструкций в тестах.
Человеческий фактор
• Современные информационные системы помнят то, что было очень давно и хочется забыть.
• Дилберт способен объяснить своему боссу на пальцах не только современные языки программирования, но и теорию струн.
• Тема бесплатных печенюшек в Google не дает покоя Дилберту и его коллегам. (1, 2)
• Прогноз на будущее: либо ты ставишь компьютеру задачи, либо компьютер ставит тебе.
• Ужасы нашего городка: если обставить программиста датчиками, следящими за его физическими реакциями, можно выявить моменты, когда он испытывает трудности, что в свою очередь приводит к багам в продукте.
• MongoDB CEO: блестящая команда и радужные перспективы, но есть более важные ценности.
• Лучшая защита – нападение: отстаивать свои идеи лучше с кулаками.
• Русский акцент может способствовать нахождению работы программиста и повышенному окладу в США.
Стартапы
• Семь уроков, извлеченных после неудачи стартапа: проблематика, цели, люди, объективность.
• Несколько советов разработчикам приложений, которые планируют завоевать весь мир.
• Дилберту рассказывают как тяжела и неказиста жизнь простого стартаписта. С другой стороны, от чужого стартапа может быть косвенная польза.
Инструменты
• Еще одна подборка полезных советов для эффективной работы с текстовыми данными в Unix.
• Универсальный переходник на все случаи жизни.
Эпизоды
Цели и сроки:
М. Сколько времени обычно занимает разработка такого портала?
Р. Раньше мне выделяли больше времени, и было гораздо комфортнее.
М. Сколько времени необходимо выделить?
Р. Будет лучше если я начну пораньше с возможностью продлить сроки.
М. Сколько времени нужно?
Р. Уже приступил.
Страшные санкции:
Р. Раз вы так плохо себя ведете, то будут вам санкции.
Б. Видали мы ваши санкции-шманкции.
Р. Тогда никаких Deferred и As Designed.
Б. Тогда никаких Not Reproducible.
Р. Заморозим продукт, и новых багов не будет.
Б. В другую лавочку уйдем, и будете без нас лапу сосать.
Malloc’о на губах:
Р1. Хочу внедрить кэширование и многопоточность.
Р2. Malloc’o на губах не обсохло!
Всего доброго, до встречи.
Что такое качество программного обеспечения и как его улучшить: теория и практика, задачи и решения, подводные камни и обходные пути.