Библиотека шарписта | 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
CLR via C# (2012)
Автор: Jeffrey Richter

#csharp #book #en

Язык: English.

Целевая аудитория: для начинающих и опытных разработчиков.

Копайте глубже и осваивайте тонкости общеязыковой среды выполнения, разработки на C# и .NET. Во главе с экспертом по программированию Джеффри Рихтером, давним консультантом команды Microsoft .NET, вы получите практические советы по созданию надежных, надежных и отзывчивых приложений и компонентов.

В книге рассматриваются следующие темы:
✔️ глубокое понимание архитектуры .NET Framework, среды выполнения и других ключевых тем, включая асинхронное программирование и среду выполнения Windows;
✔️ обширные примеры кода в Visual C#;
✔️ авторитетное, прагматическое руководство по сложным концепциям разработки и др.

Преимущества:
рассматривает тему и не оставляет определенное мнение;
содержит подробную фактическую и историческую справочную информацию;
подробные рекомендации, подкрепленные данными и примерами.

Недостатки:
не обнаружено.
👍3
10 самых популярных алгоритмов сортировки на C#
Знакомьтесь, 10 наиболее популярных алгоритмов сортировки на языке программирования C#.

Алгоритмы сортировки — это популярная тема, на разбор которой в университетах отводится несколько месяцев. Но зачем вообще в 2019 году изучать алгоритмы, если в CLR уже и так встроен и прекрасно работает адаптивный метод Sort() для любых коллекций?

‼️🔥👇
https://proglib.io/sh/W3FpSV07AQ
.NET Core 3.1 Preview 3!
Вчера на странице Блога .NET анонсировали небольшой и короткий выпуск .NET Core 3.1 Preview 3, посвященного ключевым улучшениям в Blazor и Windows, двум большим дополнениям .NET Core 3.0. Это будет релиз долгосрочной поддержки (LTS). "Мы приближаемся к концу релиза 3.1 и планируем выпустить его в начале декабря", — сообщили разработчики.
Кстати тут можно загрузить .NET Core 3.1 Preview 3 для Windows, macOS и Linux.
.NET Core 3.1 Preview 3 SDK и среда выполнения
Изображения Docker
Как создать отчет об ошибках в ASP.NET по дням
В этой статье показано, как просматривать ошибки в XML на любой странице и как записать ошибку исключения и ввести значимую информацию в файлы XML, а также вести записи по дням в указанном месте.
C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов. 3-е издание
Автор: Прайс М.

#programming #csharp #book

Целевая аудитория: для новичка.

"C# 7 и .NET Core. Кросс-платформенная разработка для профессионалов" — практическое руководство по созданию мощных кроссплатформенных приложений на C# 7 и .NET Core. Эта книга предназначена для тех, кто имеет некоторый опыт программирования или имеет опыт работы в области естественных наук, технологий, инженерии или математики (STEM), и хочет получить прочную основу с C#

В книге рассматриваются следующие темы:
✔️кроссплатформенные приложения, используя C# 7 и .NET Core;
✔️изучение ASP.NET Core, как создавать профессиональные веб-сайты, службы и приложения;
✔️повышение производительности вашего приложения с помощью многозадачности и др.

Преимущества:
большая книга, изобилующая фактами, которые должны знать разработчик;
увлекательная, хорошо организованная.

Недостатки:
автор пытается охватить ВСЕ (чрезмерно разжевывая).
Правильная поддержка списка в C#
Эта статья о работе с коллекциями и списками классов. В ней отображаются частные случаи реализации IEnumerable<T>, IEnumerator<T>, ICollection<T> и IList<T> более пользовательские структуры данных.

Причиной возникновения этой статьи является то, что эта тема не очень хорошо освещена, при работе с этими интерфейсами есть несколько подводных камней, которые не были четко задокументированы Microsoft. По этой причине рассмотрено развитие такого класса на управляемые шаги.
gRPC ? Сильные и слабые стороны.
ASP.NET Core теперь позволяет разработчикам создавать сервисы gRPC. gRPC — это современная высокопроизводительная среда RPC с открытым исходным кодом, которая может работать в любой среде. Она может эффективно соединять сервисы внутри и между центрами обработки данных с помощью подключаемой поддержки для балансировки нагрузки, трассировки, проверки работоспособности и аутентификации. gRPC интегрируется с ASP.NET Core 3.0, поэтому вы можете использовать существующие схемы ведения журналов, конфигурации и аутентификации ASP.NET Core для создания новых сервисов gRPC.

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

Услуги в реальном времени
gRPC обеспечивает первоклассную поддержку потоковой передачи через HTTP/2.

Срок/тайм-ауты и отмена
gRPC позволяет клиентам указывать, как долго они готовы ждать завершения RPC. Срок отправляется на сервер, и сервер может решить , какие действия следует предпринять , если он превышает срок. Например, сервер может отменить текущие запросы gRPC/HTTP/database по таймауту.

Недостатки gRPC
Ограниченная поддержка браузера
gRPC имеет отличную кроссплатформенную поддержку! Реализации gRPC доступны для всех распространенных сегодня языков программирования. Однако одним из мест, откуда вы не можете вызвать службу gRPC, является браузер. gRPC интенсивно использует функции HTTP/2, и ни один браузер не обеспечивает требуемый уровень контроля над веб-запросами для поддержки клиента gRPC.

Не читаем человеком
Сообщения gRPC по умолчанию кодируются с помощью Protobuf. Хотя Protobuf эффективен для отправки и получения, его двоичный формат не читается человеком. Для правильной десериализации Protobuf требуется описание интерфейса сообщения, указанное в файле .proto.
Кроссплатформенная библиотека веб-просмотра для .NET Core
Это как Electron, но без комплектации Node.js или Chromium и без большинства API.

В блоге Стива Сандерсона в одном из последних постов были рассмотрены способы создания настольного/консольного приложения .NET Core с пользовательским интерфейсом, отображаемым в Интернете, без использования полной нагрузки Electron. Так как это заинтересовало многих людей, он решил обновить его до новых технологий и добавить кроссплатформенную поддержку. В результате получается небольшой пакет NuGet под названием WebWindow, который можно добавить в любое консольное приложение .NET Core. Он может открывать собственное окно ОС (Windows/Mac/Linux), содержащее веб-интерфейс, без необходимости в приложении связывать Node или Chromium. Подробнее о кроссплатформенной библиотеке веб-просмотра для .NET Core можете прочесть в этой серии статьи.
Внедрение зависимостей в Asp.Net Core для начинающих
Существует множество концепций, с которыми начинающие программисты сталкиваются, когда начинают выходить за рамки написания простых консольных приложений в dotnet и, возможно, пытаются создать сайт. Одним из таких понятий является Dependency Injection (DI).

Прочитав эту статью, вы узнаете следующее:
Что такое инъекция зависимости?
Зачем нам нужна инъекция зависимостей.
Как мы используем / делаем внедрение зависимостей в ядре dotnet.

Необходимые знания
Было бы хорошо, если бы вы знали, какие объекты есть в C#, как мы их определяем и создаем, а также различия между одним экземпляром объекта и другим. Однако, если вы этого не знаете, чтение может дать вам представление.
Веб-разработка с ASP.NET Core MVC
ASP.NET MVC — это многофункциональная платформа для создания веб-приложений и API-интерфейсов с помощью структуры проектирования Model-View-Controller.

Структура архитектуры MVC предполагает разделение приложения на три основные группы компонентов: модели, представления, контроллеры.

Как это работает? Запросы пользователей направляются в контроллер, который отвечает за работу с моделью для выполнения действий пользователей и получение результатов запросов. Контроллер выбирает представление для отображения пользователю с данными модели.

Распределение обязанностей позволяет масштабировать приложение в контексте сложности. Так проще писать код, выполнять отладку и тестирование компонента (модели, представления или контроллера) с одним заданием. Гораздо труднее обновлять, тестировать и отлаживать код, зависимости которого находятся в двух или трёх этих областях.

Например, логика пользовательского интерфейса, как правило, подвергается изменениям чаще, чем бизнес-логика. Если код представления и бизнес-логика объединены в один объект, содержащий бизнес-логику, объект необходимо изменять при каждом обновлении UI. Это часто приводит к ошибкам и тестированию бизнес-логики после каждого незначительного изменения пользовательского интерфейса.

Начните изучение MVC и ASP.NET для веб-разработки с официальной русскоязычной документации от Microsoft.
Carter-комьюнити прелагает проверить новые изменения ASP.NET Core 3, поддерживающий бета-версию.
Вы можете использовать новые интересные функции, такие как:
this.Get("/", (req, res) => res.WriteAsync("There's no place like 127.0.0.1")).RequireAuthorization();
ТУТ.
Панель обновления ядра ASP.NET с помощью Vanilla JavaScript
Четыре простых шага создания панели обновления ядра ASP.NET с помощью Vanilla JavaScript. В этой статье речь идет о функциональности стиля «Update Panel». Также весь код находится в репозитории GitHub . Каждый коммит в репозитории соответствует шагу в этом посте.
1
В последнее время тема микросервисов постепенно теряет былую популярность и, как следствие, многие разработчики стали смотреть на подобные темы с хорошей долей скепсиса и практицизма. Но тем не менее для многих идея разделения большой системы на несколько сравнительно небольших микросервисов все ещё является притягательной и несет определенные бенефиты.

В данном выступлении будет идти речь о промежуточном варианте архитектуры между монолитом и микросервисами, о так называемых «модульных монолитах» и будут затронуты следующие моменты
1. Посмотрим, как сделать так, чтобы от модульного монолита можно было действительно легко перейти к микросервисам.
2. Разберем основные составные части модульного монолита и необходимую для него инфраструктуру в системе
3. Поделимся своим опытом использования подобного рода архитектур и расскажем, что нас мотивировало начать именно с модульного монолита.


Cмотреть выступление
Читать слайды
• Вы уже обладаете техническими знаниями?

• Хотите раскрыть свои знания и себя с новой стороны?

• Хотите применить свои знания в области программирования и научиться монетизировать их, но не знаете, как именно это сделать?

Тогда приглашаем Вас на бесплатный онлайн-курс эксперта в области алгоритмической торговли Дмитрия Власова – «Как торговать на бирже роботами. Кейс для новичков» , который стартует 27 ноября в 20:00 по московскому времени. Вы сможете раскрыть себя с новой стороны – как профессиональный инвестор! В ходе курса Вы пройдете полноценный путь от самых базовых знаний до продвинутого уровня и сможете отслеживать рынок 24/7, не теряя при этом бесценные часы сна!
Регистрируйтесь скорее — https://prglb.ru/210xa
Middle/Senior Unity Developer в MyTona

Разработка мобильных игр
Санкт-Петербург

https://prglb.ru/1345v
При выборе технологии или языка программирования любая компания или разработчик стоит перед выбором. В каждой конкретной сфере применения тот или иной язык проявит как свои сильные, так и слабые стороны. Поэтому необходимо с особым трепетом подходить к выбору технологии или языка программирования. Что касается корпоративных решений, то здесь лучше всего подходят такие технологии, как Java и .Net. В данной статье проводится качественное сравнение этих решений, но, в конечном счете, вывод такой: не может быть идеального выбора между .NET и Java, ведь все зависит от навыков разработки, базовой инфраструктуры, требований к совместимости и среды конечного пользователя, поскольку обе эти платформы предлагают почти одинаковые функции и ориентированы на один и тот же рынок.

https://towardsdatascience.com/java-vs-net-who-will-reign-in-the-future-1ea02c8f5a95
Любителям Game Dev посвящается: 7 продолжительных уроков по разработке игр на C#. Советуем заглянуть всем разработчикам, ведь никогда не знаешь, где тебя ждут полезные материалы, особенно это относится к программированию!