🪶 Как следовать принципу DRY при настройке Apache APISIX
DRY — один из самых известных принципов разработки ПО: он помогает избежать ненужного повторения фрагментов кода, которые выполняют одни и те же действия. DRY также стоит применять при настройке конфигурации сложных систем, поскольку этот принцип:
☑️ Делает конфигурацию более компактной и легкой для понимания.
☑️ Упрощает поддержку — когда нужно внести изменения, вы делаете это только в одном месте.
☑️ Повышает читаемость — конфигурация становится более структурированной и логичной, что облегчает ее понимание.
☑️ Улучшает масштабируемость — при усложнении конфигурации принципы DRY помогают сохранять ее управляемой и расширяемой.
☑️ Сокращает время на настройку — используя переиспользуемые компоненты, можно быстрее создавать новые конфигурации или модифицировать существующие.
В качестве примера в статье рассматриваем, как применять DRY при настройке конфигурации API-шлюза Apache APISIX.
🔗 Читать статью
🔗 Зеркало
DRY — один из самых известных принципов разработки ПО: он помогает избежать ненужного повторения фрагментов кода, которые выполняют одни и те же действия. DRY также стоит применять при настройке конфигурации сложных систем, поскольку этот принцип:
☑️ Делает конфигурацию более компактной и легкой для понимания.
☑️ Упрощает поддержку — когда нужно внести изменения, вы делаете это только в одном месте.
☑️ Повышает читаемость — конфигурация становится более структурированной и логичной, что облегчает ее понимание.
☑️ Улучшает масштабируемость — при усложнении конфигурации принципы DRY помогают сохранять ее управляемой и расширяемой.
☑️ Сокращает время на настройку — используя переиспользуемые компоненты, можно быстрее создавать новые конфигурации или модифицировать существующие.
В качестве примера в статье рассматриваем, как применять DRY при настройке конфигурации API-шлюза Apache APISIX.
🔗 Читать статью
🔗 Зеркало
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Полезные паттерны для интеграции/проектирования систем: на заметку разработчику
👉 Источник
#инфографика
👉 Источник
#инфографика
Please open Telegram to view this post
VIEW IN TELEGRAM
📨 Как работают очереди и брокеры сообщений
Очередь сообщений — структура данных, которая хранит сообщения в порядке FIFO. Представьте, что вашему приложению нужно обрабатывать файлы, которые загружают пользователи. Очередь сообщений в этом случае может выступать как очередь задач, обрабатывающая задания асинхронно:
1️⃣ Пользователь загружает большой файл для обработки.
2️⃣ Веб-сервер принимает файл и создает задание.
3️⃣ Задание добавляется в очередь задач, а файл загружается в объектное хранилище.
4️⃣ Позже рабочий процесс забирает задания из очереди одно за другим и обрабатывает их, получая файл из хранилища.
Это самый простой пример. Очереди сообщений можно использовать для:
✔️ Планирования и управления фоновыми задачами.
✔️ Распределения задач между несколькими рабочими процессами.
✔️ Управления сервисами подписки и уведомлений.
✔️ Буферизации данных.
✔️ Повторных попыток обработки платежей и многого другого.
Подробнее читайте в нашем гайде 👇
🔗 Читать статью
🔗 Зеркало
Очередь сообщений — структура данных, которая хранит сообщения в порядке FIFO. Представьте, что вашему приложению нужно обрабатывать файлы, которые загружают пользователи. Очередь сообщений в этом случае может выступать как очередь задач, обрабатывающая задания асинхронно:
1️⃣ Пользователь загружает большой файл для обработки.
2️⃣ Веб-сервер принимает файл и создает задание.
3️⃣ Задание добавляется в очередь задач, а файл загружается в объектное хранилище.
4️⃣ Позже рабочий процесс забирает задания из очереди одно за другим и обрабатывает их, получая файл из хранилища.
Это самый простой пример. Очереди сообщений можно использовать для:
✔️ Планирования и управления фоновыми задачами.
✔️ Распределения задач между несколькими рабочими процессами.
✔️ Управления сервисами подписки и уведомлений.
✔️ Буферизации данных.
✔️ Повторных попыток обработки платежей и многого другого.
Подробнее читайте в нашем гайде 👇
🔗 Читать статью
🔗 Зеркало
🔘 Bracket Pair Colorization Toggler — расширение VS Code (имеет более одного миллиона установок 🤯) , которое предоставляет простую команду для быстрого переключения глобального параметра Bracket Pair Colorization, добавленного в VS Code версии v1.60.
Просто нажмите Ctrl + Shift + P (Win, Linux) / Cmd + Shift + P (Mac) и найдите команду
📦 Установить
#инструменты
Просто нажмите Ctrl + Shift + P (Win, Linux) / Cmd + Shift + P (Mac) и найдите команду
Toggle 'Bracket Pair Colorization'
.📦 Установить
#инструменты
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
Спикер: Иван Потапов – Staff Machine Learning Engineer at ShareChat. Руководит командой, отвечающей за качество рекомендаций, и имеет 8-летний опыт в сфере машинного обучения.
– Теорию вероятностей: случайные величины, математическое ожидание и дисперсию.
– Линейную алгебру: векторы, матрицы, собственные векторы и собственные значения.
– Математический анализ: производные и разложение функций в ряд Тейлора.
Понимание математических основ помогает глубже разобраться в работающих под капотом алгоритмах ML/DL и эффективно применять их на практике.
Присоединяйтесь к нам и совершенствуйте свои навыки в машинном обучении!
📌 Регистрация по ссылке: https://proglib.io/w/508933a2
Please open Telegram to view this post
VIEW IN TELEGRAM
🦀 Как начать разработку ядра Linux на языке Rust?
Существует несколько способов установки инструментов Rust, необходимых для разработки ядра. Простой способ — использовать пакеты вашего Linux-дистрибутива, если они подходят. Преимущество заключается в том, что дистрибутив обычно соответствует версии LLVM, используемой Rust и Clang.
Другой способ — использовать предварительно собранные стабильные версии LLVM+Rust с kernel.org. Это те же компактные и быстрые сборки LLVM с добавленными версиями Rust, которые поддерживает проект Rust для Linux. Предоставляется два набора: latest LLVM и matching LLVM.
В качестве альтернативы можно установить основные компоненты с помощью rustup, standalone установщика Rust и/или сборки.
👉 Подробнее
Существует несколько способов установки инструментов Rust, необходимых для разработки ядра. Простой способ — использовать пакеты вашего Linux-дистрибутива, если они подходят. Преимущество заключается в том, что дистрибутив обычно соответствует версии LLVM, используемой Rust и Clang.
Другой способ — использовать предварительно собранные стабильные версии LLVM+Rust с kernel.org. Это те же компактные и быстрые сборки LLVM с добавленными версиями Rust, которые поддерживает проект Rust для Linux. Предоставляется два набора: latest LLVM и matching LLVM.
В качестве альтернативы можно установить основные компоненты с помощью rustup, standalone установщика Rust и/или сборки.
👉 Подробнее
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
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 запрещена на территории РФ
Тема: разработка креативных решений с использованием технологий Wix
Призовой фонд: победители получат денежные призы
Подробности и правила участия можно узнать по ссылке:
🔗 Wix Studio Challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
🐧 omakub — настройка Omakase для разработчиков Ubuntu 24.04 от создателя Ruby on Rails David Heinemeier Hansson
Превратите новую установку Ubuntu в полностью настроенную, красивую и современную систему веб-разработки, выполнив одну команду. Omakub — это взгляд на то, каким Linux может быть в лучшем виде.
👉 Подробнее
Превратите новую установку Ubuntu в полностью настроенную, красивую и современную систему веб-разработки, выполнив одну команду. Omakub — это взгляд на то, каким Linux может быть в лучшем виде.
wget -qO- https://omakub.org/install | bash
👉 Подробнее
Очереди задач: простой способ пакетной обработки
Как работает очередь задач на примере создания миниатюр для видео.
Цель: после загрузки видео оно должно высветиться в виде миниатюры
Как работает очередь задач на примере создания миниатюр для видео.
Цель: после загрузки видео оно должно высветиться в виде миниатюры
🤯 Ситуация:
Вам поступает задача, вы на глаз оцениваете ее в две недели и получаете одобрение по срокам. Сначала все идет хорошо, пилите проект и ничто не предвещает беды.
Со временем задача усложняется, потому что данные приходят с задержками и вразнобой. Вы не делитесь с руководителем своими трудностями, потому что тогда это можно посчитать за некомпетентность.
А когда приходит время сдачи работы, выясняется, что большинство работы сделано неправильно.
💬 Как думаете, как стоило поступить исполнителю?
Вам поступает задача, вы на глаз оцениваете ее в две недели и получаете одобрение по срокам. Сначала все идет хорошо, пилите проект и ничто не предвещает беды.
Со временем задача усложняется, потому что данные приходят с задержками и вразнобой. Вы не делитесь с руководителем своими трудностями, потому что тогда это можно посчитать за некомпетентность.
А когда приходит время сдачи работы, выясняется, что большинство работы сделано неправильно.
💬 Как думаете, как стоило поступить исполнителю?
Please open Telegram to view this post
VIEW IN TELEGRAM