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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
​​Как написать код, который полюбят все

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

https://proglib.io/sh/Hyk7rvDhX9
Учимся обнаруживать SQL-инъекции в устаревшем C# коде

Преимущество подхода, предложенного автором статьи, заключается в том, что вы можете регулярно сканировать всю кодовую базу на предмет использования .ExecuteReader и .ExecuteNonQuery, кроме ожидаемых вами исключительных случаев. Основной метод, рекомендуемый в статье для обнаружения SQL-инъекций в приложении, — это прекращение использования методов .ExecuteReader и .ExecuteNonQuery. Вместо этого используйте шаблон Decorator, чтобы создать собственный метод, который будет вызываться вместо вышеуказанных и включать функционал для обнаружения SQL-инъекций.

https://prglb.ru/46mt5
Одни разработки заявляют, что паттерны Repository и UnitOfWork сегодня также актуальны, как и много лет назад, а программисты-прагматики все чаще говорят о том, что сегодня эти паттерны уже реализованы в ORM и писать собственные реализации не нужно.

Денис Цветцих в докладе на NskDotNet №7 приводит реальные плюсы и минусы собственной реализации паттенов Repository и UnitOfWork в 2019 году. И всё-таки, Repository и UnitOfWork в 2020 году, must have или антипаттерн?

Видео: https://prglb.ru/5bl2b
Слайды: https://prglb.ru/37ruu
​​5 шагов для создания простой формы входа на C#

Инструкция из пяти шагов о том, как создать в Visual Studio форму авторизации для Windows-приложений на языке C# с хранением логинов и паролей в MySQL.

https://proglib.io/sh/etNE8OycMz
Hands_On_Software_Architecture_with_C#_8_and_NET_Core_3_Packt_Publishing.pdf
11.9 MB
Hands-On Software Architecture with C# 8 and .NET Core 3: Architecting software solutions using microservices, DevOps, and design patterns for Azure Cloud (2019)

Авторы: Gabriel Baptista, Francesco Abbruzzese

Книга предназначена для инженеров и старших разработчиков, которые хотят стать архитекторами или хотят создавать корпоративные приложения с помощью .NET Stack.

Вы начнете изучение книги с понимания того, как преобразовать пользовательские требования в архитектурные потребности, и исследуете различия между функциональными и нефункциональными требованиями. Далее вы узнаете, как тщательно выбрать облачное решение для своей инфраструктуры. В последующих главах рассмотрены методы и процессы, такие как DevOps, микросервисы и непрерывная интеграция, а также дано представление об их реализации с использованием технологий Microsoft, таких как ASP.NET Core, Entity Framework, Cosmos DB и Azure DevOps. Вы также узнаете об основах тестирования, шаблонах проектирования и инструментах автоматизации.
​​Каждый разработчик так или иначе сталкивается с различными паттернами проектирования, многие из которых вызывают вопросы ввиду своей сложности и специфичности. По сути каждый паттерн по-своему уникален и требует тщательного подхода для понимания. У нас есть для вас ресурс, на котором каждый паттерн разжеван от а до я с примерами кода на C#. Ознакомьтесь со всей информацией и обращайтесь к ней вновь при необходимости, делая свои проекты только лучше и качественнее.

https://prglb.ru/2ozmo (не реклама)

На ресурсе также много информации, связанной с рефакторингом кода. Примеры на C# также прилагаются.
Что делать при падении производительности и непонятном поведении приложения в продакшене? На видео вы увидите применение разных методик и техник (Application Insights, Logging, Profilers) отладки .NET-приложений, размещенных в различных окружениях, а также основные хайлайты и типы кейсов для мониторинга.

https://proglib.io/w/d7579039
​​Суперподборка: более 70 бесплатных русскоязычных онлайн-курсов по IT-специальностям

Математика, алгоритмы, языки программирования и другие курсы (включая C#) по анализу данных, вебу, мобильной разработке, тестированию. Плюс наши ключевые статьи по каждой из тем.

https://proglib.io/sh/kQgWuEois1
​​Короткая how-to статья по использованию RabbitMQ (программный брокер сообщений на основе стандарта AMQP, поддерживающий паттерн Publisher-Subscriber) в приложении на C#: https://proglib.io/w/22d61774
Правильный ответ 10, ведь блок кода находится внутри метода Main, значит инкремент происходит внутри видимости метода Main.
​​List vs IEnumerable vs IQueryable vs ICollection vs IDictionary

Понимаем разницу и сравниваем имеющиеся в языке C# структуры данных: массив, список, стек, очередь, словарь, IList, ICollection, HashTable, IQueryable, IEnumerable. Не проходите мимо статьи, ведь не зря на codeproject.com у нее большинство положительных голосов и просмотров.

https://proglib.io/w/4a39e847
Если вы боитесь, что ваш заработок пострадает из-за карантина, участвуйте в онлайн-марафоне от GeekBrains. За 14 дней вы выберете другую востребованную профессию. Вас ждут:

23 бесплатных вебинара по программированию, дизайну, маркетингу и управлению.
Инсайды от экспертов из Mail ru Group, Wikium, Альфа-Банка и других компаний-лидеров рынка.
Заряд мотивации: вы поймете, что начать карьеру можно в любом возрасте, с любым бэкграундом.
Шанс выиграть бесплатное обучение.

Успейте зарегистрироваться и выбрать новую профессию мечты!
​​Пополняемое руководство по фреймворку Blazor на русском: https://proglib.io/w/b287a1b4
По сравнению с другими языками, C# значительно отставал в возможностях эффективной обработки данных. Что ж, теперь эти дни прошли и Microsoft улучшила синтаксис C#, что облегчило разработчикам управление данными в массивах.

Разбираемся: https://proglib.io/w/c1b1ea9b
Большая и интересная история о том, как разработчики из Райффайзенбанк перешли от монолита на языке C# к микросервисам: https://proglib.io/w/48f240f8

Буквально несколько дней назад свой набор библиотек для backend’а под названием ViennaNET они вывели в Open Source: https://proglib.io/w/f69deeb9
В мультифункциональной команде, создающей приложение под Kubernetes, разработчику стоит знать основы Kubernetes. Возможности и ограничения Кубернетес диктуют архитектуру приложения. К тому же разработчикам иногда приходится самим деплоить приложение, настраивать мониторинг, вплоть до создания окружений.
Понимание того, как эксплуатируется приложение, превращает разработчика в инженера.

7 апреля стартует цикл из 19 бесплатных вебинаров от Слёрма по основам Kubernetes. Для прохождения достаточно знать Linux.
Вебинары идут 1-2 раза в неделю в 20:00 по Москве.

Регистрация: https://proglib.io/w/33361245
Valerio_De_Sanctis_ASP_NET_Core_3_and_Angular_9_Packt_Publishing.pdf
13.1 MB
ASP.NET Core 3 and Angular 9: Full stack web development with .NET Core 3.1 and Angular 9, 3rd Edition (2020)

Автор: Valerio De Sanctis

С помощью книги вы освоите процесс создания простых, но полностью функциональных современных веб-приложений, научитесь проектировать, создавать и развертывать одностраничные приложения или прогрессивные веб-приложения с помощью ASP.NET Core и Angular, а также использовать подход полного стека для управления данными, веб-API, тестирования, SEO, безопасности и развертывания.

Эта книга поможет вам начать работу с использованием платформы .NET Core и контроллеров веб-API для реализации вызовов API и маршрутизации на стороне сервера. Вы узнаете, как построить модель данных с помощью ядра Entity Framework и настроить ее с помощью локального экземпляра SQL Server или облачных хранилищ данных, научитесь эффективно обрабатывать пользовательский ввод, реализовывать различные методы аутентификации и авторизации, а также развертывать готовые приложения на серверах Windows и Linux.