Search
Write a publication
Pull to refresh
78
0
Роман @RomeoGolf

инженер-программист

Send message

У вас не Agile

Reading time11 min
Views26K

Как же часто мне приходилось слышать от рекрутеров одну и ту же фразу:

Мы работаем по Agile. Спринты по 1-2 недели

Под "Agile" они, конечно же, имеют в виду Scrum. Но я с уверенностью могу сказать, что ни в одной компании, что я работал, Agile'ом даже и не пахло. И тут я даже не говорю о том, что Agile каким он был задуман в принципе не дошел до массовой разработки (о чем рассказывал один из создателей Agile Дейв Томас на конференции GOTO 2015). Я говорю об Agile в общепринятом значении этого слова.

В дальнейшем, на техническом интервью, если спрашивать по пунктам, практически любой реальный работник компании подтвердит вам, что никакого Agile в компании нет, а используются лишь элементы Agile.

По некоторым причинам команде разработчиков либо не получается наладить работу по Agile, либо руководство знает, как лучше, и навязывает собственное видение методологии разработки. Эту проблему адресовал в своей статье Рон Джефрис (вот перевод на русский), дав красноречивое название подобным практикам — "Dark Scrum". Существует и более мягкая формулировка для тех, кто считает подобное положение вещей скорее фичей, а не багом — "Pseudo Agile" или "Post Agile".

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

Читать далее

Поворот в мышлении: как в России замещают импортные материалы для авиации и космоса

Reading time7 min
Views13K

Композиты, необходимые и в космосе, и в беспилотниках, особенности их производства и зависимость от зарубежных поставщиков — об этом информационной службе Хабра на проектно-образовательном интенсиве «Архипелаг 2022» рассказал Вадим Микрин @purecarbon, заместитель генерального директора компании ИТЕКМА.

Читать далее

Семь грехов численной линейной алгебры

Reading time6 min
Views11K

image


В численной линейной алгебре нас интересуют точное и эффективное решение задач и понимание чувствительности задач к возмущениям. К старту флагманского курса по Data Science делимся материалом от профессора Ника Хигэма о семи грехах линейной алгебры, из-за которых теряется точность/эффективность или информация о чувствительности [к возмущениям] оказывается недостоверной.

Читать дальше →

Библиотека тестировщика: обзор полезных книг по тестированию ПО

Reading time7 min
Views80K

В каждой профессии есть книги из категории «маст хэв» — те, которые любой уважающий себя специалист должен обязательно прочитать в целях самообразования. Какая полезная книга помогла бы углубить профессиональные знания тестировщика? Представляем обзор изданий, которые наверняка займут достойное место в библиотеке.

Читать далее

Есть ли жизнь без RTTI: пишем свой dynamic_cast

Reading time14 min
Views11K

В современном С++ осталось не так много вещей, которые не подходят под парадигму "Не плати за то, что не используешь". Одна из них – dynamic_cast. В рамках данной статьи мы разберёмся, что с ним не так, а когда поймём – попробуем предложить альтернативу.

Читать далее

Создаем сложные интерфейсы и спецэффекты на базе Qt. Часть I

Reading time18 min
Views33K

Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой desktop-версии в команде VK Teams. Каждый день нашим мессенджером пользуются миллионы людей, поэтому мы уделяем особое внимание интерфейсу пользователя. Он должен быть не только функциональным и отзывчивым, но ещё и привлекательным с эстетической точки зрения. Для создания графических интерфейсов мы используем Qt Framework, и уже накопили много опыта в решении нетривиальных задач с помощью этого инструмента. Настолько много, что статью пришлось разделить на две части. 

Под катом мы пройдём путь от создания отдельных компонентов-примеров, экспериментов с маскированием, прозрачностью, размытием и перекрывающимися компонентами до разработки небольшого демонстрационного приложения, объединяющего все полученные ранее решения.
Читать дальше →

Наглядное руководство по SSH-туннелям

Reading time8 min
Views202K

Прим. переводчика: автор статьи рассматривает практические сценарии и примеры организации SSH-туннелей. А для лучшего понимания того, как это работает, графически показывает потоки трафика.

Туннели SSH — это зашифрованные TCP-соединения между клиентами и серверами SSH. Трафик входит с одной стороны туннеля и прозрачно выходит с другой. Изначально этот термин относился к туннелям на виртуальных сетевых интерфейсах TUN/TAP, однако сейчас так обычно называют проброс портов SSH.

Читать далее

Пара слов о паттерне “Пассивное Представление” (Passive View)

Reading time4 min
Views4K

Это выдержка из книги Further Enterprise Application Architecture development, работу над которой автор начал в середине нулевых. К сожалению, с тех пор слишком много других не менее важных вещей стали требовать его внимания, поэтому не было времени как следует поработать над книгой и просвета в обозримом будущем не предвидится. Поэтому имейте ввиду, что этот материал находится в черновом варианте и автор не планирует вносить никаких исправлений или обновлений, пока не найдется время закончить эту книгу.

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

Паттерн “Пассивное Представление” (Passive View) призван помочь нам с этим, сводя присутствие какой-либо логики в компонентах пользовательского интерфейса к абсолютному минимуму, перемещая ее в контроллер, который теперь не только обрабатывает ответы на пользовательские события, но и выполняет все обновления представлений. Это позволяет сосредоточить тестирование на контроллере, минимизируя риски возникновения проблем в представлении.

Читать далее

Обработка ошибок и C++

Reading time8 min
Views32K

О чём тут не будет: напоминания базовых конструкций языка и основных моментов о том, как с ними работать; подробного разбора, как работают исключения (писали тут и тут); как грамотно спроектировать ваш класс/программу, чтобы не наломать дров в будущем с гарантией исключений (разве что совсем чуть-чуть, хотя я сам и не очень-то тук-тук).

О чём будет: разные способы обработки ошибок в C++, несколько советов от сообщества и немного заметок о различных жизненных (и не очень) ситуациях.

Обработать ошибки.

Объясняю Pattern Memento (Снимок)

Reading time4 min
Views15K

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

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

Читать далее

Боремся с 16-летним легаси-кодом, или исправляем C и C++ front-end в PVS-Studio

Reading time8 min
Views3.5K

В 2022 году статическому анализатору PVS-Studio для языков C и C++ исполняется 16 лет. Если бы анализатор был человеком, то он бы уже заканчивал школу. Это очень старый проект, и система типов в нем не потерпела кардинальных изменений практически с самого начала. В этой статье мы посмотрим, как работал анализатор всё это время и расскажем, что было не так, и как мы начали это исправлять.

Читать далее

Алгоритмы сортировки и их производительность

Reading time17 min
Views56K

Здравствуйте, давно читаю Хабр и все хотел написать кому-нибудь статью, но не знал с чего начать и о чем писать. Но решил что тянуть кота за причинное место. Надо просто взять и написать обзор о чем то что я знаю и что будет просто для начало. Поэтому решил описать алгоритмы сортировки в размере 37 штук. Я понимаю, что на Хабре есть подобные статьи, одна постараюсь их добавить количеством алгоритмов и приведением небольшого числа графиков.

Читать далее

Разбираемся с условными брейкпоинтами в C++

Reading time4 min
Views5.6K

Для большинства случаев дебаггинга вам должно с головой хватать стандартных точек останова (breakpoints или брейкпоинтов). Но иногда кода для проверки, объектов или случаев попросту слишком много. Что делать, если мы хотим отфильтровать код, генерирующий точку останова? Прошу вас поприветствовать условные точки останова!

Читать далее

Упрощаем код с помощью if constexpr и концептов C++17/C++20

Reading time14 min
Views19K

До C++17 у нас было несколько довольно неэлегантных способов написать static if (if, который работает во время компиляции). Например, мы можем использовать статическую диспетчеризацию или SFINAE. К счастью, ситуация изменилась к лучшему, ведь теперь мы можем воспользоваться для этого if constexpr  и концептами C++20!

Ну что ж, давайте разберемся, как мы можем использовать это в качестве замены std::enable_if кода!

Читать далее
12 ...
61

Information

Rating
3,857-th
Location
Свердловская обл., Россия
Date of birth
Registered
Activity