Чем отличается Kubernetes от Openshift?
Openshift имеет более строгие политики безопасности и модели аутентификации.
Openshift поддерживает полную интеграцию CI/CD Jenkins.
Openshift имеет веб-консоль по-умолчанию. В Kubernetes консоль необходимо дополнительно устанавливать консоль.
В Kubernetes возможно устанавливать сторонние сетевые плагины. В Openshift используется собственное сетевое решение Open vSwitch, которое предоставляет 3 различный плагина.
Kubernetes может быть установлен практически на любой дистрибутив Linux. Openshift имеет ограничения на устанавливаемые дистрибутивы, преимущественно используются RH-дистрибутивы.
Kubernets доступен в большинстве облачных платформ - GCP, AWS, Azure, Yandex.Cloud. Openshift доступен на облачной платформе Azure и облаке от IBM.
По-умолчанию, в Openshift поды в кластере могут быть запущены только под обычным пользователем, чтобы запустить под под пользователем root необходимо выдать права для сервисного аккаунта. В Kubernetes по-умолчанию поды могут быть запущены по пользователем root.
#devops #девопс
👉@bookflow
Openshift имеет более строгие политики безопасности и модели аутентификации.
Openshift поддерживает полную интеграцию CI/CD Jenkins.
Openshift имеет веб-консоль по-умолчанию. В Kubernetes консоль необходимо дополнительно устанавливать консоль.
В Kubernetes возможно устанавливать сторонние сетевые плагины. В Openshift используется собственное сетевое решение Open vSwitch, которое предоставляет 3 различный плагина.
Kubernetes может быть установлен практически на любой дистрибутив Linux. Openshift имеет ограничения на устанавливаемые дистрибутивы, преимущественно используются RH-дистрибутивы.
Kubernets доступен в большинстве облачных платформ - GCP, AWS, Azure, Yandex.Cloud. Openshift доступен на облачной платформе Azure и облаке от IBM.
По-умолчанию, в Openshift поды в кластере могут быть запущены только под обычным пользователем, чтобы запустить под под пользователем root необходимо выдать права для сервисного аккаунта. В Kubernetes по-умолчанию поды могут быть запущены по пользователем root.
#devops #девопс
👉@bookflow
👍2❤1🙏1
🧑🏻💻Хотите писать гибкий и читаемый код на Python? Пора раскрыть скрытые возможности встроенной библиотеки!
На открытом вебинаре 23 апреля в 20:00 мск мы познакомим вас с мощными инструментами стандартной библиотеки Python, которые сэкономят ваше время и помогут писать код без лишних зависимостей. Вы узнаете, как использовать модули, которые оптимизируют работу с данными, текстом и логированием.
Мы поговорим о модулях collections, re и logging — встроенных инструментах, которые делают код компактным и понятным. Это важный шаг к переходу на более высокие позиции в разработке.
⚡️Присоединяйтесь к открытому вебинару и получите скидку на большой курс "Python Developer. Basic": https://vk.cc/cKZJPF
На открытом вебинаре 23 апреля в 20:00 мск мы познакомим вас с мощными инструментами стандартной библиотеки Python, которые сэкономят ваше время и помогут писать код без лишних зависимостей. Вы узнаете, как использовать модули, которые оптимизируют работу с данными, текстом и логированием.
Мы поговорим о модулях collections, re и logging — встроенных инструментах, которые делают код компактным и понятным. Это важный шаг к переходу на более высокие позиции в разработке.
⚡️Присоединяйтесь к открытому вебинару и получите скидку на большой курс "Python Developer. Basic": https://vk.cc/cKZJPF
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Forwarded from Библиотека девопса | DevOps, SRE, Sysadmin
🔧 Почему systemd – это не только про запуск сервисов
Многие до сих пор думают, что
Вот несколько его «скрытых» возможностей, которые ты, возможно, упускаешь:
🔹 systemd timers — альтернатива cron. Более гибкая, с логами, юнитами, и возможностью зависимости от других сервисов.
🔹 systemd-run — запускай любые команды как временный сервис. Отлично подходит для тестов, отложенного выполнения или запуска с нужными лимитами ресурсов.
🔹 Resource control (cgroups) — через
🔹 journalctl — лог-менеджер, которого ты заслуживаешь. Фильтры по юниту, по времени, по PID, по приоритету — goodbye,
🔹 User units — можно писать юниты не только для root, но и для обычных пользователей. Отлично для изоляции окружений.
Если ты до сих пор относишься к systemd как к init-процессу — попробуй копнуть глубже. Он вполне может заменить кучу сторонних тулзов и сделать твою систему чище.
Подпишись 👉@devopslib
Многие до сих пор думают, что
systemd
нужен только для того, чтобы стартовать сервисы. Но на деле он — как швейцарский нож для линуксоидов.Вот несколько его «скрытых» возможностей, которые ты, возможно, упускаешь:
🔹 systemd timers — альтернатива cron. Более гибкая, с логами, юнитами, и возможностью зависимости от других сервисов.
🔹 systemd-run — запускай любые команды как временный сервис. Отлично подходит для тестов, отложенного выполнения или запуска с нужными лимитами ресурсов.
🔹 Resource control (cgroups) — через
systemd
можно ограничить CPU, память, IO для любого юнита. Прям как в Kubernetes, только локально.🔹 journalctl — лог-менеджер, которого ты заслуживаешь. Фильтры по юниту, по времени, по PID, по приоритету — goodbye,
grep
.🔹 User units — можно писать юниты не только для root, но и для обычных пользователей. Отлично для изоляции окружений.
Если ты до сих пор относишься к systemd как к init-процессу — попробуй копнуть глубже. Он вполне может заменить кучу сторонних тулзов и сделать твою систему чище.
Подпишись 👉@devopslib
👍3
Дорогая, я уменьшил {fmt}: уменьшил размер до 14kB и избавился от рантайма C++
Библиотека форматирования {fmt} известна своим небольшим влиянием на размер бинарников. Чаще всего её код в несколько раз меньше по сравнению с такими библиотеками, как IOStreams, Boost Format или, что иронично, tinyformat.
Давайте разберем, как можно уменьшить размер бинарников еще больше!
https://habr.com/ru/companies/beget/articles/842566/
#cpp
👉@bookflow
Библиотека форматирования {fmt} известна своим небольшим влиянием на размер бинарников. Чаще всего её код в несколько раз меньше по сравнению с такими библиотеками, как IOStreams, Boost Format или, что иронично, tinyformat.
Давайте разберем, как можно уменьшить размер бинарников еще больше!
https://habr.com/ru/companies/beget/articles/842566/
#cpp
👉@bookflow
👍2
🔍 Хотите освоить регулярные выражения для системного администрирования? Погрузитесь в мир grep, sed и awk!
📅 На вебинаре вы узнаете, как читать, писать и применять регулярные выражения для реальных задач в Linux. Изучите различия между основными типами регулярных выражений (Basic, Extended, PCRE) и научитесь использовать их в системных утилитах.
✨ В результате вебинара вы поймёте, как составлять шаблоны для поиска, фильтрации и парсинга логов, а также как отлаживать и тестировать регулярные выражения на практике. Получите практические советы и рабочие шаблоны для повседневной работы.
Все участники вебинара получат скидку на курс "Administrator Linux. Professional".
👉 Для участия зарегистрируйтесь https://vk.cc/cKZLFQ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
📅 На вебинаре вы узнаете, как читать, писать и применять регулярные выражения для реальных задач в Linux. Изучите различия между основными типами регулярных выражений (Basic, Extended, PCRE) и научитесь использовать их в системных утилитах.
✨ В результате вебинара вы поймёте, как составлять шаблоны для поиска, фильтрации и парсинга логов, а также как отлаживать и тестировать регулярные выражения на практике. Получите практические советы и рабочие шаблоны для повседневной работы.
Все участники вебинара получат скидку на курс "Administrator Linux. Professional".
👉 Для участия зарегистрируйтесь https://vk.cc/cKZLFQ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Набор дашбордов Grafana для мониторинга Kubernetes с помощью Prometheus.
Данные дашборды предназначены для использования с метриками Prometheus, собираемыми с помощью kube-prometheus и prometheus-node-exporter.
Они покрывают различные аспекты кластера Kubernetes, включая:
- Состояние узлов
- Использование CPU и памяти
- Состояние подов
- Производительность сети
- Состояние ивентов в кластере
- Мониторинг ingress-контроллеров и CoreDNS
Все дашборды можно легко импортировать в Grafana через JSON-файлы, представленные в этом репозитории.
https://github.com/dotdc/grafana-dashboards-kubernetes
#devops
👉@bookflow
Данные дашборды предназначены для использования с метриками Prometheus, собираемыми с помощью kube-prometheus и prometheus-node-exporter.
Они покрывают различные аспекты кластера Kubernetes, включая:
- Состояние узлов
- Использование CPU и памяти
- Состояние подов
- Производительность сети
- Состояние ивентов в кластере
- Мониторинг ingress-контроллеров и CoreDNS
Все дашборды можно легко импортировать в Grafana через JSON-файлы, представленные в этом репозитории.
https://github.com/dotdc/grafana-dashboards-kubernetes
#devops
👉@bookflow
👍4
Cтатья про собеседования в Яшу (Yandex Weekend Offer)
Может кому‑то это будет интересно, даст возможность лучше подготовиться; или наоборот кто‑то примет решение не участвовать.
Угораздило меня согласиться на т. н. «Weekend Offer на позицию разработчика на Kotlin». Вообще‑то мне больше нравится Scala, и опыта по ней больше, но рекрутерша была сильно настойчива, и я решил обновить экспиренс собесов, а возможно и получить прибавку в деньгах при переходе.
Коротко о себе: 41 год, senior software developer, стаж > 20 лет.
Два алгоритмических этапа по сути были одинаковыми, неясно, почему их два и зачем вообще предлагается готовиться к собеседованию через т. н. «Cоревнования», то есть площадку спортивного программирования а‑ля leetcode, где результат проверяет робот и можно пользоваться IDE. Нормально готовиться мне было лень, но за часок до собеса я спохватился и прорешал несколько задачек, что смог найти.
https://habr.com/ru/articles/902854/
👉@bookflow
Может кому‑то это будет интересно, даст возможность лучше подготовиться; или наоборот кто‑то примет решение не участвовать.
Угораздило меня согласиться на т. н. «Weekend Offer на позицию разработчика на Kotlin». Вообще‑то мне больше нравится Scala, и опыта по ней больше, но рекрутерша была сильно настойчива, и я решил обновить экспиренс собесов, а возможно и получить прибавку в деньгах при переходе.
Коротко о себе: 41 год, senior software developer, стаж > 20 лет.
Два алгоритмических этапа по сути были одинаковыми, неясно, почему их два и зачем вообще предлагается готовиться к собеседованию через т. н. «Cоревнования», то есть площадку спортивного программирования а‑ля leetcode, где результат проверяет робот и можно пользоваться IDE. Нормально готовиться мне было лень, но за часок до собеса я спохватился и прорешал несколько задачек, что смог найти.
https://habr.com/ru/articles/902854/
👉@bookflow
👍2
K9s
Предоставляет терминальный пользовательский интерфейс для взаимодействия с вашими кластерами Kubernetes. Цель этого проекта - упростить навигацию, наблюдение и управление приложениями в естественных условиях. K9s постоянно следит за изменениями в Kubernetes и предлагает последующие команды для взаимодействия с наблюдаемыми ресурсами.
https://github.com/derailed/k9s
#devops
👉@bookflow
Предоставляет терминальный пользовательский интерфейс для взаимодействия с вашими кластерами Kubernetes. Цель этого проекта - упростить навигацию, наблюдение и управление приложениями в естественных условиях. K9s постоянно следит за изменениями в Kubernetes и предлагает последующие команды для взаимодействия с наблюдаемыми ресурсами.
https://github.com/derailed/k9s
#devops
👉@bookflow
👍3❤1
🚀 Подборка Telegram каналов для программистов
Системное администрирование, DevOps 📌
https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux
1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8
https://www.tg-me.com/razrab_1C 1C Разработчик
https://www.tg-me.com/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Программирование C++📌
https://www.tg-me.com/cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия.
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python
Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр
Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Big Data, Machine Learning
Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
https://www.tg-me.com/matgeoru Математика | Геометрия | Логика
Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
Системное администрирование, DevOps 📌
https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux
1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8
https://www.tg-me.com/razrab_1C 1C Разработчик
https://www.tg-me.com/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Программирование C++📌
https://www.tg-me.com/cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия.
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python
Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр
Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Big Data, Machine Learning
Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
https://www.tg-me.com/matgeoru Математика | Геометрия | Логика
Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
Telegram
Bash Советы
🚀 Секреты и советы по Bash
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
👍2👎2
Media is too big
VIEW IN TELEGRAM
Что можно знать о C++ в 16 лет?
Сегодня мы собеседуем Богдана и проверяем его познания в C++
Проверим, насколько рано можно программировать.
Приятного просмотра!
источник
#cpp
👉@bookflow
Сегодня мы собеседуем Богдана и проверяем его познания в C++
Проверим, насколько рано можно программировать.
Приятного просмотра!
источник
#cpp
👉@bookflow
👍8
Алгоритмы сортировки и анализ Big-O
Сортировка данных — это базовая задача в программировании. Существует множество алгоритмов сортировки, каждый из которых имеет свои преимущества и недостатки. Для оценки их эффективности мы используем анализ сложности алгоритмов — Big-O.
Big-O нотация показывает, как время выполнения алгоритма растет в зависимости от размера входных данных. Она позволяет нам абстрагироваться от деталей реализации и сосредоточиться на масштабируемости алгоритма.
Рассмотрим несколько распространённых алгоритмов сортировки:
🔵 Пузырьковая сортировка (Bubble Sort)
- Идея: многократно проходим по списку, попарно меняя местами элементы, если они стоят в неправильном порядке.
- Худший случай: O(n²)
- Средний случай: O(n²)
- Лучший случай (уже отсортированный список): O(n)
Bubble Sort прост для понимания, но крайне неэффективен для больших объемов данных.
🔵 Сортировка вставками (Insertion Sort)
- Идея: поэлементно вставляем каждый новый элемент в отсортированную часть списка.
- Худший случай: O(n²)
- Средний случай: O(n²)
- Лучший случай: O(n)
Подходит для небольших наборов данных или почти отсортированных списков.
🔵 Быстрая сортировка (Quick Sort)
- Идея: выбираем опорный элемент и перераспределяем элементы так, чтобы меньшие стояли слева, а большие — справа.
- Худший случай: O(n²) (при неудачном выборе опорного элемента)
- Средний случай: O(n log n)
- Лучший случай: O(n log n)
Quick Sort очень эффективен на практике и часто используется в стандартных библиотеках.
🔵 Сортировка слиянием (Merge Sort)
- Идея: рекурсивно делим список пополам, сортируем части и объединяем их.
- Худший, средний и лучший случаи: O(n log n)
Merge Sort стабилен и эффективен, особенно для работы с большими файлами, но требует дополнительной памяти.
Заключение
Понимание алгоритмов сортировки и анализа Big-O помогает выбирать оптимальные решения для различных задач. Хотя простые алгоритмы легко реализовать, более эффективные методы значительно выигрывают при масштабировании.
https://medium.com/@ssbothwell/sorting-algorithms-and-big-o-analysis-332ce7b8e3a1
👉@bookflow
Сортировка данных — это базовая задача в программировании. Существует множество алгоритмов сортировки, каждый из которых имеет свои преимущества и недостатки. Для оценки их эффективности мы используем анализ сложности алгоритмов — Big-O.
Big-O нотация показывает, как время выполнения алгоритма растет в зависимости от размера входных данных. Она позволяет нам абстрагироваться от деталей реализации и сосредоточиться на масштабируемости алгоритма.
Рассмотрим несколько распространённых алгоритмов сортировки:
- Идея: многократно проходим по списку, попарно меняя местами элементы, если они стоят в неправильном порядке.
- Худший случай: O(n²)
- Средний случай: O(n²)
- Лучший случай (уже отсортированный список): O(n)
Bubble Sort прост для понимания, но крайне неэффективен для больших объемов данных.
- Идея: поэлементно вставляем каждый новый элемент в отсортированную часть списка.
- Худший случай: O(n²)
- Средний случай: O(n²)
- Лучший случай: O(n)
Подходит для небольших наборов данных или почти отсортированных списков.
- Идея: выбираем опорный элемент и перераспределяем элементы так, чтобы меньшие стояли слева, а большие — справа.
- Худший случай: O(n²) (при неудачном выборе опорного элемента)
- Средний случай: O(n log n)
- Лучший случай: O(n log n)
Quick Sort очень эффективен на практике и часто используется в стандартных библиотеках.
- Идея: рекурсивно делим список пополам, сортируем части и объединяем их.
- Худший, средний и лучший случаи: O(n log n)
Merge Sort стабилен и эффективен, особенно для работы с большими файлами, но требует дополнительной памяти.
Заключение
Понимание алгоритмов сортировки и анализа Big-O помогает выбирать оптимальные решения для различных задач. Хотя простые алгоритмы легко реализовать, более эффективные методы значительно выигрывают при масштабировании.
https://medium.com/@ssbothwell/sorting-algorithms-and-big-o-analysis-332ce7b8e3a1
👉@bookflow
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Контейнеры Linux в 500 строках кода
Я уже много лет прямо или косвенно использую контейнеры Linux, но мне хотелось познакомиться с ними поближе. Поэтому я написал немного кода. Раньше это было 500 строк кода, клянусь, но я немного изменил его с момента публикации; в итоге получилось примерно на 70 строк больше.
Статья объясняет, как работают Linux-контейнеры, показывая минимальную реализацию на 500 строках кода. Она рассматривает ключевые концепции, такие как namespaces, cgroups и монтирование файловых систем, и даёт простое, но функциональное представление о механике, которая лежит в основе контейнеров, например, Docker. Основная цель — дать читателю ясное и практическое введение в то, как работают контейнеры на базовом уровне.
https://blog.lizzie.io/linux-containers-in-500-loc.html
#cpp
👉@bookflow
Я уже много лет прямо или косвенно использую контейнеры Linux, но мне хотелось познакомиться с ними поближе. Поэтому я написал немного кода. Раньше это было 500 строк кода, клянусь, но я немного изменил его с момента публикации; в итоге получилось примерно на 70 строк больше.
Статья объясняет, как работают Linux-контейнеры, показывая минимальную реализацию на 500 строках кода. Она рассматривает ключевые концепции, такие как namespaces, cgroups и монтирование файловых систем, и даёт простое, но функциональное представление о механике, которая лежит в основе контейнеров, например, Docker. Основная цель — дать читателю ясное и практическое введение в то, как работают контейнеры на базовом уровне.
https://blog.lizzie.io/linux-containers-in-500-loc.html
#cpp
👉@bookflow
👍4
SuperEdge
Это система управления контейнерами с открытым исходным кодом для пограничных вычислений, позволяющая управлять вычислительными ресурсами и контейнерными приложениями в нескольких пограничных регионах. В текущем подходе эти ресурсы и приложения управляются как единый кластер Kubernetes. Родной кластер Kubernetes может быть легко преобразован в кластер SuperEdge.
https://github.com/superedge/superedge
#devops
👉@bookflow
Это система управления контейнерами с открытым исходным кодом для пограничных вычислений, позволяющая управлять вычислительными ресурсами и контейнерными приложениями в нескольких пограничных регионах. В текущем подходе эти ресурсы и приложения управляются как единый кластер Kubernetes. Родной кластер Kubernetes может быть легко преобразован в кластер SuperEdge.
https://github.com/superedge/superedge
#devops
👉@bookflow
👍3❤1
Создаем свой собственный Lisp
Если вы хотите изучить язык C или когда-либо задумывались о том, как создать свой собственный язык программирования, эта книга для вас.
Всего за несколько строк кода я научу вас использовать C, и вместе мы начнем создавать ваш собственный язык.
По пути мы узнаем о странной и удивительной природе Lisp, как развивать реальный проект, лаконично решать задачи и писать красивый код!
Эту книгу можно бесплатно прочитать онлайн, так что вы можете начать прямо сейчас! Но для тех, кто хочет выразить свою поддержку или получить лучший опыт чтения, книга также доступна для покупки в печатном формате или недорого в основных электронных форматах.
https://www.buildyourownlisp.com/contents
#cpp
👉 @bookflow
Если вы хотите изучить язык C или когда-либо задумывались о том, как создать свой собственный язык программирования, эта книга для вас.
Всего за несколько строк кода я научу вас использовать C, и вместе мы начнем создавать ваш собственный язык.
По пути мы узнаем о странной и удивительной природе Lisp, как развивать реальный проект, лаконично решать задачи и писать красивый код!
Эту книгу можно бесплатно прочитать онлайн, так что вы можете начать прямо сейчас! Но для тех, кто хочет выразить свою поддержку или получить лучший опыт чтения, книга также доступна для покупки в печатном формате или недорого в основных электронных форматах.
https://www.buildyourownlisp.com/contents
#cpp
👉 @bookflow
❤3👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Chat2DB
Платформа управления данными на основе искусственного интеллекта. AI-инструмент, который позволяет преобразовывать промпты на естественном языке в SQL-запросы.
https://github.com/chat2db/Chat2DB
👉 @bookflow
Платформа управления данными на основе искусственного интеллекта. AI-инструмент, который позволяет преобразовывать промпты на естественном языке в SQL-запросы.
https://github.com/chat2db/Chat2DB
👉 @bookflow
👍4❤1
Sveltos: Kubernetes add-on controller
Это дополнительный контроллер Kubernetes, который упрощает развертывание и управление дополнениями и приложениями на нескольких кластерах. Он запускается на управляющем кластере и может программно развертывать и управлять дополнениями и приложениями на любом кластере в парке, включая сам управляющий кластер. Sveltos поддерживает различные форматы дополнений, включая диаграммы Helm, необработанный YAML, Kustomize, Carvel ytt и Jsonnet.
https://github.com/projectsveltos/addon-controller
#devops
👉 @bookflow
Это дополнительный контроллер Kubernetes, который упрощает развертывание и управление дополнениями и приложениями на нескольких кластерах. Он запускается на управляющем кластере и может программно развертывать и управлять дополнениями и приложениями на любом кластере в парке, включая сам управляющий кластер. Sveltos поддерживает различные форматы дополнений, включая диаграммы Helm, необработанный YAML, Kustomize, Carvel ytt и Jsonnet.
https://github.com/projectsveltos/addon-controller
#devops
👉 @bookflow
👍1
🚀 Подборка Telegram каналов для программистов
Системное администрирование, DevOps 📌
https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux
1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8
https://www.tg-me.com/razrab_1C 1C Разработчик
https://www.tg-me.com/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Программирование C++📌
https://www.tg-me.com/cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия.
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python
Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр
Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Big Data, Machine Learning
Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
https://www.tg-me.com/matgeoru Математика | Геометрия | Логика
Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
Системное администрирование, DevOps 📌
https://www.tg-me.com/bash_srv Bash Советы
https://www.tg-me.com/win_sysadmin Системный Администратор Windows
https://www.tg-me.com/sysadmin_girl Девочка Сисадмин
https://www.tg-me.com/srv_admin_linux Админские угодья
https://www.tg-me.com/linux_srv Типичный Сисадмин
https://www.tg-me.com/devopslib Библиотека девопса | DevOps, SRE, Sysadmin
https://www.tg-me.com/linux_odmin Linux: Системный администратор
https://www.tg-me.com/devops_star DevOps Star (Звезда Девопса)
https://www.tg-me.com/i_linux Системный администратор
https://www.tg-me.com/linuxchmod Linux
https://www.tg-me.com/sys_adminos Системный Администратор
https://www.tg-me.com/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://www.tg-me.com/sysadminof Книги для админов, полезные материалы
https://www.tg-me.com/i_odmin Все для системного администратора
https://www.tg-me.com/i_odmin_book Библиотека Системного Администратора
https://www.tg-me.com/i_odmin_chat Чат системных администраторов
https://www.tg-me.com/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://www.tg-me.com/sysadminoff Новости Линукс Linux
1C разработка 📌
https://www.tg-me.com/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://www.tg-me.com/DevLab1C 1С:Предприятие 8
https://www.tg-me.com/razrab_1C 1C Разработчик
https://www.tg-me.com/buh1C_prog 1C Программист | Бухгалтерия и Учёт
https://www.tg-me.com/rabota1C_rus Вакансии для программистов 1С
Программирование C++📌
https://www.tg-me.com/cpp_lib Библиотека C/C++ разработчика
https://www.tg-me.com/cpp_knigi Книги для программистов C/C++
https://www.tg-me.com/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://www.tg-me.com/pythonofff Python академия.
https://www.tg-me.com/BookPython Библиотека Python разработчика
https://www.tg-me.com/python_real Python подборки на русском и английском
https://www.tg-me.com/python_360 Книги по Python
Java разработка 📌
https://www.tg-me.com/BookJava Библиотека Java разработчика
https://www.tg-me.com/java_360 Книги по Java Rus
https://www.tg-me.com/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://www.tg-me.com/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://www.tg-me.com/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://www.tg-me.com/developer_mobila Мобильная разработка
https://www.tg-me.com/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://www.tg-me.com/frontend_1 Подборки для frontend разработчиков
https://www.tg-me.com/frontend_sovet Frontend советы, примеры и практика!
https://www.tg-me.com/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://www.tg-me.com/game_devv Все о разработке игр
Библиотеки 📌
https://www.tg-me.com/book_for_dev Книги для программистов Rus
https://www.tg-me.com/programmist_of Книги по программированию
https://www.tg-me.com/proglb Библиотека программиста
https://www.tg-me.com/bfbook Книги для программистов
БигДата, машинное обучение 📌
https://www.tg-me.com/bigdata_1 Big Data, Machine Learning
Программирование 📌
https://www.tg-me.com/bookflow Лекции, видеоуроки, доклады с IT конференций
https://www.tg-me.com/rust_lib Полезный контент по программированию на Rust
https://www.tg-me.com/golang_lib Библиотека Go (Golang) разработчика
https://www.tg-me.com/itmozg Программисты, дизайнеры, новости из мира IT
https://www.tg-me.com/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://www.tg-me.com/nodejs_lib Подборки по Node js и все что с ним связано
https://www.tg-me.com/ruby_lib Библиотека Ruby программиста
https://www.tg-me.com/lifeproger Жизнь программиста. Авторский канал.
QA, тестирование 📌
https://www.tg-me.com/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://www.tg-me.com/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://www.tg-me.com/thehaking Канал о кибербезопасности
https://www.tg-me.com/xakep_2 Хакер Free
Книги, статьи для дизайнеров 📌
https://www.tg-me.com/ux_web Статьи, книги для дизайнеров
Математика 📌
https://www.tg-me.com/Pomatematike Канал по математике
https://www.tg-me.com/phis_mat Обучающие видео, книги по Физике и Математике
https://www.tg-me.com/matgeoru Математика | Геометрия | Логика
Excel лайфхак📌
https://www.tg-me.com/Excel_lifehack
https://www.tg-me.com/mir_teh Мир технологий (Technology World)
Вакансии 📌
https://www.tg-me.com/sysadmin_rabota Системный Администратор
https://www.tg-me.com/progjob Вакансии в IT
Telegram
Bash Советы
🚀 Секреты и советы по Bash
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале.
🔹 Автоматизация, скрипты и оптимизация работы в Linux.
🔹 Стать мастером Bash легко – просто подпишись!
💻 Прокачивай терминал вместе с нами! 👇
👎1
Зачем программисту дизассемблер в 2025: отладка на слепую под редкие MCU
Даже в 2025 году, когда вокруг нейросети, автогенерация кода и IDE с предиктивным интеллектом, работа с редкими микроконтроллерами всё ещё может обернуться настоящим хардкором. Особенно, если речь идёт о «слепой» отладке без отладчика, когда в арсенале только прошивка, HEX-файл и пара байтов на выводе. В этой статье — личный опыт, много хардкора, дизассемблирование вручную и поиск глюка в 2 КБ бинаря.
Когда говорят «отладка», в 2025 году чаще всего имеют в виду жмяк на F5 в Visual Studio Code или лог с CI/CD. Но в embedded-мире, особенно если ты копаешься в системах с 8-битным контроллером 2006 года выпуска, это слово может означать кое-что пострашнее. Например — «прошивка вылетает на 4-й секунде, данных в UART нет, отладочного интерфейса нет, документации почти нет, а заказчик просит сделать "как раньше работало"». И вот тут начинается старый добрый reverse engineering.
https://habr.com/ru/articles/907810/
👉 @bookflow
Даже в 2025 году, когда вокруг нейросети, автогенерация кода и IDE с предиктивным интеллектом, работа с редкими микроконтроллерами всё ещё может обернуться настоящим хардкором. Особенно, если речь идёт о «слепой» отладке без отладчика, когда в арсенале только прошивка, HEX-файл и пара байтов на выводе. В этой статье — личный опыт, много хардкора, дизассемблирование вручную и поиск глюка в 2 КБ бинаря.
Когда говорят «отладка», в 2025 году чаще всего имеют в виду жмяк на F5 в Visual Studio Code или лог с CI/CD. Но в embedded-мире, особенно если ты копаешься в системах с 8-битным контроллером 2006 года выпуска, это слово может означать кое-что пострашнее. Например — «прошивка вылетает на 4-й секунде, данных в UART нет, отладочного интерфейса нет, документации почти нет, а заказчик просит сделать "как раньше работало"». И вот тут начинается старый добрый reverse engineering.
https://habr.com/ru/articles/907810/
👉 @bookflow
👍4