Mihail Romanov
Mihail Romanov
  • Видео 25
  • Просмотров 5 410
05.02. Expressions and IQueryable
Содержание:
00:00:00 - Intro
00:02:19 - LINQ изнутри
00:08:34 - IEnumerable
00:12:19 - Demo. IEnumerable
00:16:40 - IEnumerable: плюсы и минусы
00:18:23 - Деревья выражений (Expression trees)
00:27:26 - Demo. Создание выражений
00:33:10 - Операции над выражениями
00:34:15 - Компиляция и выполнение
00:37:51 - Demo. Компиляция и выполнение
00:39:21 - Обход дерева Expression
00:44:32 - Demo. Обход дерева Expression
00:46:48 - Модификация дерева Expression
00:51:37 - Demo. Модификация дерева
00:55:55 - Применение Expression
00:58:56 - Domain Specific Languages (DSL)
01:08:59 - Demo. DSL на базе Expression
01:15:31 - Dynamic Language Runtime (DLR)
01:22:53 - Demo. Dynamic Language Runtime (DLR)
01:24:42 - IQuery...
Просмотров: 99

Видео

05.01. Introduction to LINQ
Просмотров 15014 дней назад
Содержание: 00:00:00 - Intro 00:01:15 - Знакомство с LINQ 00:07:31 - Преимущества и альтернативы 00:14:06 - Стандартные и сторонние LINQ провайдеры 00:18:23 - Синтаксис и операторы LINQ 00:21:30 - Основы Expression синтаксиса 00:29:56 - Фильтрация (Where) 00:31:57 - Проекции (Select, SelectMany) 00:40:56 - Секционирование (Skip, Take, ...) 00:43:08 - Сортировка (OrderBy) 00:46:04 - Группировка ...
04.08. Strings and texts
Просмотров 5421 день назад
Содержание: 00:00:00 - Intro 00:00:56 - Термины 00:08:06 - Unicode 00:11:58 - Unicode: кодовое пространство 00:15:48 - Unicode: символы и их свойства 00:18:26 - Unicode: кодировки (UTF-32, UTF-16, ...) 00:25:34 - Unicode: представление символов, комбинирование, ... 00:31:43 - Unicode: нормализация 00:39:08 - Строки в .Net 00:45:23 - Последовательная обработка строк 00:59:14 - Сортировка и сравн...
04.07. Test-Driven Development
Просмотров 96Месяц назад
Содержание: 00:00:00 - Intro 00:00:57 - От модульных тестов к TDD 00:05:20 - TDD на примере 00:07:07 - Пример 1. Первое требование 00:07:47 - Demo. Тест как начало 00:23:09 - Пример 2. Развиваем функционал 00:23:47 - Demo. Повторяем и рефакторим 00:38:53 - Что же мы получили 00:47:23 - Summary
04.06. Design patterns
Просмотров 2,3 тыс.Месяц назад
Содержание: 00:00:00 - Intro 00:01:05 - Что такое паттерны 00:02:04 - Пример... 00:05:24 - Singleton. Вариант 1. Статическое поле 00:09:18 - Singleton. Вариант 2. Двойная проверка 00:14:21 - Singleton. Вариант 3. Lazy 00:18:53 - И снова к определению паттернов 00:24:16 - Классификация 00:33:43 - Паттерны архитектуры корпоративных приложений 00:37:36 - Модель и сервисы 00:43:06 - Demo. Пример ко...
04.05. Streams and File System
Просмотров 291Месяц назад
Содержание: 00:00:00 - Intro 00:00:55 - Потоки 00:08:57 - Открытие и закрытие потоков 00:14:38 - Цепочки потоков 00:20:43 - Работа с потоками в памяти 00:23:51 - Readers и Writers 00:29:35 - Readers и Writers 00:37:25 - Работа с файловой системой 00:38:53 - FS Info-классы 00:43:29 - Вспомогательные классы 00:45:59 - FileSystemWatcher 00:49:13 - Summary
04.04.02 Special collections
Просмотров 54Месяц назад
Содержание: 00:00:00 - Intro 00:02:02 - Коллекции и UI 00:09:13 - Demo. ObservableCollection 00:12:36 - Read-only коллекции 00:20:15 - Read-only обертки и Frozen-коллекции 00:26:45 - Concurrent-коллекции 00:28:57 - Demo. Проблемы Concurrency 00:34:59 - Пространство System.Collections.Concurrent 00:42:11 - Immutable-коллекции 00:47:31 - Использование Immutable коллекций 00:53:51 - Сторонние библ...
04.04.01 Arrays and collections
Просмотров 83Месяц назад
Содержание: 00:00:00 - Intro 00:01:06 - Массивы 00:05:41 - System.Array - массив 00:15:34 - System.ArraySegment - фрагмент массива 00:18:06 - Коллекции 00:23:53 - Enumerators 00:31:11 - Реализация энумераторов 00:37:47 - Yield оператор 00:43:18 - Базовые generic-коллекции 00:46:07 - Ассоциативный массив (dictionary) 00:51:57 - Множество (set) 00:56:18 - Индексированный список (IList) 01:00:24 -...
04.03. Nullable types
Просмотров 44Месяц назад
Содержание: 00:00:00 - Intro 00:00:47 - Nullable Value types 00:05:24 - Операции над Nullable 00:12:43 - Nullable Reference types 00:17:21 - Null-state анализ 00:29:55 - Nullable контексты 00:37:04 - Операции с nullable типами 00:41:38 - Summary
04.02. Elemetary types
Просмотров 462 месяца назад
Содержание: 00:00:00 - Intro 00:00:44 - Логический тип 00:02:34 - Перечисления 00:05:34 - Demo. Форматирование enum 00:10:24 - Числа 00:23:20 - Demo. Форматирование чисел 00:27:19 - Дата и время 00:39:01 - Demo. Форматирование даты и времени 00:41:29 - Дата и время 2 00:57:09 - Summary
04.01. Introduction to BCL
Просмотров 572 месяца назад
Содержание: 00:00:00 - Intro 00:01:22 - Приложения и библиотеки 00:09:15 - Demo. Подключение юиблиотек 00:16:31 - Струкутура и состав библиотек 00:20:24 - Demo. Документация, Object Browser, ... 00:26:10 - Организация BCL 00:37:22 - System.Object 00:47:23 - System.ValueType 00:54:46 - Базовые операции для объектов 00:55:51 - Сравнение 01:02:25 - Клонирование 01:05:10 - Форматирование и парсинг ...
03.07. Pattern matching
Просмотров 1292 месяца назад
Содержание: 00:00:00 - Intro 00:01:23 - Для чего нужно? 00:07:40 - Конструкции с поддержкой pattern matching 00:15:39 - Простые шаблоны 00:25:31 - Логическое комбинирование шаблонов 00:27:51 - Структурные шаблоны 00:36:55 - Summary
03.06. Additional C# features
Просмотров 1082 месяца назад
Содержание: 00:00:00 - Intro 00:01:58 - Члены типов как выражения 00:05:02 - Частичные классы и методы 00:12:26 - Генераторы кода 00:15:43 - Demo. WinForms дизайнер 00:18:29 - Demo. Source generator 00:22:24 - Методы расширения 00:31:40 - Деконструирование произвольных типов 00:36:34 - Перегрузка операторов 00:43:32 - Препроцессор и условная компиляция 00:50:39 - Demo. Директивы препроцессора 0...
03.05. Tuples, records and anonymous types
Просмотров 1732 месяца назад
Содержание: 00:00:00 - Intro 00:01:25 - Анонимные типы 00:06:06 - Demo. Анонимные типы изнутри 00:09:45 - Кортежи 00:14:20 - Demo. Кортежи изнутри 00:21:08 - Записи 00:33:21 - Summary
03.04. Exception handling
Просмотров 932 месяца назад
Содержание: 00:00:00 - Intro 00:00:29 - Обработка ошибок 00:02:44 - Исключения в .Net / C# 00:03:29 - Demo. Генерация и обработка исключений 00:07:28 - Генерация исключений 00:24:33 - Обработка исключений 00:41:34 - Рекомендации 00:46:14 - Summary
03.03. Delegates, Events and Lambdas
Просмотров 802 месяца назад
03.03. Delegates, Events and Lambdas
03.01. Creating Types in C#
Просмотров 1872 месяца назад
03.01. Creating Types in C#
03.02. Generics
Просмотров 1072 месяца назад
03.02. Generics
02.03. Unit tests
Просмотров 993 месяца назад
02.03. Unit tests
02.02. Test automation
Просмотров 1323 месяца назад
02.02. Test automation
02.01. C# language basic
Просмотров 1493 месяца назад
02.01. C# language basic
01.02. .Net Development Environment
Просмотров 1633 месяца назад
01.02. .Net Development Environment
01.01. .Net Ecosystem
Просмотров 4263 месяца назад
01.01. .Net Ecosystem
Modify Content Control Placeholder Text (sample)
Просмотров 236Год назад
Modify Content Control Placeholder Text (sample)
Change word content control placeholder text
Просмотров 874 года назад
Change word content control placeholder text

Комментарии

  • @KybaLioN66
    @KybaLioN66 4 дня назад

    Спасибо за видео. Хочу прояснить один момент. В C++ есть встроенные типы (int, float, double и т. д.). Это всё так сказать честные типы, без каких либо обёрток. В Java тоже есть такие примитивные типы, но на них когда пытаёшься вызвать метод то компилятор содаёт reference wrapper. для примера для int будет создан эксземпляр класса Integer. Как я понимаю встроенные коллекции даже не могут хранить value types. В С# не много путаница. У нас все value types это струсктуры которые наследованы от структуры ValueType. Как я понимаю System.Int32 инкапсулирует примитивный тип int как в С++. Но в этом классе есть m_value который тоже экземпляр класса System.Int32. Вопрос как runtime создает примитивный тип в нутри себя ? Вопрос может быть не точен. просото для меня runtime это программа написанное на С++, который выполняет IL код. И если где то определено value type, для него он должен создать примитивный тип.

    • @mihail_romanov
      @mihail_romanov 4 дня назад

      Вопрос хороший прямо досконально не расскажу - я и не на столько глубоко погружен в платформу и компилятор, и в комментарии это сделать сложно... Но если в 2-х словах, то: 1. На уровне runtime (IL) есть поддержка примитивных типов данных (int32, int64, ...). Она включает в себя: операции с разными типами (загрузка в стек, выгрузка, арифметические операции, ...), объявление локальных переменных в процедурах (потом можно к ним обращаться в командах), использование примитивных типов в качестве полей в объектах и структурах (там тоже специальные команды типа "загрузи поле XXX объявленное в типе YYY, из объекта ZZZ"), при передаче параметров в методы, и возврате результатов Т.е. на уровне IL int32 это именно простейший тип, не структура и не класс. 2. В BCL такие типы объявлены как структуры с одним единственным полем m_value с тем же типом, как и сама структура. Т.е., с точки зрения C# (да и вообще .Net) - недопустимая вещь! Поэтому структура System.Int32 (как и остальные примитивные типы) при компиляции обрабатывается специальным образом: - игнорируется, то структура используется внутри себя (я про поле m_value) - т.к. у структуры, в отличие от объекта, нет всяких скрытых дополнительных полей (ссылки на метаданные, поля sync, ...) то System.Int32 в памяти хранится как просто число. Поэтому ссылаемся мы на , или на , или на поле в - генерируется один и тот же код - который работает с IL-типом Иными словами, если бы это была бы обычная структура, то при компиляции внутренних методов, которые обращаются к полю использовались бы конструкции типа или а вот тут ничего похожего не будет. Ну и в обычном коде, везде, где идет работа с System.Int32 при генерации IL просто происходит замена на int32. Кстати, у описания типа (класса Type) есть поле , которое и позволяет узнать - является ли тип примитивным или это обычная структура 3. Из того, что осталось - это вызов методов. Здесь примитивные типы ничем не отличаются от обычных valuetype: - когда вызывается статический метод, то у него нет никаких неявных параметров, мы обязаны аргументы объявить явно. Ну и структура по умолчанию передается по значению (копированием). - если вызывается обычный (не виртуальный) экземплярный метод, то у него есть один неявный параметр - ссылка на экземпляр структуры, для которой он вызывается. Здесь всё как и у объектов - загружается адрес. Например Int32 a = 5; var t= a.CompareTo(44); Перед вызовом CompareTo, в стек будет загружен адрес локальной переменной и константа 44. - вызов перегруженных виртуальных методов (т.к. valuetype друг от друга наследовать нельзя, то виртуальные методы - только от Object: GetType(), Equal(), ToString()), вот для них прежде чем вызывать виртуальный метод, делается операция boxing - она создает в куче объект (со всеми доп. полями - той же ссылкой на метаданные!) и копирует в него содержимое структуры, а уже потом делает (и этим boxing опасен - создается копия, а не ссылка!) Но у valuetype есть определенная оптимизация. Для них вместо прямого box вызывается инструкция , которая сначала проверяет - реально ли нужен boxing (если вызывается перегруженный метод - тот же ToString(), то нет) и только если он необходим, она делает . P.S. Прошу прощения - получилось немного сумбурно. Я, к сожалению, не нашел нигде нормальной статьи, где бы это было описано, поэтому даже ссылку не могу дать, где бы почитать подробнее. Многие ссылаются вот на эту статью web.archive.org/web/20141124091806/weblogs.asp.net/dixin/understanding-net-primitive-types, но там тоже не всё и без особых подробностей.

    • @KybaLioN66
      @KybaLioN66 4 дня назад

      @@mihail_romanov Спасибо вам огромное. За ваш большой труд. Собрать всю эту информацию во едино не простая задача. Да, тема доволна сложная, есть слой так сказать магии которая не понятна. Так как сейчас только начинаю изучение, то можно и опустить такие моменты для начало. Но по этой теме может помочь давольна популярная книга CLR via С# by Jeffrey Richter.

    • @mihail_romanov
      @mihail_romanov 4 дня назад

      CLR via С# действительно очень неплохая книга (я вообще могу сказать, что все книги, что мне попадались у Рихтера, были феноменальными по охвату и глубине), но: - книга довольно сложная и новичка может даже запутать. Т.е. я бы её не стал читать как первую книгу по .Net/C# (да и язык там практически не упоминается) - книга старая. Если не ошибаюсь, последнее издание было для .Net Framework 4.5. С выходом Core и более поздних версий .Net что-то поменялось, что-то стало неактуальным и нерекомендуемым к использованию, для чего-то появились другие механизмы, ... К сожалению, Джеффри больше не пишет книг, а других авторов такого уровня я просто не знаю.

  • @rutorikouman9386
    @rutorikouman9386 10 дней назад

    Доходчиво и информативно, спасибо

  • @KybaLioN66
    @KybaLioN66 10 дней назад

    Спасибо за видео. Как я понял былди которые демонстрированы в видео, при исполнении требует уже установленный заранее виртуальной машины .NET (CLR). Но я знаю что возможно собрать так сказать в standlone project. Где в exe файле будет зашито виртуальная машина. и этот билд можно запускать в любой среде без каких либо зависимостей. Можете сказать плюсы и минусы этих подходов ?

    • @mihail_romanov
      @mihail_romanov 10 дней назад

      Ну я бы тут говорил о 2-х подходах: - self-contained сборка (и публикация) проекта. Здесь всё те же IL библиотеки, но (!) в процессе сборки всё, что нужно для запуска приложения: исполнимый файл, runtime и библиотеки .Net, сторонние зависимости, ... - будет собрано в одну папку. И этого будет достаточно для запуска, никаких требований к окружению (ну кроме поддерживаемой версии ОС) не будет. Подробнее тут learn.microsoft.com/en-us/dotnet/core/deploying/#publish-self-contained - там же указаны плюсы и минусы подхода. Самое главное из плюсов - доступны любые библиотеки и возможности .Net - Native AOT (ahead-of-time). А вот тут происходит компиляция сразу в исполнимый код, и да, собирается всё в общий исполнимый файл. Опять же подробнее можно почитать тут learn.microsoft.com/en-us/dotnet/core/deploying/native-aot Основные сложности, как по мне, это некоторый функционал (например, часть Reflection) не доступен, а значит и те библиотеки, что от него зависят - не доступны тоже. Например тут learn.microsoft.com/en-us/aspnet/core/fundamentals/native-aot?view=aspnetcore-8.0#aspnet-core-and-native-aot-compatibility указан функционал ASP.Net Core, совместимый и несовместимый с AOT. К сожалению, у меня пока не было поводу поработать с AOT, поэтому какого-то своего мнения у меня пока тоже нет. Как по мне, для классических серверных приложений это не особо актуально (разве что для быстрого запуска serverless функций - но в моей текущей практике этого не требуется), а вот ограничения по функционалу - очень существенны.

  • @KybaLioN66
    @KybaLioN66 10 дней назад

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

    • @mihail_romanov
      @mihail_romanov 10 дней назад

      Не очень понял про аудиторию ("видео для youtube" - не совсем понятно, чем это видео должно отличаться от какого-то другого). Это видео к учебному курсу github.com/MihailRomanov/net_core_course Он для команды с определенным опытом разработки, но которая ранее никогда с .Net не работала. Или вы про то, какие права/ограничения? Тут никаких - пользуйтесь любыми материалами без проблем. Про звук - буду иметь в виду. Это конкретно с текущем видео проблемы или со всеми из этого плейлиста?

    • @KybaLioN66
      @KybaLioN66 10 дней назад

      @@mihail_romanov иногда авторы выкладывают видео с оффлайн курсов, но не все, вот и спросил чтобы узнать будет ли полноценный курс, или вы будете выкладывать всё что есть. Просто поражаюсь вашим подходом и професионализмом. Все очень четко и по порядку. Хотелось начать и закончить курс по .NET именно с вашим курсом. Про звук, это не критично, мне как и многим другим специалистам важно качество материала а не монтаж звук и анимации. Спасибо за ваш труд. Хотел ещё спросить про книги. Так как я знаю С++, мне не нужно книги для начинающих. Нашёл для себя вот эту книгу Professional C# and .NET 2021st Edition by Christian Nagel (Author). Знакомы ли вы с этой книгой ? если да то как оно вам ?

    • @mihail_romanov
      @mihail_romanov 10 дней назад

      Я этот курс веду удаленно и выкладываю все лекции и все материалы. Основная площадка здесь, но из-за возникающих периодически проблем, пришлось сделать копии на других. Так что тут будут выложены все запланированные лекции. Другой момент, достаточно ли вам будет того, что включено в курс. Могу точно сказать, что не будет ничего по Desktop UI. По основам ASP.Net Core планируется отдельный курс, который начнется сразу вслед за текущим и материалы по нему, я также планирую разместить на этом канале. Что касается книг, то тут, увы, по состоянию на сегодня я вряд ли смогу сориентировать. Ранее, мне очень понравилась Joseph Albahari and Ben Albahari C# 7.0 IN A NUTSHELL - она точно переиздавалась для более поздних версий языка. Она мне показалось лаконичной, но достаточно полной для хорошей основы Еще могу порекомендовать взглянуть на metanit.com/sharp/tutorial/ - может не супер глубоко, но достаточно неплохо изложено.

    • @KybaLioN66
      @KybaLioN66 10 дней назад

      @@mihail_romanov большое спасибо .

  • @KybaLioN66
    @KybaLioN66 11 дней назад

    thank you very much

  • @nouchance
    @nouchance 14 дней назад

    спасибо!

  • @do8603
    @do8603 17 дней назад

    Смотрел и думал что наткнулся на древнее видео. Потом взглянул на дату и нереально удивился. Парень, проснись, ты десятилетие проспал

    • @mihail_romanov
      @mihail_romanov 17 дней назад

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

  • @nouchance
    @nouchance 18 дней назад

    спасибо!

  • @Mark-pm5gh
    @Mark-pm5gh 23 дня назад

    Великолепный материал.

  • @PhilKleymenov
    @PhilKleymenov 27 дней назад

    Спасибо Михаил, я снова как будто в 2008 оказался

    • @mihail_romanov
      @mihail_romanov 27 дней назад

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

    • @PhilKleymenov
      @PhilKleymenov 27 дней назад

      @@mihail_romanov вы большой молодец, спасибо вам!

  • @Serj-eu3zp
    @Serj-eu3zp Месяц назад

    И в этом, и в предыдущем видео (другие не запускал) как-то очень странно местами подлагивает звук. На других каналах всё ок, возможно у Вас что-то не так при записи

    • @mihail_romanov
      @mihail_romanov Месяц назад

      Да, правда, есть такое. Спасибо! Подумаю ,что с этим можно сделать, пока с ходу не разобрался, что не так, но есть подозрение.

    • @mihail_romanov
      @mihail_romanov 28 дней назад

      Еще раз спасибо за наводку. Да, проблема (пусть и не так заметно) есть и в остальных видео. В общем, что удалось понять: - в исходных файлах в этих местах есть какие-то небольшие шумы, но они не очень заметны (открываю локальным проигрывателем) - при загрузке на RUclips и VK Video проблемы становятся очень заметными, вместо неясных шумов появляются четкие щелчки. Я было подумал, что проблема в браузерах, но: во всех браузерах одинаковые проблемы, зато при открытии локального файла (в тех браузерах, где разобрался как) - проблемы нет. - более того, при загрузке на Rutube проблема тоже не проявляется (по крайней мере я не слышу). - поиск в интернете показывает, что проблема "после загрузки на RUclips появляются щелчки в звуке" не так и редка, а вот решений я с ходу не нашел. Так что мое предположение: - на YT и VK при перекодировании видео используется какой-то фильтр (какой именно предполагать не берусь - не специалист), который на определенных файлах дает неожиданный эффект Приложу ссылку на плейлист с Rutube rutube.ru/plst/488407 и на такое же видео rutube.ru/video/7555d579673c3c035172a2a4f4ce1592/ если будет возможность сравнить, буду признателен

  • @user-si8xh6hk4i
    @user-si8xh6hk4i Месяц назад

    Часто применяете синглтон с двойным локом ?

    • @mihail_romanov
      @mihail_romanov Месяц назад

      Откровенно говоря, я вообще последнее время синглтон руками не реализую: - если пишется простая утилита, то контролировать время жизни и количество экземпляров просто и без дополнительных ухищрений - а если речь идет о крупных приложениях, то всё бремя управления ЖЦ объектов передается на класс хоста, который также предоставляет IoC-контейнер. Т.е. мы просто регистрируем класс (или сразу экземпляр) как синглтон, а потом создаем его исключительно средствами хоста/контейнера. Здесь же я взял для примера именно синглтон потому что: - он концептуально прост и понятен (т.е. не нужно долго и сложно объяснять, какую задачу мы решаем) - но при этом есть много вариантов реализации, как более-менее универсальных, так и опирающихся на особенности языка/среды. Т.е., как по мне, ну очень хороший пример для того, чтобы проникнутся идеей "для чего стоит почитать о паттернах проектирования". Если я кого-то заинтересовал - значит цель достигнута.

  • @iiiiiuuiuiui4303
    @iiiiiuuiuiui4303 Месяц назад

    спасибо за подробный урок

    • @mihail_romanov
      @mihail_romanov Месяц назад

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

  • @данилбезруков-ц2й
    @данилбезруков-ц2й Месяц назад

    старинное объяснение которое уже не используется

    • @mihail_romanov
      @mihail_romanov Месяц назад

      А можно чуть подробнее? О каком объяснении речь, почему не используется и что используется ныне?

    • @Tunec_s_hlebom
      @Tunec_s_hlebom Месяц назад

      ​​@@mihail_romanov нужно короткое видео с поверхностным объяснением темы, но с крутой музыкой, монтажом, кучей крутых айтишных слов и кривляниями чтобы молодежь захотела смотреть😅. И в конце обязательно надо сказать что этих знаний хватит чтобы устроиться на 300К в наносекунду

    • @mihail_romanov
      @mihail_romanov Месяц назад

      Увы, в таком формате у меня шансов 0. Из всего перечня я вытяну разве что "кучу IT-шного сленга", да и то, как мне верно указали в комментариях под соседним роликом, могут быть проблемы с произношением.

    • @ill4374
      @ill4374 27 дней назад

      ​@@Tunec_s_hlebom хауди хо, Друзья!

    • @АстрамарийЦелеборКраш
      @АстрамарийЦелеборКраш 14 дней назад

      Михаил! Я только начинающий итишник и до этих тем пока не добрался, НО! я тут почитал мнения, ну, наверное экспертов, объективно мне судить ещё рано,и могу с уверенностью сказать что вы делаете однозначно полезное дело, объясняя структурировано и систематезировано основы. Ибо это база. Это делает специалиста специалистом. Так что, спасибо вам большое.

  • @bulsond
    @bulsond Месяц назад

    Спасибо, за хороший урок. Одно замечание: буферА у телёчек, а бУферы у потоков.

    • @mihail_romanov
      @mihail_romanov Месяц назад

      Предлагаю сойтись на варианте "это особенности предуральского выговора" :) Но за замечание спасибо - учту (по крайней мер постараюсь)

  • @user-yo7mw6oj4p
    @user-yo7mw6oj4p 2 месяца назад

    Однако сложно. Но интересно. Спасибо за погружение в тему.

    • @mihail_romanov
      @mihail_romanov 2 месяца назад

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

    • @user-yo7mw6oj4p
      @user-yo7mw6oj4p 2 месяца назад

      @@mihail_romanov Так точно. Главное практика.

  • @user-fs3ps6qo3p
    @user-fs3ps6qo3p 2 месяца назад

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

    • @mihail_romanov
      @mihail_romanov 2 месяца назад

      Спасибо. Буду стараться и дальше.

  • @katyama8
    @katyama8 2 месяца назад

    spasibo!!!!!!

    • @mihail_romanov
      @mihail_romanov 2 месяца назад

      Рад что вам понравилось, и, надеюсь, было полезно.

  • @evgenysmirnov4762
    @evgenysmirnov4762 2 месяца назад

    Fluent синтаксис прям как в Rails...

    • @mihail_romanov
      @mihail_romanov 2 месяца назад

      А идея общая, так что логично. Я вообще впервые о Fluent прочитал, если не путаю у Фаулера martinfowler.com/bliki/FluentInterface.html

  • @evgenysmirnov4762
    @evgenysmirnov4762 3 месяца назад

    👍