OpenQuality.ru

Качество программного обеспечения

Качество программного обеспечения: в главных ролях

Лента  Радар  Блог  Опыт  
Эпизоды  Заметки  Разум  Видео


Коллективный разум


• Тайные знания на все случаи жизни, тщательно отобранные на наше благо.

• Извлеченные уроки могут пригодиться коллегам: что было бы полезно знать в начале карьеры программиста?

• Баг в красивой одежке претендует на положительную роль и официальный статус. Примеры таких историй от пользователей Quora.

• Rest API: на какие API ориентироваться при разработке свого собственного? Несколько примеров.

• Сколько разработчиков, столько и мнений: выбор базы данных для хранения 30 миллионов записей.

• Servless computing означает не работу без серверов, а возможность не думать о них в процессе разработки и обслуживания системы.

• Программирование в зрелом возрасте: после 50 жизнь только начинается.

• Запуск web-сервиса с 5-10 тысячами активных пользователей: как прийти к такому показателю и что принять во внимание? Начать можно с малого.

• Я знаю идиомы языка, но не знаю с чего начать чтобы создать что-то существенное. С какого боку подойти к этой проблеме?

• Маленькое web-приложение может быть востребовано пользователями по всему миру. Какие приложения можно отнести к подобным?

• Учиться на чужих знаниях и ошибках: рекомендации по лучшим техническим книгам, освещающим различные аспекты информационных технологий (1, 2).

• Завсегдатаи Hacker News делятся опытом: самая сложная техническая задача, которую вам удалось решить.

• 30 советов начинающему стартаперу от успешных коллег: цели, ниша, невозможное возможно, команда, пользователи, развитие.

• Исповедь разработчика: самый большой провал и извлеченные из него уроки.

• 10 наиболее полезных алгоритмов, знание которых пригодится в повседневной деятельности, а также для прохождения интервью.

• Почему оценка продолжительности проекта/задачи по разработке ПО зачастую оказывается догадкой из разряда "пальцем в небо"? Несколько достойных объяснений.

• Что означает нотация O(log n) и каково ее практическое применение при анализе алгоритма?

• Как поступить разработчику, на глазах которого его проект идет под откос? Спрятать голову в песок или начать действовать?

• Коллективный разум делится своим мнениям о лучших сайтах, предлагающих обучение программированию.

• Подборка полезных советов и ценных рекомендаций для разработчиков ПО от лучших умов в индустрии.

• Пользователь столкнулся с багом лицом к лицу? Отличная подборка "объяснительных" и "оправдательных" отговорок: "Такое стечение обстоятельств ожидаемо и закономерно!"

• Типичные заблуждения программистов при работе с датами/временем: "Ну это точно так, иначе быть не может" (1, 2).

• Как будет выглядеть программирование в 2020 году? Мнения разделились, но большинство сходится на том, что будет т-а-аа-кое...

• В работе приложения произошел сбой. Дать приложению упасть или пусть все идет своим ходом? Мнения с Reddit.

• По сети приходят восьмизначные числа в количестве миллиона штук. Их надо отсортировать на компьютере с 1MB оперативной памяти и передать дальше. Как организовать такую сортировку?

• Босс Дилберта просто ангел по сравнению с менеджером, требующем завести поле "Person to blame" в багтрекере. Что делать в подобных случаях?

• Как организовать хранение миллионов изображений? Читатели и эксперты HighScalability предлагают свои варианты.

• Список распространенных заблуждений об именах пользователей, которые надо иметь в виду при разработке информационных систем.

• Google C++ Style Guide: руководство к написанию кода на С++: немало полезных приемов и неожиданных находок. К примеру: We do not use C++ exceptions.

• Как стать крутым разработчиком? 91 совет начинающему программисту от маститых гуру, уже прошедших этот путь.

• Забавы программистов: как в С и С++ выдать числа от 1 до 1000 без применения циклов и условных операторов? Оказывается, есть немало вариантов.

• Профессиональный жаргон программистов: Yoda Conditions, Pokémon Exception Handling, Drug Report, Doctype Decoration и многое-многое другое.

• Встретились как-то инженер, врач и священник... Лучшие инженерные шутки от завсегдатаев Reddit.

• Учиться никогда не поздно: в ряды разработчиков можно влиться и в тридцать, и в сорок, и в пятьдесят. Было бы желание.

• Аутентификация в web-формах: пошаговое руководство (процедура логина, секретные вопросы, паролей, хранение информации о пользователе, валидация e-mail), секреты и комментарии.

• Логика на практике. Трое логиков заходят в бар. Бармен спрашивает: "Кто-нибудь из вас хочет заказать что-нибудь выпить?" Первый логик отвечает: "Не знаю". Второй логик: "Не знаю". Третий логик отвечает: "Нет". (via)

• Как организовать утечку памяти в Java: есть много путей, хороших и разных. Рекомендации желающим забить кол в свое приложение.

• Причиной странного звучания mp3-файлов в Flash-проигрыватели послужила ошибка в memcpy(). Кульминация истории с участием Линуса Торвальдса и других сильных мира сего.

• "Я не хочу быть человеком-оркестром. Я программист, но как мне объяснить это менеджеру проекта?" Расслабься, вздохни поглубже и поступи так...

• Как объяснить, что такое программирование, 15-летнему подростку за 30 минут? Старшие товарищи предлагают последовательность действий.

• Дышите. Не дышите. Инструменты для мониторинга серверов: хит-парад от бывалых системных администраторов.

• Мудрым пользуйся девизом: "Будь готов к любым сюрпризам". Забавные случаи в администрировании Unix-систем.

• Почему бизнес-аналитики и менеджеры проектов зарабатывают больше чем разработчики? Иерархия, риски, спрос-предложение, значимость для компании, белые воротнички?

• Программирование глазами отцов-основателей и нынешних гуру: подборка цитат, охватывающих процесс создания программного обеспечения.

• С++ живее всех живых? Причины и обстоятельства, по которым применение С++ будет более эффективным по сравнению с Python, Perl, C и другими языками программирования.

• Программист программисту друг, товарищ и брат: серьезные и забавные объяснения рекурсии.

• Будущее языков программирования: какая судьба уготована десяткам существующих средств разработки, какой функциональности не хватает сейчас и в каких сферах можно предсказать ощутимый прогресс?

• Ресурсы по освоению JavaScript, CSS, HTML: быстрый старт для разработчиков, владеющих другими языками программирования.

• Как реализовать аутентификацию на web-сайте? Процедура логина, секретные вопросы, забытые пароли, противодействие атакам.

• Искусство создания .bashrc: как сделать работу в Linux-консоли приятной и эффективной?

• Список популярных, но неверных представлений об организации сетей и их администрировании.

• Время в часовых поясах относительно GMT: как учитывать переход на зимнее/летнее время? Подборка рекомендаций, позволяющих избежать неработоспособности продукта в момент перевода часовых стрелок.

• NGinx: подборка точечных настроек для набирающего все большую популярность web-сервера. Куски конфигурационных файлов, сравнение с Apache, взаимодействие с кэш-серверами, улучшение производительности и многое другое.

• Назад в будущее: какой совет вы дали бы самому себе, будь у вас возможность вернуться к началу своего пути? Подборка советов от сообщества разработчиков.

• Как работают эмуляторы? Какие инструкции получает процессор, как организованы прерывания? С чего начать при создании собственного эмулятора?

• Программирование: как перейти от сухой теории к живой практике? Как сделать первые шаги максимально эффективными? Рекомендации от неравнодушных профи.

• Голос пользователя: что вызывает наибольшее неприятие в графическом интерфейсе? Хорошая подборка и повод для размышлений.

• Операции в командной строке: разумные меры предосторожности при обращении с грозным оружием.

• Коллега выглядит уставшим? Подборка вдохновляющих шуток, которые помогут его встряхнуть.

• Крошка-сын к отцу пришел и спросила кроха: в коде багам хорошо или все же плохо? Как научиться программировать?

• Кусать локти или взять быка за рога: что предпринять для восстановления web-сайта в случае полного краха на стороне провайдера.

• За одного битого двух небитых дают: каких конструкций в PHP и .Net следует избегать?

• Типичные ошибки начинающих программистов глазами более опытных коллег. Откровения, советы, рекомендации.

• Подходы к логированию: консолидированное мнение сообщества разработчиков.

• Жизнь в Microsoft Windows: хит-парад программ, делающих времяпрепровождение приятным и насыщенным.

• Табу, табу, табу, или меры предосторожности при работе с базами данных.

• Как найти файлы и каталоги, занимающие наибольшее место на диске? Парад бесплатных инструментов.

• Утилиты командной строки в Windows. Секреты системных администраторов.

• Выбор пользователей: программные продукты, без которых они не могут жить (1, 2, 3).

• Все покатилось под откос, система неработоспособна, причины неизвестны. С чего начать восстановление? Несколько дельных советов.

• Производительность разработчика: как программировать быстро, но не в ущерб качеству? Комментарии от прошедших огонь и воду.

• Системы отслеживания багов (bag tracking systems): какие решения зарекомендовали себя наилучшим образом?

• Прописные истины и устоявшиеся мнения: насколько им можно доверять? Живые примеры и обсуждение.

• Утечки памяти (memory leaks): что скрыто за этим термином? Допустимы ли утечки? Как к ним относиться?

• Linux: волшебство в командной строке. Скрытые возможности командного интерпретатора и базовых утилит.

• Жизненный путь программиста – от зеленого новичка до ветерана. Полезные советы, примеры из практики от маститых профи: 1, 2, 3, 4, 5.

• Какие методики применяются при разработке критически важных приложений? Надежность и безопасность ПО на ядерных полигонах и в открытом космосе.

• Солдат спит, служба идет. Как программисту привести себя в чувство и наслаждаться жизнью после напряженного рабочего дня?

• Инструменты для статического анализа С-кода. Ссылки, отзывы, полезные рекомендации.

• Как подготовить свою IT-инфраструктуру к форс-мажорным обстоятельствам? Разработать свой "план А" или воспользоваться имеющимися наработками?

• Есть время только на одну книгу по программированию и хочется прочесть самую-самую? Вас ждет нелегкий выбор: мнения разделились.

• Эффективность SQL-запросов. Фундаментальные основы и легкие штрихи, приводящие к существенному улучшению производительности приложений.

• Тайные знания от завсегдатаев Reddit: точечная настройка bash, vim и других инструментов как средство создания комфортной среды для сисадмина и разработчика.

• Коллекция случаев, историй, примеров того, как незначительные (на первый взгляд) изменения в процессе создания ПО приводили к существенному улучшению производительности приложений.

• Дорогой разработчик! Вот что ты должен знать о моих задачах. Успехов, твой сисадмин.

• Смогут ли девять женщин за месяц выносить одного ребенка? Поможет ли вливание новых разработчиков ускорить сдачу проекта? Плюсы и минусы подобных решений.

• Советы начинающим сисадминам: что нужно изучить и освоить, а что избежать и предотвратить (1, 2).

• Hmm, а чем это здесь пахнет? Что такое хорошо и что такое плохо в исходном коде приложений: излюбленные примеры от посвященных.

• Асы программирования с багажом солидных проектов за плечами дают советы начинающим программистам, только вступающим на тернистый, но увлекательный путь.

• Типичные ошибки, допускаемые разработчиками при создании приложений, взаимодействующих с базами данных. Нормализация, индексы, ключи, производительность и многое другое.

• Вопросы программисту на интервью: как оценить уровень соискателя и проверить его на прочность? Изощренные методы от знатоков.

• CSS: мир неисчерпаемых возможностей и опасных ловушек. Советы, рецепты, примеры использования.

• Грамотная организация серверной площадки – залог бесперебойной работы программных продуктов. Советы умудренных опытом сисадминов.

• Какие статьи по Computer Science достойны прочтения? Волна рекомендаций от завсегдатаев Reddit/Programming.

• Что должен знать разработчик, создающий приложения в среде .Net ? Список вопросов и ответов.

• Руководства по созданию пользовательского интерфейса от ведущих компаний-производителей программного обеспечения (Apple, Sun, Nokia, SAP и др).

• Разработчики в роли пользователей. Какие концепции и элементы пользовательского интерфейса вызывают набольшее разочарование?

• Bug Tracking Systems: какие системы отслеживания багов наиболее эффективны? Парад продуктов и их пользователей.

• Как хранить пароли? Возможно ли совместить безопасность и удобство доступа? Какие решения наиболее эффективны?

• Золотые правила создания веб-сайтов: пользовательский интефейс, безопасность, производительность, нюансы реализации.


Краткое содержание

Что такое качество программного обеспечения и как его улучшить.

Действующие лица

Качество ПО: разработчики Качество ПО: QC

Т1. Мы думали, что это баг, а тут, оказывается, вирус затесался.
Т2. Не баги горшки обжигают?

Герои | Наугад | Следить | Share

Р1. Багов у нас нет.
Т1. Не может быть. Потемкинская деревня?
Р1. Нет. Просто к каждой строчке написан unit-тест.
Т1. Вот это да! Теневая архитектура!

Качество ПО или рай для багов Качество ПО: классы и объекты

Подходы к разработке, тестированию и внедрению приложений.

Записная книжка

Записки охотника

• Debugging is like being the detective in a crime movie where you are also the murderer

• In my 30+ year programming career, every single, bizarrely obscure bug that took weeks to chase down has ended up being a one-line fix.

Все заметки

Ищейка