Forwarded from Библиотека питониста | Python, Django, Flask
🤝 8 важных soft skills для сеньоров, тимлидов и других старших «джедаев»
За каждым успешным IT-проектом стоят не только строчки кода, но и применение soft skills. Мы раскрываем 8 ключевых навыков, которые превратят тебя из рядового кодера в тимлида.
👉 Читать статью
За каждым успешным IT-проектом стоят не только строчки кода, но и применение soft skills. Мы раскрываем 8 ключевых навыков, которые превратят тебя из рядового кодера в тимлида.
👉 Читать статью
Что вы знаете о кластерах контейнеров в Kubernetes?
Кластеры контейнеров в Kubernetes представляют собой набор нодов. Они создают некоторые маршруты, чтобы контейнеры, работающие на узлах, могли взаимодействовать. Они позволяют контейнерам работать на нескольких машинах и в разных средах, таких как физические, виртуальные и облачные. Кластеры Kubernetes координируют такие процессы, как планирование и масштабирование приложений, поддержание состояния кластера и внедрение обновлений.
Кластеры контейнеров в Kubernetes представляют собой набор нодов. Они создают некоторые маршруты, чтобы контейнеры, работающие на узлах, могли взаимодействовать. Они позволяют контейнерам работать на нескольких машинах и в разных средах, таких как физические, виртуальные и облачные. Кластеры Kubernetes координируют такие процессы, как планирование и масштабирование приложений, поддержание состояния кластера и внедрение обновлений.
Какие основные типы RAID существуют, чем они отличаются?
RAID 0 — Чередование
В системе RAID 0 данные разделяются на блоки, которые записываются на все диски в массиве. При одновременном использовании нескольких дисков (как минимум 2) это обеспечивает превосходную производительность ввода-вывода.
RAID 1 — Зеркальное отображение
Данные хранятся дважды, записывая их как на основной диск (или набор дисков), так и на зеркальный диск (или набор дисков). В случае сбоя диска контроллер использует основной диск или зеркальный диск для восстановления данных и продолжает работу.
RAID уровень 5
RAID 5 является наиболее распространенным безопасным уровнем RAID. Требуется как минимум 3 диска, но может работать до 16. Блоки данных распределяются по дискам, и на одном диске записывается контрольная сумма четности всех данных блока
Уровень RAID 6 — Чередование с двойной четностью
RAID 6 похож на RAID 5, но данные о четности записываются на два диска. Это означает, что для него требуется как минимум 4 диска и он может выдержать 2 диска, умирающих одновременно.
RAID уровень 10 — объединение RAID 1 и RAID 0
Можно объединить преимущества (и недостатки) RAID 0 и RAID 1 в одной системе. Это вложенная или гибридная конфигурация RAID.
RAID 0 — Чередование
В системе RAID 0 данные разделяются на блоки, которые записываются на все диски в массиве. При одновременном использовании нескольких дисков (как минимум 2) это обеспечивает превосходную производительность ввода-вывода.
RAID 1 — Зеркальное отображение
Данные хранятся дважды, записывая их как на основной диск (или набор дисков), так и на зеркальный диск (или набор дисков). В случае сбоя диска контроллер использует основной диск или зеркальный диск для восстановления данных и продолжает работу.
RAID уровень 5
RAID 5 является наиболее распространенным безопасным уровнем RAID. Требуется как минимум 3 диска, но может работать до 16. Блоки данных распределяются по дискам, и на одном диске записывается контрольная сумма четности всех данных блока
Уровень RAID 6 — Чередование с двойной четностью
RAID 6 похож на RAID 5, но данные о четности записываются на два диска. Это означает, что для него требуется как минимум 4 диска и он может выдержать 2 диска, умирающих одновременно.
RAID уровень 10 — объединение RAID 1 и RAID 0
Можно объединить преимущества (и недостатки) RAID 0 и RAID 1 в одной системе. Это вложенная или гибридная конфигурация RAID.
Какие селекторы используют контроллеры репликации?
Контроллеры репликации используют селекторы меток для идентификации набора модулей, которыми они управляют. В частности, они используют селекторы на основе равенства, которые позволяют фильтровать по ключу и значениям метки. Эти селекторы ищут модули с метками, которые соответствуют определенной паре ключ-значение. Чтобы использовать селектор на основе равенства, можно использовать опцию «-l» или «--selector».
Контроллеры репликации используют селекторы меток для идентификации набора модулей, которыми они управляют. В частности, они используют селекторы на основе равенства, которые позволяют фильтровать по ключу и значениям метки. Эти селекторы ищут модули с метками, которые соответствуют определенной паре ключ-значение. Чтобы использовать селектор на основе равенства, можно использовать опцию «-l» или «--selector».
Forwarded from Азбука айтишника
💣 Токсичный разработчик: гений или бомба замедленного действия?
Токсичный разработчик — это специалист, с которым крайне некомфортно работать. Разбираемся в статье — как к нему относиться:
🔗 Ссылка
Токсичный разработчик — это специалист, с которым крайне некомфортно работать. Разбираемся в статье — как к нему относиться:
🔗 Ссылка
Какие есть best practices для написания Dockerfile?
1. Запускать только один процесс на контейнер.
2. Стараться объединять несколько команд RUN в одну для уменьшения количества слоёв образа.
3. Частоизменяемые слои образа необходимо располагать ниже по уровню, чтобы ускорить процесс сборки, т.к. при изменении верхнего слоя, все нижеследующие слои будут пересобираться.
4. Указывать явные версии образов в инструкции FROM, чтобы избежать случая, когда выйдет новая версия образа с тегом latest.
5. При установке пакетов указывать версии пакетов.
6. Очищать кеш пакетного менеджера и удалять ненужные файлы после выполненной инструкции.
7. Использовать multistage build для сборки артифакта в одном контейнере и размещении его в другом.
1. Запускать только один процесс на контейнер.
2. Стараться объединять несколько команд RUN в одну для уменьшения количества слоёв образа.
3. Частоизменяемые слои образа необходимо располагать ниже по уровню, чтобы ускорить процесс сборки, т.к. при изменении верхнего слоя, все нижеследующие слои будут пересобираться.
4. Указывать явные версии образов в инструкции FROM, чтобы избежать случая, когда выйдет новая версия образа с тегом latest.
5. При установке пакетов указывать версии пакетов.
6. Очищать кеш пакетного менеджера и удалять ненужные файлы после выполненной инструкции.
7. Использовать multistage build для сборки артифакта в одном контейнере и размещении его в другом.
⚡️Самые полезные каналы по DevOps в одной папке
В ней:
➖ канал для подготовки к собеседованиям
➖ интересные задачи
➖ основной канал (этот)
➖ лучшие вакансии из сферы
➖ и наш чат, в котором можно общаться и задавать вопросы
Добавляйте 👉 тык сюда
В ней:
Добавляйте 👉 тык сюда
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🔐 🔑 OAuth 2: как работает современная авторизация
Помнишь кнопку «Войти через Google»? Та самая кнопка, которая избавляет от необходимости запоминать очередной пароль. Сегодня разберем, как работает эта магия изнутри, почему гиганты вроде Spotify и Medium используют такой способ входа, и как внедрить его в свое приложение. Спойлер: это проще, чем кажется, и гораздо безопаснее традиционной формы регистрации.
Читать статью
Помнишь кнопку «Войти через Google»? Та самая кнопка, которая избавляет от необходимости запоминать очередной пароль. Сегодня разберем, как работает эта магия изнутри, почему гиганты вроде Spotify и Medium используют такой способ входа, и как внедрить его в свое приложение. Спойлер: это проще, чем кажется, и гораздо безопаснее традиционной формы регистрации.
Читать статью
Какая роль у контроллера DaemonSet?
DaemonSet используется в Kubernetes, когда необходимо запустить один или несколько экземпляров приложения на всех узлах кластера. Это означает, что при добавлении новых узлов в кластер необходимость вручного запуска подов, предназначенных для определенных служебных задач, отпадает. Например, с помощью DaemonSet можно автоматически развернуть поды с Prometheus Node Exporter для мониторинга, collectd, а также поды с fluentd или logstash для логирования данных с узлов.
DaemonSet используется в Kubernetes, когда необходимо запустить один или несколько экземпляров приложения на всех узлах кластера. Это означает, что при добавлении новых узлов в кластер необходимость вручного запуска подов, предназначенных для определенных служебных задач, отпадает. Например, с помощью DaemonSet можно автоматически развернуть поды с Prometheus Node Exporter для мониторинга, collectd, а также поды с fluentd или logstash для логирования данных с узлов.
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
👾🔍 Укрощение монстров: мониторинг и управление ресурсоемкими запросами в Django + PostgreSQL
Каждый Django-разработчик рано или поздно сталкивается с неожиданно «тяжелыми» запросами, способными превратить быстрое приложение в неповоротливого слона. Рассказываем, как с помощью django-pgactivity выследить и обезвредить такие запросы, прежде чем они создадут проблемы вашим пользователям.
Читать статью
Каждый Django-разработчик рано или поздно сталкивается с неожиданно «тяжелыми» запросами, способными превратить быстрое приложение в неповоротливого слона. Рассказываем, как с помощью django-pgactivity выследить и обезвредить такие запросы, прежде чем они создадут проблемы вашим пользователям.
Читать статью
Можете ли вы перечислить несколько причин, по которым используются DaemonSets?
DaemonSets используются по следующим причинам:
Запуск системных служб: DaemonSets часто используются для запуска системных служб, которые необходимо развернуть на каждом узле кластера, например, агентов регистрации, агентов мониторинга или сетевых служб, таких как балансировщики нагрузки.
Сбор данных: DaemonSets может собирать данные или метрики с каждого узла кластера, например, системные метрики, сетевой трафик или журналы приложений.
Последовательное развертывание: используя DaemonSets для развертывания служб или приложений, вы можете гарантировать, что они будут развернуты последовательно на всех узлах кластера, что может помочь уменьшить количество ошибок конфигурации и обеспечить последовательную работу.
Высокая доступность: запуск служб или приложений в качестве DaemonSets может обеспечить высокую доступность, поскольку они могут быть автоматически развернуты на любых новых узлах, добавленных в кластер, и заменены, если узел выходит из строя или становится недоступным.
Изоляция ресурсов: запуск служб или приложений в качестве DaemonSets может обеспечить изоляцию ресурсов, поскольку они могут быть развернуты на определенных узлах кластера с необходимыми ресурсами или конфигурациями, такими как специализированное оборудование или сетевые подключения.
DaemonSets используются по следующим причинам:
Запуск системных служб: DaemonSets часто используются для запуска системных служб, которые необходимо развернуть на каждом узле кластера, например, агентов регистрации, агентов мониторинга или сетевых служб, таких как балансировщики нагрузки.
Сбор данных: DaemonSets может собирать данные или метрики с каждого узла кластера, например, системные метрики, сетевой трафик или журналы приложений.
Последовательное развертывание: используя DaemonSets для развертывания служб или приложений, вы можете гарантировать, что они будут развернуты последовательно на всех узлах кластера, что может помочь уменьшить количество ошибок конфигурации и обеспечить последовательную работу.
Высокая доступность: запуск служб или приложений в качестве DaemonSets может обеспечить высокую доступность, поскольку они могут быть автоматически развернуты на любых новых узлах, добавленных в кластер, и заменены, если узел выходит из строя или становится недоступным.
Изоляция ресурсов: запуск служб или приложений в качестве DaemonSets может обеспечить изоляцию ресурсов, поскольку они могут быть развернуты на определенных узлах кластера с необходимыми ресурсами или конфигурациями, такими как специализированное оборудование или сетевые подключения.
Есть группы пользователей, которые должны заводиться не на всех серверах. Как ограничить заведение пользователей?
#ansible
Сгруппировать сервера, на которых должны заводиться группы пользователей, в инвентори или написать в плейбуке условие, которому передаётся список серверов, на которых необходимо выполнить задачу.
#ansible
Какова роль сети Ingress?
Сеть Ingress управляет внешним доступом к сервисам в кластере. В частности, она обеспечивает балансировку нагрузки трафика, завершение SSL/TLS и виртуальный хостинг для маршрутов HTTP и HTTPS, открытых извне кластера для служб внутри него. Сеть Ingress помогает оптимизировать связь между приложениями и внешними клиентами, предоставляя единую точку входа для входящего трафика.
Сеть Ingress управляет внешним доступом к сервисам в кластере. В частности, она обеспечивает балансировку нагрузки трафика, завершение SSL/TLS и виртуальный хостинг для маршрутов HTTP и HTTPS, открытых извне кластера для служб внутри него. Сеть Ingress помогает оптимизировать связь между приложениями и внешними клиентами, предоставляя единую точку входа для входящего трафика.
🔀 Команды git merge и git rebase: преимущества, недостатки и ключевые различия
Один из ключевых аспектов работы с системой контроля версий Git — перенос изменений из одной ветки в другую. Для этого существует два основных инструмента: git merge и git rebase.
Хотя они решают одну и ту же задачу по интеграции кода, делают они это разными способами. Разберемся, как именно работают git merge и git rebase, и какую опцию стоит выбрать в конкретной ситуации.
🔗 Читать статью
🔗 Зеркало
Один из ключевых аспектов работы с системой контроля версий Git — перенос изменений из одной ветки в другую. Для этого существует два основных инструмента: git merge и git rebase.
Хотя они решают одну и ту же задачу по интеграции кода, делают они это разными способами. Разберемся, как именно работают git merge и git rebase, и какую опцию стоит выбрать в конкретной ситуации.
🔗 Читать статью
🔗 Зеркало
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Что такое модуль в terraform? Для чего он нужен?
Модуль в Terraform — пакет конфигурации Terraform, который можно использовать при повторной конфигурации компонентов инфраструктуры, а также базовой организации кода Terraform в директориях. При подключения модуля, ему даётся имя.
Модуль в Terraform — пакет конфигурации Terraform, который можно использовать при повторной конфигурации компонентов инфраструктуры, а также базовой организации кода Terraform в директориях. При подключения модуля, ему даётся имя.