Month: December 2020

MySQL SQL. Нормализация отношений. Шесть нормальных форм

Процесс проектирования БД с использование метода НФ является итерационным и заключается в последовательном переводе отношения из 1НФ в НФ более высокого порядка по определенным правилам. Каждая следующая НФ ограничивается определенным…

Проверка дропнутых доменов перед покупкой

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

Битва Jenkins vs GitLab CI/CD

В последнее десятилетие достигнуты значительные успехи в сфере разработки инструментов непрерывной интеграции (Continuous Integration, CI) и непрерывного развёртывания (Continuous Delivery, CD). Развитие технологий интеграции разработки и эксплуатации ПО (Development Operations,…

Принципы и правила фасилитации

Легко ли вам вести процесс обсуждения рабочих вопросов? Пленарные заседания, конференции, совещания — любой тип встреч, на которых люди высказываются в строго определенном порядке, неизбежно выключаются из процесса обсуждения в…

10 антипаттернов деплоя в Kubernetes: распространенные практики, для которых есть другие решения

Когда есть контейнеры, работающие в продакшен, нужно, чтобы продакшен-окружение оставалось стабильным и отказоустойчивым. Если один из контейнеров падает, нужно, чтобы в любое время ему на замену был запущен другой. Kubernetes…

Как внедрить статический анализатор в разработку, чтобы всем было хорошо?

В процессе работы нам часто задают вопрос: как внедрить статический анализатор в разработку, чтобы всё всем было хорошо. О том, почему для безопасной разработки необходим статический анализатор, мы уже рассказывали.…

Пожалуйста, перестаньте рекомендовать Git Flow

Новая статья с критикой полюбившейся многим Git Flow получила столь заметное внимание, что даже оригинальный автор модели обновил публикацию 10-летней давности, актуализировав свой взгляд на её применение сегодня. Публикуем перевод…

Транзакции, ACID, CAP

Транзакция — это набор действий с данными, объединенный в логическую единицу. Она либо выполняется целиком, либо нет. Классический пример с операцией перевода денег со счета на счет:

RabbitMQ против Kafka: два разных подхода к обмену сообщениями

Рассылка сообщений (messaging) — центральная часть множества архитектур, и двумя столпами в этой сфере являются RabbitMQ и Apache Kafka. К настоящему моменту Apache Kafka стала практически индустриальным стандартом в обработке…

14 инструментов оркестрации контейнеров

ЧТО ТАКОЕ ОРКЕСТРАЦИЯ КОНТЕЙНЕРОВ? Контейнерные платформы, такие как Docker, в настоящее время очень популярны для упаковки приложений, основанных на микросервисной архитектуре. Контейнеры можно сделать высокомасштабируемыми, которые можно создавать по требованию.…

Сервис адаптации и интеграции новых сотрудников

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

Aсинхронный PHP

Десять лет назад у нас был классический LAMP-стек: Linux, Apache, MySQL, и PHP, который работал в медленном режиме mod_php. Мир менялся, а с ним и важность скорости. Появился PHP-FPM, который…

Наследование legacy-систем и процессов или Первые 90 дней в роли CTO

Известно, что компетентность CTO проверяется только на второй раз исполнения этой роли. Потому что одно дело несколько лет работать в компании, вместе с ней эволюционировать и, находясь во все том…

Зачем айтишнику личный бренд

Слово «бренд» часто связывают с материальной выгодой. HR-бренд позволяет эффективнее нанимать, а личный бренд — наниматься. А еще у личного бренда есть одно неочевидное преимущество, которое никак не связано с…