В основе паттерна «цепочка» лежит идея последовательной обработки запроса через несколько микросервисов. Клиент делает запрос, который обрабатывается первым сервисом (A). Этот сервис передает результат следующему (B), затем — следующему (C) и так далее, пока не будет получен финальный результат, возвращаемый клиенту.
Этот процесс можно представить как конвейер, где каждый этап выполняет строго определенную задачу.
Преимущества паттерна
Недостатки паттерна
Когда использовать паттерн «Цепочка»?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6😁5❤1
Мы запустили свежий канал, где делимся идеями для дизайна интерфейсов. Всё самое стильное, оригинальное и вдохновляющее теперь в одном месте.
📌 Чем полезен канал?
→ Идеи для дизайна интерфейсов.
→ Анимации, которые можно повторить или адаптировать.
→ Лёгкий способ искать вдохновение перед новым проектом.
👉 Подписывайтесь и вдохновляйтесь: UX in GIF
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🚀 Testcontainers в .NET с PostgreSQL и pgvector
💡 Мы нашли статью о том, как использовать Testcontainers в .NET для работы с PostgreSQL и расширением pgvector. Если вы хотите сделать тестирование интеграции удобнее и мощнее, то это именно то, что вам нужно!
📌 Что такое Testcontainers?
Это библиотека, которая позволяет запускать Docker-контейнеры прямо из тестов, создавая временные окружения для тестирования. Это упрощает интеграционное тестирование, минимизируя необходимость ручной настройки баз данных, брокеров сообщений и других сервисов.
📌 Что такое pgvector?
pgvector — это расширение PostgreSQL, добавляющее поддержку работы с векторными данными. Это крайне полезно для приложений, которые используют эмбеддинги (например, из OpenAI или Hugging Face) для поиска, машинного обучения или рекомендательных систем.
📌 О чём статья?
➖ Как настроить Testcontainers для работы с PostgreSQL в .NET.
➖ Как подключить расширение pgvector в тестовой базе данных.
➖ Пошаговое руководство по созданию контейнера с PostgreSQL, выполнению миграций и настройке данных для тестов.
➖ Примеры использования pgvector для хранения и поиска векторных данных.
Автор показывает, как использовать Testcontainers для запуска PostgreSQL с уже установленным pgvector. Это позволяет тестировать функции работы с векторами (например, поиск ближайших соседей) без необходимости настраивать базу данных вручную.
📌 Что такое Testcontainers?
Это библиотека, которая позволяет запускать Docker-контейнеры прямо из тестов, создавая временные окружения для тестирования. Это упрощает интеграционное тестирование, минимизируя необходимость ручной настройки баз данных, брокеров сообщений и других сервисов.
📌 Что такое pgvector?
pgvector — это расширение PostgreSQL, добавляющее поддержку работы с векторными данными. Это крайне полезно для приложений, которые используют эмбеддинги (например, из OpenAI или Hugging Face) для поиска, машинного обучения или рекомендательных систем.
📌 О чём статья?
Автор показывает, как использовать Testcontainers для запуска PostgreSQL с уже установленным pgvector. Это позволяет тестировать функции работы с векторами (например, поиск ближайших соседей) без необходимости настраивать базу данных вручную.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍5❤2
💻📈 Итоги года Proglib: 2024 год в цифрах и достижениях
Как оставаться в курсе самых актуальных тенденций, не теряя времени на поиск информации? Итоги года Proglib покажут, как платформа объединила разработчиков, помогая им оставаться впереди.
✅ Загляните в цифры, достижения и материалы, которые сделали этот год ярким!
Как оставаться в курсе самых актуальных тенденций, не теряя времени на поиск информации? Итоги года Proglib покажут, как платформа объединила разработчиков, помогая им оставаться впереди.
✅ Загляните в цифры, достижения и материалы, которые сделали этот год ярким!
❤6👍5🥰1
🌍✈️ 6 идей, как ускорить поиск работы за рубежом
Статья для тех, кто устал от отказов и безрезультатных поисков. Узнайте секреты, которые помогут вам найти работу за рубежом в разы быстрее!
👉 Читать статью
Статья для тех, кто устал от отказов и безрезультатных поисков. Узнайте секреты, которые помогут вам найти работу за рубежом в разы быстрее!
👉 Читать статью
👍1🌚1
👋 Привет, мир: несколько креативных способов написать классический код на C#
Иногда самые простые вещи могут быть невероятно увлекательными. В этой статье автор собрал разнообразные способы написать легендарное 'Hello, World!' на C#. Это не просто базовые примеры, а настоящая коллекция техник и подходов, которая понравится как новичкам, так и опытным разработчикам.
📎 Узнайте, как добавить немного креатива даже в такие тривиальные задачи!
Иногда самые простые вещи могут быть невероятно увлекательными. В этой статье автор собрал разнообразные способы написать легендарное 'Hello, World!' на C#. Это не просто базовые примеры, а настоящая коллекция техник и подходов, которая понравится как новичкам, так и опытным разработчикам.
📎 Узнайте, как добавить немного креатива даже в такие тривиальные задачи!
😁13👏3🥱3👍2🌚1
Бесплатный курс по фулстек-разработке — реальность 🔥
Под Новый год Дед Мороз приносит подарки, а наши подписчики — собственные курсы! Сергей Дмитриев, который занимается коммерческой разработкой уже 15 лет, поделился с нами своим обучением по созданию веб-сервиса с нуля. В курс входит 141 урок, 28 часов видео, исходный код и чат поддержки для участников.
Подробнее о курсе читайте на Хабре или в телеграм-канале Сергея
Под Новый год Дед Мороз приносит подарки, а наши подписчики — собственные курсы! Сергей Дмитриев, который занимается коммерческой разработкой уже 15 лет, поделился с нами своим обучением по созданию веб-сервиса с нуля. В курс входит 141 урок, 28 часов видео, исходный код и чат поддержки для участников.
Подробнее о курсе читайте на Хабре или в телеграм-канале Сергея
С наступающим, С# сообщество! Или уже наступившим! 🎆 🎆
Уже придумали чем заняться в новом году?😉
Если нет, то предлагаем вам подборку фильмов и сериалов к просмотру:
🔠 Остановись и гори (2014)
🅰️ The IT Crowd (2006-2013)
🔠 Revolution OS (2001)
©️ Разрабы (2020)
🔠 Игра в имитацию (2014)
Уже придумали чем заняться в новом году?
Если нет, то предлагаем вам подборку фильмов и сериалов к просмотру:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11👏3
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍3
Давайте признавайтесь в комментариях — что вам подарили? 👇
#интерактив
#интерактив
This media is not supported in your browser
VIEW IN TELEGRAM
Вот и новый год! 🎆 Давайте погадаем что там нас ждёт?
Делайте скриншот и присылайте в комментарии!⬇️
#интерактив
Делайте скриншот и присылайте в комментарии!
#интерактив
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉5👍3❤1
Работаете в Visual Studio 2022? Тогда у нас для вас отличные новости! Теперь окно поиска кода и функций можно закрепить в интерфейсе как полноценную панель инструментов. Это обновление делает рабочий процесс ещё удобнее и эффективнее.
Что нового?
Раньше окно поиска появлялось поверх других окон, что могло мешать. Теперь его можно закрепить в любом месте интерфейса Visual Studio — например, рядом с «Обозревателем решений». Чтобы сделать это, нажмите на значок в правом верхнем углу окна поиска. 🎯
Добавлена кнопка для включения/выключения панели предварительного просмотра (иконка глаза). Если панель включена, она автоматически адаптируется под размеры окна поиска, предоставляя удобный просмотр найденного кода. 👁
Эти изменения помогают лучше организовать рабочее пространство, особенно если вы часто пользуетесь поиском кода (Ctrl + T) или функций (Ctrl + Q).
#новость
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14😁5
⚙️ Подпишись на нашу еженедельную email-рассылку, чтобы быть в курсе последних открытий и тенденций в мире бэкенда.
В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования
👉Подписаться👈
В еженедельных письмах ты найдешь:
● Языки программирования и фреймворки для бэкенда
● Архитектура и проектирование серверных приложений
● Базы данных и управление данными
● Безопасность и защита данных
● Облачные технологии и DevOps
● API и интеграции
● Тестирование и отладка
● Инструменты и утилиты для бэкенд-разработчиков
● Лучшие практики и паттерны проектирования
👉Подписаться👈
👍2🥰1😁1
Microsoft продолжает улучшать Visual Studio, делая работу разработчиков быстрее и удобнее. Новое обновление для поиска кода теперь позволяет мгновенно переходить к конкретной строке как в текущем, так и в других файлах.
Как это работает?
Введите в поле поиска кода : и номер строки (например, :42), чтобы сразу открыть нужную строку в активном документе.
Укажите название файла, затем двоеточие и номер строки (например, Order:43). Visual Studio найдёт файл и сразу покажет нужный участок кода.
#новость
Please open Telegram to view this post
VIEW IN TELEGRAM
Что бы вы хотели получить в качестве подарка в розыгрыше?
Anonymous Poll
14%
Книги по разработке
12%
IT-курсы
5%
Карьерные консультации, чтобы получить оффер мечты
34%
Компьютер или ноутбук
13%
Мощные комплектующие для ПК
4%
Игровая приставка
3%
Гаджеты для дома: робот-пылесос, проектор и т. д.
8%
Подписки на GitHub Copilot, JetBrains, LinkedIn Premium и т. д.
6%
Оплаченная поездка на IT-конференцию или хакатон
1%
Другой вариант (✏️ напишу в комментариях)
🤔5👍2
🏗️ Зачем нужен паттерн Factory в C#?
Factory (Фабрика) — это паттерн проектирования, который упрощает создание объектов, отделяя логику их создания от основного кода.
Почему нужно использовать этот паттерн?
1️⃣ Слабое связывание — код не зависит от конкретных реализаций, работая только с интерфейсами или абстрактными классами.
2️⃣ Гибкость — легко добавлять новые типы объектов без изменения клиентского кода.
3️⃣ Чистота кода — детали создания объектов скрыты в фабрике, упрощая логику приложения.
Пример использования
Фабрика может быть полезна, например, при создании объектов для различных типов телефонов. Клиенту нужно лишь указать тип, а фабрика сама вернёт нужный объект.
📎 Для подробного кода и примеров читайте статью.
Factory (Фабрика) — это паттерн проектирования, который упрощает создание объектов, отделяя логику их создания от основного кода.
Почему нужно использовать этот паттерн?
1️⃣ Слабое связывание — код не зависит от конкретных реализаций, работая только с интерфейсами или абстрактными классами.
2️⃣ Гибкость — легко добавлять новые типы объектов без изменения клиентского кода.
3️⃣ Чистота кода — детали создания объектов скрыты в фабрике, упрощая логику приложения.
Пример использования
Фабрика может быть полезна, например, при создании объектов для различных типов телефонов. Клиенту нужно лишь указать тип, а фабрика сама вернёт нужный объект.
📎 Для подробного кода и примеров читайте статью.
❤9🥱3👍2🔥1
🤔👨💻 Что такое MapGroup в минимальных API?
MapGroup — это функция в минимальных API ASP.NET Core, позволяющая группировать связанные конечные точки под общим префиксом маршрута и общей конфигурацией. Это улучшает организацию кода, делая его более читаемым и поддерживаемым.
Преимущества использования MapGroup:
➕ Применение общего префикса маршрута: все конечные точки в группе автоматически получают общий префикс, что упрощает управление маршрутами.
➕ Общий middleware: можно применять middleware, такие как аутентификация или логирование, ко всем конечным точкам в группе одновременно.
➕ Логическая организация: группировка связанных конечных точек (например, /users, /orders) помогает структурировать код по функциональным областям.
Пример использования MapGroup:
В этом примере все конечные точки, связанные с пользователями, сгруппированы под префиксом /users, что упрощает их управление и масштабирование.
❓ Когда использовать MapGroup:
➖ При наличии нескольких конечных точек с общим префиксом маршрута.
➖ Когда требуется применить одинаковый middleware к группе конечных точек.
➖ Для улучшения читаемости и организации кода в проектах с большим количеством маршрутов.
MapGroup — это функция в минимальных API ASP.NET Core, позволяющая группировать связанные конечные точки под общим префиксом маршрута и общей конфигурацией. Это улучшает организацию кода, делая его более читаемым и поддерживаемым.
Преимущества использования MapGroup:
Пример использования MapGroup:
var app = builder.Build();
var usersGroup = app.MapGroup("/users");
usersGroup.MapGet("/", () => "Список пользователей");
usersGroup.MapGet("/{id}", (int id) => $"Детали пользователя с ID {id}");
usersGroup.MapPost("/", () => "Создать нового пользователя");
app.Run();
В этом примере все конечные точки, связанные с пользователями, сгруппированы под префиксом /users, что упрощает их управление и масштабирование.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤2🔥1
Ваш возраст
Anonymous Poll
4%
Менее 18 лет
23%
18-24 года
36%
25-34 года
26%
35-44 года
8%
45-54 года
1%
55-64 года
2%
65 лет и старше
❤2
В какой стране вы живете последние 3 месяца?
Anonymous Poll
68%
Россия
6%
Украина
6%
Беларусь
3%
Казахстан
2%
Польша
1%
Кыргызстан
4%
Узбекистан
1%
США
1%
Грузия
9%
Другое (✏️ напишу в комментариях)
🔥5❤1