FAQ по программированию 49

Теория и практика | создано: 23.11.2023 | опубликовано: 25.11.2023 | обновлено: 13.01.2024 | просмотров: 344 | всего комментариев: 5

Ключевые понятия, затронутые в этом видео: Task, ValueTask, EntityFrameworkCore, микросервисы, JSON, BMPN, Camunda, REST API и другие.

FAQ по программированию 49

В этом видео будут озвучены ответы на следующие вопросы:

215. Какие паттерны вы используете чаще всего?
216. Микросервисы только на HTTP - это плохо?
217. Есть веб-сервис A, которому нужно взять из базы данных большой объем  данных с помощью EF Core и через http POST-запрос отправить в виде JSON сервису B. Вопрос в комментарии.
218. Когда использовать Task, а когда ValueTask? Почему ValueTask должна await'титься только один раз?
219. Приходилось ли Вам сталкиваться со связкой BPMN-движков(например Camunda) и C#?
220. Как лучше создавать клиентов для Rest Api? Использовали ли вы библиотеку Refit или автогенерацию в c#? 

Видео

Поблагодарить

Хотите тоже получать донаты? Тогда заходите на boosty.to и регистрируйтесь!

Кстати, я использую хостинг reg.ru. Подключайся с промокодом 9A17-953A-8591-CF98.

Мои видео

Boosty.toYouTube | Yandex.Дзен | RuTube | VK | Nuum.ru

Комментарии к статье (5)

26.11.2023 04:39:25 Дмитрий FAQ по программированию 49

Здравствуйте,  

сценарий использования:

  • Есть веб-сервис A, которому нужно взять из базы данных большой объем  данных с помощью EF Core и через http POST-запрос отправить в виде JSON сервису B.

вопрос:

Можно ли организовать такой поток данных с условием того, чтобы:

  • при запросе большого количества данных из БД они не алоцировались полностью в сервисе A
  • при формировании JSON для HTTP-запроса из A в B данные из базы данных не алоцировались как один большой объект
  • при чтении поступившего запроса в сервисе B соответственно тоже чтобы в один большой объект не превращались

В рамках одного процесса в C# такое поведение реализуется с помощью Stream, но как организовать такое же только при межпроцессном взаимодействии.

Насколько я знаю большинство популярных БД отдают данные одним пакетом, то есть послал запрос на миллион записей- вернулся одномоментно гигабайт данных. Есть ли способ  получать данные из БД небольшими порциями? 

И второй уточняющий вопрос-как из одного веб-сервиса передать большой объем данных другому вебсервису, но не одномоментно, чтобы он алоцировался в LOH второго сервиса, а порционно, как будто Stream передаем.

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

Спасибо

26.11.2023 04:40:19 Дмитрий FAQ по программированию 49

Приходилось ли Вам сталкиваться со связкой BPMN-движков(например Camunda) и C#? 

26.11.2023 04:40:11 Максим FAQ по программированию 49

Когда использовать Task, а когда ValueTask? Почему ValueTask должна await'титься только один раз?

26.11.2023 13:58:09 Денис FAQ по программированию 49

Как лучше создавать клиентов для Rest Api? Использовали ли вы библиотеку Refit или автогенерацию в c#? 

28.11.2023 13:33:01 Дмитрий FAQ по программированию 49

Прис сборке .Net приложений Вы используете серверный режим GarbageCollerctor или клиентский? На собственном опыте проверял работу этого режима-никаких положительных эффектов(в том числе по производительности) не зафиксировал, только стартовое потребление памяти выросло значительно.