Рубрика «стандартизация» - 4


Полная версия видео доступна в конце публикации и по ссылке

Это была лишь середина жаркого московского июля, который вот-вот подойдёт к концу. Договорившись с Александром о записи, мы все немного волновались — никогда ещё никто в Хабрахабре не пытался вести предметный диалог с известным техническим специалистом на видео. Не были мы оба уверены и в ходе диалога — в первую очередь потому что, оба Александры, мы никогда не встречались до этого лично. Тем не менее, наша небольшая съёмочная группа прибыла на место назначения, где-то между Беговой и Полежаевской.

Герой сегодняшнего рассказа и диалога родился в городе Ногинск Московской области. Как он рассказал нам, вся его семья по маминой линии из этого региона — на Клязьме деревня была еще несколько веков назад.

Но мама увлеклась романтикой севера и переехала в город Мурманск – это самый большой город за полярным кругом. И так получилось, что Александр родился там же. Отец был моряком, мама – бухгалтером.

Ключевых отправных точек в жизни сегодняшнего героя было две. Первая – это когда в 10 лет он увидел «Роботрон-1820», немецкий компьютер: «Меня сильно удивило, что можно рисовать в телевизоре. Мне стало интересно, что это такое, как можно программировать, что такое операционная система. Так получилось, что семья у меня была не сильно богатая…».

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

Зато, хватается он, у одного из первых в городе появился модем — подарили старый-старый терминал DEC VT-220. Так он познакомился с миром сетей.

Второй такой wow-момент был, когда Александр понял, что может разговаривать с человеком, который находится вообще в другом полушарии. Это подвигло его к увлечению сетями – Х25, IP. Он стал сетевым инженером.Читать полностью »

Всё началось с того, что мне понадобилось написать функцию, принимающую на себя владение произвольным объектом. Казалось бы, что может быть проще:

template <typename T>
void f (T t)
{
    // Завладели экземпляром `t` типа `T`.
    ...

    // Хочешь — переноси.
    g(std::move(t));

    // Не хочешь — не переноси.
    ...
}

Но есть один нюанс: требуется, чтобы принимаемый объект был строго rvalue. Следовательно, нужно:

  1. Сообщать об ошибке компиляции при попытке передать lvalue.
  2. Избежать лишнего вызова конструктора при создании объекта на стеке.

А вот это уже сложнее сделать.

Поясню.

Читать полностью »

Потратив множество человеко-часов над разработкой автотестов для нескольких огромных проектов, я с полной уверенностью могу сообщить, что составил может быть далеко не полный, но уж точно достаточно крупный набор практик, с которыми хочется поделиться с каждым. Итак, следуя стопам классиков, хочу (надеюсь увидеть дополнения от вас в комментариях) составить:

Шаблоны проектирования Cucumber BDD сценариев

Цели:

  • получить готовый инструмент, при помощи которого станет возможным стандартизировать процессы разработки и контроля качества исполняемых сценариев, построенных для работы в Cucumber-based технологических стеках (cucubmer jvm, SpecFlow и проч.)
  • получить набор правил, позволяющих специалистам с разных проектов легко мигрировать между проектами без длительной фазы привыкания
  • получить чистый, легко-читаемый код сценариев, который легко расширяется и слабо подвержен полным переписываниям текстов сценариев при минимальных изменениях UI

Итак, поехали!
Читать полностью »

Привет!

У семи программистов адрес без дома - 1Мы в HumanFactor парсим адреса в особо крупных размерах. Наши продукты упрощают ввод контактных данных и работу с ними.

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

Недавно на Хабре нас попросили привести примеры необычных адресов, в связи с чем и написана эта статья.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js