Pull to refresh
0
@stavtsevread⁠-⁠only

User

Send message

Люди массово увольнялись. Теперь они просят, чтобы их взяли обратно

Reading time7 min
Views51K


Этим летом около половины сотрудников думали о том, чтобы уволиться — если верить исследованию, проведенному Microsoft. И чем сотрудники моложе, тем сильнее у них желание уйти со своей работы (это планируют 54% людей до 25 лет). Но даже среди старшего поколения 38-41% собирались подать заявление в ближайшие полгода.


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


Как бы то ни было, итог один: большая пустота на рынке труда, которую работодатели теперь, как могут, пытаются заполнить.


Если что, мы сейчас находимся в центре того, что в Америке уже назвали «Great Resignation» («Великое увольнение»). Несмотря на пандемию и глобальную неуверенность в будущем, миллионы людей бросили свою работу, и прыгнули в неизвестность. В США уволились минимум 10 млн за последние три месяца. В России — под 5 млн.


Но ученый, придумавший термин «Великое увольнение», говорит, что скоро нас ждет обратное явление. А именно — волна сотрудников-«бумерангов», которые будут пытаться вернуться назад на свои старые рабочие места.

Читать дальше →
Total votes 50: ↑38 and ↓12+26
Comments122

Развёртывание в Kubernetes из GitLab

Reading time31 min
Views34K

Развёртывание в Kubernetes из GitLab


Развёртывание в Kubernetes из GitLab


Это продолжение предыдущего туториала про командную разработку с использованием GitLab. Фокус предыдущей статьи был на организации непрерывной поставки в работе команды. В этой статье мы уделим основное внимание именно практическим действиям необходимым для развёртывания из GitLab в Kubernetes.


А именно мы возьмём максимально простое но достаточно содержательное приложение на React.js, докеризуем его, затем развернём в Kubernetes локально при помощи Docker Desktop. После этого развернём его уже на Google Cloud Platform (GCP), и завершим разработкой CI/CD конвейера в GitLab для публикации нашего приложения в Google Kubernetes Engine.


Желательны но необязательны базовые знания


  • Docker;
  • Kubernetes;
  • Git;
  • Node.js;
  • React;
  • Bash.

В дальнейшем мы сделаем следующее.


  • 🧱 Познакомимся c нашим приложением, обсудим из чего оно состоит.
  • 🐳 Докеризуем наше приложение.
  • ☸️ Развернём наше приложение в Kubernetes локально на Docker Desktop.
  • ☁️ Обсудим особенности GCP и как нужно изменить наше приложение, а затем ещё раз развернём наше приложение в Kubernetes но уже в GCP.
  • 🦊 Завершим наш туториал созданием конвейера для развертывания приложения в GCP при помощи GitLab.

Разные этапы от докеризации до Kubernetes на Google Cloud Platform

Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments32

Kubernetes 1.21 — неожиданно много изменений…

Reading time4 min
Views9.8K

Новая эмблема символизирует распределение членов команды выпуска релиза по земному шару  — от UTC-8 до UTC+8 (похоже, ни японцев, ни корейцев в команде нет). Эмблему нарисовал Aravind Sekar, независимый дизайнер из Индии. На мой взгляд, котики были круче.

Но давайте перейдем к чтению changelog и особенно моему любимому разделу Urgent Upgrade Notes.

Читать дальше
Total votes 33: ↑33 and ↓0+33
Comments10

Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения

Reading time25 min
Views1.4M

Регулярные выражения в Python от простого к сложному




Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.

Плюс в питоне есть немало регулярных плюшек. Например, re.split может добавлять тот кусок текста, по которому был разрез, в список частей. А в re.sub можно вместо шаблона для замены передать функцию. Это — реальные вещи, которые прямо очень нужны, но никто про это не пишет.
Так и родился этот достаточно многобуквенный материал с подробностями, тонкостями, картинками и задачами.

Надеюсь, вам удастся из него извлечь что-нибудь новое и полезное, даже если вы уже в ладах с регулярками.
Читать дальше →
Total votes 99: ↑98 and ↓1+97
Comments66

Шпоры по сертификатам X.509

Reading time8 min
Views101K
Чудище обло, озорно, огромно, стозевно и лаяй.

Набор технологий, который мы по привычке именуем сертификатами SSL, представляет из себя здоровенный айсберг, на вершине которого зеленый замочек слева от доменного имени в адресной строке вашего браузера. Правильное название X.509 сертификат, который восходит к X.500 стандарту ITU-T DAP (Directory Access Protocol). DAP не взлетел, в IETF его посчитали неудобным для использования со всеми этими OSI нагромождениями и вместо него придумали LDAP, Lightweight DAP где первая буква обозначает «легковесный». Те, кому пришлось настраивать, или что хуже производить его отладку могут оценить иронию в полной мере. Никогда еще первая буква аббревиатуры так не лгала, не считая SNMP.


Шпоры


Кстати что общего между LDAP, SNMP и X.509 ну кроме того, что им еще не скоро предстоит собрать стадионы фанатов? Их объединяет ASN.1 — мета-язык описания объектов древности. Если бы эти технологии создавали сейчас, в ход бы пошли XML, DTD или какой-нибудь другой ML. Но в то время стандарты создавались титанами, для которых даже SNMP был простым делом.

Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments12

Octopus Deploy. Улучшаем мир в кровавом энтерпрайзе

Reading time9 min
Views14K


Сегодня я хочу рассказать о системе деплоя Octopus Deploy. На данный момент на Хабре есть всего одна вводная статья на эту тему, поэтому в своем материале я хочу расширить описание системы, подробнее рассказать о таких важных понятиях как «жизненные циклы» (lifecycles) и «каналы» (channels), а также о том, как мы внедрили и используем Octopus в своей работе.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments9

Управление задачами в Jenkins

Reading time5 min
Views161K


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

На рынке сейчас представлено много других инструментов (как платных, так и бесплатных), позволяющих построить процесс непрерывной интеграции максимально комфортно.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments15

Jenkins Pipeline Shared Libraries

Reading time3 min
Views42K
Всем привет. В данной статье хочу поделиться знаниями, полученными в процессе автоматизации развертывания наших сервисов на различные серверы в разных дата-центрах.

Задача была следующей: есть определенный набор скриптов для развертывания сервисов, которые нужно запускать на каждом сервере каждого дата-центра. Скрипты выполняют серию операций: проверка статуса, вывод из-под load balancer’а, выпуск версии, развертывание, проверка статуса, отправка уведомлений через email и Slack и т.д. Это просто и удобно, но с ростом числа дата-центров и сервисов процесс выкатки новой версии может занять целый день. Кроме того, за некоторые действия отвечают отдельные команды, например, настройка load balancer’а. Также хотелось, чтобы управляющий процессом код хранился в общедоступном репозитории, дабы каждый член команды мог его поддерживать.

Решить задачу удалось с помощью Jenkins Pipeline Shared Libraries: этапы процесса разделились визуально на логические части, код хранится в репозитории, а осуществить доставку на 20 серверов стало возможно в один клик. Ниже приведен пример подобного тестового проекта:

image

Сейчас я расскажу и покажу примеры как этого достичь. Надеюсь эта статья поможет сохранить время другим разработчикам, а также буду рад дельным комментариям.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments17

Information

Rating
Does not participate
Location
Обнинск, Калужская обл., Россия
Date of birth
Registered
Activity