Программная инженерия

Программист и собака

Игнорировать, рефакторизовать или переписать?

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

Верификация и валидация ПО: технологии и инструменты

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

Баланс между наукой и практикой

Созданный только в 2014 году факультет компьютерных наук НИУ ВШЭ уже завоевал хорошую репутацию и пользуется популярностью среди абитуриентов. Какие преимущества имеются у молодого факультета перед патриархами академического образования в области computer science, чему и как учат на ФКН и где ждут его выпускников?

Об Agile по гамбургскому счету

Методы Agile не панацея, и у них есть своя «темная сторона», что, однако, не помешало им улучшить практику разработки ПО. В любом случае они не отменяют знаний в области программной инженерии, накопленных за предыдущие десятилетия.

Микросервисная архитектура в корпоративном ИТ-ландшафте

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

Истоки DevOps

Новые способы взаимодействия бизнеса с клиентами и поставщиками потребовали новых способов организации управления ИТ. И наоборот, новые технологии управления ИТ-инфраструктурой открыли перед бизнесом новые возможности. Появление философии DevOps было лишь вопросом времени.

Особенности создания ПО в эпоху Интернета вещей

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

Создание критически важных приложений на основе микросервисов

Ошибки в системном ПО непременно будут использоваться для атак, поэтому критические приложения не должны зависеть от корректности ПО низкого уровня. Применение микросервисов и защищенных областей памяти, таких как Intel Software Guard Extension, минимизирует доверенную вычислительную базу и обеспечивает требуемую надежность приложений без ущерба производительности.

Роль архитектора в гибком облачном мире

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