Блестящий Garnet, проблемы экосистемы, OpenAPI и OpenAI - podcast episode cover

Блестящий Garnet, проблемы экосистемы, OpenAPI и OpenAI

Mar 31, 20242 hr 44 minEp. 90
--:--
--:--
Listen in podcast apps:

Episode description

Подкаст RadioDotNet выпуск №90 от 1 апреля 2024 года

Сайт подкаста: radio.dotnet.ru

Boosty (₽): boosty.to/RadioDotNet


Темы:

[00:01:09] — Microsoft Garnet 

[00:12:39] — Heap data structure and .NET priority queue 

[00:21:59] — Tales from the .NET Migration Trenches (Part 2) 

[00:41:45] — .NET Developers Begging for Ecosystem Destruction 

[01:04:01] — Generate OpenAPI specification at build time 

[01:20:24] — .NET Task Parallel Library vs System.Threading.Channels 

[01:29:43] — Introducing .NET Smart Components – AI-powered UI controls 

[01:41:42] — Кратко о разном 


Фоновая музыка: 

Transcript

это воплотився в Ванеліз, Новый М airports – Р foarte етровests! Иож μkeд! eight с legs, с над swornsover, выбора, Kung fu,SINGING! Шата боин Red. Ладно и тебе еще Сергей Владислав Шучен-Контон, Лазер Влья, Гури, Самарин, Виктор, Русалан Артамонов, Александр Юрыгин, Сергей Безенка, Александр Лаперин, Ольга Воднаренко, Дмитрий Сарокин и Сергей Краснов.

Спасибо, друзья, спасибо всем, кто помогает. Если вы хотите присоединиться к этой правой компании, заходите на наш сайт на Бусти и посмотрите, что там у нас интересникова творится. Так, вроде всё, а какие-нибудь официальных объявленников у нас больше нет. Пойдём сразу к темам? Да, пошли к темам, тем более их у нас сегодня есть, у нас прям сегодня платники выпуск, но почти без новости

это Microsoft. Ну да, Microsoft как-то, ну, по крайней мере, команда Сишарпа совсем не работает или что-нибудь там делать, вообще пока не понятно, может готовить нам как-то большой серий-призик, но немножко какие-то ашмётки от Microsoft достаются. Я думаю, что самая большая новостью прошедших недель это был релиз гарната. Если вы упустили то, как раз мы сейчас вам расскажем, что же за чё-то такое? Чё же не Microsoft? А вот прижитём мы начнем рассказывать, это прямо релиз-релиз или это

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

расскажем, что же такое? Ну смотри, по крайней мере версия у него 1.02, то есть как бы намекает, что версия 1 значит, может быть уже какую-то релиз. Продакшин ради. Ну к уже продукшин ради, хотя бы там не 0,587, для тех, кто не в курсе-то, давай объясним, гарнад, Microsoft выложила новое приложение, можно назвать это так, в ОПНС, си на гитхап, всё как положено, и это ремут CacheStore,

ну то есть по сути, обычно ремут Cache, который вам, скорее всего знаком, если вы сталкивались с редисом или ММКЖD, или вот что-нибудь такое, то есть обычно примитивный кивель, ну не то, что совсем примитивный, но в том, с той функциональностью, который вы ожидать от редиса, что интересно в этом продукте, прежде всего то, что он вышел из микрософт-ресёрча, но есть надежда там сидят какие-то умные парни, которые чего-то там хорошего написали.

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

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

внешне наружу, выдает протокол редиса. То есть все существующие редисклиенты смогут работать с гарнетром. Я так понимаю, что это на самом деле для волен популярных фича среди таких альтернативередису, то есть это же Dragonfly и DB, насколько я помню тоже поддерживает

ради слайк протокол. Ну, спислее прям протокол. Да, это прям открытый протокол, при том, что самое, что интересно, протокол очень простой, то есть реализовать его никакого сложности нет, ну и плюс редис это самый популярный кэш, поэтому если вы почему-то делаете кэш, то реализовать

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

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

и все такое. В общем, и на основании его вот это уже сделан гарнета. В общем, туалзень очень мощная, покромили для первого релиза прямо и класстер, и шарлинг, и рековый, и пересистентность, и хайперфом, он, короче, напихали до много всего. То есть кажется, что люди ее готовили. Ну, более того есть в отличии от остального микрософтесерчиков, более менее вменяемая документация, такой сайте, документации, то есть кажется, что это не просто проект, который выложен на

посмотрите, как я могу, а может быть даже который будет сопровождаться. В родном апах также

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

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

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

правдивы. В вичмарках сравнивали гарната с редисом, с KDB и с Dragonfly. Все эти друзья поддерживают редис в протокол, поэтому были одни и те же данные, один тот же протокол, и там кажется, что вопрос не должно никакие быть ли все, все их проверяли на них и тех же данных. Проверяли фролл, путле, лейтензи, в том числе большие какие-то сложные структур данных загоняли не просто

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

как сказка какая-то. Как они это удобились, потом на чистом сешарке было, в принципе, непонятно, поэтому я палец внутрь и немножко как-то мой оптимизм сошел на нет. И в частности Евгений Пешков знаменитый наш эксперт по перформанцу в своем блоге, кстати, если вы еще не подписаны этого советуем,

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

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

стандартным сешар по-вским ГЦ. И видно, что код писал с ради перформанца, то есть жесткий хаки, ансейвкод, в общем, перформанца всех сторон, разно-аптимизации, работа там напрямую с указателями и на самом деле, несмотря на их рекламки, все это можно назвать, как это полно

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

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

который они пытаются байтиками и указателями управлять самостоятельно. И также они там наши несколько даже ГЦХу багов, то есть это когда в программе образуется ссылка на объект, который уже был собран гарбич коллектором или перемещен в какое-нибудь другое место. То есть даже такие баги есть из-за как раз из-за того, что они игнорируют все достижения последней современного дотнета, а пытаются вручную выжимать последние байтики из того,

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

Такие же реальные цифры как янсей в Си Шарп, но в принципе знаешь как просто посмотреть на проект, который с одной стороны умеет выжимать огромный перфоминт даже быстрее чем плюсы, по-моему, вреди с там реносях или на присах, же он написан, ну да, генф, а нет, наоборот,

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

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

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

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

следить в интересный проект, посмотрим надеюсь, что взлетит, получит хорошую одобжину и может быть, разойдется по рынку, да, посмотрим, тем более что радиус, если вы вдруг не в курсе, поменял лицензию, он теперь dual license, да так, сбоку немножко новость, а если вы предоставляете

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

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

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

пререте кью, и разговор от этого есть пошел, потому что в 9 дотнете у нас обновился класть дотнета, под названием пререте кью, у нем появилась некоторые количества новых фич, Andrew плавненько 3 мя статиами, подводит вообще, говорят зачем это все и

и сдалось, и почему это появилось именно в 9 дотнете, то есть почему это появилось в дотнете наконец-таки, не именно в 9 дотнете, потому что руки дошли и чьи-то только сейчас, и так, начинем в самом начале, во-первых, что такое хип, но хип этого знаем, что это мэна-схип,

а в дотнете как бы слово хип мы произносим, наверное почти каждый подкаст, но в данном случае хип это не совсем тот же самый мэна-схип, это как я сказал, обычно подразумевается либы минхип, хип это некая раструктура данных, обычно в виде дерева, которая обладает,

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

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

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

в очередь выкладете некоторые чиселку приоритета, ну чиселку либо какой-то другую суждение, с которой можно друг с другом сравнить и достаете вы в порядке приоритета, ну например, самые маленькие идут первыми, а в дотнете долго времени не было такого типа, ну наверняка были какие-нибудь сторонние библиотеки, которые это реализовывали, но начинает с шестого дотнета пою состроенный тип, названием приваритик Ю, он как раз использует внутри этот самый минхип, который сделан на основе

массива, причем в данном случае массив смысле дерева, ну логической дерева, который на основе, который это сделан имеет 4 ребенка, то есть у каждой вершины 4 ребенка, 4 было выбрана не случайно, потому что с одной стороны это позволяет держать массив достаточно компактным, а с другой стороны

два это мало с точки зрения там типа оптимальности доступа к памяти, вы слишком часто бегаете туда сюда, а 4 это такое плюс минус, как, похож на оптимальное число, по мнению по крайней мере, работчиков, дутнета, да, наши библиотеки стандартной, с точки зрения там оптимальность

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

ну самое первая и самая простая операция, это даже это не надо очереди, это внутри очереди, во-первых, когда все-таки это разложено в массиве, вы можете подумать, что он какая-то сложная логика с следующими индексами, с предыдущими индексами, но нет, если у нас д, но чисел

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

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

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

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

выбрали корень дерева, мы берем самый последний элемент в этом дереве, кидаем его в когутобы в корень виртуаль и дальше начинаем аккуратно спускать его по дереву, в какого-нибудь из детей, точнее, ну выбирая самого маленького из детей, детё помещаем наверх, соответственно,

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

то же самое, то, где-то с наоборот, мы добавляем его в конец и потом таким же более несползовым, то есть обменевая с родителем, передвигаем нужные места в дереве тоже logon, на основе этого всего это всё конечно хорошо, всё прекрасно, и наконец-таки в третьей статье, Эндрю приводит, собственно,

непосредственно, практически, примерно, фигает нужное, а это нужно, например, долгаритный диэкстр, если кто-то помнит, как он работает, это здорово, значит, это вообще про что, это про поиск, кратчайшего пути в графе между вершинами, знаю, веса, репер, вот и он единственное, что требует,

он требует уметь обновлять приоритет у элемента в очереди, то есть мы закидываем что-то в очередь, мы всегда берём в алгоритм диэкстр самой первой, самый маленький элемент, но мы пока его общитываем, у нас могут поменяться веса других элементов в очереди, и для того, чтобы правильно

он работал от алгоритм нам нужно внутри очереди приведетов уже положено в ту-да элементов, уметь обновлять приоритет, и вот до 9-го тут нет такой операции не было, невозможно было так сделать, более того невозможно было сделать даже никакой варкран, потому что единственная операция

по сути, которую можно было сделать с очереди, с точки зрения забирания оттуда элементов, это забрать самый первый, ну как у любой очереди, да, с очереди вообще тяжело забирать из середины, и вот в 9-ом тут на этим подумали и решили, что делать операцию обдейт, приоритет,

который в принципе можно было бы сделать за аллогарифом, а то времени они делать не будут, сложно там вот это все, но зато они сделают операцию римов, которая просто берёт элемент, и удаляет его из очереди, переболансирует дерево соответственно, вот и тогда для такого алгоритм

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

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

как работать диэкстра, пора то, что там берём вишинку, находим все расстоянии, закидываем все расстоянии до соседних очередь, берём минимально, на вершинку сближайшим, отпущитываем для неё, пересчитываем остальные расстоянии, вот это все, то есть можно посмотреть с тела-эндрюлок,

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

то кстати, в такой немножко компьютер-сайнст, алгоритмы, вот это все в структур данных, вот очень рекомендую это серию статей вполне себе прекрасным, описывает причём, ну нескучно и с применением к современному дутную, прям приятно, да мне тоже понравились

статьи тем, что вот как, визуально красиво и хорошим языком описано, поэтому если кто-то давно интересовался или хочет в память поднять, Эндрюлок как всегда прекрасен, да, помимо Эндрюлок у нас есть еще второй автор, у которого мы обозревали прям большую серию статей,

это Джимми Боггард и кажется, пришло время второй части, да, если кто помнит, у нас была большая попея, это Tales from the Deadlet Migration, это история Джимми Боггард, как он портировал большое старое лега сеприллажение с 4-6 фреймборка на последний версию Deadlet Core,

и мы этой попеей начинали еще в 86 выпуске, поэтому если вдруг вам это тем интересно, советую переслушать 86 выпуск как раз вы найдёте там эту тему, а здесь как раз вторая часть, то есть здесь мы продолжим наше рассказ о том, как же все таки процесс происходит, кратко напомню,

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

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

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

какого-то контроллера, то на ярпе просто отключайте перенаправление в старое приложение, оставляйте его на дотнет-кор, и в прошлое, также в прошлое выпуске мы обсудили как это переносить, то есть как нужно выделить шарит лабрельс, в которые вы будете постепенно переносить те классы, которые

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

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

долуарий, поэтому у него есть такой понятный список действий, а что нужно сделать. И для первого раза он решил выбрать такой средний контроллер, у которого обязательно будет какой-то фронтент, и у которого минимум бизнес логики, чтобы просто оценить, а как переносится все сами контроллеры. И идеально на эту позицию подошел Home Controller, у которого есть какая-то базовая вьюшка, которая отображает банальное приведствие, и из зависимости у него нет практически ничего,

там буквально одна маленькая зависимость. Тут стоит поменуть, что есть такой инструмент, как Дутнет обгарита Systems, это набор различных рефакторингов, которые помогают вам в подобном переносе подобной миграции на новый Дутнет Core. И все, чем не мог помочь этот асистанци, это он приклики на контроллер, выдавал заманчивый меню апгрейт контроллер, то есть как обновить контроллер. Единственное, что он дел, он просто менял систем Web MVC,

Nemspace, на микрософтайс, Панет Core MVC, Nemspace. Вот вся работа этого апгрейта систанца. То есть совместимость между контроллером и большая, но пользы довольно мало от какой-то автоматизации, поэтому Эндрю просто набрал все контроллеры и переносил к с помощью Catton Paste. То есть просто берешь контроллер, переносишь его вот этот шарит лаберери, в которую потом можно переспользовать между разными вот этими нашими оплекетюшинами,

и просто фиксишным спэйсы. И это все, что в принципе нужно было для того, чтобы оно заработало. Что мы сами контроллеры заработали? Да, моя тебя чуть-чуть поправлю. Ты его уже два раза назвал Эндрю. Ну давай мы все-таки будем называть его деньги. Да, давайте больше не будем живи на заводенрю. Действительно. Хотя еще подпечатление. Понимаете, о ком мы гаем? Поэтому, да, трасслируйте в уме. Да, да, конвертируйте. Вжеми богу,

так конечно же. Так, но в принципе сами контроллеры это перенести тут никакого проблемы нет. Теперь, когда мы подходим к зависимости от этого контроллера, вот там уже начинают подниматься огромный пласт проблем. Во-первых, у нас есть зависимость. Чтобы это зависимость к нам попала, нам нужен DI-контейнер. DI-контейнер настраивает там в том числе ОРМ, и наша бизнес-логика в часто опирается именно на ОРМ. У нас используется Интитеф-Рыворк,

например. Потом есть какие-то медлуварии, есть какие-то для того, чтобы отобразить нашу вьюшку, есть какие-то аштемы Эль Хелперы, есть Джава Скрипты, есть ССС-стиле. Ну и в конце концов, сама же, бизнес-логика, я тоже нужно переносить. И такие банальные вещи, например, как новый микрософт-логер появился, да, то есть тоже встает дилема. Зачем нам, как бы, переносить всю бизнес-логику, допустим, со старым логером, если у нас есть новый красивый универсальный абстрактный,

стоит ли вообще лезть в это пучина? В принципе, все эти вопросы не имеют какого-то одного понятного решения. Каждый это пункт нужно рассматривать по отдельности и принимать какие-то решения, что мы будем с ними делать. Ну вот, в частности, если рассмотреть самый популярный проблему, это как раз DI-контейнер. В проекте Andrew использовался мидиатор, поэтому, первым что он столкнулся, это из-за того, что его Home Controller в конструктор требует

IMediator. И мидиатор естественно регистрируется через DI-контейнер. Я и контейнер у нас использовался струкчермап, и у струкчермапа нет прямого наследника на новый фремворк, то есть он не поддерживается в одном фремворке, но есть его идеологический приемник, так называемый ламар. Но сможет считать, что ламар это и есть как бы струкчермап для дотнеткор. В принципе он полностью на 100% в VCPI поддерживает специально для того, чтобы удобно мигрировать и все такое. Почему не был выбран

стандартный микрософтовский DI, который появился в дотнеткор? Потому что у струкчермапа использовалась очень много регистра, очень много автоматических регистраций. То есть из конирования сборок, например, найдим не все классы в сборке, которые реализуют интерфейс i-model-binder, и зарегистирует все эти классы, как бы в DI-контейнере, и вот подобные выражения было очень много у Джими. Поэтому он решил не переделывать. DI-контейнер взял ламар, перенет скот, как есть и все, и,

принципе, на этом и сошлись. Далее бизнес логика. Вся прелестью. Одна из прелести. Медиаторов, в том, что он заставляет вас всю бизнес логику, сосредоточить в хендере. По хендер он довольно ничего не зависит, ну кроме самого медиатора, да. Поэтому в хендере был довольно легко перенести, то есть тоже из обычной купипастой нас выручила. То есть никаких там особых зависимости между дотнотфрейм ворком и дотноткор здесь не проследовала. Кроме зависимости

на E6, но насколько я понял, E6 он тоже перенеской бы без проблем. Дальше, если мы разговариваем про южку, то там есть небольшие такие в брейкнчиндзы, например, у дотноткор нет больше встроенного, бандлинг и минификации. То есть это специальные инструменты, которые во время билда минифицировали ваше стиле или скрипты для того, чтобы они встраивались, но для

того, чтобы они сжимались по сути и занимали меньше трафика при передаче. А также не только сжимали, но и собирали там из разных фаликов для того, что передавали это по тем один фалик, чтобы экономить коннекции. В общем, есть там такие хакены фронтэнди, глупые с которыми приходится сталкиваться. И вот раньше был хороший пакет, который все этого мило делать. Теперь этого пакета нет, в дотноткор этого пакета больше нет. Но микрософт есть большая хорошая статья, которая называется

типа, а как же нам теперь минифицировать и какую стратеги минификацию нам выбрать. Из этой статьи можно потерпнуть, что существует два основной подхода. Во-первых, это перейти на идеенный приемник подхода вот этого оптимизатора, который был раньше, который называется в оптимайзер, который точно также может брать несколько фаликов, слепливать их один, оптимизировать, сжимать и все такое. И второй подход это говорят, что если у вас современный, там single page, application,

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

перенести в Юхи. Другой интересный перенос миграция это session state, то есть это специальная пользовательская данная, так сказать, пользовательский cash, который зависит от текущей сессии пользователей, сессии клиента. Он может храниться в различных хранились, там, потом же распределённом, кашей в базе данных, очень часто в куках, его просто на просто хранят, но сессия это такое довольно популярное шаблон проектирование и счастье заключается в том, что

дотный дкор поддерживает сессии прямо с самых практически своих первых версий, но плохая новая заключается в том, что совместимости между сессиями новыми сессиями старыми никакой нет, там всё полностью переписали, и в том числе даже API изменили, поэтому просто так перенести не получится. Здесь есть пара подходов, как это можно сделать. Во-первых, можно, прежде всего, отказаться от сессий, потому что так тоже очень часто делают, делают там стетлос приложение, всё такое, а

во-вторых, это завести второе, второе приложение. Второе приложение здесь будет работать по очень интересному алгоритм, давайте рассмотрим его по-подробнее. Это смысл в том, что нам нужно оставить сессии, которые будут работать и на первом приложении, то есть на application core, приложение и на втором приложении это большом дотным фрэнворке. И заставить сессии подружиться,

и там и там, то есть новый версию на кор и старую версию на старом приложении. Подружиться нам помогает уже упомянутая, в первой части это библиотечка систем VPDaptors, она очень много всего умеет и в том числе творить вот такие хуки между сервисами. Как же предлагается нам строить адапторы для того, чтобы сделать прозрачной сессии? Существует уже два подхода. Во-первых, мы можем просто запустить в раппер, который у нас до возьмем старую сессию и передоставит ей адаптор

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

сессии сразу на двух приложениях. Схема очень простая. Старое приложение на дот на тренворке выставляет у себя специальные endpointы, которые позволяют записывать сессию и считывать сессию. А новое приложение просто на просто, когда у него просит дать пользовательскую сессию идет к старму предложению и говорит, товарищ старое приложение, дай ко мне сессию. И старое приложение возвращает это через обычный HTTP запрос, а новое приложение уже здесь рисует

это в свой новый интерфейс. Таким образом, даже если вы храните вашей сессии в какой-то там мессийской эльбазии, которую вы еще не перевели на дот над кордопустим, вы можете уже поддержать пользовательские сессии. То есть это будет просто ремонт application call такой, своеобразный. В общем и дотнета датор под позвольает вам поддержать оба этих сценарий, что принципе радует, что микросов даже вот на таких мелочах подумал. Следующее, что и

энероджиме сарян хотелось перенести это хэнфайр. Это очень популярная библиотека, поэтому можно ненеснодельно. Хэнфайр – это легкий способ для того, чтобы запускать всякие бэгрантаски, бэгрант процессы, какие-нибудь бэгрантжабы, их можно вставить по крону, то есть

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

такой юскейс и очень хорошо красивый, удобно был сделан. Опять же, правда заключается в том, что хэнфайр поддерживает оба фриворка, поэтому вообще без ломаний какого ТПАя вы можете запускать

вашей хэнфайр джабы как на одном приложении, так и на другом в приложении, но есть нюансы. Нюансы заключается в следующем, хэнфайр использует для storage в случае GME SQL Server, но им нужен какой-то storage, где все эти задания, все эти беграунжи, а бы будут храниться со своими расписанием, и есть такая концепция как очереди, то есть мы Джоб закладываем какую-то очередь, он уходит сошраница в базу и потом в какое-то время, допустим, через 2 часа или в 3.0, он подымается и начинает

выполнять свою работу. И на самом деле, это запланировать такую работу, можно абсолютно из любой части вашего приложения, хоть из контроллера, хоть из сервиса и рассмотрим нами приложений, очень часто этим пользовались. То есть нельзя было найти какого-то одного места, джабы просто складывались от отсюда, откуда только можно складываться. А например, джабы у них отправили емилы, отправляли СМСки, опять что бы не делать, это в основном потоке, чтобы отпустить пользы в секереквест,

это легко не можно сделать в бэгроман джабе. И для этого идеально подходит как раз такие headfire. Чем же здесь проблема? Проблема заключается в следующем, что если мы просто замегрируем это, ну, замегрируем просто все все джабы как есть, то мы получим функциональность, в котором у нас джабы будут выполняться в двух приложениях. То есть у нас старая фреймворг приложение возьмет джабы и начнет их выполнять. И новое приложение тоже попытается

эти джабы выполнить. И, к сожалению, не сможет. В принципе, Samhandfire подразмевает, что у него может быть несколько выполнительнее, несколько консюмеров, но проблема немножко не в этом. Проблема в том, что SamJob из себя представляет, просто на просто грубо говоря, ссылку на какой-то

контроллер или на какой-то класс, где хранится код, который ему нужно запустить. И допустим, если мы этот класс, например, класс процессор, пинисли уже в Доднаткор, а вызывает этот класс, ну, вот, отпраки СМС, да, вызывает, да, класс отправки СМС и старого приложения, то джаб, который запустится на старом приложении, он просто на просто не найдет класса, отправщик, отправляющика СМС-общение, потому что этот класс мы уже перенесли, как бы,

новое корпор приложения. То есть он, по сути, не найдет, а что же ему запускать. И так что, точно с другой стороны, если бы в корпор приложений, дернем какой-то джооприализация, которого находится в старом приложении, то мы тоже ничего не сможем сделать. Здесь у нас есть два выхода. Первый выход – это просто на просто взять СРЖБ и перенести за один раз. То есть не только джабы, но и все эти места, которые вызывают эти джабы. Это кажется слишком

большое изменение, за раз такое сделать невозможно. То есть, что обо у нас много, места размазаны, как я уже сказал, по всем контролям, по всем сервисам. В общем, это практически не реально. Поэтому есть второй выход. Это переносить их постепенно, по чуть-чуть, но для этого нужно немножко ухитриться. Необходимо создать две очереди. Первые очереди будут, которые будут консюмить корпор приложения, вторая очередь, которая будет консюмить в старое приложение. И джабы,

то есть даже не джабы, а вот именно инциатор. То есть тот, тот, тот, который планирует, отправить SMS, он должен знать в какой очереди, по сути, лежит обработчик. То есть, обработчик у нас уже перенесен, на дотный ткор или не перенесен. Если обработчик находится в том же самом хосте, в котором мы сейчас пытаемся запланировать очередь, то мы просто добавляем в одно очередь. Если обработчик находится абсолютно в другом приложении, то мы уже планируем этот джаб в другую очередь.

Это немножко добавляет не нужное связанности. То есть теперь у нас инциатор. Джабы обязан знать, а где-то джаба будет обрабатываться. В первую очередь или во второй очереди. Но хорошего состояния, что это всего лишь время такая временная трудность. Когда мы перенесем весь код, мы, естественно, все эти очереди мы сможем удалить. И вот эта зависимость, вот эта знания инциатора, где у нас обрабатывается на каком хосту джабы. Мы его тоже удали. Поэтому

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

джаб, чтобы другой хост мог ее этот джаб потом обработать. Ну и после того, как мы заммигрируем весь код, мы всего лишь на все возьмем и вот эту другую очередь периминуем. То есть, вот эти две очереди периминуем в одну, где фолт очередь, и подождем пока все и все в инты и старые очереди просто просто обработаются. А все новые венты уже будут складываться. Вот эту одну идиную очередь. И поэтому этот код довольно легко удаляется и вот это чистится. Все вот

эти ненужные связности, ненужные знания. В общем, тоже такой довольно интересный юскейс необычный. Мы до этого рассматривали все переезды, все методы и все сложности, которые мы сталкивались при миграции, когда нам, когда нам нет необходимости было знать текущего пользователя, его привилегии, роли и так далее. Но, опять же, жизнь сурова и обычно нам нужна аутентификация,

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

дальше. Да, пишет о них не часто, видимо, особенно сейчас кажется, что станет сложно что-то делать, ну смысл что, видимо авторизация и аутентификации за довольно много времени, потому что пока стать сеть него нету, но подождем, может быть просто не складывается. Пойдем дальше зато складывается у арана Стандарта, который написал очередную свою статью вокруг темы Microsoft и Open Source. Ну надо признать, что это автор, который очень любит, тема рассуждать Open Source и тем более

Microsoft здесь. Да, у него очень много такие статьи, у него очень много инструментов, тоже самая маркет-плейт для Open Source. Хорошо по этой темпе пишет. Знадок. Знадок. Просто какой-то хрен со стороны. Да, и поводом для этого послужило обсуждение, которое мы уже затрагивали чуть-чуть, по-моему, пару выпусков назад, если я правильно помню, это про то, что Microsoft думал это о том, чтобы то с ней Microsoft у себя в GitHub

завела Epic под названием Eventing Framework in.net 9 и все как бы прибежали, мы рассказывали, по то, что все прибежали, сказали, у меня все Microsoft пишет свой собственный Eventing Framework, не какие-то мастеранзиты, ничего другого больше будет не нужно, все вытянут на свалку и

все такое проще, что Microsoft сказал, но погодите. Мы же не про то, мы же только про то, что вот мы тут быстренько для E-Jervab.jobs'а сделаем, и больше ни для чего нам это не нужно, все остальные, как бы бюглятеки, не пугайтесь, короче, мы ничего не такого не планиру. Но вроде как сказали, но тем не менее, вот этот Epic на GitHub вызвало довольно большой, поток критики со стороны комьюнити, так скажем про то, что вот Microsoft опять, значит,

не любит OSS, переписывает все сама, и все такое проще. И Aaron пишет, что типа, ну вообще, вообще кажется, что состояние Open Source это с ней быть автормом, Open Source в Дунаете, это сейчас довольно такая интересная штука и не то, что состояние, а в общем мысли его формулируются таким образом,

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

потому что, как бы надо быть, для том, что Microsoft придет и перепишет, но Microsoft говорит, что да, вот эту штуку мы пишем только для бюджобзов, и вообще, в общем, не переживайте, там, мастраинзет, медиатор, волверин, вот это все, не переживайте, вы в безопасности, но Aaron

говорит, ну а зачем тогда я это обзывать, Epic, прям, потому что это понятно, что Epic, это, наверное, GitHub и хаббовский термин, ну типа, что просто объединение нескольких, как бы, связанных фишейсов, потому что в GitHub нету понятия, и рархи и шлюсов, и, собственно, через Epic,

Microsoft все это делает, но конечно, это 3 герелл, немножко комьюнити, потому что Epic подразумевает, что это очень большой, вот, и Aaron говорит, что, ну в принципе как дладно, так бы, поведение Microsoft, как бы, поведение Microsoft, что его особенно удивило,

это поведение, собственно, комьюнити, и здесь у него есть удивление по поводу того, что в принципе, есть часть комьюнити, которая, ну, конкретно, вот в этой говоре мерришии активно голосует за то, что надо вытянуть таким, астрансид, медиатор,

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

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

такую диверсификацию, что там много вариантов, это хорошо, потому что я могу выбрать разные трейдов, но вот тот самый рейдис, да, Dragonfly, KDB, вот это все, или гарна, ты можешь по выбирать, да, рейдис там более проверенный времени, мы так далее, Dragonfly, и одна поточка, там, Dragonfly много поточен, там, за руму и языке, возможно, с какими-то другими гарантиями, ну и вот, вот так далее, а другая половинка, ну, не половинка, другая группа, девел, первого, говорит, что, нет, диверсификация,

это плохо, нам нужен единый стандарт, про то, как мы все делаем, вот, и типа, если макрософт, вот этот самый единый стандарт поддерживает, ну типа, мы вообще в шоколаде, все здорово, он будет лучше за документирован, поддержан, и все остальное, и как бы, нам нужно все

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

как бы, среднование таких вот фреймворков, нужно дорого, пусть приходит, как бы, будет не 3-4, условно, и это же прекрасно, тем больше фреймворков, тем больше шанс, что например, там, тежут додной трезородчики, такие попробуют написать что-то на в виде, там, вент-бейс системы,

да, ну куда-нибудь там много, ну как бы, здорово, вот, и второй момент, что даже не второе, еще один момент про то, что когда у вас есть выбор, это значит, что вы можете повыбирать в том числе с точки зрения стоимости, потому что, ну как бы, с макрософтой бесплатно,

но за то, как бы, возможно, с какими-то другими дробоками, а там, не знаю, возьмите тот же мострансид с какой-нибудь платной поддержкой, если надо там есть, ну как бы денег тратить, ну за то, получается, эти фичка, которые выходить от мострансита, но в общем, это часть

разработчиков, его как бы он относится как раз к ней, и она его понятно, что он там сильно подробно не останавливается, а вот другая пола часть разработчиков, это прям его сильно удивляет, что насколько они боятся, тут на это у пенсор в проектов, вот, он говорит, что довольно

многие в Twitter селаются, ну типа, блин, это же наши юристы, заставили нас выбрать этот стектьхнологии, он говорит, ну это примерно как моя собак съел, но и домашние задания, вот, из этой же области, вот, и он говорит, что как раз вот это, пожалуй, одна из основных проблем,

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

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

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

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

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

стабильная лицензия, если мы сидим на микрософстеке, то все близзеры не закроют, как бы не потребует нас денег с него, микрософт не разум не ходил, у нас нет процедентов, а вот если мы начинаем использовать какие-то сторонние компоненты или библиотеки, то к на айтибе библиотеке могут прикизаться,

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

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

можно просто сказать, берем микрософт, типа, никто не как-то ежет, по говорку, что у меня в несколько подкастах она уже встретилась, когда давно была, ну не по говорку, при сказках, выражения, что никто не был уволен за то, что выбрал Oracle или IBM, но, в общем, кого-то из этих

крупников в Америке, ну просто потому что это индустриальный стандарт, да, как бы мы купили лучший продукт, да, лучшую коробку, а то, что она не работает, ну как бы, сори, она же лучше, разле, би, может, может, делать что-то плохое, то есть также микрософт здесь, она типа,

никуда не денется, через год, через два она как была такая станется, как в случае по сицины, ну как бы на месте она станет, созвездочка, созвездочка, сейчас как это моя, она тоже придет, вот дальше он говорит, что да, есть еще поин, что типа, не, но они там лонг-терм,

не будут, все эти, ну, сторонние проекты, не будут поддержаны лонг-терм, а микрософт, типа, они как он его написано, Safe by default, вот, типа безопасно по молчанию, тех, трите сторонние, в летеке не могут быть такого же качества, как микрософт делает, смотрим на гарноты, значит это странный год, который внутри, который как бы там Джиси Холл и все остальное, ну тем не менее, вот, но в таком духе, ну вот, ну, до си он говорит, что кажется, что вот эта вторая группа, она просто заменяет свою,

как бы кричиское мышление и возможность выбирать, как бы просто веро в то, что микрософт делает хорошо, и вот тут он говорит, что на счет на самом деле не совсем все так, то есть говорит, коробка-то коробка и микрософт, но посмотрите где сейчас там, силь варлай, да, он говорит, лучше и пример говорит, который я всем привожу, это WCF, говорит WCF, поигился, ну, говорит, примерно 2006, вот, мостранзит появился в 2007, ну и где говорит МВЦФ от микрософт, надежно и проверенный, и где мостранзит,

который до сих пор поддерживается и работает, то есть понятно, что это тоже, наверное, типа там, хорошо, если 1%, и для тех таких, да, которые столько много, давно и долго поддерживаются в экосистеме, потому что понятно, что 99% действительно померло за 2006 года, потому что они не

обновились на последний dootnet, они не обновились еще на что-нибудь, или они даже обновились на dootnetcore, но не обновились потом на совсем последнюю, то пятерку-сестерку, восьмерку, но тем не менее, какая-то доля логики у него есть, то есть, ну, нет этого действительно,

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

вновь, здесь, здесь, здесь, здесь, здесь, здесь, здесь, тоже шлуховая статистика, потому что, опять же, у микрософт, ну пусть, микрософт, 1% своих продуктов закопал, да, но если мы возьмем, а сколько опенс сложных библиотек, которые меняли себя конкурентами, микрософт из дохла,

но это умирает 99%, я и говорил, естественно, там, где сделал проление рисками, да, да, то есть, нет, это понятно, что скорее всего, давай так, решение от микрософта, наверное, проживет, гарантирую на несколько лет, вот так скажем, гарантирую, что нам проживетом десятки,

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

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

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

сдохло до практически все, то же самое идти фрымворк, несмотря на хибер-нейт, наин хибер-нейт, вполне достойную конкуренцию на библиотеку, ну где на час, но практически сдохло, но в общем, микрософт всё равно в лон к термин побеждает, то есть если по дефолту тебе дают

какую-то сливую опыцерсную библиотеку и по дефолту тебе что-то безысставляет микрософт, то как бы 80% что микрософт выживет и по дефолту это и возьмёшь именно его, здесь в ряд ли стоит пинать на то, что люди не хотят выбирать или не могут выбирать,

ну не знаю, не в этом проблема, а как выбирать, когда у тебя там один вендер, который завтра заболеет или уйдёт на педиси, у тебя виблиотека загнётся или когда отец этого корпорация, который может заменять людей, если реально видеть что технология востребована,

ну то есть совсем не в другом разговаривании, с этой точки зрения согласен, но с другой точки зрения, ну а что то есть, бе, ну то есть если мы будем всё время так делать, то всё скатится к временам Донат Фрэнворг, когда есть только Донат Фрэнворг, да и почти никакого в обансурсу, да безусловно, я полностью согласен, что огромная проблема об этом есть, и обязательно надо решать, но решение пока не видно.

Вот непонятно с какой стороны решать, потому что даже если у тебя появляется миллион, грубо говоря, сторонник и влетек, у тебя всё равно есть те, кто, ну как бы, и веих может быть даже быть бывшей, с то, который привычки будет говорить, берём Microsoft, даже если он там с хуже, не знаю, по каким-то параметрам ещё чего-то, ну типа не удобненько,

но зато от Microsoft. Смотри, тут вспоминается очень интересная дискуссия, которая была во времена становления общего DI контейнера, помнишь, что даже не было раньше общего DI контейнера, если кто-то засталечить времена общего логера не было,

всего это было как бы развлечной компании, и вот когда, и вот на DI контейнере это вот первая такая ласточка, вот в тот момент, что Microsoft будет заходить в каждую область, и вот как-то, как слон по своей ладке, замещать с собой, и там пришли очень много людей, очень много раз разных сторон, которые понимали, к чему это все это движется, если сейчас Microsoft выпустит свой DI контейнер, то она пойдёт по этому пути и дальше, и как бы все рано или поздно,

в севере в ладке, уже подним подамнуться. И там пришёл в частности, не к глазблумхард, который был автором автофако, а и он туда поэтому вот так в тему вписался. И у него была, мне кажется, такая хорошая идея, типа, да, давайте сначала, наверное, посмотрим, к чему это привело, да, у нас DI контейнерами красота появилась, и там микроссовд говорил, что это типа дефолтный контейнер, естественно, будет всеми замещаться, естественно, там будут, и в общем-то,

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

контейнеры вообще нет, вот ни разу. Вот к чему это привело, да, а теперь возвращаемся назад в тот момент, когда обсуждали, а что будет и почему и как и так далее. Ублумхарта было классное, по моему мнению предложение, он говорил, что да, не будут под фолту никто менять, это убьет, как бы рынок всех DI контейнерольд, альтернативных. Как бы ты хорошо, как бы на этом рынке себя не чувствовал, как бы у тебя как Арен сказал, насколько бы у тебя там креатив не работал,

как бы невозможно победить дефолтный DI контейнер. Предложение, да, возвращаемся, он предложил следующую идею, что Microsoft реализует именно протокол и именно стандарт, пусть Microsoft реализует только интерфейс, каким образом все остальные библиотеки должны регистрируется, да, то есть вот

iService Collection, предоставьте нам iService Collection, таким образом 100% решите все свои проблемы, то есть вы сможете и с петом зарегистировать, и медлуварь зарегистировать и в стороне библиотеки, которые подключаются у них будет понятный интерфейс, как им регистерироваться, то есть для этого

же был DI контейнер придумал, то есть iService Collection нам достаточно, но не давайте само имплементацию DI контейнера, пусть пользователь обязательно пойдет и выберет сам тот DI контейнер, который хочет, тот же самый структер мап, автофак, нг, до тысячи их было хороших

прекрасных, и таким образом вы как бы и стандартизируете рынок, то есть у вас будет стандарт, у вас не будет вот эта ваханале, где каждый с твоей интерфейс изобретает, и не убьете все интернативы, и такая же тема с логером, дайте нам просто интерфейс iLogger, которые будут

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

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

Да, но здесь возникнет вопрос, вот Microsoft у себя пишет iSP, ему внутри у себя тоже нужно что-то использовать, какой диайконтейнер, они внутри себя будут использовать. Ну, вплоть от того, что как бы написать свой интернел и никому его наружу не выставлять, и до того, чтобы возьмут какой-нибудь сырин, как почему бы и нет. Ну вот сыринка, они не видишь, долгое время жили, на самом деле с ним тунсов, но пока они на нелек себе.

Да, и переписали, и не его совсем руками, но близко к нему написали систем Текст-JSON. Ну, как бы, да, интерфей из их хорошо, но Microsoft слишком большой, отлично, тоже Java, да, в Java как у тебя же есть стандартный блядьек, да, в Джавской.

А и все, там тебе как раз вот там тебе не нужен, и какой-то джепан, ничего, ничего, ничего не нужно, у тебя просто дартный блядьека, у тебя различные веб-фреймворки, пишут и поставляют опять же различные компании, спринка одно, там не знаю, какие-то другие, другое. И просто спринка одно, все как-то не надо. Ну, у меня там есть, там активы, но тем не менее, всекие микро-нафты, и прочее вот это.

А то есть, что ко в том, что у тебя нет вот этого единой точки, которые нужно все это с, ну, затощите вместе, а у нас есть, у нас есть Microsoft, которому нужно, чтобы у него и, и свой диай был, причем реализации именно, да, потому что, ты ж не можешь сказать,

смотрите для того, чтобы написать Хиллого Ролта с ПСПшной Тотнете, тебе нужно сказать, дотнете ее, а потом выбрать из, как и логер, ты будешь пользоваться, каким диайб контейнером, ты будешь пользоваться, иначе без этого извини, не заведется. Ну, это же как... Ну, то же самое, что спринк будет делать, да, когда он тебе позволит совместимы между собой библиотеки, совместимых версий, каким-то образом скоббилировать, чтобы

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

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

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

Ну а вот тут возникает вопрос, нужно ли это комьюнити, микрософту, ли ему нужно, чтобы ему важор приходили, на чём угодно? Ну, конечно, целиком, конечно, что важор приходили, чтобы микрософту было удобно это все сделать, и чтобы у тебя все бюджетики, подефолт, работали, но без комьюнити надо понимать, в этой играх долгой, без комьюнити, все это загнется. Нет, но без комьюнити, еще раз.

А учится до этой треворг. Ну, до крики, пусть, если, как бы на нём, работают единственный софт в мире под название мажор, а на журсе пишут, не знаю, на джаве, и диплоет контейнер на джаве важором, и красавцы собирают деньги со журт, так и хорошо. Ну, опять же, платформ не развивается, иди не появляется, разработчики не приходят, кто это торжу поддерживать, то будет. Ну, там, микрософт, темного дорого, кто-нибудь, да, поддержит.

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

в пойдем постепенно, к следующей теме, тем более что-то немножко пересекается. Давай. Хочется с вами, дорогие друзья, поговорить о генерации свагера, не просто с генерацией, а в билтаме генерации. Для тех, кто немножко в танке, свагер, он же Open API, Specification, это такой мощный инструмент, мощный кистандарт на рынке, который позволяет вам в Джессон или

в Ямул документе описывать структуру вашего API. Он там описывает эндпоинты, которыми нужно обратиться, какие там квейри-параменты передать, полностью модели, реквесты, респонса, что там в них должно быть всякие секюрити, ключи, типа, типа авторизации, токены, барьеры, вот это все в этом Джессон или Ямул документе, подписано. И это очень такая полезная,

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

То есть для того, что протестировать и посмотреть на ваш API, вам уже не нужно писать какую-то UI, у вас есть стандартный свагер UI, который, в принципе, довольно функциональный и хорошенький. Теперь какую проблему хочется решить? Вся вот эта генерация на Нсваге, и свежьбакли, она происходит в рантайме. То есть для того, что получить вот этот выходной свагер документ, вам необходимо ваше приложение запустить. И просто как запустить, вот там

можно с ним что-же что-же сделать. Но очень часто хочется получить вот этот документ в build-time, то есть в build-еле и получили вот этот файлик. Зачем мы его получили? Это мы

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

складывал прямо на диск, потом дальше с ним что-то делал. Но, опять же, практически то же самое но микрософт сделал это немножко удобнее. Он запаковал ту же самый практически функциональность в удобный пакетик, который теперь называется Microsoft Extension op-discubption server. И этот пакетик позволяет вам как раз таки то, что мы и обсуждали генегировать Open API спецификацию, то есть вот этот свагер, JSON документ прямо из кода в тот момент, когда вы

build-ите свой проект. Для того чтобы си я чудо заработала вам необходимо. Ну, например, допустим, что за новый API проект добавить туда высшу упомянутый пакетж и и в c sprotch file добавить парочку элементов. Это Open API документ директории, обозначает папочку, в которой будет сохраняться выходной файл и элемент Open API Generate Document on Build в тру, который как раз таки и включает вот эта функциональность, чтобы этот документ генегрился.

Когда вы вызовите дотнот build, после успешной компиляции вашего проекта создаться, JSON file в папочке в которой вы указали. Вот так все просто красиво и понятно. Поддерживается минимум API, поддерживается mvc, в общем все это есть. И как раз буквально пару недель назад на гитхабе появилась интересная, интересный эпик, который называется building,

сделаем встроенную поддержку Open API документации в дотнете. И эта встроенная поддержка подразумевает собой не просто вот генерацию на литу, ну и прежде всего не только генерация на литу, а именно вот этот контракт Open API хочется вставить строить прямо в аэспенет, то есть чтобы весь аэспенет знал об этих структурах хотя бы, ну то есть как описывать контролю,

как описывать методы, чтоб это можно было пустим из кода все описать. И несмотря на то, что ищу потом чтобы давайте сделаем аэспенет Кор Open API package, появилась как я уже сказал, буквально пару недель назад, я посмотрел на пакет, который имеет генерить документацию во время builda. И этот пакет начинает публиковаться в ноги с 2019 года, середины 2019 года. То есть там буквально уже 5 лет он публикуется и почему-то ищу анативные поддержки появилась только сейчас, ну это какая-то

там не за большая интересная для меня загадка как это все работает. При том в этой ищу написано, давайте пожалуйста, релизуем пакет, который будет называться пигискрепшен сервер, который будет генерить во время builda. Ну вот он есть как уже 6 лет публиковается. И это тем и это ищу открыто,

я бы понял, что понесли, закройили там или далип ссылку, сказали уже есть, ну нет, нет. В общем, много какой-то бардак творится, но нас от бардак не интересует, нас больше интересует сам факт, да, что микрософ движется в ту сторону, чтобы струкстандартные структуры Open API'а заместить своими встроенными в аэспенет. И это им позволяет как раз так делать много разных фич, например,

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

вот это всё довольно утомительно и тяжко. Намного легче взять свагер спецификацию и понес генерить вам. Все урлы, все квали-строга типизированные, потому что мы знаем про типа, все боди, все реквесты, все авторизацию, все респонцы, все это в свагер спецификации есть. То есть генераторы творят

там много интересных чудесных дел и такие генераторы в их полно на рынке. Ну, в частности, например, прекрасный генератор есть микрософт-киота, это новый ажтитипеклайн-генератор, я думаю, про него я расскажу отдельно, потому что классная тема, очень много интересных находок, поговорим. Нсваг-генератор очень популярный на рынке, наверное, самый популярный вот генератор,

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

которая не требует от вас написания точных вызов ажтитипи методов. Опа на PI-плагины пишут сонес помощью того, когда вы указываете в какой уровень нужно засладать какую стручку и какую стручку туда распорсить. Нет, там пишут практически на естественном языке. Типа создания пользователя с таким-то именем и опын-пи-ай умеет, опын-пи, извините, опын-пи-ай – это наш искусственный интеллект, который он умеет понимать, что если мы хотим создать юзер, значит нужно пойти и

поискать endpoint, который называется user, если мы хотим создать там должно, надо поискать им метод пост и в этом методе пост те, где-то в одном из риквестов вкратии user-риквест, найти поля, которая называется name и запонить его то, что мы сказали, то есть он работает на основании вот таких терминах, поэтому опыны и i-плагины – это тоже очень хорошая точка для потребления в этой сфагер-спецификации, который по сути ему весь этот дикшнарь описывает. Тоже самый сфагер UI,

который у нас предоставляет UI к удобную, он тоже потребляет эти файлы. Postman, Redog, в общем очень много таких тестовых инструментов, которые позволят тестировщикам каким-то образом просить свою работу. Автомы те зеревать тесты, написать какую-то документацию на ваш API, в общем все эти инструменты, которые вокруг вот эта стандарта построены, они все хотят в окецпсификацию, это их контракт заимодействие. И чем раньше она он появится, например, на

билтайме, тем лучше, чем бы нет. Теперь посмотрим, как это все работает внутри. Внутри это работает практически тачка, как я сказал, как наши деды делали. На самом деле запускается во время билда специальная командлайн-тулза, которая называется dotnet-get-document, этот уза находит вашу сборку, вы я обязан указать уже скомпилированную сборку,

то есть сборка должна быть валидно и скомпилирована и так далее, это не анализ изходного кода, это не какие-то анализаторы, это именно поднятие настаще сборки, там находится entry point, то есть ваш main находится i-server implementation, то есть это стандартный наш хост,

он импроментировает r-server, через di-container достается некий документ-провайдер, и этот документ-провайдер с помощью рифлексжена, с помощью стандартного ipx-плойора и так далее, то есть в итоге, с помощью рифлексжена, анализирует все ваши контроллеры, все ваши методы и возвращает вам генериты, возвращает вам вот этот документ. В принципе такое всегда можно было сделать с помощью тестов, но вот в билтами и отдельной тулзой, которая запускается, это немножко удобнее. Планы про эту библиотеку.

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

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

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

тоже хотят вставить. И соответственно, они хотят заместить в том числе не только в билтайме, генерация этого свагера в спецификации, но если они ее умеет генерить, очень глупо становятся только на билтайме. Естественно, очень много инструментов и франворков рассчитывать на то, что она всегда есть в рантайме. В общем, в рантайме они тоже хотят сделать метод «Маб, опыный пиай» и выдавать этот документ. Чем собственно немножко уже топтется на поле свежбакла,

и Нсвага. И также они хотят сделать «Эспарь дожборт». Вы наверное от нас много на слышленный «Эспарь дожборт» и наделись, что в этом выпуске мы про эспару ничего не скажем, но нет. Эспарь, эспарь, эспарь, эспарь. Это, наверное, единственное тем про эспар, который она сегодня будет, но все же это она. Эспарь дожборт уже красив, да, там у него с графики, у него там есть метрики, у него там есть логи, у него там есть в общем список просто подов, то есть он красивый,

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

то есть тестовый UI для тестирования и пиайа. В общем, сто процентное замещение свагириуая,

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

вот эту по-андриллоку перепроверить, а точно ли у вас библиотека? Красивая, индивидуальная и с оригинальной идеей, но да, не знаю, я, честно говоря, давно уже свадьер-юай им именно не пользовался, для отестирования, то есть как-то все, обычно другие клиенты, либо всякие точки штат ДП, либо то, что в райдере там в идее, и прочих есть поддержка штат ВФайлов, ну, посмон куда он денется, хотя... Ну вот и твестировщикам заходил, там какими-нибудь

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

посмотрим на лицензии и стоимости, не самая лучше инструмента. Да, у посмон, кстати, тоже вдруг и не в курсе, но легкий автоп появилась альтернатива под названием Боруна, по-поглуглите offline-evil client, но, смотри, что он хранит все offline типа в файликах своих, без вот этого монстрозного и нового файлы из посмона, экспортирование коллекции, вот и при этом, вроде как это сам, я не смотрел еще просто, слышал где-то, лежит закладка, потом будет проверить.

Я пока и пользуюсь инсомнию, если вдруг тоже не слышали. Да, сварбакал, сварбакал, что-то

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

тот самый опынапи-непонапи, да, что у нас сварбакла генериты? Ну, сфагиспецификацию. Да, по сути, как бы сфагиспецификацию в опынапе, проблема в том, что вот это... Татья, смотри, еще один, еще один пример колборации Microsoft, да, наверное, второй, вот когда они использовали генеритам Microsoft, и сварбакал, он в единстве вюблетеке, когда использовала генеритам Microsoft, и Денти Тичьев. И Денти Тичьев. И Денти Тичьев, он

еще помнута до Microsoft, в сути, какой-то был. Нет, Денти Тичьев, но в ней, я ж, некоторые 4, кто была же. Ну, хорошо, да, допустим, и Денти Тичьев. Да, вот в Денти Тичьеву, ну вот, короче, Эспенент Корс, Вашбакал, или Свашбакал, аспенент Корпакет, как он там назывался, он, в общем, давно не поддерживается достаточно, то есть там последние комитты, что типа 22 году, и у

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

это как бы зачем. Ну, смотри, я бы с тобой согласился, что это... это Ишке был продиктован тем, что это библиотеку никто не поддерживает, если бы Microsoft от Свашбакла перешел, например, на Ильен Свак, который прекрасно поддерживается, но он-то не перешел, он написал свое, кажется,

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

у тебя пурик в этот стороне не принимает библиотеку, что ты будешь делать. Нет, ну, у Мидусь есть,

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

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

должны были прям хорошими, за хорошие замена, чего-нибудь стать. Ну, нет, не стали. Да, они видимы довольно такая узкая, нижевая штука, так кому надо они используют, кому не надо, ну, значит, видимо, не используют либо действительно они настолько прямыльейные простые, что просто беремо используя. Так вот, статья она довольно давнее, полгода ей, но в общем, это не настолько давнее, чтобы про нее не поговорить. Автор задумал со следующей штуки, ну там, с некоторей предыстории,

ну, смысл задачки свойствок этому. У нас есть ряд задачек. Каждый задачек, это какие-то там не знаю, операции с базой данных, например, вызовы, описышек и так далее. То есть, какое какие-то нет только цепла у задачки, а там в том числе есть вот выют. И нам нужно сделать Н таких задачек, да, плюс минус как-то параллельно, возможно, не очень параллельно, но по возможности, как можно

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

не такая большая, ну, в основной мысли расскажу. У нас есть, во-первых, в Типе или, да, то есть таск параллайвер, то что паралл форыч, вот это все. Есть такое опция по названию Макс Дегрио в параллизм, который можно не указывать, но если вы ее указываете, то в этом, образом, ограничить количество тасков, которые будут, на временном исполнятся. Ну, довольно ужаское ограничение. Все остальные будут поставлены в очереди, пока не освободиться, соответственно,

место для выполнений следующих. И понятно, что если ваши ворклоды, то есть те таски, которые выполняют в себя включают какой-то I.O., то есть обращение к вазиданных или обращение к сети, то скорее всего в этот момент таски будут весеть ничего не делать, но поскольку таска не закончена, формально, то теперь на линьке не будет, давайте выполнять следующий таск.

В результате он набросал некоторые тестик, то есть там небольшой ворклод на сотню по маетам, а некоторые нарандомные делые внутри каждого, чтобы симулировать какой-то I.O. И попробовал потестируй через channel, через parallel for 4, и 4, ну, с ограничением в 4,

parallel for rich async, так тоже с ограничением 4, чтобы понять разницу между синхронной, синхронной версией, потом попробовал увеличить for rich async до 40, то есть здесь и здесь, раз больше сделать, и попробовал сделать for rich async без явного указания,

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

не совсем подряд, занялся, а в 88-м или секунд на его, значит, компе, версия parallel for с 4 с ограничением в 4, занялся 800, короче, мили секунд, for rich async, на таких же объеме занял 7504, то считается, столько же времени, for rich async от 40,

это 100 мили секунд тоже, приближается к channel, ну и for rich async с default ным вариантом, когда вы не указываете явно, магдигерив parallelism, он, вероятно, сам считается за их месте, то количество ядер, которые у вас есть, он занял 385 мили секунд, то есть такая серединка на плавинку, и дальше он делать за то следующий выводы, а система традинг channel, то что он, ну быстрее, чем parallel for 4 с ограничением в 4, ну тут как бы это вообще не сюрприз, потому что поскольку у нас есть в

тазках тот самый I.O. или рандонный delay, да, в даншем случае, то понятно, что все остальные тазки просто ждут в очереди, пока оно выполнится, даже если вы увеличиваете до 40 элементов, все равно понятно, почему это чуть медленнее, чем channel, но потому,

что по факту у вас 40 тазков с начинами от исполнятся, ну и 40 до 60 все равно все же ждут, пока я первый 40, то в очередной начинут завершаться в зависимости от размера delay, а при этом он говорит, что он, по сути, не как не ограничивает, проализм, да, она просто берет в сертаске из

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

переживать такое количество обращений, то у вас проблемы, тогда таки нужно ограничить про организм, ну и тогда возвращайтесь в форыча-синг, но при этом, чем channel сильно упрощают в этот модель программирования, то есть она, по сути, у вас становится линейной, вы можете считать, что вам результат,

из channel возвращаются плюс минус последовательно, в отличие от тепелек, который завершается там совершенно непонятно образом, надо писать всякие в нол, там вот это все по таскам, ну и всякую такую мульти по точному, ну даже не может быть немного по точному, но некоторые маги на тасках твои, и

основной, пожалуй, вы это которые он делает в этот статье, если вы вдруг используете форыча-синг, но обязательно указывайте Магздегриев в форализм, потому что иначе это будет не выбранное некоторое число, возможно она будет плюс минус оптималь, но это будет такой средник,

то есть с одной стороны, вы не ограничиваете вот это вот количество одновременно параллельных какой-то вам известной величиной, то есть вы не знаете, может при одном запуске у вас будет там не знаю, 4, таски одновременно выполняются максимума при другом 40 и ваша внешняя пишка, которая например стучит быть неоснет счастлива, лучше явно задавать, а с другой стороны, если вы ограничиваете слишком сильно, то так получится, что ограничивается слишком сильно, то вы может быть сами того

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

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

Ну, когда-нибудь, когда её пофикс, да, да, когда пофикс, да, или на бД сервер накинут там ресурсов, и он внезапно станет в два раза больше коннекшенов обрабатывать, ну, может быть, может быть, не знаю. Ну, смотри как гагарно, ты вопрос запустили, он на любых побьёмах, на любых данных всё показывает в сто раз быстрее, вот вот это нормально в тутором. Точно, подменяешь что из кондейерна такой штуку и сразу зашибись. И сразу в ГДЦХОЛ. Ну, ну, так как получится, да, куда же бездрыкта.

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

им сильно нужно. Да, я, по-моему, не разу нормальный логику на чем-нолах не писал, ну то есть нормальный инфраструктуру, у меня всё время почему-то хватало чего-то другого, только такие игральные проекты, которые, честно, попробовать, чисто потести, чувствовать, тоже обидно, как будто. Это может быть так быстро, и, знаешь, многое вплоть. Я просто хочу сказать, потому что мы старые, у нас достаточно, руки помнят, как писать всё на условно-тепе или.

И как бы, ну, на чем-нолах, наверное, быстрее, но оно уже достаточно хорошо работает на чем-нолах, и, наверное, это очень хорошо. А, ну, если у вас есть опыт, работа с ченулами, и вам понравилось, то приходите, расскажите о каких ситуациях, каких проектах в это следовало бы использовать. Да, а если вы уже недостаточно старый или ещё недостаточно старый, то, наверное, вам понравится следующую тема про искусственный интеллект. Мы очень редко говорим про искусственный интеллект.

Да, за за хайпер, вообще. Здесь соединилась две просто темы, про которые мы лет как говорим. Но у вас первых искусственный интеллект, это какой-то глюбанный хайп, который непонятно, в какие вороты вставлять. А во-вторых, это UI. Мы про UI. Ну, пытаемся много говорить в виде мою, и так далее, но у нас плохо получается, потому что в UI сейчас вообще какая-то стогнация, дырка, бездно и всё такое. UI

Framework, катится куда-то не туда. И вот, чтобы хоть как-то вот эти темы, блин, поднятий, что-то в этом духе, я нашёл интересную статью, которая, как раз называется, Introduction. Dotnet Smart Components. То есть, который соединяет себе как раз UI и Artificial Intelligence Control. Я думал, что опять же, это какой-то проходной бозворт, но почитаю статью, действительно, захотелось

с вами они поделиться. Во-первых, там есть текст, а во-вторых, есть видео. И видео представлять никто, и, ну, а автор Steve Sanderson, он автор не только Smart Componentов, он автор ещё Blazor, а автор, и много такой Intusivast в eBasemble. Вообще, он там написал какой-то Headless Web Browser, оптимизированный по-двбсмble, какие-то компоненты на сервер, ненайна Куберната, и все пишет для eBasemble. В общем, отличный эксперт, призанный чувак. И он много таких

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

В общем, чем меня статья зацепила, что это не какие-то банальные улучшения скрола или плавности прокрутки, а что-то новое, что можно донести пользователей, интересно и программистам и пользователи. Он нам представил несколько вот таких Smart Componentов для blazers. Первый из них это SmartPaste, то есть это специальная кнопка, которая позволяет вам сделать умную вставку.

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

ошибиться. С помощью всего на всего одной строчке, когда мы меняем обычный батт, нас SmartPasteBattern в blazer, который использует есе с Smart Componentов, у нас появляется такая возможность, что в этой форме появляется специальная кнопочка SmartPaste. Когда пользователь ее нажимает, перед ним открывается такой текстов кошка, куда в произвольной форме он может ставить абсолютно любой текст. Например, меня зовут в бассей, я живу в России, в мой город такой,

мой кот такой, это улица такая и так далее. То есть обычный какой-то произвольный текст, который вы можете выдрыть, допустим из какой-нибудь почтовый рассылки или еще и из-за счет какой-то, или просто из сайта, или свои биографии, на сайте скопировать его и вставить. Абсолютно не важно формат, вот что интересно. И вот это умная сволочь, она этот вис текст понимает, анализирует сущности, понимает кто из них все с ним, кто ласный, кто из них телефон,

кто такой и кантри, и на какой улице вы живете по какому номер дома. И вставляет это все в каждый в своем поле. При этом ничего абсолютно размечать не нужно. Какими-то определённые темы, тетегами, там не надо говорить в каком поле у меня хранится телефон. Он сам догадывается по тем лейблам, кот по тем переплaced текстам, которые у вас уже есть на контролах. В общем, особенно сам все это проанализировать. В общем, выглядит довольно интересно. Следующий

компонент – это SmartText Area. Здесь и уский спирт подзумевается такой, что вы, например, часто пишите какие-нибудь письма или отвечаете в какой-нибудь, например, сапорте на какие-то тикеты, вот что-то в этом духе. Например, представьте, что если вы выполняете роль о чере специалисты, который, например, у которому задали вопросы, могу ли я пойти в отпуск. Вот и вы должны написать такое хорошие письмо, типа здравствуйте, дорогой мой сотрудник, я вас очень люблю. У вас там

осталось только оп, оп, отпуска и так далее. В общем, это письма все писать довольно мутерно, потому что они все довольно однотивные. И отличаются там какими-то довольно мелочами. То есть, просто так с шаблон вставить одно тип, ты вас не получится, потому что у каждого сотрудника, там различное, допустим, количество отпусков осталось, или вы поприветствовали вы должны по-разному, или поклонятся в другую сторону, но там 80% это template. А в что подразумевается в таком случае?

Подразумевается заменить ваш текст-эрия на смарт-текст-эрия. Это специальный текст бок, бокс, в котором вам искусственный интеллект помогает дополнять этот текст. Каким вам взаимом

дополняет? Точно так же, вы должны дать ему небольшую базу текстов, произвольном, произвольного текста, абсолютно никак не структурировано, в которой вы напишите, что я там работаю в такой-то компании, обычно у наших сотрудников 28 дней отпуска оплачиваем, подробнее прочитать о том, как расходуется ваш отпуск, можно по такому-то уровлу, сайт компании такой-то, если

есть вопросы, пишите на e-mail, а чер-департмин, на вот такой-то. И дальше, вы начинаете, когда уже сам специалист начинает с этим текстом работать, ему грубо говоря возникает вот такой интеллицент, но интеллицент с которой полностью в том контексе, что он сейчас пишет. Если он пишет там хай дорогой сотрудник, он там подозумевает стандартную, вставляет в стандартную фразу приветствия.

Вы, естественно, можете ее применить, немножко поменять, немножко поделать под ситуацию. Когда вы пишете, у вас осталось и он вам подставляет сразу 28 дней оплачиваемого отуска, потому что по такому уровлу написано наше полиции компании, уровл компании, если есть вопросы, напишите

по такому ты e-mail, то есть вот эти все тексты, вот эти все текстовые блоки он вам подставляет. И вот кажется, что если ваша задача состоит в том, чтобы или часто отвечать на письма, или заполнять какие-то формы, которые более-менее действуют по стандартным шаблонам, но имеют вот небольшие какие-то отвезлини, то вот это идеальный просто компонент, потому что он умеет подстраиваться

под вашей текущей желания, и в то же время обладает все базы и данных, по сути вашей компании. То есть вы из этой база данных с помощью того текста, который сейчас набираете, он вам сразу подставляет уже готовый значение, то есть например, улы, стандартные цифры, стандартные e-mail, номер телефона директора, вам достаточно просто намекнуть на то, что вы собираетесь это вводить. И вам не нужно где-то искать какие-то ранбуки, там лезть куда-то вашу вики, а туда что-то копировать, вот эта вся вики,

вас просто на кончиках пальцев появляется. Еще один компонент, наверное это уже последний, это смарт комбо бокс. Ну, думаю, стандартный комбо бокс, вы все все представляете, да, это какой-то текст, и у него есть выпадающий список с какими-то предложениями, которые вы можете выбрать.

Проблема обычного комбо бокса заключается в том, что вы для того, чтобы представить сон огромный, да, что он большой, не знаю там, города, страны, что бы такое более-менее реальное, но большой, и вот вы пытаетесь оттуда что-то выбрать, для того чтобы что-нибудь там написать в этом комбо боксе,

чтобы быстрее выбрать, вам необходимо обязательно знать о наличии такого слова в этом подставляемо списки, да, то есть вы обязаны знать, как называется город, если вы там хотите его боескать, или обязаны знать, как он пишется, или страну, ну город и страну, наверное, же все знают,

а если вы приходите на какую-то сайт, допустим, создаете ищу на гитхабы, на гитхабе и вас просит из комбо бокса указать категорию, да, который относится это ищу, да я понятия не имею, какие его этого сайта, какие-то приложения, какие-то библитики там есть категории, какие-нибудь там забили,

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

что вы, например, если ведете в этом комбо боксе слово самолет, но при этом в выпадающем списке, который предлагает вам UI, слово самолет нет, но там есть что-то симантический похож, например, путешествие или публичный транспорт, он вам предложит выбрать из вот этих слов, то есть по слову самолет,

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

вы выйти словом он мобайл, и в комбо боксе вам выскакивает уже подсказки в виде Android, а iOS, mobile security, mobile accessability, ну то есть ты такой симантический матчен, как он знает, что Android относится к мобайлам, он знает, что iOS от то есть, то есть, то есть, то есть, то есть, то есть,

то есть, тоשהка по BILA, может быть, Вы хотели как-то выйти на вот это, то есть он вам помогает водить в такие сложные большие, подбирать значения в таких больших больших комбо боксов, принялись тетрогом он мобильнее на идет罪 на вод 안, до насток кроме unboxing в creamığı тявоназии другу из니다ешь вообще идти Все вот этот симантический матчен, то есть, как konuşиваться друг с другом, кто в кого входит

и где и dapat одним изstedныхiedち, где этоjay включен в ту модель который у него работает для того, чтобы это все работало работать на какой-то артефишелн-телнджиус модели. То есть вам нужен какой-то бакент обученный. И там поддерживается Open API Bакент. Ой, ОПН-EI Bакент. Уже с такой идти. С такомного похожих слов с OpenEI, мы опын и пиаем. Короче, OpenEI Bакент. Да, что это значит? Это стандартный прокатокол, по которому поставляется, допустим, например, там чак же пить.

Это стандартный прокатокол, опын и I. Казалось бы, мы все завязаны на OpenEI, но на самом деле нет. Потому что вот этот протокол OpenEI, он уже на самом деле стал стандартным для всего рынка. Потому что все другие модели, которые выпускаются, им абсолютно не сложно поддержать свой стандарт OpenEI. Ситуация похожая, например, с редисом, когда уже выходит у тебя какой-то новый кэш, ему совсем не сложно, даже очень полезно поддержать протокол редиса. Тут такая же ситуация.

То есть поддержится абсолютно любая модель, которая абсолютно любит движок, даже который умеет OpenEI протокол. Например, у Лама. У Лама это такой, это не один движок, это такой бэккент, который поддержит на себя очень-очень много моделей. Там у них больше десятка. Я думаю, к сотни уже приближается количество моделей. Это там открытые модели, какие-то другие модели, оптимизированные потоки, бизированные по отсеку. Если интересно, просто зайдите посмотрите.

То есть на самом деле, чтобы эта штука у вас заработал, вам не обязательно пользоваться каким-то страшным онлайнам и OpenEI бэккента. Вполне можете на Уламе поднять у себя где-то. Локально какой-нибудь модель, который вам подходит и вполне ее затеет. То есть любой пиай, который с Мистимом OpenEI.

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

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

Ну ты узнаешь, школстек, в этом школстеке, наверняка, у тебя нет проверки на наулы, а это уже, как бы, 80% всех баков. Ну, типа того, да, наверное так. Ну чего, давай потихонечку двигаться к концу. У нас есть на самом деле секция кратка разна, где действительно сегодня особо разного нет, потому что про Сашбакл я уже рассказал, поэтому там всего лишь одна единственная новость, и та очень краткая.

Я просто она просто хотел вам напомнить, что на самом деле, дот над 7, хотя появился, наверное, недавно по нашим меркам, у поддержка дот над 7 уже прекращается. 14 мая микрософт прекратит официальную поддержку. Ну и нужно напомнить, что это был не LTS, поэтому он поражил так недолго. А вот LTS это дот над 8, и поэтому всем рекомендуется семерки переходить над дот над 8, который проживет недолго не мало до 10 ноября 26 года.

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

Мы смогли поговорить о микрософт-гарнет, узнали про то, что добавят в пререте к U в 9-м тотнете, по обсуждали опыт Джимми Бомбурдной проперенос, старых тотнет-фреймфорг приложений на новый дот над, узнали, как страдает комьюнити Microsoft, потому что Microsoft либо делает слишком много, либо наоборот не пишет уникальные единые стандартные гивулятики для всего.

Посмотрели на то, как Microsoft собирается генерировать опыт на письте в билтайме, вспомнили, что есть такая, что бы есть у Треддин-Чаннелса, не мог сравнили с Тепелем, ну и посмотрели на новый спорт компоненты в Плейзере. На этом у нас, наверное, на сегодня все. Да, да, точно все. Ну вы тоже там не забываете комментарии, репосты, шары, и, скажите, друзья, мы все такое, вы знаете где нас найти. Всем до новых встреч, всем пока. Всем пока.

This transcript was generated by Metacast using AI and may contain inaccuracies. Learn more about transcripts.