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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
#чтопроисходит

Опубликованы записи докладов и презентации с 88-й встречи SpbDotNet:

🔹Анатолий Кулаков в докладе «Build as Code» подробно рассмотрел процесс построения .NET-приложений с помощью кода, а также: уделил особое место сборке в docker-контейнере, обсудил все неоспоримые плюсы и сомнительные минусы такого подхода, затронул работу с артефактами, интеграции и безопасность полученных решений.
🔗 Видео & Презентация

🔹Роман Булдыгин в докладе «Анатомия Nuke» разбирается, как устроена система автоматизации CI/CD Nuke и собирает простую библиотеку с его помощью.
🔗 Видео & Презентация
👍62
#чтопроисходит

🔥Подборка новостей для C#-разработчика

💬 Если еще не в курсе, прочитайте недавний пост про драму с Moq

📌 Официальный анонс .NET 8 Preview 7
🔸 Обзор обновлений ASP.NET Core в .NET 8 Preview 7
🔸 Обзор обновлений .NET MAUI в .NET 8 Preview 7
⚡️ .NET 8 будет представлен на конференции .NET Conf 2023 (14-16 ноября)

🔹 Анонс Visual Studio 2022 17.8 Preview 1
🔹 Последний выпуск обновлений .NET Framework
🔹 Анонс .NET 7.0.10 и 6.0.21
🔹 Анонс NuGet 6.7, который включен в Visual Studio 2022 и .NET 7.0 по умолчанию
🔹 Анонс Rider 2023.2: улучшенная поддержка C#, улучшения UX/UI, функции на базе ИИ и многое другое
🔹 Анонс ReSharper 2023.2: дополнительные функции C#, C++ 20 и C++ 23, возможность создавать модульные тесты и перемещаться по ним, режим интеллектуального отладчика и многое другое
🔹 Анонс dotCover, dotMemory, dotPeek и dotTrace 2023.2
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍2🔥2
#чтопроисходит

📌Подборка доступных докладов с DotNext 2022 Autumn: Internals

📺Вадим Мартынов — Как работает конвейер в современных процессорах
📺Станислав Сидристый — lock(_sync): иллюзия идеального выбора
📺Александр Катин — [Test] + T = ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
3
#чтопроисходит

📌SpbDotNet #90

🌐 Михаил Руковишников | Фича-флаги. Практический пример реализации
🌐 Николай Пьяников | Pure.DI

📌DotNext 2022 Autumn: Architecture

🌐 Денис Цветцих | Rich Model и Anemic Model: враги или друзья
🌐 Андрей Парамонов, Антон Оникийчук | MediatR не нужен
🌐 Дмитрий Нестерук | Интересные подходы в реализации паттернов проектирования
🌐 Дмитрий Таболич | Думай как архитектор: майндшифт инженера
🌐 Андрей Цветцих | Zero-downtime deployment и базы данных

📌DotNext 2022 Autumn: Best practices

🌐 Александр Кузнецов | Введение в Microsoft SignalR
🌐 Игорь Шаталкин | Загадочный EF Core, или Как написать свое расширение
🌐 Алексей Авдеев (PVS-Studio) | Уязвимость регулярных выражений: теория и практика ReDoS-атак
🌐 Евгений Пешков | Алгоритмы троттлинга запросов
🌐 Игорь Лабутин | Что нового в .NET 7 и C# 11
🌐 Роман Неволин | Пишем приложения, которые не ломаются в продакшене
🌐 Гурий Самарин | Тестируем код, взаимодействующий с базой данных
🌐 Олег Сафонов | Пишем код, когда пишем код: source generator'ы
🌐 Анатолий Жмур | Пиши, как тиктокер, а не как дед. Новые конструкции языка C# в бою
🌐 Вагиф Абилов | Распределенный трейсинг OpenTelemetry вместо логирования всего подряд
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥134🤩3
Ловите записи докладов и презентации с 89-й встречи SpbDotNet:

🔹Никита Мошкалов (АО «Айко»): «Прослеживаемость в ASP.NET Core».

Как поймать за хвост своё приложение? Никита делится опытом определения маршрута запросов, исследования производительности и многого другого.

🔹Никита Маслов (ПСБ): «Простая архитектура».

Автор делится своим опытом разработки enterprise-приложений, а также рассказывает и показывает, как можно верхнеуровнево организовать архитектуру, использовать давно известные паттерны и обрабатывать ошибки.

#чтопроисходит
👍102
Конференция наполнена интересными и пpaктикo-opиeнтиpoвaнными темами: от архитектуры и инструментов .NET до F#, EF Core и WASM.

🌐 9:20 — Recreating Wolfenstein 3D in F# by James Randall
🌐 1:05:33 — How to Effectively Spy on Your Systems by Laila Bougria
🌐 2:17:00 — Automating Observability With Roslyn Source Generators by Denis Ekart
🌐 3:30:49 — Beyond Relational With Entity Framework by Giorgi Dalakishvili
🌐 4:33:50 — Understanding Microservices: A Guide For the Monolithic Developer by Layla Porter
🌐 5:47:52 — Unleashing the Power of Cross-Platform Development With Avalonia UI and JetBrains Rider by Mike James
🌐 6:45:09 — Hidden Difficulties of Debugger Implementation for .NET WASM Apps by Andrii Rublov
🌐 7:43:46 — High Performance JSON Serialization With Code Generation on C# 11 and .NET 7.0 by Ian Griffiths
🌐 9:14:32 — The Fastest .NET Dictionary… With F# by Matthew Crews
🌐 10:26:17 — xUnit Expanded – Better Testing With xUnit by Daniel Ward

#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
👍843
⚡️C# Dev Kit в вашем рабочем окружении всего за три шага:

1️⃣ Установите C# Dev Kit (C# extension / IntelliCode for C# Dev Kit / .NET Runtime Install Tool)
2️⃣ Откройте каталог или рабочую область, содержащую C#-проект (.csproj) ➡️ расширение активируется
3️⃣ Ознакомьтесь с документацией по началу работы с C#

#чтопроисходит
👍9🔥43
🎉.NET 8 уже совсем близко. Стали известны темы докладов и все подробности, которые ждут участников .NET Conf 2023. А мы разбираемся, что из себя представляет второй релиз-кандидат новой версии платформы:

🔹 Анонс .NET 8 RC2
🔹 Обновления ASP.NET Core .NET 8 RC 2
🔹 Анонс .NET MAUI в .NET 8 RC 2
🔹 EF Core 8 RC 2

☑️ Смотрите также серию видеоуроков Learn Live, которая охватывает основы C# для новичков:
📺 Написание первой программу на C#
📺 Разработка и запуск простого приложения на C#
📺 Добавление логики в консольное приложение
📺 Работа с переменными данными в консольных приложениях C#

#чтопроисходит #матчасть
🔥9👍5🤩41🤔1
Ловите записи докладов с 91-й встречи SpbDotNet:

🌐Станислав Сидристый (известный .NET-разработчик, автор онлайн-книги .NET Platform Architecture): «Реактивная сборка огромного проекта»

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

• В итоге удалось ускорить сборку с 400 машиноминут (20 агентов, 20 минут) до диапазона (30 сек, 1 мин 30 сек) в зависимости от количества изменений. Через что пришлось пройти, все неудачные варианты и результат — в докладе.

🌐Евгений Пешков (ранее разрабатывал JetBrains Rider, занимался инфраструктурой в Контуре): «Убийцы производительности»

• Одна из причин низкой производительности .NET-приложений — некачественные сторонние библиотеки или неправильное их использование. Например, обычное логирование может превратить всю программу в однопоточную, если неправильно сконфигурировано.

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

#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍8
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🤖 Итоги недели в мире ИИ и обзоры новых сервисов

Мы написали статью на VC, которая основана на очередном выпуске нашей рассылки про последние новости и тенденции в мире ИИ. Залетайте и читайте!

👇Ниже — мини-подборка из статьи 👇

📰 Новости

▫️ OpenAI объявила о запуске долгожданного магазина кастомных чат-ботов.
▫️ В Пасадене (штат Калифорния) открывается первая закусочная CaliExpress by Flippy, полностью управляемая ИИ.
▫️ NVIDIA выпустила модель для распознавания речи Parakeet, которая по всем показателям превосходит OpenAI Whisper.
▫️ Использование ИИ в совместном научном проекте Microsoft и Тихоокеанской северо-западной национальной лаборатории в течение недели помогло определить новый элемент, который поможет снизить на 70% использование лития в батареях. Без ИИ такое исследование заняло бы по меньшей мере 20 лет.
▫️ Компания ByteDance выпустила новую модель MagicVideo-V2 для генерации видео.

🛠 Инструменты

◾️ Auto Wiki — генерирует вики-документацию для GitHub репозиториев.
◾️ Code to Flow — визуализирует, анализирует и объясняет код, написанный на всех популярных языках и фреймворках.
◾️ Concepto — платформа для создания прототипов веб-приложений.
◾️ Afforai — выполняет суммаризацию, перевод и поиск по множеству документов.
◾️ Corgea — исправляет уязвимые фрагменты кода.
◾️ Jan — опенсорсный оффлайновый чат-бот.
◾️ Plus AI — плагин для Google Slides: делает профессиональные презентации, персональные и командные дашборды, любые отчеты.

🤙 Сделай сам

🔸 WikiChat — опенсорсный инструмент для коррекции галлюцинаций с помощью информации из Википедии.
🔸 Подробная шпаргалка и советы по созданию продвинутых RAG.
🔸 OpenVoice — опенсорный инструмент для мгновенного клонирования голоса.

🎓 Туториалы

🔹 Туториал по работе с новым API Query Pipelines показывает примеры создания простых линейных цепочек и сложных ациклических графов из модулей LlamaIndex.
🔹 Туториал по объединению LLM с помощью mergekit детально разбирает 4 основных метода объединения моделей.

#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥2😁2🤔1🥱1
Свежие и обновленные статьи: подборка для C#-разработчика с Code Maze

🔸 Модификатор доступа к файлу в C#: какие проблемы решает и как использовать
🔸 Получение данных из MongoDB с использованием ObjectId в C#: логическое продолжение руководства «Начало работы с ASP.NET Core и MongoDB»
🔸 Отладка и профилирование многопоточных приложений .NET: обзор инструментов, доступных в Visual Studio
🔸 Как сериализовать объект в query string format в C#: проблемы, которые могут возникнуть при работе с вложенными объектами и массивами, и способы их решения
🔸 Service discovery в .NET: что это и как использовать
🔸 Как получить имена свойств JSON в C#: использование Newtonsoft.Json и System.Text.Json
🔸 Реализация кастомного Authorization Policy Provider с помощью ASP.NET Core: как получить и предоставить политику авторизации для определенного имени политики
🔸 Значения по умолчанию для лямбда-выражений в C#: обзор одного из многих улучшений, появившихся в C# 12
🔸 Управление точностью десятичных чисел в C#: от теории к практике
🔸 Как инициализировать параметры record в C#: простой гайд с примерами
🔸 Различия между NUnit, xUnit and MSTest: на заметку C#-разработчику
🔸 Архитектурный паттерн «клиент-сервер» на C#: как работает паттерн, его компоненты, преимущества и проблемы, которые он создает
🔸 Согласованное байтовое представление строк без явного указания кодировки: рабочий кейс для C#-разработчика
🔸 Как добавить или обновить значения строки запроса в C#: обзор различных способов решения задачи
🔸 Создание распределенных приложений с помощью .NET Aspire: использование нового стека на практике
🔸 Thread.Sleep vs. Task.Delay: сравнение двух часто используемых механизмов для введения задержек в коде
🔸 Как экранировать символ '\' в C#: обзор лучших практик
🔸 Как сохранить список в текстовый файл на C#: использование StreamWriter и File
🔸 Как проверить валидность строки в формате JSON на C#: практика работы с популярным форматом данных
🔸 Как откатить изменения в миграции EF Core: что делать, если накосячил
🔸 Как сравнить два списка по одному свойству в C#: обзор нескольких методов для понимания контекста
🔸 Как добавить custom claims к access токену в Duende Identity Server: практика работы с интерфейсом IProfileService
🔸 Как обрезать строку в .NET: сравнение различных методов с акцентом на производительность
🔸 Как получить значение свойства по имени в C#: использование рефлексии на практике
🔸 Самый быстрый способ преобразования JObject в словарь на C#: пример сценариев, в которых словарь является более подходящей структурой данных

#чтопроисходит
7👍6🥱2🥰1
LINQ-Expressions-the-Art-of-Querying-Data.pdf
6.7 MB
🚀 Опубликованы записи докладов с 94-й встречи SpbDotNet:

🌐 Повышение производительности .NET-приложения на примере программы поиска дубликатов / Юрий Малич

🔻Юрий поделился опытом повышения производительности .NET приложения на примере своей программы поиска дубликатов файлов. В докладе описаны:

• алгоритмические оптимизации;
• низкоуровневые оптимизации (с примерами дизассемблерного кода);
• многопоточные оптимизации при обращениям к SSD и HDD дискам;
• методы повышения эффективности использования памяти и снижения нагрузки на GC.

🌐 LINQ Expressions: искусство запрашивать данные / Денис Цветцих (DevBrothers, Тинькофф)

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

🔺Денис рассказал, как решить эту задачу при помощи современной реализации паттерна «Спецификация» с использованием LINQ Expressions и с какими подводными камнями можно столкнуться при его реализации. Он затронул и наиболее удобные для использования библиотеки, в которых «Спецификация» уже реализована, в том числе, как можно сделать ее c использованием новых фич EF Core 7 или Source Generators.

#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍7🤔3😁1💯1
⚡️Подборка для .NET-разработчика:

🌐 Андрей Александров «Вкусные новинки EF Core 8»
🌐 Александр Гольдебаев «.NET Aspire in action»
🌐 Руслан Каменский «Bootstrapping .NET 8 SDK: собираем дотнет из исходников»
🌐 Никита Маслов «С# 12: Primary constructors»
🌐 Андрей Порожняков «Что нового в Minimal API на ASP.NET Core 8»
🌐 Евгений Федотов «А что там собственно нового в C# 12?»
🌐 Валерий Никитин «.NET 8 и улучшения в контейнерах»

#чтопроисходит
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥142
👨‍💻 Ключевые изменения в документации .NET за февраль 2024 года, хоть и с опозданием

📌 Новые статьи:

🔹 Дублирование вывода для -getItem, -getProperty и -getTargetResult
🔹 Проверка сертификатов перед загрузкой удаленных изображений в PictureBox
🔹 InMemoryDirectoryInfo добавляет rootDir к файлам
🔹 Перечисление текущего пути каталога диска
🔹 Импорт .user файла во внешние сборки
🔹 Установка ограничения на размер встроенного массива структур

📌 Основы .NET
🔹 Обзор MSTest SDK
🔹 Что нового в контейнерах для .NET 8.
🔹 Что нового в .NET 8
🔹 Что нового в SDK и инструментах для .NET 8
🔹 Что нового в .NET 9

📌 C#:
🔹 Устранение ошибок и предупреждений, связанных со ссылками на сборки
🔹 new (Справочник по C#)

📌 ML.NET:
🔹 Как форматировать данные для Named Entity Recognition (NER)

📌 Обновленные статьи:
🔸 Класс System.Reflection.Emit.AssemblyBuilder: обновление информации о сохраняемом AssemblyBuilder
🔸 Что нового в .NET 8 runtime: разделение нововведений в .NET 8 по SDK/runtime

#чтопроисходит
5👍5