Смотрим вместе YT: Ulbi - Функциональное программирование от А до Я. ФП на JS.

Поділитися
Вставка
  • Опубліковано 25 чер 2024
  • Посмотрим вместе, на скорости полтора, видео от
    Ulbi TV: Функциональное программирование от А до Я. ФП на JS. Монады, функторы, каррирование, композиция
    В этом видео мы поговорим про функциональное программирование на javascript. Разберем такие темы как: Декларативность, Чистые функции и сайд эффекты, Иммутабельность (неизменяемость), Функции первого класса, Функции высшего порядка, Композиция/конвейер, Частичное применение и каррирование, Chaining, Контейнеры, Функторы и аппликативные функторы, Монады, Спецификация Fantasy-Land
    • Функциональное програм...
    Таймкоды:
    00:00:00 Музыка
    00:09:30 Начало
    00:10:20 Чтение чата, настройка звука
    00:18:30 Ремарка
    00:20:30 Что такое ФП
    00:25:50 Концепции ФП
    00:28:30 Декларативность
    00:36:20 Чистые функции
    00:46:00 Критерии чистоты
    00:51:00 Иммутабельность
    01:10:30 Функции первого класса и Функции высшего порядка
    01:29:00 Ответы на вопросы и общение с чатом
    AsForJs новости в Telegram: t.me/AsForJavaScript
    AsForJs Talks в Telegram: t.me/AsForJsTalks
    Поддержать маленького бородатого JavaScript-ра
    Карта Приват (Bobrov Maksym): 5168745021397333
    USDT Tron (TRC20): TKoZu59WHiX6L6qvwYTYTsZJerDrnAHBTx
    USDT etherium (erc20): 0x75fb8a62dfcf453b2e73f1ef1c407d46f918fffa
    TON: UQAGXvuhxg3qU0eFgOxtdDlKXqdp1zPq6yCRSRbRYQClxOzH
    bitcoin:bc1q74aru82v4d3alay7p53jdwkmxe4a5gz7fmvfm2?message=AsForJS&time=1686349743
    PayPal: demimurych@protonmail.com
    / demimurych
    Boosty: boosty.to/asforjs
    Текст до відео:
    docs.google.com/document/d/1w...
    ⎡~yt ~01~Ulbi ~fp ~js⎦

КОМЕНТАРІ • 120

  • @AsForJS
    @AsForJS  23 дні тому +1

    00:00:00 Музыка
    00:09:30 Начало
    00:10:20 Чтение чата, настройка звука
    00:18:30 Ремарка
    00:20:30 Что такое ФП
    00:25:50 Концепции ФП
    00:28:30 Декларативность
    00:36:20 Чистые функции
    00:46:00 Критерии чистоты
    00:51:00 Иммутабельность
    01:10:30 Функции первого класса и Функции высшего порядка
    01:29:00 Ответы на вопросы и общение с чатом

  • @LenaFelica_songwriter
    @LenaFelica_songwriter Місяць тому +12

    Тимур, спасибо тебе огромное за твой контент!! обучалась и буду обучаться по нему!!))
    Тимур - большой молодец!! ТО, что он дает для обучения, как преподносит материал - бесценно!! Я думаю, что каждый, кто обучается по его роликам и курсам, понимает о чем речь))) Для меня Тимур - самый ЛУЧШИЙ онлайн преподаватель в русскоязычном ютубе!! я бы очень хотела попасть в его команду в работе)) понимаю, что это будет бесценно для меня! но пока это только мечты)))

    • @timmusharapov9257
      @timmusharapov9257 29 днів тому

      Тимур - это имя Мурыча?

    • @LenaFelica_songwriter
      @LenaFelica_songwriter 29 днів тому +2

      @@timmusharapov9257 Тимур Ульби - автор контента UlbiTV, его ролики Мурыч разбирает

    • @unclechernomor4421
      @unclechernomor4421 23 дні тому

      Посмотрите курс по Вью о Климова, вот где интересно. А глубокие знания наверное у Тимура Шемсидинова. Ulbi чисто как общее понимание , у меня такое вречатление

  • @_Good_Evening_
    @_Good_Evening_ Місяць тому +1

    Ура, новый видос от Мурыча!!! Жду их с таким же нетерпением, как раньше ждал новых серий игры престолов)

  • @OwezAtajanow
    @OwezAtajanow 17 днів тому

    СПАСИБО БОЛЬШОЕ ЗА ЭТОТ БЕСЦЕННЫЙ КОНТЕНТ. ЖЕЛАЮ ВСЕГО НАИЛУЧШЕГО ❤❤❤

  • @user-kf9xn9ic5q
    @user-kf9xn9ic5q 4 дні тому

    Спасибо, интересный разбор.
    Раньше читал статьи Криса Касперски. Мурыч такой же исследователь.

  • @user-tt3bk7dw2z
    @user-tt3bk7dw2z Місяць тому

    Вау, дуже сподівався, що у вас зʼявиться огляд на це відео, ввечері подивлюсь 🔥

  • @mi4i045
    @mi4i045 14 днів тому +1

    Дякую Вам за Ваш контент. Жаль що більше немає українською, але дякую що хоча б спробували!

  • @narek7281
    @narek7281 21 день тому

    great video

  • @o1gerd
    @o1gerd 29 днів тому +2

    Лучшее завершение стрима

  • @user-dn7qr7vs1h
    @user-dn7qr7vs1h 26 днів тому +5

    > Невозможно решить какую-либо задачу в ФП
    Можно и решается. То, что Мурыч не изучил сабж в достаточной мере чтобы понять это, и чтобы понять, почему - не значит, что это не так.
    Те же Хаскель, Идрис, Агда и т.п. - чистые функциональные языки (что бы Мурыч об этом ни думал), и программисты на них каждый день решают реальные задачи, взаимодействуют с файловой системой и т.п..
    Погромист на чистом ЯП в main описывает вычисления, которые должна произвести программа (включая грязные вещи вроде писания в файлы и чтения из них). Это ОПИСАНИЕ - чистое. Т.е. его можно передавать в функции, трусить туда-сюда, и ничего не произойдет.
    Упрощенно говоря при запуске программа вычисляет main, и затем "интерпретирует" полученную последовательность действий.
    Чуть менее упрощенно - программа может быть текстом (пайтон скрипт), числом (последовательность байт), лентой машины Тьюринга, лямбда-термом и т.п..
    Не нужно сайд-эффектов чтобы сгенерировать программу на С, как и не нужно их для того, чтобы превратить ее в машинный код.
    Собственно, что тогда мешает на чистом языке описать программу, которая взаимодействует, скажем с файловой системой? Ничего.
    Мурыч путает программу, как описание вычислений, и сами вычисления. Последнее не имеет отношения к парадигме. Парадигмы программирования, они об описаниях вычислений (т.е. о программах), а не о том, как main запустить и интерпретировать синтаксическое дерево.
    Если интересно, что такое ФП - не изучайте этот вопрос по видосам тех, кто об этом где-то слышал, или не занимается постоянно. Они не расскажут.
    Хотя Ulbi довольно неплохо с этим справляется (пишу комментарий не досмотрев его видео до конца, так что сложно сказать наверняка).

    • @AsForJS
      @AsForJS  9 днів тому

      Программа не может существовать без ввода вывода.
      Ввод вывод - это императивная парадигма.
      > Можно и решается. То, что Мурыч не изучил сабж в достаточной мере чтобы понять это, и чтобы понять, почему - не значит, что это не так.
      Те же Хаскель, Идрис, Агда и т.п. - чистые функциональные языки (что бы Мурыч об этом ни думал), и программисты на них каждый день решают реальные задачи, взаимодействуют с файловой системой и т.п..
      Мурыч пишет в ФП с 1994 года. 34 года уже.
      Тот же Хаскель, отмечает код, которые выходит за рамки функционального меткой IO. То что Хаскель функциональный язык не значит, что в нем нет императивных компонентов.
      > Упрощенно говоря при запуске программа вычисляет main, и затем "интерпретирует" полученную последовательность действий.
      Она должна получить на вход данные, после чего отправить их на вывод. Ввод/вывод не может быть реализован в ФП - ПРИНЦИПИАЛЬНО
      Любой ФП язык - это смесь императивного и функционального кода. Смотри выше про хаскель.
      > Не нужно сайд-эффектов чтобы сгенерировать программу на С, как и не нужно их для того, чтобы превратить ее в машинный код.
      И получить сайд эффекты на любом этапе ввода вывода. Поскольку ваша программа не сможет никак его контролировать. Это лежит за пределами ее возможностей.
      > Собственно, что тогда мешает на чистом языке описать программу, которая взаимодействует, скажем с файловой системой? Ничего.
      Все мешает. Начните с того, что Вам нужно файловую систему считать в память. Для этого Вам нужно взаимодействовать с устройством. Как следствие у вас первый сайд эффект - работа устройста.
      >Мурыч путает программу, как описание вычислений, и сами вычисления. Последнее не имеет отношения к парадигме. Парадигмы программирования, они об описаниях вычислений (т.е. о программах), а не о том, как main запустить и интерпретировать синтаксическое дерево.
      Мурыч ничего не путает. Мурыч разве что не смог достаточно явно Вам показать где синтаксис языка, а где абстракция. А Вы все смешали в кучу.
      Думаю Вам станет много больше понятнее когда я перепишу это видео до конца.
      >Если интересно, что такое ФП - не изучайте этот вопрос по видосам тех, кто об этом где-то слышал, или не занимается постоянно. Они не расскажут.
      Хотя Ulbi довольно неплохо с этим справляется (пишу комментарий не досмотрев его видео до конца, так что сложно сказать наверняка).
      Мурыч пишет в ФП с 1994 года

    • @user-dn7qr7vs1h
      @user-dn7qr7vs1h 9 днів тому

      @@AsForJS Давайте определимся с терминами, в частности, с "чистотой". Чистота отличает математические функции от джаваскриптовых функций с IO и мутабельностью.
      В чистом функциональном языке нет сайд эффектов. В этом мы согласны?
      Если да, тогда идём дальше. Хаскель - чистый функциональный язык *по определению*, и соответствует этому определению как минимум до учёта unsafePerformIO и error.
      Что позволяет чистым прикладным ФП языкам описывать весь спектр IO и оставаться при этом чистыми - это монады.
      Математический концепт, который в 91 Wadler завёз в Хаскель специально для этого. См. вайтэйпер Philip Wadler: Monads for functional programming programming.
      Это что-то вроде "аргумента к спецификации".
      В качестве альтернативы можно попробовать доказать через понятие Тьюринг-полноты:
      Дано:
      1. Любая программа на тьюринг-полном языке может быть выражена на любом другом Тьюринг-полном языке
      2. Лямбда-исчисление лишён сайд-эффектов и является тьюринг-полном языком (и математической формулой по совместительству, но не суть).
      Если с этим согласны, то получаем, что любую программу, написанеую на Тьюринг-полном языке (например Js) можно выразить в лямбда исчислении, и она не будет иметь сайд эффектов.
      Аргумент к теории вычислимости.

    • @user-dn7qr7vs1h
      @user-dn7qr7vs1h 9 днів тому

      @@AsForJS третий аргумент: к детерминированности функций.
      Если мы согласны, что сайд-эффекты всегда приводят к недетерминизму - ещё проще.
      Нетрудно увидеть и несложно проверить, что
      f :: Int -> IO (); f n = print n
      абсолютно детерминированная функция.
      fmap f [0..5600] - не вызовет ни одного сайд - эффекта, даже если будет вычислено вплоть до WHNF от результата f (каким-нибудь deepSeq, например).
      Более того, fmap f (repeat 5) - список эквивалентных элементов (читай, f детерминирована) (подразумевается эквивалентность по Лейбницу: a = b iff forall f g. f a = g a).
      Ну и ещё, IO можно определить самостоятельно, и вшить в рантайм языка его интерпретатор, чтобы получить тот же результат.
      Например, если монада IO будет определена как
      data IO a where
      PutStrLn :: String -> IO ()
      GetLine :: IO String
      Pure :: a -> IO a
      Bind :: (a -> IO b) -> IO a -> IO b
      То мы тоже сможем описывать небольшую часть программ с вводом-выводом, чисто и функционально, в виде структуры данных.

  • @GoogleHater
    @GoogleHater Місяць тому +8

    2:15:00 код котооый можно прочитать не устареет так же быстро, как код, который быстро выполняется. Бизнес это про скорость реакции на изменение коньюктуры, а не про экономию процессорного времен

    • @blackFortuna1358
      @blackFortuna1358 Місяць тому +1

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

    • @GoogleHater
      @GoogleHater Місяць тому +6

      ​@@blackFortuna1358не отменяет, но читабельность в 80% случаев важнее

  • @lesson-web
    @lesson-web 28 днів тому +2

    Мурыч - легенда

  • @404Negative
    @404Negative 29 днів тому +6

    в конце стрима у мурыча подгорел функтор

  • @denispopov3626
    @denispopov3626 19 днів тому +1

    51:40
    PREPARE FOR DEALLOCATION

  • @GoogleHater
    @GoogleHater Місяць тому +10

    1:38:00 не согласен, что js без фреймворка сейчас достаточно для решения твоих задач.
    Уровень абстракции React позволяет писать на ПОРЯДКИ быстрее системы, за счет декларирования правил модификации данных и отображения их в браузере. А так же предоставляет методы для избавления от руттинных констрккций. Которые, как раз, и декларируют что есть данные и как они они модифицируются.
    Без React сейчас невозможно реализовать сервисы за адекватное количество денег и времени.
    Говорю как разработчик одного из самых больших веб-продуктов в мире.
    Правила react объективно решает задачи бизнеса: понятно и одинакого, с текущеми людскими ресурсами в мире, быстро МЕНЯТЬ разные участки системы для решения задач в данную секунду.
    JS - это уже палочки и проволочки

    • @blackFortuna1358
      @blackFortuna1358 Місяць тому +3

      Возможно, вам не не хватает личной компетенции или вы стали разработчиком не JS, а React.
      Я предпочитаю использовать Svelte и последний год ловлю себя на мысли, что хочу сделать его форк с «strict mode», выкинув из него вагон всего. Работа с DOM - соглашусь, в проде нужен фреймворк. Но вот всё остальное, написанное нативно будет существенно производительнее чем эти абстракции ради абстракций, да быстрее и сама разработка будет. Реакт в этом плане вообще какой-то ужас

    • @GoogleHater
      @GoogleHater Місяць тому +5

      @blackFortuna1358 я разработчик на многих языках и моих компетенций более чем достаточно что бы программировать абстракциями. И выбирать решения для сотен программистов, что бы писать продукт согласованно и в рамках конкретных задач бизнеса. Одна из таких задач: что бы программисты меньше писали кода и быстрее реализовывали новое требования бизнеса и государства

    • @blackFortuna1358
      @blackFortuna1358 Місяць тому +1

      ​@@GoogleHaterа выпустить качественный продукт не входит в требования? Важен баланс, а не гонка за скоростью выхода на рынок.
      Могу сказать за свою компанию. Мы наоборот имеем преимущество перед другими, что у нас будет чуть дольше, но не тяп-ляп и погнали) Бенчмарки входят в KPI (не на уровне фанатизма).

    • @GoogleHater
      @GoogleHater Місяць тому +1

      ​@@blackFortuna1358я же написал, что это одна из ключевых задач, но не единственная. Мы тут обсуждаем аспект того что для js не нужны фреймворки для решения задач реальногл бизнеса.

    • @blackFortuna1358
      @blackFortuna1358 Місяць тому +1

      ​​​@@GoogleHaterвот и я лично скорее согласен с Мурычом, просто не до такой степени. Фреймворк нужен, но точно не ужасный монстр реакт с абстракциями ради абстракций)
      Вот для меня таким стал Svelte (особенно 5-ка, которая ещё не вышла). Удобная работа с DOM и никакого навязывания чуть ли уже не другого языка.
      И то, я когда-нибудь в свободное время буду делать форк и добавлять возможность управления компилятором, чтобы отключать проверки ради проверок, когда я знаю, что условно там будет строка (вон она блин, через const объявлена) и не нужна проверка typeof от фреймворка. Пример так себе, но такого вагон.

  • @lysak_coding
    @lysak_coding Місяць тому +1

    Привет! Какие книги можешь посоветовать по ФП?

    • @user-dn7qr7vs1h
      @user-dn7qr7vs1h 26 днів тому

      Он не разбирается в ФП. Спроси в сообществе функциональщиков.

    • @evgeniy3370
      @evgeniy3370 25 днів тому

      ​@@user-dn7qr7vs1h это какое? Тг каналов не нашёл конкретно по фп

  • @CuriousSpy
    @CuriousSpy Місяць тому

    Я для фп в жсе делал kirka

  • @0xSxVKaJnwQ
    @0xSxVKaJnwQ 26 днів тому

    57:50 Если мы при работе с массивом внутри функции, например, обращаемся к наследованному экземпляром массива методу sort, функция теряет чистоту. Соответственно, можно лишь самому изобретать велосипед сортируя массив, чтобы сохранить чистоту? Звучит бредово.

  • @klapperbein6632
    @klapperbein6632 22 дні тому

    хотелось бы поменьше цензуры)

  • @grenadier4702
    @grenadier4702 17 годин тому

    Какая разница, как в том или ином языке работает обращение к методу объекта, если по итогу мы все равно имеем функцию в .text секции, которую мы и вызываем? Тогда ни в одном языке обращение к методу не сохраняет чистоту функции
    По моему мнению, уход веба в SPA и дальнейшая его "эволюция" в SSR - это большие ошибки, которые только зазря все усложнили

  • @user-nc1zf7fi4e
    @user-nc1zf7fi4e 26 днів тому

    Почему заставка всего 10 минут? И про кота мало. 🙂

  • @DmitryKvasnikov
    @DmitryKvasnikov 29 днів тому

    А есть ссылка на дискуссия Дядюшки Боба, упомянутую в видео?

    • @blackFortuna1358
      @blackFortuna1358 27 днів тому

      У Winderton-а был обзор, там много ссылок будет где почитать

  • @WERWOLION
    @WERWOLION 28 днів тому

    Вопрос на миллион долларов, язык go для создания сайтов тупик или для Бэка с VUE лучше PHP?

    • @Nini-sv1bd
      @Nini-sv1bd 27 днів тому +1

      да, гони миллион

    • @michaelmyers717
      @michaelmyers717 19 днів тому

      Отвечу так, скорее всего придётся знать и пыху и го, чтобы быть хорошим программистом

    • @WERWOLION
      @WERWOLION 19 днів тому

      @@michaelmyers717 ну если ты знаешь пыху го и фронт то ты вообще говно программист.
      Это как если твой хирург еще и сантехник и водитель автобуса.

    • @michaelmyers717
      @michaelmyers717 19 днів тому

      @@WERWOLION нет, ты просто ещё никогда не работал и вкатун

    • @WERWOLION
      @WERWOLION 19 днів тому

      @@michaelmyers717 т.е. ты идеально знаешь 10 языков программирования и рисуешь лучший дизайн

  • @cubuanic
    @cubuanic Місяць тому +4

    Начало 9:30

  • @user-oj2nr1hd4h
    @user-oj2nr1hd4h Місяць тому +2

    29:09 `истинная ебанина` - только на нашем славянском так можно завуалировать современное ФП

    • @Son0fBeelzebub
      @Son0fBeelzebub 29 днів тому

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

  • @DenisXemc
    @DenisXemc Місяць тому +10

    Мурыч, уважаю ваше творчество. Но я не совсем понимаю, как при вашем подходе к решению задач выйти на хотя бы минимальный уровень владения языком, при котором смело можно называть себя программистом. В идеальном мире вероятно есть возможность долгое время изучать основы языка и только потом приступать к его использованию, но сейчас же люди идут в эту сферу из-за того, что им она могла понравиться во время того, когда они смогли упростить свою жизнь при помощи кода. Приведу пример, при обучении на строительной кафедре, мне не нравилось то, что в расчетах приходилось в ручную переделывать цепочку исчислений при ручном подборе конструкции, в начале я опробовал excel, но понял что этот инструмент не даёт мне возможность делать циклы для подбора наиболее выгодного результата, а познакомившись с языком js, его базовых инструментов хватило для решения данной задачи. Я это привел затем, что нынешнему рынку, по моему мнению, не нужны только сверх программисты оптимизаторы, ему нужны люди, которые понимают бизнес область и обладая минимальными знаниями ЯП могли решить задачу за МИНИМАЛЬНЫЙ промежуток времени

    • @blackFortuna1358
      @blackFortuna1358 Місяць тому +4

      Я скорее понимаю его посыл как «не считайте себя гуру программистами, когда на самом деле вы и азов не знаете». Это прям повальная проблема чудо-сеньёров за три года, которые думают, что всё знают.
      Путь программиста как путь самурая. Долгий, нудный и на любителя. Именно путь профессионала, а когда вы какие-то абстракции поняли - не значит, что стали сеньёром

    • @Drewaka
      @Drewaka Місяць тому +3

      Есть академия. А есть работа. Как врач практик и врач педагог.

    • @rsqssd
      @rsqssd Місяць тому +8

      ⁠@@blackFortuna1358Если тебя взяли как сеньёра и платят как сеньёра, то ты сеньёр

    • @blackFortuna1358
      @blackFortuna1358 Місяць тому

      @rsqssd не уборщик, а «Менеджер чистоты и блеска». А инфоцыгане с миллионами заработка передают привет. Профессионалы из автоспорта крестятся от того, что происходят на дорогах.
      Если вас взяли кому-то водителем и платят большую зарплату, не значит, что вы действительно умеете водить и чувствуете машину, даже если вы считаете иначе.

    • @rsqssd
      @rsqssd Місяць тому

      @@blackFortuna1358 у меня тут коммент оставленный?

  • @kirylbehansky1315
    @kirylbehansky1315 Місяць тому +3

    "JS - язык для детского сада" жаль дока JS не для детского сада)

    • @astkh4381
      @astkh4381 29 днів тому

      Почему для детского сада?

    • @kirylbehansky1315
      @kirylbehansky1315 29 днів тому

      @@astkh4381 цитата мурыча

  • @consolidatedauthoritarian
    @consolidatedauthoritarian 28 днів тому +2

    Олдфаги не помнят , ньюфаги не знают 🤫

  • @TahirDibirov-cj6pd
    @TahirDibirov-cj6pd 28 днів тому +1

    1:08:09 В ФП нет шага "сделай копию" но в JS это приходится делать

  • @user-cw2xk5jt6w
    @user-cw2xk5jt6w 29 днів тому +2

    Пока Мурыч обкладывает улби половыми органами, второй на своём курсе сделал пару лямов $. Вопрос теперь. Кто получается умнее?

    • @prayer4675
      @prayer4675 29 днів тому +3

      Он просто предприимчивее, а не умнее.

    • @404Negative
      @404Negative 29 днів тому +3

      пару триллионов евро

    • @railbatyrshin7349
      @railbatyrshin7349 28 днів тому +1

      Нужно задаться вопросом - преследует ли Мурыч заработок на своем контенте? Мне кажется он кайфует от своей деятельности, что ему не интересны мнения таких как ты, не?)

    • @danderluf7749
      @danderluf7749 27 днів тому +3

      В данном видео, если ты его не смотрел, Мурыч на удивление никого половыми органами особо не обкладывает

    • @unclechernomor4421
      @unclechernomor4421 23 дні тому +1

      Пару лямов вряд ли он сделал, но пару копеек поднял

  • @chikenmacnugget
    @chikenmacnugget Місяць тому +8

    очевидно предположить то, очевидно предположить се. Воздухан, пруфай сиди по фактам. Одни абстрактные я то я сё. Женщина

    • @astkh4381
      @astkh4381 29 днів тому +6

      Прозвучит банально, но в жизни ты бы никому так бы не сказал.Так зачем в комментариях так выражаться?)

    • @chikenmacnugget
      @chikenmacnugget 29 днів тому

      @@astkh4381 звучит банально, но в жизни ты никому бы так не ответил. Так зачем так отвечать?

    • @astkh4381
      @astkh4381 29 днів тому +3

      @@chikenmacnugget кончено бы ответил).Я же ничего грубого не сказал и на личность не переходил

    • @chikenmacnugget
      @chikenmacnugget 29 днів тому

      @@astkh4381 ну вот и я бы сказал. Потому что описал его фактическое поведение.

    • @astkh4381
      @astkh4381 29 днів тому

      @@chikenmacnugget ты бы не сказал)

  • @ruslankomlykov9207
    @ruslankomlykov9207 Місяць тому +5

    Не несите чушь. Посмотрите на его рубаху 😮. Если у вас остались сомнения, удачи. 😅

    • @GoogleHater
      @GoogleHater Місяць тому +4

      Нужно оперировать не к личности, а к тезисам

    • @12345_qwerty
      @12345_qwerty Місяць тому +8

      Посмотрите на его рубаху)) аргумент уровня я даже не знаю кого… это дно полное

    • @1tsv1kt0r
      @1tsv1kt0r Місяць тому +3

      смотріте-смотріте, типичній русачок порвался! :)

    • @timmusharapov9257
      @timmusharapov9257 29 днів тому +2

      А что с рубахой? Хорошая рубаха.

    • @evgeniy3370
      @evgeniy3370 25 днів тому

      ​@@1tsv1kt0r тааак)), а разделение на типы "русачков" у вас имеется?