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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
🍉 Подборка лучших статей «Библиотеки программиста» за август: сохраняй в заметки, чтобы не пропустить #самыйсок

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

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

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

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

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

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

👉 Читать | Смотреть
Please open Telegram to view this post
VIEW IN TELEGRAM
📃 Создание 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
🛠️ Пример параметризованного теста xUnit

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

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

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

#dotnet #csharp #tip by Dave Callan
Привет, друзья! 👋

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

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

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

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
❗️Задача для конкурса в честь дня программиста

Условие:

Даны две строки 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
🛠 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
🤯 Рефакторим легаси при помощи ООП

Спустя годы проекты обрастают тёмными местами, в которые никто не хочет соваться, поскольку их сложно понять и легко сломать. Константин Волоховский, тимлид из PVS-Studio, рассказывает про кейс рефакторинга такого кода с переводом на ООП рельсы при помощи паттернов, причём с современным стилем.

Автор не в первый раз пишет про применение ООП на практике — одна из прошлых статей буквально так и называлась (правда с примерами на Java). Только там он фокусировался на применении поведенческих паттернов, здесь же речь пойдёт больше о паттернах порождающих, так что можно воспринимать эту статью как продолжение.

👉 Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, друзья! 👋

Готовим статью «Лучший ноутбук для программирования в 2024 году» и хотим узнать ваше мнение! 👇💻
Какой бюджет, по-вашему, оптимален для покупки ноутбука программисту в 2024 году? 💰
Anonymous Poll
6%
До 50 000 ₽
39%
50 000 — 100 000 ₽
37%
100 000 — 150 000 ₽
18%
Более 150 000 ₽
💬 Поделитесь опытом: на каком ноутбуке вы сейчас работаете и почему он вам нравится (или не нравится)? 🌟

Ждем ваши ответы в комментариях! Самые полезные советы войдут в нашу статью. 📝💡

Спасибо за участие! 🙌