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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
🚨 Смешные новости про IT теперь в одном канале

Мы запустили @hahacker_news — наш новый юмористический IT-канал.

Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.

👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
😁3
📦 Истории подписчиков: расскажите про свои первые пул реквесты

Первый pull request — это как первая любовь: кажется, что всё идеально… пока тебе не скажут, что ты написал монстра на 240 строк в контроллере.

Монстром в контроллере поделился наш подписчик:
Мой первый pull request. Первый проект. Я хотел показать, как умею быстро писать код. Ну и засунул абсолютно всё в контроллер: валидацию, обращение к БД, бизнес-логику, обработку ошибок. Зато как быстро я всё это наклепал! Жаль, потом по рукам надавали и сказали переделать..


💬 А у вас были такие первые PR'ы, после которых стало стыдно, но полезно? Расскажите в комментах — пусть новички учатся не только на своих ошибках 👇

P.S. Если хотите задать вопрос сообществу, заполните нашу гугл-форму.

🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10👍3
💻 Быстрый CheatSheet от VisualStudio

Если вы хотите работать быстрее и эффективнее, изучение горячих клавиш — один из лучших способов. В любой момент в Visual Studio вы можете быстро перейти на официальный ресурс с подробным справочником.

Как это сделать

1.
Перейдите в поиск — Ctrl + Q

2.
Начните вводить «справочник>» или «keyboard» и перейдите по первой подсказке.

Там вы найдёте подсказки по навигации, редактированию, отладке и другим важным операциям.

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
🔄 Апдейт Visual Studio 2022

Microsoft представила Visual Studio 2022 версии 17.14, сделав акцент на интеграции искусственного интеллекта в процесс разработки.

Ключевым новшеством стала функция Agent Mode (в режиме предварительного просмотра), позволяющая разработчикам взаимодействовать с IDE на естественном языке для выполнения сложных задач, таких как исправление ошибок, генерация команд терминала и анализ ошибок выполнения.

В области отладки и диагностики добавлены возможности Live Preview и Hot Reload в режиме дизайна, новая отладка для .NET MAUI с использованием движка Mono, улучшенная отладка LINQ-выражений и выявление выделений нулевой длины массивов в .NET Allocation Tool.

Microsoft также объявила о переходе на ежемесячный цикл выпуска обновлений для Visual Studio 2022, начиная с этой версии.

➡️ Подробнее об обновлении

🐸Библиотека шарписта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🤔7😁3
🎮 Эмодзи клавиатура у сеньора

Вашему коллеге подсунули эмодзи клавиатуру вместо обыкновенной! Попробуйте расшифровать какой код он написал.

💬 Пишите свои догадки в комментариях👇

UPD: Ответ void main (String[] args)

🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥21
📰 Еженедельный дайджест

Обновите картину мира: новости, аналитика, находки и инструменты.

Апдейт Visual Studio 2022
Новая версия 17.14 сделала акцент на ИИ (снова).

— Microsoft сообщает, что количество активных пользователей Visual Studio и Visual Studio Code достигло 50 миллионов в месяц

Поддержка мультиарендности в EF Core
Разработчик анонсировал, что в Wolverine 4 появится полноценная поддержка мультиарендности для EF Core.

Это позволит разработчикам использовать существующие возможности Wolverine, такие как транзакционный inbox/outbox и middleware, с EF Core, нацеливаясь на отдельные базы данных для каждого арендатора

Грин-флаги в вакансиях: 10 признаков хорошего работодателя

Смешные новости про IT теперь в одном канале

🐸Библиотека шарписта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?

👾 — False
👍 — True
🥰 — Compiler-time error
⚡️ — Runtime error

Библиотека задач по C#
👾126🥰29👏3🌚2🎉1
🇨🇳 Подборка вакансий для шарпистов

Разработчик .net (Middle C#) — Удалёнка

.NET Developer — Удалёнка

C#/.NET-разработчик — Удалёнка

C# Developer — Гибрид (Москва)

Разработчик C# — Гибрид (Москва)

Бустер — Удалённо (в любом городе мира).

➡️ Еще больше топовых вакансий — в нашем канале С# Jobs
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
🎮 Код из книги: Оптимизация запросов с использованием индексов в PostgreSQL и MySQL

Проблема: при проектировании баз данных часто возникает необходимость ускорить выполнение запросов, особенно при работе с большими объемами данных. Неправильное использование или отсутствие индексов может привести к значительным задержкам в обработке запросов, что негативно сказывается на производительности приложений.

Решение: в книге "Database Design and Modeling with PostgreSQL and MySQL" авторы подробно рассматривают методы оптимизации запросов с помощью индексов. Они объясняют, как правильно создавать и использовать индексы для ускорения выполнения запросов, а также как анализировать планы выполнения запросов для выявления узких мест.

Пример создания индекса и анализа плана выполнения запроса в PostgreSQL:
-- Создание индекса на столбец email в таблице users
CREATE INDEX idx_users_email ON users(email);

-- Анализ плана выполнения запроса
EXPLAIN ANALYZE
SELECT * FROM users WHERE email = '[email protected]';


В этом примере создается индекс на столбец email таблицы users, что позволяет значительно ускорить выполнение запроса поиска пользователя по email. Команда EXPLAIN ANALYZE используется для анализа плана выполнения запроса и оценки его эффективности.

Преимущества:


— Использование индексов позволяет существенно сократить время выполнения запросов, особенно при работе с большими таблицами.
— Анализ планов выполнения запросов помогает выявить и устранить узкие места в производительности базы данных.
— Правильное использование индексов способствует более эффективному использованию ресурсов сервера и улучшению отклика приложений.

➡️ Лучшее из мира IT-книг — у нас в @progbook
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱8👍52🔥1
🚀 Обновление .NET Aspire 9.3

Microsoft показали обновление для .NET Aspire. Кратко разберём что изменилось.

В новой версии под номером 9.3 улучшена производительность за счёт оптимизации сборщика мусора и компилятора. Расширена интеграция с Azure, обновлены SDK и упрощена аутентификация.

Улучшена поддержка Hot Reload в Visual Studio для быстрой отладки. Повышена безопасность с обновлёнными криптобиблиотеками.

Также улучшена работа с контейнерами Docker и Kubernetes и добавлены новые API для файлов и асинхронных операций.

➡️ Подробнее об обновлении

🐸Библиотека шарписта #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥱2
💻 Инструмент недели: палитра команд

Microsoft представила в составе PowerToys инструмент — Command Palette. Этот функционал призван упростить и ускорить выполнение повседневных задач на Windows, предоставляя быстрый доступ к командам и приложениям через единый удобный интерфейс.

Command Palette — это командная панель в стиле известных редакторов кода (например, Visual Studio Code), которая позволяет быстро искать и запускать команды, приложения и функции системы.

Вместо привычного поиска в меню Пуск или множества кликов — достаточно открыть палитру, начать вводить нужную команду, и инструмент покажет релевантные варианты.

➡️ Попробовать палитру команд

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92🤔2
🥵 Устали от статей, где эйчары рассказывают, как на самом деле выглядит рынок труда в ИТ?

Мы тоже! Поэтому решили узнать правду и представить ее всем айтишникам — но нам нужен ваш голос. Опрос займет 3 минуты, а пользы — вагон для всего сообщества.

Результаты этого исследования помогут понять, как специалистам искать работу в 2025-м (а компаниям — специалистов).

👉 Если вы готовы сделать свой вклад в исследование — велком: https://clc.to/VGgyNA
😁51👍1👾1
⚙️ Новая скорость для LINQ

Удобство LINQ стоит дорого: скрытые аллокации, замедления и GC-паузы.

ZLINQ решает эти проблемы. Это библиотека, которая заменяет стандартный LINQ на ValueEnumerable-подход без потери совместимости и с приростом производительности.

Теперь можно писать Where, Select, Sum прямо по Span, и всё это — без аллокаций.

➡️ Смотреть видео

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔22👍1
🤨 Интерфейс или не интерфейс

Недавно к нам поступил вопрос от подписчика:
Когда использование интерфейсов — это хорошее архитектурное решение, а когда излишек?


Интерфейсы — это важный элемент в разработке программного обеспечения. Но не всегда их стоит применять бездумно. Давайте разберёмся, когда интерфейсы играют ключевую роль, а когда они становятся лишними.

Интерфейс — это контракт, который задаёт набор методов и свойств, но не их реализацию. Реализация интерфейса предоставляет конкретное поведение этих методов.

public interface IAnimal
{
void Speak();
}

public class Dog : IAnimal
{
public void Speak()
{
Console.WriteLine("Гав!");
}
}

public class Cat : IAnimal
{
public void Speak()
{
Console.WriteLine("Мяу!");
}
}

// Использование:
IAnimal animal = new Dog();
animal.Speak(); // Выведет "Гав!"


Когда интерфейсы — это хорошее решение

• Интерфейсы помогают скрывать детали реализации и позволяют менять код без воздействия на остальную часть программы.

• Когда система зависит от интерфейсов, легко подменить реальную реализацию на мок-объект для юнит-тестов.

• Интерфейсы идеально подходят для расширяемых систем, где в будущем может потребоваться добавление новых реализаций.

• Когда вам нужно интегрировать различные системы или модули, интерфейсы обеспечивают чёткие контракты для взаимодействия.

Когда интерфейсы — это излишек

• Если вам точно известно, что реализация интерфейса не будет меняться, интерфейс может стать лишней абстракцией.

• Интерфейсы добавляют код и могут усложнить систему, если использовать их для простых классов или когда изменений в поведении объекта не предполагается.

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

Интерфейсы полезны, но важно не переусердствовать. Применяйте их там, где это даёт реальную ценность, например, для повышения гибкости и тестируемости, а не для каждого объекта.

💬 Как вы используете интерфейсы в своих проектах? Пишите в комментариях, поделитесь своими примерами!👇

P.S. Если хотите задать вопрос сообществу, заполните нашу гугл-форму.

🐸Библиотека шарписта #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🌚21🔥1🎉1
📎 Берём с собой метаданные

Иногда полезно встраивать версию приложения или метаданные непосредственно в сборку. Это можно сделать с помощью флагов в dotnet build:

dotnet build /p:Version=1.0.0 /p:CommitHash=$(git rev-parse --short HEAD)


/p:Version=1.0.0: встраивает версию в сборку.

/p:CommitHash=$(git rev-parse --short HEAD)
: встраивает хэш текущего коммита в сборку, полученный с помощью Git.

Вы можете использовать эти переменные в коде для отображения версии и метаданных в финальном приложении.

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍2
🚩 Фича-флаги в .NET: как включать функции без релизов и не терять контроль

Фича
-флаги позволяют запускать функциональность по частям, тестировать на реальных пользователях и быстро отключать при проблемах — без перекомпиляции и деплоя.

Разбираемся в карточках: от простой переменной до кастомных фильтров и best practices в продакшене.

➡️ Полный гайд по фича-флагам у нас в статье

🐸Библиотека шарписта #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13👾21