Библиотека шарписта | C#, F#, .NET, ASP.NET
22.9K subscribers
2.26K photos
36 videos
85 files
4.42K links
Все самое полезное для C#-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
🔥 В Rider появился новый плагин Uno Platform, который представляет полный набор инструментов для повышения производительности.

Независимо от того, используете ли вы C# и XAML Hot Reload для быстрой итерации или пользуетесь надежными функциями отладки, этот плагин гарантирует, что разработка с помощью Uno Platform на Rider будет максимально гладкой.

👉 Документация
🤔20🔥3👍2
Привет, друзья! 👋

Мы готовим статью о самых странных и уникальных дистрибутивах Linux, и нам нужно ваше мнение! 🤔💬

1️⃣ Какой самый необычный дистрибутив Linux вы когда-либо пробовали? Почему он вас удивил?
2️⃣ Есть ли у вас советы для новичков, которые только начинают работать с Linux? 🐧

Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
👍61😁1
🔥 Коллекция интересных библиотек и инструментов для проекта Avalonia

Если вы работаете с кроссплатформенным XAML-фреймворком для экосистемы .NET, репозиторий awesome-avalonia однозначно должен быть в ваших закладках.

👉 GitHub
👍15
🤔 Вы бы откликнулись на такую вакансию? Кто-то ведь должен поддерживать легаси проекты.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁24🥰5👏4🤔1
🍉 Подборка лучших статей «Библиотеки программиста» за август: сохраняй в заметки, чтобы не пропустить #самыйсок

🍇 18 основных паттернов микросервисной архитектуры
🦄 5 мифов о работе в IT, которые мешают начать карьеру программиста
😨 Страх ошибок: как он мешает вам писать код
🌐 9 основных паттернов для проектирования распределенных систем
🐘🔮 Иллюзия согласованности в PostgreSQL: как избежать неприятных сюрпризов
💪🛠 Прокачай свой бэкенд: 9 инструментов, которые стоит знать
🏗 Структуры данных для разработчиков: 10 самых важных
💻 15 продвинутых лайфхаков для работы в терминале Linux
🎮🚀 Saturated Outer Space: как инди-разработчики перезапускают игру и бросают вызов жанровым стереотипам
🏄 6+ главных алгоритмов балансировки нагрузки
🚀 Ускорьте свою базу данных: 7 проверенных методов масштабирования и оптимизации
🐘🧠 Оптимизация использования памяти в PostgreSQL: секреты профессионалов
👍1
🤔 Сможет ли Blazor превзойти React/Angular?

Любопытные обсуждение на Reddit от новичка в .NET-разработке. Мол, Blazor учить легче, но в то же время он не развивается так быстро как популярные JavaScript-фреймворки.

💬 А вы как думаете?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁24💯7👾2🔥1
🛠️ API-документация без головной боли: ТОП-11 инструментов

Ручное создание документации отнимает много времени и чревато ошибками. Представляем подборку инструментов, которые автоматизируют процесс и помогут вам сосредоточиться на разработке, а не на написании документации.

🔗 Читать статью
❤‍🔥3👍1
🤔 5 причин, по которым F# — отличная альтернатива Python

Быстрый обзор причин, по которым F# может стать отличной альтернативой Python. Вы узнаете, почему функциональные возможности F# делают его привлекательным выбором для различных задач: от создания прототипов до разработки более крупных приложений.

👉 Читать | Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
😁16🔥9👍6
📃 Создание source-only NuGet-пакетов: гайд от Эндрю Лока

Вместо dll-библиотек source-only пакеты содержат только исходники C#-кода (обычно файлы .cs), которые затем компилируются в целевой проект. Автор рассказывает, как и зачем их создавать.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍255🎉3
🛠️ Пример параметризованного теста xUnit

Вместо того, чтобы добавлять множество различных тестовых методов с разными входными данными, заданными в теле метода, мы создаем один метод, передаем в него входные данные и ожидаемые результаты для каждого теста в виде параметров.

Это означает меньшее количество тестовых методов (что упрощает изменение логики тестов) и возможность быстро увидеть все входные данные и ожидаемые результаты для конкретного метода вместе.

В примере используется атрибут [ClassData], который загружает тестовые данные из отдельного класса, реализующего IEnumerable<object[]>.

#dotnet #csharp #tip by Dave Callan
🥱14👍84🔥4
Привет, друзья! 👋

Мы готовим статью о будущем AI и его влиянии на разработку. Нам важно ваше мнение!

1️⃣ Как вы думаете, AI действительно изменит мир разработки? 🤖
2️⃣ Какие плюсы и минусы использования AI в разработке вы видите? 💡
3️⃣ Есть ли у вас примеры успешного применения AI в ваших проектах? 🛠️

Поделитесь своими идеями в комментариях! Самые интересные идеи и предложения мы обязательно включим в нашу статью. Спасибо за участие! 🙌
1👍1
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👏31
🆒 Дарим наш курс за ответ на задачу

В предверии дня программиста проводим конкурс: решите нашу задачу на тему программирования — рандомно выберем победителя


Подробные условия:
➡️ Решаем задачу со следующего поста
➡️ Решение присылаем в бота @ProglibContest_bot
➡️ Рандомно среди правильных ответов разыгрываем курс на выбор

Курсы на выбор:
🔵 Архитектуры и шаблоны программирования
🔵 Основы программирования на Python
🔵 Базовые модели ML и приложения
🔵 Frontend Basic: принцип работы современного веба

Таймлайн:
11-12 сентября — принимаем ответы
⬇️
13 сентября — подводим итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥2👍1😁1🙏1
❗️Задача для конкурса в честь дня программиста

Условие:

Даны две строки s и f (начальная и конечная) и словарь D (набор слов).

Нужно определить, можно ли преобразовать s в f, используя только слова из словаря D. При этом каждое преобразование должно менять только один символ, а длина слова должна оставаться неизменной. Если преобразование возможно, нужно найти кратчайшую последовательность таких преобразований и вернуть ее длину. Если преобразование невозможно, вернуть "Преобразование невозможно".

Пример ввода 1:
    D = ["cat", "cot", "dot", "dog", "bat", "dag"]
    s = "cat"
    t = "dog"

Вывод:
Минимальное количество шагов для преобразования 'cat' в 'dog': 3

Пример ввода 2:
    D = ["cat", "cot", "bat"]
    s = "cat"
    t = "dog"

Вывод:
Минимальное количество шагов для преобразования 'cat' в 'dog': Преобразование невозможно
Please open Telegram to view this post
VIEW IN TELEGRAM
9🌚4🤔3👍1
🛠 Autofac — IoC container для .NET. Он управляет зависимостями между классами, чтобы приложение можно было легко изменять по мере масштабирования и сложности. А достигается это за счет обработки обычных .NET-классов как компонентов.

var builder = new ContainerBuilder();

builder.Register(c => new TaskController(c.Resolve<ITaskRepository>()));
builder.RegisterType<TaskController>();
builder.RegisterInstance(new TaskController());
builder.RegisterAssemblyTypes(controllerAssembly);

var container = builder.Build();


👉 GitHub
👍14