devdigest // dot net
4.03K subscribers
168 photos
3 videos
5 files
2.62K links
Главные новости из мира .NET

Все про C#, F# и VB
Download Telegram
В продолжение темы про Power Shell Core – сравнение с классической версией под Windows.

https://www.ghacks.net/2018/01/12/powershell-vs-powershell-core-what-you-need-to-know/
Статистика JetBrains по технологиями, которые используют .NET разработчиками. Практически каждый третий уже использует .NET Core!

https://www.jetbrains.com/research/devecosystem-2017/csharp/
Forwarded from GameDev Architecture (Markdown)
Масштабируемый реалтайм сервер на .Net Core Orleans, WebSockets и серверном Redux.

После этой статьи есть о чем задуматься. Например, использование Redux на серверной стороне. Идея великолепна. Больше всего мне нравится "time-travel" по стейту. Это незаменимо при отладке проблем бизнес-логики! Вместо многочасового копания логов, можно посмотреть цепочку событий и историю состояний, которые привели к проблеме.

Многие разработчики не слышали о модели акторов. Но в игровой разработке этой модели можно найти много применений.

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

- простота разработки. Использование асинхронного обмена сообщениями сильно упрощает жизнь когда приходится иметь дело с concurrent computing;
- масштабирование. Модель Акторов позволяет создавать огромное количество акторов, каждый из которых отвечает за свою частную задачу. Принцип shared nothing и асинхронный обмен сообщениями позволяет строить распределенные приложения, горизонтально масштабируясь по мере надобности;
- отказоустойчивость. Сбой одного актора может отлавливаться другими акторами, которые предпринимают соответствующие действия для восстановления ситуации (например, механизм супервизоров из Erlang-а).

Так где оно может пригодится при разработке игр?


- Акторы — это, по сути, конечный автомат (пример Akka.FSM), что является стандартным паттерном для игр
- Большинство действий в игре связано только с одним игроком, так что сервисы типа авторизации, магазина, инвентаря и т.д. могут быть легко представлены в виде акторов. Плюс ко всему вы получаете realtime систему, т.е. можете отгружать все обновления на клиент. Забудьте про REST API и поллинг
- Модель акторов имеет встроенную систему маршрутизации сообщений, с помощью них легко сделать чать для игры, представляя комнаты и пользователей как отдельных акторов. Броадкастинг из коробки :)
- Релтайм ПвП, в очень грубом сравнении, тоже похоже на чат. Юзеры отсылают свой ввод на сервер, сервер его обрабатывает, а потом броадкастит обновления всем в комнате

Хочу хочу хочу! Где взять?

- Для новичков, проще попробовать Project Orleans от Microsoft (использованный в самой первой статье) с системой виртуальных акторов. Система виртуальных акторов на порядок прощей традиционной. Плюс ко всему это позволяет масштабироваться без головной боли
- Традиционным акторным фреймворком считается Akka, оригинально разработанный на Scala. Официально есть реализации Scala и Java. Но людям, работающим с Unity/C# ближе будет порт Akka.Net.
- Для C++ решения рассмотрены в упомянутой статье с хабры:
+ QP/C++
+ Asynchonous Agents Library от Microsoft
+ C++ Actor Framework
+ SObjectizer
Если вы помните первую публикацию от KONRAD KOKOSA про Zero Garbage Collector для .NET Core, то она получила продолжение

http://tooslowexception.com/zero-garbage-collector-for-net-core-2-1-and-asp-net-core-2-1/
При создании Azure App Service, .NET Core уже установлен и готов к использованию. Однако по умлочанию установлена только 32-разрядная среда. В этой статье вы узнаете несколько способов, с помощью которых можно сконфигурировать 64-битную среду в Azure App Service

https://blogs.msdn.microsoft.com/webdev/2018/01/09/64-bit-asp-net-core-on-azure-app-service/
Iris Classon не только красивая девушка, но еще и разработчик, который делится в своем блоге интересными пуьликациями. Например, про ошибку 502.2 в ASP.NET Core

http://irisclasson.com/2017/09/11/asp-net-core-http-error-502-5-process-failure/
How to Watch Stories from Instagram