23284
Все самое полезное для C#-разработчика в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/b60af5a4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
🏃♀️ 40+ каналов, которые должен читать каждый разработчик
Отобрали для вас полезные и проверенные каналы для программистов — в них вы найдете все самое интересное, от технических новостей до практических гайдов.
IT Job Hub | Работа и вакансии в IT — избранные IT-вакансии
Библиотека программиста — новости из мира IT и технологий
Книги для программистов — самые годные книги по любым языкам и стекам
IT-мемы — мемы про жизу айтишника
Proglib Academy — обучение и курсы, чтобы стать топовым специалистом
Азбука айтишника — азы из мира разработки
Библиотека нейросетей — лайфхаки и промпты для разных задач, баттлы нейронок и новости из мира ИИ
Библиотека фронтендера — все о JS, React, Angular и не только
Библиотека мобильного разработчика — лайфхаки и новости из мира Swift и Kotlin
Библиотека хакера — уязвимости, атаки, бэкдоры и как от них защититься
Библиотека тестировщика — самое интересное о том, как крашить код
🦫 Go
Библиотека Go-разработчика
Библиотека задач по Go
Библиотека Go для собеса
Вакансии по Go
#️⃣ C#
Библиотека шарписта
Библиотека задач по C#
Библиотека собеса по C#
Вакансии по C#
🔧 DevOps
Библиотека devops’а
Библиотека задач по DevOps
Библиотека собеса по DevOps
Вакансии по DevOps & SRE
🐘 PHP
Библиотека пхпшника
Библиотека задач по PHP
Библиотека PHP для собеса
Вакансии по PHP, Symfony, Laravel
🐍 Python
Библиотека питониста
Библиотека Python для собеса
Библиотека задач по Python
Вакансии по питону, Django, Flask
☕️ Java
Библиотека джависта
Библиотека задач по Java
Библиотека Java для собеса
Вакансии по Java
📊 Data Science
Библиотека дата-сайентиста
Библиотека задач по Data Science
Библиотека Data Science для собеса
Вакансии по Data Science
🎮 C++
Библиотека C/C++ разработчика
Библиотека задач по C++
Библиотека C++ для собеса
Вакансии по C++
Подписывайтесь на интересные вам каналы и сохраняйте пост в закладки, чтобы не потерять 🔑
🧮🔠 Математика в действии: решаем хитрые задачи по прогнозированию, оптимизации и логике
Статья, которая поможет развить навыки решения задач с помощью математики.
➡️ Вот что вас ждет
1️⃣ Прогнозирование численности населения — используем цепи Маркова для предсказания миграций между городом и пригородами.
2️⃣ Минимизация затрат — находим минимальное скалярное произведение векторов для оптимального распределения задач между работниками.
3️⃣ Машина времени — решаем задачу максимального числа пересекающихся временных интервалов с помощью заметающей прямой.
4️⃣ Алгоритм Целлера — вычисляем день недели по дате. Проверка на практике.
🔵 Хочешь прокачаться в математике для ML? Тогда разбирайся с этими задачами и не упусти вебинар: «Математика для ML: от теории к практике».
👉 Читать статью
📱 GitHub в стиле TikTok
GitTok — это новый способ исследовать репозитории GitHub.
Вместо привычного поиска и просмотра списков, пользователи просто свайпают через репозитории, как в TikTok, мгновенно получая основную информацию: описание, количество звёзд и недавнюю активность.
➡️ Полистать репозитории
🐸Библиотека шарписта
🔄 .NET Aspire 9.1: новые возможности
Microsoft продолжает улучшать экосистему .NET, и в последнем обновлении .NET Aspire 9.1 появилось немало полезных фич. Давайте посмотрим что нового.
Ключевые обновления
1️⃣ Отношения ресурсов — теперь на панели управления можно видеть иерархию ресурсов, где «родительские» и «дочерние» ресурсы отображаются вложенно.
2️⃣ Переопределение локализации — появилась возможность изменять язык панели управления независимо от настроек браузера, что обеспечивает большую гибкость для пользователей из разных регионов.
3️⃣ Фильтрация ресурсов — на странице ресурсов добавлены фильтры по типу ресурса, состоянию и состоянию здоровья, что облегчает навигацию и управление.
4️⃣ Расширенные детали ресурсов — при выборе ресурса в панели управления теперь отображаются дополнительные данные, включая ссылки, обратные ссылки и тома с их типами монтирования.
5️⃣ Поддержка CORS для локальных доменов — введена возможность настройки переменной окружения DOTNET_DASHBOARD_CORS_ALLOWED_ORIGINS, позволяющая панели управления получать телеметрию от других браузерных приложений, работающих на пользовательских локальных доменах.
6️⃣ Гибкость работы с консольными логами — теперь можно загружать логи для анализа в сторонних диагностических инструментах, а также очищать их прямо с панели управления.
📎 Подробнее в блоге компании
🐸Библиотека шарписта
⚡️ .NET 10 Preview 1
Команда .NET с радостью объявляет о выпуске первой предварительной версии .NET 10. Этот релиз включает значительные улучшения библиотеки, рантайма, SDK и другое. Давайте рассмотрим ключевые нововведения и улучшения.
Основные Улучшения:
➖ Библиотеки
Поиск сертификатов по отпечаткам, отличным от SHA-1.
Поддержка PEM-кодированных данных в ASCII/UTF-8.
Новые методы для работы с датами и строками, включая числовые порядки для сравнения строк.
Улучшения производительности и памяти в ZipArchive.
➖ Рантайм:
Девиртуализация методов интерфейса массива.
Аллокация стека для массивов значимых типов.
Поддержка AVX10.2.
➖ SDK:
• Обрезание ссылок на пакеты, предоставляемые фреймворком.
➖ C#:
• Поддержка nameof в несвязанных обобщениях.
• Неявные преобразования span.
• Поля, поддерживающие свойства.
• Модификаторы для простых лямбда-параметров.
➖ F#:
• Обновления языка, стандартной библиотеки и компилятора.
➖ Visual Basic:
• Поддержка ограничений unmanaged.
• Приоритет разрешения перегрузки.
➖ ASP.NET & Blazor:
• Поддержка OpenAPI 3.1.
• Генерация OpenAPI документов в формате YAML.
• Улучшения для интеграционного тестирования приложений.
➖ .NET MAUI:
• Улучшения качества и производительности, включая усовершенствования CollectionView для iOS и Mac Catalyst.
➖ Entity Framework Core:
• Поддержка оператора LeftJoin.
• Расширение метода ExecuteUpdateAsync.
➖ Контейнерны:
• Использование Ubuntu 24.04 и Debian 13 «Trixie» для контейнерных образов.
Оставайтесь с нами, обязательно рассмотрим самое интересное поближе.
➡️ Подробности превью
🐸Библиотека шарписта
🧠 Твоя БД скоро станет умнее тебя: 5 трендов open-source баз данных 2025
БД перестают быть просто хранилищем — теперь они оптимизируют запросы, автоматически анализируют данные и даже используют AI для прогнозов.
Какие фичи перевернут мир open-source БД в 2025? Узнайте в статье👇
🫢 Прочитать статью
🐸Библиотека devops'a
🔄 AutoMapper 14.0.0 – что нового
Недавно вышла новая версия AutoMapper. Она принесла важные улучшения для .NET-разработчиков, которые мы сейчас разберём.
Ключевые изменения:
✅ Поддержка .NET 8 — теперь AutoMapper полностью совместим с последней LTS-версией .NET.
✅ Исправление полиморфного маппинга — устранена проблема с явными/неявными отображениями наследуемых типов.
✅ Улучшенная валидация конфигурации — теперь ошибки собираются и выводятся как единое исключение, что упрощает отладку.
✅ Обновление соглашений об именовании — профиль маппинга теперь использует глобальные настройки.
✅ Оптимизация производительности — исправлены мелкие баги, улучшена блокировка потоков.
➡️ Подробности и код
🐸Библиотека шарписта
🧑💻 Не строка и не число
В словаре в C# ключами обычно служат строки или числа. Но что, если мы расскажем как использовать любые другие структуры.
Чтобы использовать свой класс как ключ, необходимо правильно переопределить два метода:
✅ Equals() – определяет, когда два объекта считаются равными.
✅ GetHashCode() – вычисляет хеш-код для корректной работы Dictionary.
Без этих переопределений словарь не сможет корректно сравнивать объекты.
➡️ Посмотреть реализацию
🐸Библиотека шарписта
Роботы уже помогают получить работу в Сбере 🤖
⚡️ AI-рекрутер моментально анализирует твои ответы и выдаёт фидбэк сразу после интервью. Больше никаких “Мы вам перезвоним” – всё быстро, чётко и по делу.
Как получить пре-офер от Сбера?
1️⃣ Зарегистрируйся на платформе
2️⃣ Авторизуйся через Телеграм
3️⃣ Пройди AI-интервью
💡 Обратную связь ты получишь сразу, а рекрутеры Сбера свяжутся с тобой в течение нескольких дней.
🔗 Попробуй прямо сейчас! 👉 https://clc.to/GkOTTA 🚀
Реклама. ПАО СБЕРБАНК, ИНН 7707083893. Erid 2VtzqubZo8S
⚡️ В сети начали массово сливать курсы и книги известных онлайн школ по айти
Вот отсортированная база с тонной материала (постепенно пополняется):
(363 видео, 87 книги) — Python
(415 видео, 68 книги) — Frontend
(143 видео, 33 книги) — ИБ/Хакинг
(352 видео, 89 книги) — С/С++/C#
(343 видео, 87 книги) — Java/QA
(176 видео, 32 книги) — Git/Linux
(174 видео, 91 книги) — DevOps
(167 видео, 53 книги) — PHP/1С
(227 видео, 83 книги) — SQL/БД
(114 видео, 77 книги) — Сисадмин
(107 видео, 43 книги) — BA/SA
(181 видео, 32 книги) — Go/Rust
(167 видео, 43 книги) — Kotlin/Swift
(112 видео, 24 книги) — Flutter
(137 видео, 93 книги) — DS/ML
(113 видео, 82 книги) — GameDev
(183 видео, 37 книги) — Дизайн
(136 видео, 33 книги) — PM/HR
Скачивать ничего не нужно — все выложили в Telegram
#реклама
Совет на 2025-й — будьте осторожнее с выбором работы.
IT-рынок штормит: массовые сокращения, заморозка найма, снижение зарплат. В такое время особенно важно отличать стоящие офферы от проходных.
Знакомо? Открываешь вакансию, а там: «Ищем middle-разработчика с опытом 10 лет, знанием 15 языков и готовностью работать за печеньки. Офис в Челябинске, релокация за ваш счет» 🤦♂️
Чтобы не тратить время на сотни сомнительных предложений, подпишитесь на IT Job Hub. Там мы отфильтровываем весь мусор и публикуем только избранные вакансии в стабильных компаниях:
— Зарплаты на уровне рынка, а не на уровне голодного студента
— Никаких «мы молодая и дружная семья» — только адекватные условия
— Проверенные работодатели, а не стартапы из сомнительных сфер
Вакансии удобно разбиты по тегам: #python #java #go #data #devops и по другим направлениям. Без воды и лишнего спама — только проверенные вакансии в знакомых компаниях.
Подписывайтесь, если не хотите упустить работу мечты → @proglib_jobs
📸 Создание сканера штрих-кодов в .NET MAUI для Windows Desktop
Мы нашли проект, в котором создано кроссплатформенное приложение для Windows, позволяющее считывать коды прямо с камеры, без необходимости в дополнительных устройствах.
➖ Что потребовалось для разработки
✅ .NET MAUI — кроссплатформенный фреймворк для разработки UI-приложений.
✅Dynamsoft Barcode Reader — SDK для распознавания штрих-кодов.
✅Windows Media API — работа с камерой и захват изображений.
✅SkiaSharp — библиотека для графического отображения результатов.
➖ Как работает
1. Получение изображения с камеры с помощью Windows Media API.
2.Обработка кадра и передача его в Dynamsoft Barcode Reader.
3. Распознавание штрих-кода и отображение результата.
4. Вывод данных с графическим выделением кода через SkiaSharp.
➡️ Посмотреть реализацию
🐸Библиотека шарписта
Теперь разработчики смогут вести разработку с удобного устройства из любой локации
Устали носить с собой тяжелые устройства для разработки? Можно про это забыть — разработчикам стала доступна российская облачная среда для разработки GigaIDE Cloud со встроенным AI-ассистентом.
Среда позволит добавить мощности вашему устройству благодаря возможностям облака для хранения кода и выполнения тяжелых вычислений, редактировать репозитории мгновенно и не тратить время на настройку каждого нового проекта.
В GigaIDE Cloud интегрирован AI-ассистент, который автоматизирует рутинные процессы, дает советы и подсказки в реальном времени. Пользуйтесь автодополнением кода, оптимизируйте и исправляйте ошибки с поддержкой AI!
Начать пользоваться GigaIDE Cloud — по ссылке.
🎙Месяц на тесты
В обновлении .NET MAUI Community Toolkit от 17 января появилось офлайн-распознавание речи – теперь можно преобразовывать голос в текст без интернета на Android 33+ и iOS 13+.
Также разработчики исправили работу StatusBar на iOS, улучшили CameraView, MediaElement и Maps.
💭 Если вы уже тестировали новые фичи, как впечатления? Делитесь в комментариях👇
🖇 Почитать про релиз
🐸Библиотека шарписта
👉 Интенсив «Архитектуры и шаблоны проектирования» для middle и senior-разработчиков
Проверьте свои знания, ответив на 8 вопросов – https://proglib.io/w/08af6203
🧐 Кому подойдет?
Разработчикам, которые знают любой объектно-ориентированный язык программирования и хотят углубиться в архитектурные паттерны.
🎮 Как проходит обучение?
В течение всего интенсива вы будете создавать игру «Звездные войны» и применять ключевые архитектурные паттерны. В процессе изучите:
– Как строить гибкую архитектуру, которая не замедляет разработку
– Как применять IoC-контейнеры и писать модульные тесты
– Как использовать SOLID за пределами ООП
– Как внедрять CI/CD и снижать технический долг
👉 Подробная программа обучения
А по промокоду MIDDLE до 28 февраля вы получите дополнительную скидку на обучение
🚰 Потоковая обработка данныхIAsyncEnumerable<T> — это асинхронный аналог IEnumerable<T>. Вместо обычного foreach можно использовать await foreach, а для получения элементов асинхронно yield return вместе с async и await.
Рассмотрим на примере. C IAsyncEnumerable данные обрабатываются по мере поступления, то есть не нужно ждать загрузки всех данных в память:
public async IAsyncEnumerable<int> GetNumbersAsync()
{
for (int i = 1; i <= 5; i++)
{
await Task.Delay(500);
// Имитируем задержку (асинхронно!)
yield return i;
// Возвращаем элемент сразу, не дожидаясь всех остальных
}
}
await foreach (var number in GetNumbersAsync())
{
Console.WriteLine(number);
// Выводит числа по мере их поступления!
}
IAsyncEnumerable<T> – это как потоковое видео, а IEnumerable<T> — это скачивание всего фильма перед просмотром.
↔️ Миграция C на F
Нашли промт, который превратит нейросеть в разработчика и на C#, и на F#, чтобы помочь вам с миграцией кодовой базы:
As a C# and F# specialist, your task is to guide the migration from C# to F# for a specific project or codebase. Your goal is to provide a comprehensive plan that outlines the steps, considerations, and potential benefits of this transition.
Here is the format you will use to present your recommendations:
---
## Current C# Codebase
$current_codebase_description
## Reasons for Migrating to F#
$reasons_for_migration
## Migration Plan
1. $migration_step_1
2. $migration_step_2
3. $migration_step_3
4. $migration_step_4
5. $migration_step_5
## Potential Challenges and Mitigation Strategies
$potential_challenges
$mitigation_strategies
## Expected Benefits of F#
$expected_benefits
---
Please provide your detailed migration plan and recommendations for transitioning the codebase from C# to F#.
🔥🍍 Подборка лучших статей «Библиотеки шарписта» за февраль: сохраняй в заметки, чтобы не пропустить #самыйсок
🆚 System.Text.Json против Newtonsoft.Json
📊 Мониторинг .NET приложений
🤩 AI-коммиты в Visual Studio: теперь с кастомизацией
🧑💻 Каналы в .NET – скрытая жемчужина для асинхронной обработки
🎮💉 Инъекция зависимостей в Unity для самых маленьких
🐸Библиотека шарписта
⚙️ Разделяй и властвуй в архитектуре приложений
Command Query Responsibility Segregation (CQRS) — это подход, при котором чтение и изменение данных обрабатываются разными моделями.
🔹 Команды — изменяют данные: создание, обновление, удаление.
🔹 Запросы — отвечают за быстрое чтение данных.
CQRS отлично подходит для нагруженных систем, микросервисов и event-driven архитектуры.
➡️ Читать подробности про CQRS
🐸Библиотека шарписта
🤔 Основы математики в Machine Learning / Deep Learning
🗓 6 марта приглашаем вас на прямой эфир, где мы подробно разберем ряд Тейлора, собственные векторы и другие ключевые понятия в ML.
(ссылка)
🌟 Спикер: *Мария Горденко* – Старший преподаватель ФКН НИУ ВШЭ, НИТУ МИСИС, аспирант департамента анализа данных и искусственного интеллекта ФКН НИУ ВШЭ, а также преподаватель на курсе Алгоритмы и структуры данных в proglib academy.
Место работы: Инженер-программист, ведущий эксперт НИУ ВШЭ, цифровой ассистент и цифровой консультант НИУ ВШЭ.
😮 На вебинаре вы узнаете:
🔵 Теорию вероятностей: обсудим случайные величины, вероятность, математическое ожидание и дисперсию.
🔵 Линейную алгебру: изучим векторы, матрицы, собственные векторы и собственные значения.
🔵 Математический анализ: разберем производные и разложение функций в ряд Тейлора.
🔵 Практику: применим полученные знания на реальных кейсах из области Machine Learning и Deep Learning.
🎯 Почему это важно?
Понимание математических основ помогает глубже разобраться в работающих под капотом алгоритмах ML/DL и эффективно применять их на практике.
👉 Присоединяйтесь к нам и совершенствуйте свои навыки в машинном обучении!
📌 Регистрация по ссылке: https://proglib.io/w/96569306
🎮🚀 8 простых способов улучшить производительность вашей игры в Unity
Хотите, чтобы ваша игра работала быстрее, не лагала и не вызывала у игроков желание выбросить контроллер? Тогда пришло время оптимизировать производительность.
Советуем почитать статью, где разобраны практические методы, которые помогут сделать ваш проект более стабильным и плавным.
🤩 Прочитать статью
🐸Библиотека шарписта
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
📊 Почему увольнять программистов ради ИИ — путь к провалу
Мы разберем, почему компании, которые массово увольняют разработчиков в пользу ИИ, рискуют остаться у разбитого корыта. Сгенерированный код не умеет исправлять баги, а инженеры, которые действительно понимают систему, становятся редкостью и роскошью.
➡️ Что внутри статьи
▪️ Почему новые поколения программистов рискуют потерять ключевые навыки.
▪️ Как компании, заменившие инженеров ИИ, столкнутся с серьезными проблемами.
▪️ Почему опытные разработчики станут супердорогими и востребованными.
▪️ К чему приведет полная ставка на искусственный интеллект в IT.
🔵 Подтяните свои знания о машинном обучении вместе с нашим курсом «Базовые модели ML и приложения»
🔗 Читайте статью
🆚 Разница API и SDK
Если вы когда-либо работали с интеграциями, то наверняка сталкивались с терминами API и SDK. Но что они означают и когда использовать каждый из них.
📌 API (Application Programming Interface) — это набор методов для взаимодействия с внешними сервисами и приложениями.
📌 SDK (Software Development Kit) — это полный набор инструментов, включающий API, документацию, библиотеки и утилиты для разработки.
➡️ Подробнее в видео
🐸Библиотека шарписта
🛠 Техника для решения задач
Бэктрекинг (Backtracking) — это алгоритмическая техника поиска, которая перебирает возможные решения рекурсивно, откатываясь назад, если текущий путь не ведёт к успеху.
➖ Как работает бэктрекинг
1. Выбираем следующий шаг – пробуем одно из возможных решений.
2. Проверяем ограничение – если путь невозможен, откатываемся назад.
3. Продолжаем поиск – если решение найдено, фиксируем его и ищем другие варианты.
Пример кода — поиск всех перестановок строки
class Program
{
static void Permute(char[] arr, int l, int r)
{
if (l == r)
{
Console.WriteLine(new string(arr));
}
else
{
for (int i = l; i <= r; i++)
{
(arr[l], arr[i]) = (arr[i], arr[l]); // Обмен символами
Permute(arr, l + 1, r);
(arr[l], arr[i]) = (arr[i], arr[l]); // Откат назад
}
}
}
static void Main()
{
string str = "ABC";
Permute(str.ToCharArray(), 0, str.Length - 1);
}
}
🚀 Когда стоит отказаться от DI через конструктор
Внедрение зависимостей через конструктор — стандартная практика, но не всегда лучшая. Разберём, когда не стоит её использовать.
🔹 Singleton со Scoped/Transient зависимостями — может вызвать утечки памяти. Решение: фабрики или внедрение через методы.
🔹 Слишком длинные конструкторы — усложняют поддержку. Решение: рефакторинг или внедрение через свойства.
🔹 Динамические зависимости — на этапе компиляции неизвестны. Решение: сервис-локаторы или фабрики.
💡 DI через конструктор хорош, но не универсален. Выбирайте подход в зависимости от контекста
➡️ Подробнее про решение проблем
🐸Библиотека шарписта
🛠 Используем IOptions с record
В .NET 9 теперь можно использовать record-тип вместо классов для IOptions<T>.
В отличие от классов, record в IOptions<T> в .NET сравнивается по значению. Он неизменяем, что защищает настройки от случайных изменений, а его лаконичный синтаксис делает код более чистым и поддерживаемым.
Теперь можно определять конфигурационные записи, загружать их из appsettings.json и внедрять в сервисы через IOptions<T>. Кроме того, IOptionsSnapshot<T> и IOptionsMonitor<T> позволяют динамически обновлять настройки без перезапуска приложения.
➡️ Подробности и примеры
🐸Библиотека шарписта
🌳 Бинарное дерево поиска (BST)
BST — это бинарное дерево, где:
• Значение в левой ветви меньше значения в узле.
• Значение в правой ветви больше значения в узле.
Такое свойство обеспечивает эффективный поиск, вставку и удаление — в среднем за O(log n).
Пример реализации:
class Node
{
public int Value;
public Node Left;
public Node Right;
public Node(int value)
{
Value = value;
Left = Right = null;
}
// Вставка нового значения в дерево
public void Insert(int value)
{
if (value < Value)
{
if (Left == null)
Left = new Node(value);
else
Left.Insert(value);
}
else if (value > Value)
{
if (Right == null)
Right = new Node(value);
else
Right.Insert(value);
}
}
// Поиск значения в дереве
public Node Search(int value)
{
if (value == Value)
return this;
if (value < Value && Left != null)
return Left.Search(value);
if (value > Value && Right != null)
return Right.Search(value);
return null;
}
// Обход дерева в порядке (LNR - InOrder)
public void InOrderTraversal()
{
if (Left != null)
Left.InOrderTraversal();
Console.Write(Value + " ");
if (Right != null)
Right.InOrderTraversal();
}
}
🚃 Фоновые задачи с Quartz.NET
Quartz — это открытая библиотека для планирования задач в .NET приложениях. Она позволяет разработчикам выполнять фоновые задачи в определенное время или с заданными интервалами.
Благодаря кластеризации, Quartz может выполнять задачи на нескольких серверах, что особенно важно для систем с высокой нагрузкой. Кроме того, он поддерживает хранение задач в базе данных.
Вот так выглядит регистрация задачи с запуском каждые 10 секунд:
var jobKey = new JobKey("MyBackgroundJob");
builder.Services.AddQuartz(q =>
{
q.AddJob<MyBackgroundJob>(opts => opts.WithIdentity(jobKey));
q.AddTrigger(opts => opts
.ForJob(jobKey)
.WithIdentity("MyBackgroundJob-trigger")
.WithSimpleSchedule(schedule => schedule
.WithIntervalInSeconds(10)
.RepeatForever()));
});q.AddTrigger(opts => opts
.ForJob(jobKey)
.WithIdentity("DailyTrigger")
.WithCronSchedule("0 0 3 * * ?"));
Документация PostgreSQL — лучший источник знаний о СУБД. Но она отличается огромным объемом: не каждый разработчик осилит 3024 страницы формата А4.
Опытный бэкендер составил список самых важных сведений, которые ему самому хотелось бы знать перед началом работы с PostgreSQL. Эта подборка сэкономит вам несколько недель изучения документации, и скорее всего, пригодится для работы с другими СУБД.
👉 Список самого важного