Согласен, технически возможность создавать потоки действительно есть, но там же будут разные рантаймы, общей памяти ни у потоков, ни у корутин все равно нет - нельзя передавать ссылки на объекты между потоками.
View в MVC - это презентационный слой для данных, визуальным он может быть, но не обязан. REST API своему клиенту могут презентовать данные в виде JSON - фронтенду или другому (микро)сервису. Визуализируются они дальше или нет - не важно.
В ASP.NET Core средства создания REST API лежат в сборке Microsoft.AspNetCore.Mvc.Core, поэтому логично было бы считать их частью ASP.NET Core MVC-сабфреймворка. Раньше этому у MS было отдельное название - Web API, а сейчас в документации скупое Controller-based APIs.
Это значит, что ASP и ASP.NET - разные технологии. Ссылку я привел выше.
У актуального дотнета уже несколько лет нет слова Core в названии
У дотнета - уже нет, а у библиотек и фреймворков - так и осталось. ASP.NET Core, EF Core и т.п.
У MS всю дорогу проблемы с неймингом =3
MVC - это шаблон проектирования Model-View-Controller, и я затрудняюсь представить, кто и как пишет с его помощью микросервисы.
В чем именно тут затруднение? Микросервисы накладывают ограничения на архитектурные паттерны? Или что "View" может быть не только куском готового HTML, но и JSON-моделькой?
ASP, еще до дотнета который? Нет, речь идет об актуальном ASP.NET Core MVC, хотя автор в посте по почему-то отбросил слово "Core", но из контекста понятно, что речь идет не про оригинальный ASP.NET MVC под .NET Framework.
JS Interop — это головная боль. Да, можно использовать JS-библиотеки, но там, где TypeScript подсвечивает синтаксис и проверяет типобезопасность на этапе компиляции, в Blazor все проверки смещаются в рантайм
Если говорить именно про библиотеки на JS, то TS будет полагаться на декларации контрактов (*.d.ts), которые в рантайме так же могут разъехаться с реализацией. При том TS, как известно, не силен рантаймовыми проверками, в отличие от.
На MVC в том числе делают микросервисы. Кроме того, сейчас MS ативно форсит более аскетичный Minimal API для этих целей, но этот подход еще не победил.
Там нет минорных версий, вообще такое понятие в описаниях релизов не фигируриует. Срок поддержки - это чисто административное решение, можно было хоть каждый LTSом сделать.
Лично я лоялен вакансиям с Go, но пока максимум, что встречал в тандеме с дотнетом - это горячие инфраструктурные штуки. Но чтобы кто-то брался переписывать ядро бизнес-логики - такого не видел. У меня поиск не репрезентативен, особенно по тенденциям за рубежом, но прям тотальных изменений пока на горизонте не видно.
Шарпы - это один из самых популярных языков, в любом топе он будет стабильно в первой пятерке. В своей нише с ним может тягаться разве что Java. Не самый - наверное потому, что хайп по нему прошел, но при этом спрос на дотнет продолжает расти.
почему-то они компилятор ts портируют не на c# и не на rust, а на go.
Этому был ответ от разработчиков - проще было автоматически портировать, т.к. у Go простая грамматика. Если смотреть по системным задачам, то для разработки виндов MS выбирают таки Rust, а не Go.
В расте нет классического наследования, вполне ожидаемо, что попытки прывычным образом его сюда натянуть выглядят так себе 😀 Для моделирования ациклических графовых структур напрашиваются типы-суммы и паттерн-матчинг.
golang, он менее многословный и более выразительный
Он-то как раз многословнее названных, т.к. синтаксис у Go самый бедный компактный, из-за чего некоторые концепции, которые заложены в дизайн других языков, приходится выражать дополнительными словами коде. Как пример - обработка ошибок, что вообще мем и одна из главных болей сообщества из-за вынужденной громоздкости конструкций, размывающей бизнес-логику.
Выразительность - это субъективная мера, но многословность здесь очков как будто бы не добавляет.
время сложных языков прошло, сейчас бизнес требует, чтобы фичи выпускались быстро и дешево
В целом, согласен с мыслью о том, что Rust - сложноват, для того, чтобы быть заменой C# для написания логики с умереннымыми требованиями к ресурсам. Но ведь и Go слишком сильно проигрывает шарпам по облегчалкам жизни для программиста, чтобы делать на нем зубодробительную бизнес-логику. Его роль сейчас устаканивается где-то на стыке технологий: в решении боттлнеков, где C++ еще оверкилл, но условный Python уже не вывозит.
вы точно живёте в каком то другом мире, где люди не ошибаются и задачи планируются сразу
Низкая квалификация и недобросовестная работа - это ошибка выбора профессии, в таких "мирах" я стараюсь не задерживаться. Чего и другим желаю.
приходили люди, которые пытались починить код, который даже не исполнялся
То есть они не умеют пользоваться отладчиком и не удосужились воспроизвести проблему, которую собрались чинить.
работаю над задачей у которой уже 12 итераций
12 раз переделывать одну фичу - это похоже на безумие само по себе) Звучит, как процессы стартапа под конец бюджета, когда требования рождаются по ходу пьесы и нет времени на исследование кодобазы перед взятием фичи в разработку. Почему так? Никто заранее не знал, что те же А/Б тесты нужны?
если сейчас сделали задачу, а потом оказалось что надо распилить функционал пополам, потом сделать две итерации над одной частью, потом АБ тесты, потом ещё что-то, никто не будет тащить комментарий о том, в какой ветке спрятана вторая половина функционала.
Даже если наивно делать сторю, в которой по каждой доработке заводить сабтаску с говорящим названием, одна из которых будет про сплит функционала, то найти необходимое не составит труда.
была в комментариях к одной из тасок, которые с учётом правок и дополнений уже на поэму тянут
Если следовать git flow или подобной методологии, где каждая единица работы делается в отдельной ветке, и id таски в имени, то проблем с поиском не должно быть.
человек который придет кодить рядом скорее всего предположит что код уже работает
У него нет оснований так предполагать. Если есть явный условный переход, значит, условие может быть как истинным, так и ложным.
Но если нет кода - нет и сомнений. Поэтому разные ветки при прочих равных предпочтительнее.
На реальных проектах работают люди
Чтобы суметь таске указать родительскую фичу не нужно быть суперменом. Для эффективной работы нужно выстраивать процессы, это непосредственная задача менеджмента.
За счет чего операционка должна ускоряться от версии к версии?
Зумеры изобрели Dial-up?😁
Согласен, технически возможность создавать потоки действительно есть, но там же будут разные рантаймы, общей памяти ни у потоков, ни у корутин все равно нет - нельзя передавать ссылки на объекты между потоками.
Там же по факту костыли на многопроцессносности, а не многопоточность. Нет возможности прямо в том же процессе сделать поток и управлять им.
Бойан
View в MVC - это презентационный слой для данных, визуальным он может быть, но не обязан. REST API своему клиенту могут презентовать данные в виде JSON - фронтенду или другому (микро)сервису. Визуализируются они дальше или нет - не важно.
В ASP.NET Core средства создания REST API лежат в сборке
Microsoft.AspNetCore.Mvc.Core, поэтому логично было бы считать их частью ASP.NET Core MVC-сабфреймворка. Раньше этому у MS было отдельное название - Web API, а сейчас в документации скупое Controller-based APIs.Это значит, что ASP и ASP.NET - разные технологии. Ссылку я привел выше.
У дотнета - уже нет, а у библиотек и фреймворков - так и осталось. ASP.NET Core, EF Core и т.п.
У MS всю дорогу проблемы с неймингом =3
В чем именно тут затруднение? Микросервисы накладывают ограничения на архитектурные паттерны? Или что "View" может быть не только куском готового HTML, но и JSON-моделькой?
ASP, еще до дотнета который? Нет, речь идет об актуальном ASP.NET Core MVC, хотя автор в посте по почему-то отбросил слово "Core", но из контекста понятно, что речь идет не про оригинальный ASP.NET MVC под .NET Framework.
Если говорить именно про библиотеки на JS, то TS будет полагаться на декларации контрактов (*.d.ts), которые в рантайме так же могут разъехаться с реализацией. При том TS, как известно, не силен рантаймовыми проверками, в отличие от.
На MVC в том числе делают микросервисы. Кроме того, сейчас MS ативно форсит более аскетичный Minimal API для этих целей, но этот подход еще не победил.
А какое преимущество в вебе дает интерпретация?
WebSocket против HTTP и полноценный WASM-режим с возможностью делать полноценные PWA.
Там нет минорных версий, вообще такое понятие в описаниях релизов не фигируриует. Срок поддержки - это чисто административное решение, можно было хоть каждый LTSом сделать.
Это буквально означает, что нужно и то, и другое)
Лично я лоялен вакансиям с Go, но пока максимум, что встречал в тандеме с дотнетом - это горячие инфраструктурные штуки. Но чтобы кто-то брался переписывать ядро бизнес-логики - такого не видел. У меня поиск не репрезентативен, особенно по тенденциям за рубежом, но прям тотальных изменений пока на горизонте не видно.
Шарпы - это один из самых популярных языков, в любом топе он будет стабильно в первой пятерке. В своей нише с ним может тягаться разве что Java. Не самый - наверное потому, что хайп по нему прошел, но при этом спрос на дотнет продолжает расти.
Этому был ответ от разработчиков - проще было автоматически портировать, т.к. у Go простая грамматика. Если смотреть по системным задачам, то для разработки виндов MS выбирают таки Rust, а не Go.
В расте нет классического наследования, вполне ожидаемо, что попытки прывычным образом его сюда натянуть выглядят так себе 😀 Для моделирования ациклических графовых структур напрашиваются типы-суммы и паттерн-матчинг.
Наивное решение через типы-суммы
прейграунд
Он-то как раз многословнее названных, т.к. синтаксис у Go самый
бедныйкомпактный, из-за чего некоторые концепции, которые заложены в дизайн других языков, приходится выражать дополнительными словами коде. Как пример - обработка ошибок, что вообще мем и одна из главных болей сообщества из-за вынужденной громоздкости конструкций, размывающей бизнес-логику.Выразительность - это субъективная мера, но многословность здесь очков как будто бы не добавляет.
В целом, согласен с мыслью о том, что Rust - сложноват, для того, чтобы быть заменой C# для написания логики с умереннымыми требованиями к ресурсам. Но ведь и Go слишком сильно проигрывает шарпам по облегчалкам жизни для программиста, чтобы делать на нем зубодробительную бизнес-логику. Его роль сейчас устаканивается где-то на стыке технологий: в решении боттлнеков, где C++ еще оверкилл, но условный Python уже не вывозит.
Тем временем Java уже имеет версию 25 и релизится дважды в год.
Ради этого за сотни км к железке смотаться - почему бы и да!
Низкая квалификация и недобросовестная работа - это ошибка выбора профессии, в таких "мирах" я стараюсь не задерживаться. Чего и другим желаю.
То есть они не умеют пользоваться отладчиком и не удосужились воспроизвести проблему, которую собрались чинить.
12 раз переделывать одну фичу - это похоже на безумие само по себе) Звучит, как процессы стартапа под конец бюджета, когда требования рождаются по ходу пьесы и нет времени на исследование кодобазы перед взятием фичи в разработку. Почему так? Никто заранее не знал, что те же А/Б тесты нужны?
Даже если наивно делать сторю, в которой по каждой доработке заводить сабтаску с говорящим названием, одна из которых будет про сплит функционала, то найти необходимое не составит труда.
Если следовать git flow или подобной методологии, где каждая единица работы делается в отдельной ветке, и id таски в имени, то проблем с поиском не должно быть.
У него нет оснований так предполагать. Если есть явный условный переход, значит, условие может быть как истинным, так и ложным.
Но если нет кода - нет и сомнений. Поэтому разные ветки при прочих равных предпочтительнее.
Чтобы суметь таске указать родительскую фичу не нужно быть суперменом. Для эффективной работы нужно выстраивать процессы, это непосредственная задача менеджмента.