😎😎 Мы хотим, чтобы серверы падали одновременно
Есть серверы, которые работают в роли бэкенда для хранения видеофайлов. Это множество узлов, содержащих десятки терабайт видеофайлов, которые предварительно были нарезаны в разном разрешении конвертерами. Затем, все эти миллионы файлов отдавались во внешний мир с помощью nginx + kaltura, что позволяло перепаковывать на лету mp4 в сегменты DASH/HLS. Это позволяло хорошо переносить даже высокие нагрузки, отдавая плеером только нужные сегменты без резких всплесков.
Проблемы появились тогда, когда встал вопрос с георезервированием и масштабированием при росте нагрузок. Серверы внутри одной группы резервирования умирали не синхронно, так как представляли из себя весьма разнообразный зоопарк с разными провайдерами, шириной канала, дисками и RAID-контроллерами.
Статья о том, как провести аудит всей этой красоты и перестроить почти с нуля весь мониторинг с методологией управления ресурсами.
Продолжение здесь
#туториал
Есть серверы, которые работают в роли бэкенда для хранения видеофайлов. Это множество узлов, содержащих десятки терабайт видеофайлов, которые предварительно были нарезаны в разном разрешении конвертерами. Затем, все эти миллионы файлов отдавались во внешний мир с помощью nginx + kaltura, что позволяло перепаковывать на лету mp4 в сегменты DASH/HLS. Это позволяло хорошо переносить даже высокие нагрузки, отдавая плеером только нужные сегменты без резких всплесков.
Проблемы появились тогда, когда встал вопрос с георезервированием и масштабированием при росте нагрузок. Серверы внутри одной группы резервирования умирали не синхронно, так как представляли из себя весьма разнообразный зоопарк с разными провайдерами, шириной канала, дисками и RAID-контроллерами.
Статья о том, как провести аудит всей этой красоты и перестроить почти с нуля весь мониторинг с методологией управления ресурсами.
Продолжение здесь
#туториал
❤🔥13🔥6😁3❤1🌚1
🥑 Подборка лучших статей «Библиотеки devops'a» за апрель: сохраняй в заметки, чтобы не пропустить #самыйсок
🐛 7 признаков неопытного программиста
✍️ Как написать отличную документацию
⚙️ Названия веток и комментарии к коммитам в Git: лучшие практики
🙅♂️ Дискриминация на работе: в чем проявляется и что делать, если вы с ней столкнулись
🧑💻 Как я входил в IT: опыт подписчиков «Библиотеки программиста»
🛠 Что такое прогрессивные веб-приложения
🌐 Использование глобальной контрольной группы на практике: тонкости, нюансы, подводные камни
🤺 Искусство оскорблять: как поставить коллегу на место и отбить желание работать над проектом
🤖💣 ИИ-ассистенты разработчика: скрытая угроза
🔍💼 Исследование рынка: 8 наиболее востребованных языков программирования в 2024 году
🗿🔨 Как мы разбили монолит на маленькие кусочки и что из этого вышло
🗺💼 Из Москвы в Дублин: опыт российского разработчика из Amazon
🐛 7 признаков неопытного программиста
✍️ Как написать отличную документацию
⚙️ Названия веток и комментарии к коммитам в Git: лучшие практики
🙅♂️ Дискриминация на работе: в чем проявляется и что делать, если вы с ней столкнулись
🧑💻 Как я входил в IT: опыт подписчиков «Библиотеки программиста»
🛠 Что такое прогрессивные веб-приложения
🌐 Использование глобальной контрольной группы на практике: тонкости, нюансы, подводные камни
🤺 Искусство оскорблять: как поставить коллегу на место и отбить желание работать над проектом
🤖💣 ИИ-ассистенты разработчика: скрытая угроза
🔍💼 Исследование рынка: 8 наиболее востребованных языков программирования в 2024 году
🗿🔨 Как мы разбили монолит на маленькие кусочки и что из этого вышло
🗺💼 Из Москвы в Дублин: опыт российского разработчика из Amazon
❤53👍3👏1
Forwarded from Библиотека собеса по DevOps | вопросы с собеседований
Что делает kube-scheduler?
Kube-scheduler позволяет узлам планировать только что созданные модули. Он определяет, какие узлы являются лучшими для каждого модуля в очереди планирования в соответствии с доступными ресурсами и ограничениями. Этот планировщик выбирает оптимальный узел для каждого нового или незапланированного пода, на котором они будут работать. Но тем не менее, каждый контейнер в подах имеет разные требования к ресурсам и потребностям.
Kube-scheduler позволяет узлам планировать только что созданные модули. Он определяет, какие узлы являются лучшими для каждого модуля в очереди планирования в соответствии с доступными ресурсами и ограничениями. Этот планировщик выбирает оптимальный узел для каждого нового или незапланированного пода, на котором они будут работать. Но тем не менее, каждый контейнер в подах имеет разные требования к ресурсам и потребностям.
🔥3👍2🥰1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
👁️💼 Открытые и скрытые вакансии в IT: как найти работу мечты
Существует целый пласт скрытых вакансий, о которых знает ограниченный круг лиц. Как найти эти вакансии и не упустить свой шанс? Читайте в нашей статье.
🔗 Читать статью
🔗 Зеркало
Существует целый пласт скрытых вакансий, о которых знает ограниченный круг лиц. Как найти эти вакансии и не упустить свой шанс? Читайте в нашей статье.
🔗 Читать статью
🔗 Зеркало
👍3🎉2
#дайджест выходного дня
❎ pgdsat — инструмент для анализа безопасности PostgreSQL сервера
❎ Пишем собственный гипервизор — 2 части по написанию с нуля простого гипервизора на базе KVM
❎ Почему мы запускаем FreeBSD в Netflix — о том, как автор ковыряется во FreeBSD-current, о вкладе и о достижениях в области производительности
❎ Как без даунтайма объединить кластеры Kubernetes и сократить затраты на инфраструктуру — на встрече, инженер расскажет, как безболезненно объединить кластеры Kubernetes, оптимизировать инфраструктуру и повысить безопасность трафика
❎ Минимизация on-call burnout с помощью наблюдения за алертами — автор подробно расскажет о наблюдении за оповещениями, об их важность и как все это работает в Cloudflare
❎ pgdsat — инструмент для анализа безопасности PostgreSQL сервера
❎ Пишем собственный гипервизор — 2 части по написанию с нуля простого гипервизора на базе KVM
❎ Почему мы запускаем FreeBSD в Netflix — о том, как автор ковыряется во FreeBSD-current, о вкладе и о достижениях в области производительности
❎ Как без даунтайма объединить кластеры Kubernetes и сократить затраты на инфраструктуру — на встрече, инженер расскажет, как безболезненно объединить кластеры Kubernetes, оптимизировать инфраструктуру и повысить безопасность трафика
❎ Минимизация on-call burnout с помощью наблюдения за алертами — автор подробно расскажет о наблюдении за оповещениями, об их важность и как все это работает в Cloudflare
❤29👍10❤🔥2🥰1
💁💁 Пример Envoy Gateway в Extension Service
Это служба расширения для Envoy Gateway. В ней используется API Envoy Gateway для добавления поддержки нового пользовательского типа (GlobalLuaScript). Служба прослушивает запросы на изменение ресурсов xDS от Envoy Gateway и затем может вносить любые изменения в xDS, сгенерированные Envoy Gateway.
По сути, это отдельный контроллер который делает реконсайл CR объектов и на основании CR отвечает на хуки от Envoy Gateway Controller.
Подробнее тут
#гайд
Это служба расширения для Envoy Gateway. В ней используется API Envoy Gateway для добавления поддержки нового пользовательского типа (GlobalLuaScript). Служба прослушивает запросы на изменение ресурсов xDS от Envoy Gateway и затем может вносить любые изменения в xDS, сгенерированные Envoy Gateway.
По сути, это отдельный контроллер который делает реконсайл CR объектов и на основании CR отвечает на хуки от Envoy Gateway Controller.
Подробнее тут
#гайд
❤54❤🔥2🥰1🎉1
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
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++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, 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++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
❤2🥰1
DefectDojo — это платформа для DevSecOps, которая упрощает работу DevSecOps, выступая в качестве агрегатора и единого окна для ваших инструментов безопасности. Сервис обладает интеллектуальными функциями для улучшения и настройки результатов работы ваших средств безопасности, включая возможность объединять результаты, запоминать ложные срабатывания и удалять дубликаты. DefectDojo также интегрируется с JIRA, предоставляет показатели и отчеты, а также может использоваться для управления традиционными ручными тестами.
Что делает DefectDojo?
Хотя автоматизация и эффективность являются конечными целями, DefectDojo по своей сути является баг-трекером. Использование преимуществ продукта DefectDojo: модели взаимодействия обеспечивает прослеживаемость между несколькими проектами / циклами тестирования и позволяет создавать детализированную отчетность.
#софт
Что делает DefectDojo?
Хотя автоматизация и эффективность являются конечными целями, DefectDojo по своей сути является баг-трекером. Использование преимуществ продукта DefectDojo: модели взаимодействия обеспечивает прослеживаемость между несколькими проектами / циклами тестирования и позволяет создавать детализированную отчетность.
#софт
👍13❤4🔥1
💥💥 Быстрая, декларативная, воспроизводимая и компонуемая среда разработки с использованием Nix
DevEnv
👉 Переменные среды
Используйте атрибут env для определения переменных среды.
Если хотите включить секреты из файла .env, установите dotenv.enable = true;.
👉 Пакеты
Есть возможность выбрать из 80000+ готовых пакетов для Linux/macOS и X64/Arm64. Работает с WSL 2.
👉 Запуск скриптов при входе в среду
Подготовьте свою среду при входе в оболочку, в которой уже загружена среда.
👉 Автоматическая загрузка среды при входе в проект
Использование direnv автоматически загрузит среду при входе в каталог проекта.
👉 Простая установка
1. Установка Nix
sh <(curl -L https://nixos.org/nix/install) --daemon
2. Установка devenv
nix-env -iA devenv -f https://github.com/NixOS/nixpkgs/tarball/nixpkgs-unstable
Доки и блог здесь
#софт
DevEnv
👉 Переменные среды
Используйте атрибут env для определения переменных среды.
Если хотите включить секреты из файла .env, установите dotenv.enable = true;.
👉 Пакеты
Есть возможность выбрать из 80000+ готовых пакетов для Linux/macOS и X64/Arm64. Работает с WSL 2.
👉 Запуск скриптов при входе в среду
Подготовьте свою среду при входе в оболочку, в которой уже загружена среда.
👉 Автоматическая загрузка среды при входе в проект
Использование direnv автоматически загрузит среду при входе в каталог проекта.
👉 Простая установка
1. Установка Nix
sh <(curl -L https://nixos.org/nix/install) --daemon
2. Установка devenv
nix-env -iA devenv -f https://github.com/NixOS/nixpkgs/tarball/nixpkgs-unstable
Доки и блог здесь
#софт
❤15🥰2❤🔥1
🛟🛟 Sveltos: Kubernetes add-on controller
Sveltos — это add-on controller Kubernetes, который упрощает развертывание и управление надстройками и приложениями в нескольких кластерах. Он работает в кластере управления и может программно развертывать надстройки и приложения и управлять ими в любом кластере парка, включая сам кластер управления. Sveltos поддерживает множество дополнительных форматов, включая Helm charts, raw YAML, Kustomize, Carvel ytt и Jsonnet.
Вот тут подробнее
#софт
Sveltos — это add-on controller Kubernetes, который упрощает развертывание и управление надстройками и приложениями в нескольких кластерах. Он работает в кластере управления и может программно развертывать надстройки и приложения и управлять ими в любом кластере парка, включая сам кластер управления. Sveltos поддерживает множество дополнительных форматов, включая Helm charts, raw YAML, Kustomize, Carvel ytt и Jsonnet.
Вот тут подробнее
#софт
👍18❤🔥1🥰1
Очередной #дайджест по DevOps
➕ Почему ни в коем случае НЕ надо становиться DevOps инженером — предостережения начинающим и совет что же делать если «НЕ»
➕ Надежная поставка программного обеспечения — методы построения гибкого и безопасного конвейера разработки кода
➕ AWS Weekly Roundup — новые возможности в Amazon Bedrock, AWS Amplify Gen 2, Amazon RDS
➕ Dokploy — бесплатная автономная PaaS, которая упрощает развертывание приложений и БД и управление ими с помощью Docker и Traefik
➕ Поговорим о методологии DevOps — вебинар 25 мая
➕ Почему ни в коем случае НЕ надо становиться DevOps инженером — предостережения начинающим и совет что же делать если «НЕ»
➕ Надежная поставка программного обеспечения — методы построения гибкого и безопасного конвейера разработки кода
➕ AWS Weekly Roundup — новые возможности в Amazon Bedrock, AWS Amplify Gen 2, Amazon RDS
➕ Dokploy — бесплатная автономная PaaS, которая упрощает развертывание приложений и БД и управление ими с помощью Docker и Traefik
➕ Поговорим о методологии DevOps — вебинар 25 мая
❤🔥12🎉11❤3👍1🥰1
❗«Библиотека программиста» продолжает поиски контент-менеджера для ведения телеграм-каналов
Ищем человека, который грамотно пишет и разбирается в одной из этих тем:
👉Java
👉DevOps
👉тестирование
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
Ищем человека, который грамотно пишет и разбирается в одной из этих тем:
👉Java
👉DevOps
👉тестирование
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
👍2❤1🎉1
Forwarded from Библиотека задач по DevOps | тесты, код, задания
Какой ресурс Kubernetes отвечает за управление доступом к сетевым сервисам внутри кластера?
Anonymous Quiz
19%
Gateway
36%
Ingress
42%
Service
3%
Под
❤1🔥1
💪💪 Простая навигация по прокси-серверам: новые возможности в Docker Desktop 4.30
Теперь используются передовые протоколы аутентификации Kerberos и NTLM, а Docker Desktop может обеспечить более безопасное и бесперебойное взаимодействие с корпоративными прокси-серверами, обеспечивая при этом оптимизацию и отсутствие проблем.
Подробнее об обновлении тут
Теперь используются передовые протоколы аутентификации Kerberos и NTLM, а Docker Desktop может обеспечить более безопасное и бесперебойное взаимодействие с корпоративными прокси-серверами, обеспечивая при этом оптимизацию и отсутствие проблем.
Подробнее об обновлении тут
❤12❤🔥1🥰1🎉1
🛟🛟 Автоматизация сборки образов Docker с помощью Pulumi и Docker Build Cloud
В статье, автор расскажет о новом поставщике Docker Build от Pulumi, и как он работает с Docker Build Cloud, чтобы упростить создание, развертывание и управление контейнеризированными приложениями. Сначала будет создан проект с использованием Docker Build Cloud и Pulumi. Затем предлагается рассмотреть интересные примеры использования, которые продемонстрируют, как можно использовать этого поставщика для упрощения процессов сборки и развертывания.
Читать статью
#туториал
В статье, автор расскажет о новом поставщике Docker Build от Pulumi, и как он работает с Docker Build Cloud, чтобы упростить создание, развертывание и управление контейнеризированными приложениями. Сначала будет создан проект с использованием Docker Build Cloud и Pulumi. Затем предлагается рассмотреть интересные примеры использования, которые продемонстрируют, как можно использовать этого поставщика для упрощения процессов сборки и развертывания.
Читать статью
#туториал
👍3🔥2❤🔥1
🍽️🍽️ Dev контейнеры и с чем их едят
Как вести разработку на используемой платформе (x86) под целевую платформу (ARM).
Какие есть решения:
👉 Самое очевидное — начать устанавливать кросс-компиляторы и другие инструменты для разработки локально. Нужно разрабатывать на C++, так что установим Cygwin, на него устанавливаем все нужные нам библиотеки и компиляторы, устанавливаем MSYS2, настраиваем его так, чтобы он использовал инструменты из Cygwin. А теперь повторяем это на компьютере всех разработчиков в команде! Так дело не пойдет: слишком много действий и велик процент ошибиться и установить что-то не то.
👉 Можно настраивать все это на одном компьютере, к которому через SSH будут подключаться разработчики. Подобная машина называется Build Server. Звучит уже лучше, но требует отдельный сервер и хорошее интернет соединение.
👉 Финальная идея — контейнерная разработка на компьютере каждого разработчика с помощью Docker. Автор пытался реализовать это различными способами, но наиболее оптимальным из них показался dev контейнер: вся команда использовала один и тот же конфигурационный файл для запуска контейнера, и, впоследствии, каждый разработчик имел готовую среду разработки со всеми необходимыми тулчейнами и зависимостями у себя на компьютере.
Речь пойдет о третьем варианте
#туториал
Как вести разработку на используемой платформе (x86) под целевую платформу (ARM).
Какие есть решения:
👉 Самое очевидное — начать устанавливать кросс-компиляторы и другие инструменты для разработки локально. Нужно разрабатывать на C++, так что установим Cygwin, на него устанавливаем все нужные нам библиотеки и компиляторы, устанавливаем MSYS2, настраиваем его так, чтобы он использовал инструменты из Cygwin. А теперь повторяем это на компьютере всех разработчиков в команде! Так дело не пойдет: слишком много действий и велик процент ошибиться и установить что-то не то.
👉 Можно настраивать все это на одном компьютере, к которому через SSH будут подключаться разработчики. Подобная машина называется Build Server. Звучит уже лучше, но требует отдельный сервер и хорошее интернет соединение.
👉 Финальная идея — контейнерная разработка на компьютере каждого разработчика с помощью Docker. Автор пытался реализовать это различными способами, но наиболее оптимальным из них показался dev контейнер: вся команда использовала один и тот же конфигурационный файл для запуска контейнера, и, впоследствии, каждый разработчик имел готовую среду разработки со всеми необходимыми тулчейнами и зависимостями у себя на компьютере.
Речь пойдет о третьем варианте
#туториал
❤🔥2👍2