DotNet & More

DotNet & More

By DotNet & MoreTechnology
Download on the App Store

DotNet & More episodes

  • DotNet&More #117: Тестируем код без лишних интерфейсов и не только
    В C# принято создавать отдельный интерфейс для каждой сущности ради обеспечения тестируемости. Но так ли это нужно? Можно ли обойтись без создания дублирующего кода?


    Спасибо всем кто нас слушает. Ждем Ваши комментарии.


    Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z


    Shownotes: 

    00:00:00 Вступление

    00:02:50 В чем проблема интерфейсов для тестов?

    00:18:45 protected virtual метод вместо выноса интерфейса

    00:34:40 Мокаем прямые зависимости, AutoMock

    00: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.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


    Copyright: https://creativecommons.org/licenses/by-sa/4.0/

    1 hr 1 min
  • DotNet&More #116: Рефакторить тесты и код, или только тесты ... и не только
    Вы решились отрефакторить тесты, но как? 

    - Следовать принципу "Сложные тесты результат сложного кода" и переделать код? 

    - Неинвазивно поменять только тесты?


    Что же выбрать?


    Спасибо всем кто нас слушает. Ждем Ваши комментарии.


    Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z


    Shownotes: 

    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.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


    Copyright: https://creativecommons.org/licenses/by-sa/4.0/

    1 hr 4 min
  • DotNet&More #115: Рефакторим тесты, тестовые фреймворки и не только
    Присоединяйтесь к брейншторму "как улучшить тесты", добавляйте свой Pull Request в https://github.com/dotnetmore/shit-tests


    Тесты должны быть понятные, говорили они. Тесты должны быть короткие, учили они. Но что делать, если только arrange занимает 20 строк? А если act - больше чем просто вызов метода? А если логика кода достаточно сложная, так что в однострочный assert не влезает?


    Спасибо всем кто нас слушает. Ждем Ваши комментарии.


    Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z


    Shownotes: 

    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.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


    Copyright: https://creativecommons.org/licenses/by-sa/4.0/

    1 hr 8 min
  • DotNet&More #114: Как писать "чистые" тесты и не только
    На читаемость тестов мало кто обращает внимание, а зря - тут много проблем и неочевидных решений.


    Спасибо всем кто нас слушает. Ждем Ваши комментарии.


    Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z


    Shownotes: 

    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.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/

    1 hr 2 min
  • DotNet&More #113: Тестирование тестов, code coverage, mutation testing и не только
    Тесты мы написали, но что дальше? Как проверить что мы покрыли все возможные кейсы? А может некоторые тесты вообще бесполезны? Для этого есть несколько инструментов.


    Спасибо всем кто нас слушает. Ждем Ваши комментарии.


    Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z


    Shownotes: 

    00:00:00 Вступление

    00:02:20 Критерии качества тестов

    00:13:00 Проверка функциональности тестов

    00:21:00 Line Code Coverage

    00: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.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/

    1 hr 31 min
  • DotNet&More #112: Как заставить ChatGPT сгенерировать нормальные тесты и не только
    В прошлом выпуске генерация тестов нас разочаровала, но нам потом объяснили: мы все делали не правильно. В этом раз исправляемся.


    Спасибо всем кто нас слушает. Ждем Ваши комментарии.


    Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z


    Shownotes: 

    00:00:00 Вступление

    00:02:50 Как правильно состовлять промпт, советы эксперта

    00:25:20 Как создать свой GPT?

    00:29:00 Практика Copilot

    01: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.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/

    1 hr 26 min
  • DotNet&More #111: Генерация тестов и не только
    Многие не любят писать тесты, так почему бы не отдать эту сложную задачу алгоритмам, LLM или чему то еще... Попробуем разные подходы, поэкспериментируем.


    Спасибо всем кто нас слушает. Ждем Ваши комментарии.


    Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z


    Shownotes: 

    00:00:00 Вступление

    00:01:00 Виды генераторов

    00:07:20 Copilot

    00:18:26 Жесть и Copilot

    00:42:20 Генерация тестов через Rider AI Assitant

    01: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.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/

    1 hr 31 min
  • DotNet&More #110: Эволюция модульных тестов и не только
    После небольшого отпуска мы возвращаемся с новым форматом: "Тема месяца"! Ближайшие несколько выпусков мы будем говорить о тестировании, модульном и не только. 

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


    Спасибо всем кто нас слушает. Ждем Ваши комментарии.


    Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z


    Shownotes: 

    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 Stub

    01: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.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/

    1 hr 41 min
  • DotNet&More #109: Продвинутый DotNet разработчик, план на год. Сезон подкаста 2024 и не только
    Программирование - комплексное занятие и после освоения базы крайне сложно понять, как вообще стать продвинутым сеньором-помидором. Поэтому в следующем сезоне мы планируем ввести тему месяца, которую будем разбирать в деталях.

    А в данном выпуске мы вместе с вами выберем скиллы, прикинем план и не только.


    Спасибо всем кто нас слушает. Ждем Ваши комментарии.


    Бесплатный открытый курс "Rust для DotNet разработчиков": https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z


    Shownotes: 

    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 Кишки, GC

    01: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.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 hr 25 min
  • DotNet&More #108: BlockChain на .Net на проде и не только
    В прошлом выпуске мы говорили: "На .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/

    2 hr 5 min

About DotNet & More

From the publisher's feed

Подкаст о .Net технологиях и не только. 


YouTube:…

More shows like DotNet & More

Что случилось by Медуза / Meduza

Что случилось

354 Listeners

Moscow Python: подкаст о Python на русском by MoscowPython

Moscow Python: подкаст о Python на русском

5 Listeners

Сперва роди by libo/libo

Сперва роди

206 Listeners

The Real Python Podcast by Real Python

The Real Python Podcast

140 Listeners

Мы обречены by Мы обречены

Мы обречены

5 Listeners

План Б by Т—Ж

План Б

17 Listeners

Смени пароль! by Kaspersky

Смени пароль!

8 Listeners