Долгожданный xUnit 3, новинки Npgsql и MongoDB в EF, .NET-рынок

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 ม.ค. 2025

ความคิดเห็น • 29

  • @MrCommanderKid
    @MrCommanderKid วันที่ผ่านมา

    Отлично! 🎉

  • @PForeverSAH
    @PForeverSAH วันที่ผ่านมา

    немного наброшу в защиту тайпскрипта :D.
    Да, совершенно верно, типы там существуют только в момент компиляции, в рантайме можно огрести. Но в каких случаях? 1) отказ следования регламентам, 2) грязный внешний мир.
    Последнее создаст проблемы и в c# (хотя вы и упадёте раньше, но проверять туже нуляюельнлсть всё равно обязаны сами).
    А с регламентами всё очень неплохо: если им следовать (например не писать any вместо known, чекать типы перед кастом, и т.д.), то помимо уверенности приходит и очень интересный бонус: в тайп скрипте на самом деле очень навороченная система типов, фактически у вас в руках целая математика типов, с которыми можно общаться как со множествами, например выбирая их перксечения, суммы, разницы или даже деления.
    Эти множества можно трансформимровать, например, вы можете гарантировать что у вас функция, принимающая объект одного типа, должна вернуть объект другого типа, но с изменёнными именами или типами полей.
    Так, например в RxJs есть набор функций, которые могут принять объект с полями-обсервейбалами любых типов, а в сабскрайбе будет возвращаться объект с теми же полями, но уже результатами подписки (т.е. {a$: Observable, b$: Observable} => {a: number, b: string}). Или же можно задать аргумент, который строго требует передачи проперти заданного типа для некоторого объекта и т.д.
    В c# же для создания подобных конструкций зачастую приходится прибегать к контрактам и чекать их в рантайме, что невелирует приемущества строгой типизации.
    Повторюсь, что нарушить в тайпскрипте подобные ограничения типов можно, но они обычно требуют явного написания в коде специальных конструкций, которые вполне можно заблокировать на уровне линтера

  • @aleksandrerygin4553
    @aleksandrerygin4553 19 วันที่ผ่านมา +1

    Очень позитивный выпуск, всех с наступающим!!!

    • @tt0nix
      @tt0nix 17 วันที่ผ่านมา

      С новым годом!

  • @maxm1079
    @maxm1079 19 วันที่ผ่านมา

    23:24 но ведь для event Action Field, async void простительно делать

    • @tt0nix
      @tt0nix 17 วันที่ผ่านมา

      Да, только для event в WinForm. Это единственное исключение.
      Вообще, MS довольно неплохо вкладывается в развитие WinForms. Могла бы давно уже поддержать Task в событиях контролов.

    • @maxm1079
      @maxm1079 17 วันที่ผ่านมา

      @@tt0nix а почему именно в WinForm ?
      у меня допустим много где есть подобные интерфейсы
      public interface IRFID : IDevice
      {
      event Action DetectCard;
      event Action RemovedCard;
      }
      и кроме как делать асинхронную (чтоб потом вызвать асинхронно последующие таски) войдовскую подпись у меня нет больше возможностей.
      и такое работает в простых сервисных приложений под линукс.
      может я что-то пропустил в мире .Net и есть другие способы создавать события ?

    • @GachiMayhem
      @GachiMayhem 16 วันที่ผ่านมา

      @@maxm1079 ну а почему бы не заюзать
      event Func DetectCard;
      event Func RemovedCard;
      или я не совсем верно понял ваш кейс

  • @KishoreMariangela
    @KishoreMariangela 15 วันที่ผ่านมา

    Благодарю за детальный разбор! У меня возник такой вопрос: На моем SafePal кошельке хранится USDT и у меня есть seed фраза. (alarm fetch churn bridge exercise tape speak race clerk couch crater letter). Как мне перевести их на Binance?

  • @bananasba
    @bananasba 18 วันที่ผ่านมา

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

    • @tt0nix
      @tt0nix 17 วันที่ผ่านมา

      В каком конкретно месте новая версия конфликтует с вашим существующим кодом?

    • @bananasba
      @bananasba 17 วันที่ผ่านมา

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

  • @bananasba
    @bananasba 18 วันที่ผ่านมา

    НЕ может быть причин съехать на джс )

    • @tt0nix
      @tt0nix 17 วันที่ผ่านมา

      Менеджеры такие затейники, ещё и не на то пересаживают :)

  • @egor.cleric
    @egor.cleric 19 วันที่ผ่านมา

    Ребят, всё клёво, но просто долгие подкасты, хочется покороче

    • @thereal_mrnobody
      @thereal_mrnobody 19 วันที่ผ่านมา

      согласен, 2 часа на такие темы слишком много

    • @Gemeneee
      @Gemeneee 19 วันที่ผ่านมา +3

      Мне нравятся долгие выпуски. Если что-то не интересно, пропускаю к следующему тайм-коду.

    • @MrSavalik
      @MrSavalik 19 วันที่ผ่านมา

      Вот уж правда, всем не угодишь, мне тоже нравятся длинные, а не короткие) короткие можно в Яндекс -пересказе прочитать))

    • @tt0nix
      @tt0nix 17 วันที่ผ่านมา

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

    • @grosseameise
      @grosseameise 17 วันที่ผ่านมา

      @@tt0nix Жгите!
      Всегда будут те, кому что-то пришлось не по нраву

  • @СерёгаСокольский
    @СерёгаСокольский 19 วันที่ผ่านมา

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

    • @xinitru
      @xinitru 19 วันที่ผ่านมา

      Пичаль (

    • @tt0nix
      @tt0nix 17 วันที่ผ่านมา +1

      Ссылку можно на статистику?
      Ну и го, это язык для тех кто с трудом пхп осилил. Мы развивались и при пхп, выростим и при других.

    • @СерёгаСокольский
      @СерёгаСокольский 17 วันที่ผ่านมา

      @@tt0nix статистика вакансий на hh. Статистика рейтинга языков на тиобе и стековерфлоу

    • @СерёгаСокольский
      @СерёгаСокольский 17 วันที่ผ่านมา

      @@tt0nix hh. Go эффективно решает то, для чего и был создан