Подкаст о DotNet разработке и не только
Что-то мы захардкодились по куберу... время отдохнуть и просто потравить байки, факапы и не только.Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Музыка из выпуска: - https://artists.landr.com/056870627229- https://t.me/angry_programmer_screamsВесь плейлист курса "Kubernetes для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3SrrmOzzdBBsdeQ0YVR3Fc7Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:01:50 Чем плох кубер?00:04:50 ELK vs Grafana00:11:15 Vibecoding для инфры00:31:45 ФлеймВидео: https://youtube.com/live/OHZg28s332Q Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
После большого перерыва продолжаем тему рантаймов. Не волнуйтесь, если забыли прошлый выпуск... мы тоже Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Музыка из выпуска: - https://artists.landr.com/056870627229- https://t.me/angry_programmer_screamsВесь плейлист курса "Kubernetes для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3SrrmOzzdBBsdeQ0YVR3Fc7Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:04:55 Что такое container runtime00:09:15 High Level Runtimes00:19:45 Kata контейнеры00:40:30 Runtime для WindowsСсылки:- https://kubernetes.io/docs/setup/production-environment/container-runtimes/ : Container RuntimesВидео: https://youtube.com/live/m5EbKbK-U5oСлушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Слишком много кубера было последнее время, просто поболтаем про "жизнь за бургом" и не только.Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Музыка из выпуска: - https://artists.landr.com/056870627229- https://t.me/angry_programmer_screamsВесь плейлист курса "Kubernetes для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3SrrmOzzdBBsdeQ0YVR3Fc7Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:05:50 Русофобия, существует ли?00:09:25 Нужно ли учить язык?00:23:50 Покупка жилья00:28:30 Сколько зарабатывают00:40:30 Кому на Руси жить хорошо00:53:20 "Про посидеть"01:01:00 Санкционные списки и "откуда деньги зин"01:04:00 Про "вторую производную"01:11:40 Тоска по Родине01:25:00 Релокация это счастье или горе?01:40:00 Как жить "на юге"02:00:00 Мечта и работа мечты02:06:20 Дети и деньгиВидео: https://youtube.com/live/WQgGv_QoA_YСлушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Продолжаем наш курс по куберу с темой рантаймов контейнеров.Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Музыка из выпуска: https://t.me/angry_programmer_screamsВесь плейлист курса "Kubernetes для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3SrrmOzzdBBsdeQ0YVR3Fc7Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:24:00 Что такое Runc00:37:50 Как работают слоиСсылки:- https://kubernetes.io/docs/setup/production-environment/container-runtimes/ : Container RuntimesВидео: https://youtube.com/live/rW1UGU9KJpk Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Контейнер, это не виртуалка... мы это уже знаем... но что дальше? Продолжаем "выдавать базу" :)Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Музыка из выпуска: https://t.me/angry_programmer_screamsВесь плейлист курса "Kubernetes для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3SrrmOzzdBBsdeQ0YVR3Fc7Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:06:10 Сеть и namespaces00:15:10 Bridge - как работает в докере00:20:20 Port Mapping00:29:50 Сеть в кубере00:40:00 Linux Capabilities00:44:50 SecComp00:47:00 AppArmorСсылки:- https://youtu.be/rJRLZfk3a8U : Контейнерная виртуализация в Linux- https://medium.com/@alexander.murylev/run-your-own-container-without-docker-60c297faf010 : Докер своими рукамиВидео: https://youtube.com/live/q56ELiUNLMM Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Контейнер, это не виртуалка... но что же тогда этот ваш контейнер? Продолжаем "выдавать базу"Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Музыка из выпуска: https://t.me/angry_programmer_screamsВесь плейлист курса "Kubernetes для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3SrrmOzzdBBsdeQ0YVR3Fc7Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:04:35 Что такое контейнерная виртуализация?00:08:30 Процесс vs поток00:16:00 Что такое namespace?00:29:40 Магия unshare syscall00:48:30 Что такое CGroupСсылки:- https://youtu.be/rJRLZfk3a8U : Контейнерная виртуализация в Linux- https://medium.com/@alexander.murylev/run-your-own-container-without-docker-60c297faf010 : Докер своими рукамиВидео: https://youtube.com/live/r7_Qx96Mxyc Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Продолжаем наш курс по куберу. В этот раз обсудим ключевой термин - поды.Не бойтесь, если пропустили предыдущий выпуск - в начале каждого выпуска у нас будет секция "в предыдущих сериях".Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Весь плейлист курса "Kubernetes для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3SrrmOzzdBBsdeQ0YVR3Fc7Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:01:00 "В предыдущих сериях""00:11:00 Что такое Pod00:34:00 Матное слово argocdСсылки:- https://kubernetes.io/docs/concepts/workloads/pods/ : СправкаВидео: https://youtube.com/live/wQl6tIIiovY Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Начинаем наш курс по Kubernetes с базы...Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:04:50 Что будет в курсе00:07:00 K8s это Kubernetes00:09:00 Что такое оркестрация00:12:00 Минутка истории00:29:10 Архитектура Kubernetes00:43:00 Операторы на C# в кубереСсылки:- https://kubernetes.io/- https://kubernetes.io/ : Это оно самое - https://github.com/buehler/dotnet-operator-sdk : C# операторы для кубера- https://medium.com/containermind/a-new-era-of-container-cluster-management-with-kubernetes-cd0b804e1409 : История Borg - Omega - K8s- https://blog.risingstack.com/the-history-of-kubernetes/ : История кубера: Это оно самое Видео: https://youtube.com/live/Y6s3cYiM2Xk Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Микросервисы, контейнеры, SAAS-ы.... вот деды кидали exe файлик по FTP и норм все было... ведь было же?Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:06:00 Зачем оно надо?00:07:30 CV driven development00:10:00 Преждевременная оптимизация00:15:40 А как же IIS?00:18:00 Что делать если урвал сервак?00:22:00 Кубер это дорого?00:27:00 Надо ли "как у больших"?00:34:00 А как же Serverless?00:38:50 Сколько стоит "сразу нормально"?00:49:00 Что кубер дает и не дает?00:57:00 А что для программиста?Ссылки:- https://github.com/dotnet/eShop : Референсный проект интернет магазина от майков- https://12factor.net/ : The Twelve-Factor AppВидео: https://youtube.com/live/t2UMkLSBOUQ Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Астрологи объявили месяц новогодних выпусков. Посмотрим что было с нашими любимыми технологиями в уходящем году, куда это все ведет в будущем и просто повангуем.Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:10:50 Загнулся ли C#?00:51:15 .Net в 202500:59:15 Unity в 2025Ссылки:- https://www.tiobe.com/tiobe-index/ : Рейтинг языков программрования - https://learn.microsoft.com/en-us/lifecycle/overview/product-end-of-support-overview : График закапывания стюардесс - https://dotnet.microsoft.com/en-us/next : What's next in .NET?Видео: https://youtube.com/live/bcFu55232ZM Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Анемичная или богатая модель? Время холиварить...Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:02:05 Чем отличается анемичная модель от богатой? 00:05:00 Плюсы анемичной модели00:09:15 Минусы анемичной модели00:13:00 Плюсы богатой модели00:26:40 Минусы богатой модели00:28:00 При чем тут GRASP00:42:00 Как принимать решение?Ссылки:- https://ru.wikipedia.org/wiki/GRASP : GRASPВидео: https://youtube.com/live/sH5vDTb5_XM Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Этот выпуск должен быть самым полезным ... ведь в нем мы расскажем, что нужно сказать тому, кто привнесет реактивщину в Ваш кодСпасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:03:20 Что такое реактивщина00:08:00 event vs reactive00:14:40 RX провоцирует говнокод00:29:50 RX и многопоточность00:36:35 RX и дебаг00:43:00 Как НЕ говнокодить на RXСсылки:- https://github.com/dotnet/reactive : RX for .net - https://github.com/JetBrains/rd : Reactive Distributed communication framework- https://learn.microsoft.com/en-us/dotnet/standard/events/observer-design-pattern : Observer design patternВидео: https://youtube.com/live/82UTeLzCduQ Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Новый C# вышел, и в нем таааааак много нового .... стоит обсудить ;)Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:14:30 Самое крутое - ref struct interfaces00:30:40 Нужно ли ref and unsafe in iterators and async methods?00:43:35 Хана всем - verload resolution priority00:46:45 System.Threading.Lock00:52:20 Урааа - params collections!!!01:02:00 Что нового с многопоточностью01:05:00 Внезапно ... TypeScript01:12:00 Field keyword - НЕВЕРОЯТНО!!!адинадин01:17:00 Что там с Source Generators?01:24:00 РасширенияСсылки:- https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-13 : What's new in C# 13- https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-9/overview : What's new in .NET 9Видео: https://youtube.com/live/hSGUNwmHljA Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Мы обсуждали смысл метрик качества кода, но как они работают изнутри? Для этого у нас будет специальный гость .... ;)Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:04:10 Code Coverage - лучшая метрика?00:16:00 Изнутри Code Coverage00:29:20 Бесполезные метрики00:36:00 Метрика - количество коммитов00:39:20 Cyclomatic complexity00:51:00 Code Duplication00:58:00 Метрики для менеджеров01:13:00 Отношение разработчика к метрикам01:22:00 Как работает инспекция секретов (паролей)01:25:00 Как внедрять метрики01:31:00 Про SLA и GDCСсылки:- https://en.wikipedia.org/wiki/Cyclomatic_complexity : Cyclomatic complexity - https://www.sonarsource.com/docs/CognitiveComplexity.pdf : Cognitive Complexity от SonarВидео: https://youtube.com/live/nKnJmiH5Ri8Аудио: Скачать: Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
ООП против ФП ... ну что тут еще говорить?Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:08:40 ООП00:34:00 ФПСсылки:- https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/object-oriented/ : ООП в C# - https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/functional/pattern-matching : ФП в C#Видео: https://youtube.com/live/V7gvBBqSrUQ Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
В прошлый раз мы разобрали единую метрику от Microsoft, сегодня же пройдемся по другим популярным способам запихнуть качество кода в одно число.Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:09:00 Зачем Cyclomatic complexity?00:27:00 Метод, который вызывается один раз, code smell?00:31:55 Code Smells метрика00:43:00 Security метрики00:46:00 Code duplicationСсылки:- https://blog.jetbrains.com/qodana/2023/10/top-6-code-quality-metrics-to-empower-your-team/ : Метрики от JetBrains- https://blog.codacy.com/code-quality-metrics : Метрики от Codacity - https://docs.sonarsource.com/sonarqube/latest/user-guide/code-metrics/metrics-definition/ : Метрики от SonarВидео: https://youtube.com/live/mqFOa9X-rcsСлушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Мы часто называем что-то "говнокодом", но можно ли быть объективным и просто выделить ключевые метрики "говнистости"?Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:08:50 Что такое Code Quality метрики?00:13:20 Maintainability Index это то что нужно?00:30:20 Что говорят наши зратели?00:33:00 Код - как литература00:47:00 Cyclomatic Complexity00:52:35 Нужны ли вообще эти все метрики?Ссылки:- https://learn.microsoft.com/en-us/visualstudio/code-quality/code-metrics-values : Метрики от MicrosoftВидео: https://youtube.com/live/mqPZARSO0qU Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Все любят чистую архитектуру, но не будет ли больше грязи от нее в нашем коде?P.S.: в процессе записи мы случайно остановили стрим ... и не смогли перезапустить. Так что выпуск может показаться "неоконченным".Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:05:00 Зачем нужна Чистая Архитектура?00:11:00 Unit тесты не нужны?00:17:15 Disposable Service или "Архитектура"?00:34:30 Так что такое Чистая Архитектура?00:39:00 Зачем столько слоев?00:56:39 Vertical Slices01:07:00 В какой слой класть какой классик?01:23:30 DDD это только центральный круг или кольца тоже?01:27:00 Про консультантовСсылки:- https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html : Та самая статья "Про это"- https://habr.com/ru/companies/piter/articles/353170/ : Книга "Про это"- https://habr.com/ru/articles/784922/ : Хорошая статья "Про это"- https://www.techtarget.com/whatis/definition/clean-architecture : Что такое "Чистая Архитектура" в двух абзацахВидео: https://youtube.com/live/5V_oeMwksbY Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
На AutoMapper многие накидываются, но проблема не в самой библиотеке, а в подходе, недостатки которого забивают автомаппером. Об этом и поговорим.Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:07:10 Копирование Dto в модель 00:24:50 AutoMapper для версионирования00:32:10 AutoMapper и условия00:36:45 Сущность per layerСсылки:- https://github.com/AutoMapper/AutoMapper : Тот самыйВидео: https://youtube.com/live/Ge5lHUi-KYk Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Когда говорят о качестве кода, часто упоминают DDD. Но реально ли так сильны эти три буквы?Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:04:20 Что такое DDD?00:13:20 На сколько сильно программист должен знать предметную область?00:36:20 Стратегические паттерны DDD00:41:00 Самое главное - единый язык00:44:00 Инфраструктурная команда и DDD00:52:00 Ограниченный контекст01:01:00 Аггрегат01:06:00 Богатая и анемичная модель01:23:00 Value Object01:29:00 Entity01:32:00 Application Service01:46:00 Repository02:03:00 Если в бизнесс процессах хаос?Ссылки:- https://habr.com/ru/articles/580972/ : Та самая книга- https://youtu.be/CR9mLGN9jh0 : Алексей Мерсон — Domain-driven design: рецепт для прагматикаВидео: https://youtube.com/live/WJy1zZ3YbgU Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
MediatR они б.. ставят, MediatR! Он нам и на..й не нужон MediatR ваш.Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:04:30 MediatR нужон?00:07:15 Шо такое этот ваш MediatR?00:25:10 Накуа мне MediatR этот ваш?00:30:25 MediatR в деталях00:42:50 Защищаем MediatRСсылки:- https://github.com/jbogard/MediatR : Предмет обсуждения- https://www.youtube.com/watch?v=oyDEd2lO0UE : Андрей Парамонов, Антон Оникийчук — MediatR не нуженВидео: https://youtube.com/live/EXqIMXRTyB8Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Разбираем говнокод, защищаем говнокод, обмаз... проникаемся говнокодом и не только.Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:05:00 Код на русском00:07:00 Неправильное использование API00:14:35 Generics Madness00:20:40 Layout кода00:28:40 Pattern Matching сложно читать?00:39:00 История Code Behind00:43:55 Однострочники - ЗА ЧТООООО!!!???Ссылки:- https://govnokod.xyz/language/cs/ : Говнокод для разбора Видео: https://youtube.com/live/Yh-zzSpYGJo Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Было время, когда паттерны спрашивали на все собеседованиях, но ... прошло. Попробуем "откопать стюардессу" ...Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:14:40 Зачем нужны паттерны00:16:50 Паттерн = шаблон?00:23:00 Нужны ли паттерны GoF в 2024 году?00:40:45 Виды паттернов00:53:30 Протекающие паттерны00:55:00 Так зачем же нужны паттерны?01:06:00 Какие паттерныы мы писали01:16:00 Паттерны и религия01:25:30 Ынтырпрайз паттерны01:47:00 Паттерны как духовные практикиСсылки:- https://habr.com/ru/companies/piter/articles/257721/ : Лучшая книга по паттернам - https://refactoring.guru/design-patterns : Каталог паттерновВидео: https://youtube.com/live/y8K1eMNXSyMСлушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Есть 2 стула: на одном бесконечный рефакторинг, на втором говнокод. Оба варианта приводят к архивации репозитория. А как писать код "для души", чтобы и результат был, и душа не страдала?Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:06:30 Как рефакторить пет проекты00:19:10 Как сделать расширяемое и простое решение00:33:40 Выбираем абстракции для пет проектов00:47:40 God Object, как не допустить00:52:50 Может не код говно, а бизнес логика сложная?01:00:30 Код и большие перерывы в разработке01:16:10 Говнокод вызывает баги01:24:15 Архитектура пет проектов01:31:40 Нужно ли писать пет проекты на знакомых технологиях?01:36:30 Какие бывают пет проекты?01:41:15 Советы по коду телеграм ботов01:44:45 Советы по коду Unity игрВидео: https://youtube.com/live/Esd8mwFMEnM Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Twitch: https://www.twitch.tv/dotnetmoreОбсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Есть два стула: на одном программист пишет пет проект и никогда не заканчивает, на другом менеджер орет под ухом "говнокодь и в прод". А есть ли золотая середина?Спасибо всем, кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:12:00 Манагеры - мудаки00:16:00 Как объяснить что такое легаси тупому манагеру00:26:40 "А почему вы пишете легаси код"?00:41:30 Манагеры с техническим беком00:55:00 Манагеры и занижение эстимаций01:24:30 Жопсы, Маски и прочие "визионеры"01:33:20 Партизанский рефакторинг01:39:00 Программисты-лентяи?Видео: https://youtube.com/live/bnlQSwEVcMo Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
C# развивается с немыслимыми темпами, но не вызывает ли подобная скорость рост говнокода?Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:05:50 Generics00:11:30 Префиксы ref, readonly, scoped00:13:30 Primary Constructors00:18:10 Tuples00:24:20 Pattern Matching00:34:30 Что такое говнокод?00:39:50 Ranges00:43:50 Asyn/Await00:50:15 Collections ExpressionsСсылки:- https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-13 : What's new in C# 13Видео: https://youtube.com/live/0Uw-7trznIU Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Выбор имени не просто сложно, а ... очень сложно. И сегодня мы поделимся супер-пупер принципом выбора имен: NURGLESS.Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:03:00 Почему нейминг - самое главное?00:10:00 NURGLESS Принцип00:12:25 Ubiquitous Language 00:34:50 Referenced names00:39:40 Google it00:45:00 Local terminology00:51:40 Environment terminology saturation 01:00:00 Surrounding context01:02:30 Something stupidСсылки:- https://x.com/codinghorror/status/506010907021828096?lang=en : Великая мудрость- https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/identifier-names : C# identifier naming rules and conventionsВидео: https://youtube.com/live/Laa__y7ccIQ Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Код это не только бизнес логика, но и 3-4 килограма логгов, трейсов, проверок, ассертов, которые не прибавляют в читабельности. Что же делать?Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:03:40 Что такое замусоривание кода?00:32:00 Что делать: хулиганство00:37:30 #region00:42:30 Выделение логики в отдельный класс00:51:00 Scoped Method00:57:40 ПроблемыВидео: https://youtube.com/live/L-yk-3zT2mMСлушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Люди убеждены, что следование правилам SOLID сделает их код действительно хорошим... но так ли это?Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:03:30 Что такое CUPID?00:13:00 SOLID как философия00:20:00 Single-responsibility principle00:27:00 В чем вред философии SOLID?00:32:15 Open–closed principle00:37:50 Liskov substitution principle00:49:00 SOLID - это религия00:59:00 Interface segregation principle01:08:10 Dependency inversion principleСсылки:- https://dannorth.net/cupid-for-joyful-coding/#composable : CUPID- https://en.wikipedia.org/wiki/SOLID : Вся "секретная"" информация есть в Википедии - https://blog.cleancoder.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html : Дядюшка Боб рассказыват, что значит Single ResposibilityВидео: https://youtube.com/live/uRyHlQ0ITAQСлушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Новый формат: Адвокат Нургла! Разбираем примеры говнокода, пытаемся оправдать автора, думаем как превратить говно в конфетку.Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:07:00 Разбираем говнокодСсылки:- https://govnokod.xyz/language/cs/ : Источник вдохновенияВидео: https://youtube.com/live/4igB2SOk30Y Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
"Вы написал говнокод, сэр" - многие из нас боятся это услышать. Но что такое говнокод? Можно ли "дружить с говнокодом"? Что делать, если Вы поняли, что пишете говнокод? Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:03:00 Легаси = Говнокод?00:08:10 Что такое "Читаемость кода"?00:16:00 Говнокод - код, сложный в поддержке00:22:40 Общий знаменатель стиля кода00:31:40 Overengineering00:36:40 MediatR провоцирует говнокод?00:39:00 Пишут ли шахматисты говнокод?00:49:20 Есть ли "непростительный" говнокод?00:58:00 Как дружить с говнокодом?Ссылки:- https://shitcode.net/ : Говнокод- https://govnokod.xyz/ : Говнокод на русском- https://www.reddit.com/r/shittyprogramming/ : Reddit про говнокод... но кода там не так много :(Видео: https://youtube.com/live/e028yvnFvvk Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Что такое интеграционные тесты? Как их писать? Можно ли перевернуть тестовую пирамиду?Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:05:10 Что такое интеграционный тест?00:15:40 А что если только интеграционные тесты?00:20:30 Как работают интеграционные тесты в Rider/Resharper?00:33:40 Интеграционные тесты для бекенда00:52:45 Тестовые контейнерыСсылки:- https://learn.microsoft.com/en-us/aspnet/core/test/integration-tests : Integration tests in ASP.NET Core- https://docs.docker.com/language/dotnet/run-tests/ : Run .NET tests in a containerВидео: https://youtube.com/live/SV1FbOvWqas Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
TDD - это не про тесты! TDD - это не "правильно и обязательно"! TDD - это ... узнаете в новом выпуске :) Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:07:00 Что такое TDD?00:15:40 Test Frist или TDD00:34:00 TDD на легаси00:45:55 Чем TDD плох? 00:49:00 TDD и состояние потокаСсылки:- https://youtu.be/TmY3AuoW_PU : Test Last, Test First, TDD: когда применять тот или иной подход - https://www.youtube.com/playlist?list=PLOGzxujsqdGDpW8mHsQwBByVYR2-9GX7u : Is TDD Dead? Мегахоливар - https://www.ozon.ru/product/ekstremalnoe-programmirovanie-razrabotka-cherez-testirovanie-bek-kent-211432674 : "Библия" TDDВидео: https://youtube.com/live/MIQTO10iaGkАудио: Скачать: Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Писать тесты "за деньги" мы привыкли, но пет проекты же для души! Так есть ли смысл?Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:05:40 Зачем писать тесты на пет проекты?00:13:00 Тесты для gamedev00:18:00 Чем отличаются pet-project тесты от production тестов?00:21:30 Бюджет пет проекта00:29:20 Мотивация писать тесты00:39:10 Лайвхаки00:51:00 TDD в пет проектахВидео: https://youtube.com/live/EAy_WqB00j4 Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
В C# принято создавать отдельный интерфейс для каждой сущности ради обеспечения тестируемости. Но так ли это нужно? Можно ли обойтись без создания дублирующего кода?Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:02:50 В чем проблема интерфейсов для тестов?00:18:45 protected virtual метод вместо выноса интерфейса00:34:40 Мокаем прямые зависимости, AutoMock00:50:50 Производительность вызова виртуальных методовСсылки:- https://github.com/moq/Moq.AutoMocker : Moq.AutoMocker- https://dev.to/aloneguid/c-net-method-call-performance-facts-1koi : C#/.NET Method Call Performance - FactsВидео: https://youtube.com/live/eBnaLdq0VXQ Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Вы решились отрефакторить тесты, но как? - Следовать принципу "Сложные тесты результат сложного кода" и переделать код? - Неинвазивно поменять только тесты?Что же выбрать?Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:11:55 Сколько тестов надо писать?00:21:00 Меняем и тесты, и тестируемый код00:46:45 Рефакторим только тестыСсылки:- https://github.com/dotnetmore/shit-tests : Проект с "плохими" тестамВидео: https://youtube.com/live/j_eWBt8vLa4 Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Присоединяйтесь к брейншторму "как улучшить тесты", добавляйте свой Pull Request в https://github.com/dotnetmore/shit-testsТесты должны быть понятные, говорили они. Тесты должны быть короткие, учили они. Но что делать, если только arrange занимает 20 строк? А если act - больше чем просто вызов метода? А если логика кода достаточно сложная, так что в однострочный assert не влезает?Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:02:30 DRY в тестах00:13:15 Как рефакторить и код, и тесты одновременно00:20:30 А что если делать маленькие классы и маленькие тесты?Ссылки:- https://github.com/dotnetmore/shit-tests : Тесты, которые мы разбирали в выпуске- https://fluentassertions.com/introduction : Fluent Assertions- https://nsubstitute.github.io/ : NSubstitute - https://www.testrail.com/blog/5-bdd-tools-c-codebases/ : Обзор BDD фреймворков - https://github.com/VerifyTests/Verify/ : Verify для сложного assert- https://github.com/VerifyTests/Verify.Serilog : Verify для логов 0_oВидео: https://youtube.com/live/dPH6W7yMJPw Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreCopyright: https://creativecommons.org/licenses/by-sa/4.0/
На читаемость тестов мало кто обращает внимание, а зря - тут много проблем и неочевидных решений.Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:04:00 Сферический тест в вакууме00:13:20 Какими кейсами жертвовать? 00:15:00 Нейминг00:24:40 Вычисления в тесте00:30:00 Ссылка на тикет в тесте00:47:10 Ненужный VerifyСсылки:- https://dev.to/thawkin3/clean-code-with-unit-tests-tips-and-tricks-for-keeping-your-test-suites-clean-483l : Неплохая статья, но много капитанства- https://en.wikipedia.org/wiki/Behavior-driven_development : BDDВидео: https://youtube.com/live/Ztfahr3_Mi0 Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreBackground music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_AstraCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Тесты мы написали, но что дальше? Как проверить что мы покрыли все возможные кейсы? А может некоторые тесты вообще бесполезны? Для этого есть несколько инструментов.Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:02:20 Критерии качества тестов00:13:00 Проверка функциональности тестов00:21:00 Line Code Coverage00:31:10 Branch Code Coverage 00:47:30 ExcludeFromCodeCoverageAttribute, как правильно использовать00:55:40 Mutation Testing, "работает" ли в .Net?Ссылки:- https://github.com/coverlet-coverage/coverlet : Coverlet- https://github.com/danielpalme/ReportGenerator : Report Generator- https://stryker-mutator.io/ : Stryker MutatorВидео: https://youtube.com/live/6EAzwRJMIg8 Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreBackground music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_AstraCopyright: https://creativecommons.org/licenses/by-sa/4.0/
В прошлом выпуске генерация тестов нас разочаровала, но нам потом объяснили: мы все делали не правильно. В этом раз исправляемся.Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:02:50 Как правильно состовлять промпт, советы эксперта00:25:20 Как создать свой GPT?00:29:00 Практика Copilot01:06:15 Практика AI AssitantСсылки:- https://github.com/rodion-m/awesome_ai_for_programmers : Awesome AI for Programmers - https://t.me/probelov_net : Канал Родиона про AI и не только- https://youtu.be/pm1V1FtQ33Y : Доклад: Выжимаем максимум из ChatGPT для программистов- https://chat.openai.com/g/g-Yb0vNIKz6-c-code-test-master : Сетап ChatGPT для генерации тестовВидео: https://youtube.com/live/l-ffyamBLBw Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreBackground music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_AstraCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Многие не любят писать тесты, так почему бы не отдать эту сложную задачу алгоритмам, LLM или чему то еще... Попробуем разные подходы, поэкспериментируем.Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:01:00 Виды генераторов00:07:20 Copilot00:18:26 Жесть и Copilot00:42:20 Генерация тестов через Rider AI Assitant01:00:00 В топку ИИ!01:06:50 Почему LLM не справились01:16:00 Генерируем тесты через V#01:24:00 РезюмеСсылки:- https://learn.microsoft.com/en-us/visualstudio/test/intellitest-manual/?view=vs-2022 : Microsoft IntelliTest- https://www.jetbrains.com/help/rider/Generate_tests.html : Generate tests with AI- https://github.com/VSharp-team/VSharp : V# Symbolic Execution Engine- https://plugins.jetbrains.com/plugin/20747-unittestbot-net : UnitTestBot.NET, основанный на V# Symbolic Execution EngineВидео: https://youtube.com/live/V1zi_N7DfHU Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreBackground music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_AstraCopyright: https://creativecommons.org/licenses/by-sa/4.0/
После небольшого отпуска мы возвращаемся с новым форматом: "Тема месяца"! Ближайшие несколько выпусков мы будем говорить о тестировании, модульном и не только. Текущий выпуск посвящен эволюции подходов идей и мыслей: как писали тесты раньше, как сейчас и как будем писать в будущем.Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:05:30 Что такое тесты?00:13:20 Как зародились модульные тесты?00:29:00 FIRST принцип00:38:00 Развитипе "после модульных тестов"00:44:00 Что такое "модуль"?00:53:20 Тестирование приватных методов01:05:40 Как тестировать конвертеры System.Test.Json?01:10:10 Mock vs Stub01:24:00 Random в тестах: зло или "почему нет"?Ссылки:- https://habr.com/ru/articles/218937/ : "Библия" модульного тестирования - https://www.piter.com/product/printsipy-yunit-testirovaniya : Принципы юнит-тестирования, Хориков В. - https://youtu.be/HUpj4YXI8Bs : Roy Osherove - Creating a QA/DEV Collaborative Testing Strategy- https://martinfowler.com/articles/practical-test-pyramid.html : The Practical Test PyramidВидео: https://youtube.com/live/VocgkvbN4eU Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreBackground music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_AstraCopyright: https://creativecommons.org/licenses/by-sa/4.0/
Программирование - комплексное занятие и после освоения базы крайне сложно понять, как вообще стать продвинутым сеньором-помидором. Поэтому в следующем сезоне мы планируем ввести тему месяца, которую будем разбирать в деталях.А в данном выпуске мы вместе с вами выберем скиллы, прикинем план и не только.Спасибо всем кто нас слушает. Ждем Ваши комментарии.Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1ZShownotes: 00:00:00 Вступление00:06:45 Тесты00:22:30 MediatR, Clean Architecture и не только00:39:45 Девопсинг для DotNet разработчиков00:43:10 Облака, стоит ли отделять от девопсинга?00:48:10 Blazor и фронт в целом01:01:30 SQL, NoSQL и не только01:26:30 Алгоритмы, коллекции01:30:40 Многопоточность01:36:40 Кишки, GC01:40:00 Event Sourcing 02:00:00 DDD, TDD, SOLID и прочие рефакторинги02:10:00 Unity, Unreal, GodotСсылки:- https://dotnet.ru/projects : Проекты нашего сообщества (ИМХО, лучший способ прокачать навыки)- https://www.youtube.com/playlist?list=PLBwwJL9lzKMY9Fpk1DAscywid1Xshp9NL : Крутой курс по многопоточностиВидео: https://youtube.com/live/gBJwAqlJp70 Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5Обсуждайте:- Telegram: https://t.me/dotnetmore_chatСледите за новостями:– Twitter: https://twitter.com/dotnetmore– Telegram channel: https://t.me/dotnetmoreBackground music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_AstraCopyright: https://creativecommons.org/licenses/by-sa/4.0/
В прошлом выпуске мы говорили: "На .Net можно все". В подтверждении этих слов, мы расскажем как работать с BlockChain в .Net. У нас сегодня будет специальный гость, которая использует все это дело на проде!Спасибо всем кто нас слушает. Ждем Ваши комментарии. Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z Shownotes: 00:00:00 Вступление 00:03:00 Что такое blockchain? 00:21:40 При чем тут .Net? 00:25:00 Чем отличается blockchain проект от обычных проектов? 00:31:00 Про stable coin? 00:41:40 Что такое smart contract? 00:46:30 Строим свой DotNetRu Coin на .Net 01:19:20 DotNetRu Coin: как убедить людей пользоваться нашей сетью 01:26:15 Архитектра криптобиржи 01:36:30 Что такое криптокошелек Ссылки: - https://github.com/ArpitIngle/Library-of-Ethereum : Все что нужно. Начиная со статей и заканчивая ссылками на хорошие youtube каналы. - https://github.com/OffcierCia/DeFi-Developer-Road-Map : Самое оно, если есть желание погрузиться в мир блокчейна не на словах, а на деле:) Прекрасная подборка Видео: https://youtube.com/live/3H1wRqPsyXU Слушайте все выпуски: https://dotnetmore.mave.digital YouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5 Обсуждайте: - Telegram: https://t.me/dotnetmore_chat Следите за новостями: – Twitter: https://twitter.com/dotnetmore – Telegram channel: https://t.me/dotnetmore Background music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_Astra Copyright: https://creativecommons.org/licenses/by-sa/4.0/
У нас день рождения, подкасту 5 лет. Самое время провести ретроспективу/аналитику .Net разработки. Куда технологически идет развитие, какое место .Net разработчиков в современном IT, что будет в будущем (заменит ли нас ИИ).Спасибо всем кто нас слушает. Ждем Ваши комментарии. Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z Shownotes: 00:00:00 Вступление 00:05:15 Старый ли .Net? 00:29:30 Что нового в Net8? 00:40:00 Про DotNet Aspire 00:45:00 Streaming Deserialization API 00:48:00 Frozen коллекции 01:00:00 .Net - МОЛОД!!! 01:19:00 За что мы любим .Net 01:47:00 Будущее .Net 02:05:00 Я устал ухожу 02:11:00 Ниша .Net и ее развитие 03:18:50 Что САМОЕ крутое в .Net Ссылки: - https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-8 : What's new in .NET 8 Видео: https://youtube.com/live/25CQL22Tm9c Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5 Обсуждайте: - Telegram: https://t.me/dotnetmore_chat Следите за новостями: – Twitter: https://twitter.com/dotnetmore – Telegram channel: https://t.me/dotnetmore Background music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_Astra Copyright: https://creativecommons.org/licenses/by-sa/4.0/
Карьерный путь долог и тернист, но возможно ли оптимизировать свой путь? Пятилетка не в 4 года, а за 21 день :)Спасибо всем кто нас слушает. Ждем Ваши комментарии. Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z Shownotes: 00:00:00 Вступление 00:07:00 Success story и стабильность 00:09:30 Категории сеньоров 00:15:00 Как стать сеньором с опытом в 21 день 01:06:20 Работает ли подход "выучить все вопросы"? 01:43:10 Как быстро пройти собес на сеньора? 02:02:00 Как вырасти до сеньора за 21 день? 02:20:00 Быстрый рост через стартапа 02:47:00 Про HR фильтры 02:57:00 Может давать список вопросов кандидатам? 03:07:15 Свич технологий за 21 день? Ссылки: - https://habr.com/ru/articles/87737/ : Выучить С++ за 21 день Видео: https://youtube.com/live/gnHod77GFecСлушайте все выпуски: https://dotnetmore.mave.digital YouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5 Обсуждайте: - Telegram: https://t.me/dotnetmore_chat Следите за новостями: – Twitter: https://twitter.com/dotnetmore – Telegram channel: https://t.me/dotnetmore Background music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_Astra Copyright: https://creativecommons.org/licenses/by-sa/4.0/
Ковид "закончился" и многие из нас вернулись в офис. Как на нас повиляли годы удаленки? Как лучше работать? Будет ли "мир прежним"? Спасибо всем кто нас слушает. Ждем Ваши комментарии. Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z Shownotes: 00:00:00 Вступление 01:00:00 Синьитяо Видео: https://youtube.com/live/odAQqJclcms Аудио: Скачать: Слушайте все выпуски: https://dotnetmore.mave.digital YouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5 Обсуждайте: - Telegram: https://t.me/dotnetmore_chat Следите за новостями: – Twitter: https://twitter.com/dotnetmore – Telegram channel: https://t.me/dotnetmore Background music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_Astra Copyright: https://creativecommons.org/licenses/by-sa/4.0/
Читать или не читать? Если читать, то как "правильно"? Как найти время для чтения технических книг? А нужно ли вообще тратить время на 2к-страничные монографии и лучше потратить на чтение актуально документации? Спасибо всем кто нас слушает. Ждем Ваши комментарии. Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z Shownotes: 00:00:00 Вступление 00:04:00 Что делать с косяками в технических книжках? 00:15:00 Книги и протекающие абстракции 00:25:00 Книга vs документация 00:58:00 Бумажная книга vs электронная 01:07:10 А как же "Нужно читать 1 книгу в месяц"? 01:14:30 Про манагерские книги 01:52:45 Таненбаум для удовольствия 01:58:00 Как найти время для чтения? 02:38:30 Как правильно читать? 01:54:00 Можно ли рисовать в книгах? 03:00:00 Наши любимые книги Ссылки: - https://t.me/dotnetmore/357 : Список книг, рекомендованных DotNet & More:Видео: https://youtube.com/live/IPNKhaQOytE Слушайте все выпуски: https://dotnetmore.mave.digitalYouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5 Обсуждайте: - Telegram: https://t.me/dotnetmore_chat Следите за новостями: – Twitter: https://twitter.com/dotnetmore – Telegram channel: https://t.me/dotnetmore Background music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_Astra Copyright: https://creativecommons.org/licenses/by-sa/4.0/
Профсоюз в IT - редкое явление. И нужны ли они? Что вообще такое профсоюз? Разберем эти вопросы с приглашенными экспертами. Спасибо всем кто нас слушает. Ждем Ваши комментарии. Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z Shownotes: 00:00:00 Вступление 00:08:30 Про конфликт интересов 00:13:00 Что такое профсоюз? Коллективный договор 00:28:30 Пример работы профсоюза: забастовка гильдии сценаристов в Голливуде 00:34:10 Как законно создать профсоюз? Как заключить коллективный договор? 00:38:20 Как законно вести забастовку? 00:45:00 Как быть активным и не быть уволенным? 01:02:30 Общий профсоюз IT специалистов 01:10:00 Когда обращаться в "Профсоюз работников ИТ"? 01:14:00 Гайд: создаем профсоюз у себя в компании 01:25:40 Зачем еще нужен профсоюз, помимо коллективного договора? 01:34:00 Как улучшить свои условия работы, даже без профсоюза? 01:41:20 Профсоюз курильщика 01:52:50 Что если работаешь "неофициально"? 01:59:20 "Итальянская забастовка" 02:08:00 Как профсоюзу не превратиться в ТСЖ 02:15:00 Переаботки и индексация зарплат 02:26:00 Принуждение к увольнению по собственному желанию 02:40:00 Работа по ИП 02:55:50 Бесплатная стажировка, законно ли? Ссылки: - https://ruitunion.org/ : Профсоюз работников ИТ - https://en.wikipedia.org/wiki/Trade_union : Ссылка на википедию... и зачем я ее оставил? - https://habr.com/ru/articles/755352/ : История с Авито Видео: https://youtube.com/live/LWCilDCzRSw Слушайте все выпуски: https://dotnetmore.mave.digital YouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5 Обсуждайте: - Telegram: https://t.me/dotnetmore_chat Следите за новостями: – Twitter: https://twitter.com/dotnetmore – Telegram channel: https://t.me/dotnetmore Background music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_Astra Copyright: https://creativecommons.org/licenses/by-sa/4.0/
Хайп вокруг ботов прошел, но это не значит что эту тему не стоит игнорировать. Боты - удобный инструмент, рассмотрим как и зачем их писать и не только.Спасибо всем кто нас слушает. Ждем Ваши комментарии. Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z Shownotes: 00:00:00 Вступление 00:05:25 Что такое бот? 00:11:30 Как получать деньги за написание ботов? 00:18:40 На чем писать боты? Неужели на питоне? 00:31:30 Аутентификация 00:34:00 Деплой 00:39:00 Как жить в statefull режиме? 00:43:20 Как отслеживать Uptime? 00:45:45 Платформы для ботов, Cloud решения 00:54:30 Брейншторм: какой бот написать? Ссылки: - https://youtube.com/live/0Oyd7qvfbj0 : Telegram бот на Rust в прямом эфире - https://habr.com/ru/companies/dododev/articles/561200/ : Discord бот для игровой гильдии с помощью .NET Core Видео: https://youtube.com/live/eAM86bedOIg Слушайте все выпуски: https://dotnetmore.mave.digital YouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5 Обсуждайте: - Telegram: https://t.me/dotnetmore_chat Следите за новостями: – Twitter: https://twitter.com/dotnetmore – Telegram channel: https://t.me/dotnetmore Background music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_Astra Copyright: https://creativecommons.org/licenses/by-sa/4.0/
В прошлый раз мы разобрали фичи будущего C# 12, но так и не успели пройтись по отдаленному будущему. Исправляемся. Спасибо всем кто нас слушает. Ждем Ваши комментарии. Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z Shownotes: 00:00:00 Вступление 00:02:20 Breaking change warnings 00:21:21 Collection expressions - next 00:31:15 Declaration expressions 00:42:55 Discriminated unions / enum class 01:26:25 Extension types 01:33:00 Operators should be exposed for System.IntPtr and System.UIntPtr 01:37:10 Compiler Intrinsics 01:41:00 List patterns on enumerables 02:06:30 Null-conditional assignment 02:14:50 Null-conditional await 02:20:10 params ReadOnlySpan 02:23:00 Variable declarations under disjunctive patterns 02:28:00 readonly locals and parameters 02:47:30 Self in generics 02:50:00 Semi-auto-properties 02:52:40 Немного о дизайне C# Ссылки:- https://github.com/dotnet/csharplang/tree/main/proposals : DotNet Proposals - https://t.me/epeshkblog : Канал Жени Пешкова Видео: https://youtube.com/live/brGTcurSVug Слушайте все выпуски: https://dotnetmore.mave.digital YouTube: https://www.youtube.com/playlist?list=PLbxr_aGL4q3R6kfpa7Q8biS11T56cNMf5 Обсуждайте: - Telegram: https://t.me/dotnetmore_chat Следите за новостями: – Twitter: https://twitter.com/dotnetmore – Telegram channel: https://t.me/dotnetmore Background music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_Astra Copyright: https://creativecommons.org/licenses/by-sa/4.0/