Егор Бугаенко - Utility-классы нас убивают

  Рет қаралды 36,338

JPoint, Joker и JUG ru

JPoint, Joker и JUG ru

6 жыл бұрын

Ближайшая конференция - Joker 2024, 9 октября (Online), 15-16 октября (Санкт-Петербург + трансляция).
Подробности и билеты: jrg.su/Ypf1HW
- -
. . . .

Пікірлер: 121
@manapotion1594
@manapotion1594 6 жыл бұрын
Гайд - как стать спикером на JUGе 1) Берем этот доклад 2) Заменяем слово "объекты" на "рекурсивые функции" 3) В ответ на вопросы пикаем одну из фраз ниже после "Я с вами согласен. Но" - "Объекты не нужны. Стек рекурсивных функций тоже имеет состояние" - "Стандартную библиотеку делали идиоты - зачем делать целый класс Scanner, когда можно было просто написать статик рекурсивную функцию" - "StackOverflowException? Понятный код важнее! Непонятный? А я мыслю по другому!"
@easyCodeRu
@easyCodeRu 3 жыл бұрын
Как много людей, которые для вида "изучили" основы ООП и забыли о них в первый же день.
@sergeyturikov3324
@sergeyturikov3324 3 жыл бұрын
Ну этож Бугаенко :) У него всегда темы для срача, мне нравится Бугаенко. Если становится скучно на работе я иду в бложик Егора и нахожу срач по душе :)
@fallenangel1395
@fallenangel1395 3 жыл бұрын
На самом деле, вещи говорит. Это сложно, по сравнению с привычным мышлением, но очень логично.
@user-br4gt7xu2j
@user-br4gt7xu2j 3 жыл бұрын
это крайне круто в некоторых случаях и крайне неудобно в большинстве иных. У него просто очень мало опыта
@Gretanit
@Gretanit Ай бұрын
Трудно, конечно осознать всю программу, особенно если он будет большая
@vyacheslavkozlov2207
@vyacheslavkozlov2207 4 жыл бұрын
Аж ностальгия накрыла при виде листинга Basic.
@user-sz7kt8nf1m
@user-sz7kt8nf1m 3 жыл бұрын
А мне нравится, интуитивно близко
@AlexanderBorshak
@AlexanderBorshak 6 ай бұрын
А почему в Лиспе нет инкапсуляции? Через замыкание легонько реализуется. Или тут категорический подход, что инкапсуляция - она только в ООП, потому что кто-то сказал что должно быть именно так? А ООП может называться ООП только если оно "классическое"? Причем не в смысле каноничности, а потому что реализовано через классы - и снова потому что кто-то сказал, что должно быть именно так? Если у нас есть объект - в смысле контейнера состояния, и какая-то логика для данных таких контейнеров, то мы и на чистом С можем написать drive(car) - и будет так же понятно, как если на "классическом ООП" написать car.drive(). И это будет ООП на чистом С. Некоторые задачи лучше - то есть проще - решать в императивном стиле. Некоторые - в декларативном. Собственно, с этой целью и создают новые языки программирования - чтобы облегчить использование какого-то стиля или парадигмы; тех, что больше подходят под определенный класс задач, для которых и создавался язык. Остальные парадигмы просто остаются в тени выбранных для языка архитектурных решений - но не запрещены. Обилие паратигм программирования дает отличную вариативность - и можно взять именно то, что лучше подходит под задачу, пускай в каком-то случае это и просто пачка процедур.С другой стороны, любая идея, возведенная в абсолют, выхолащивается в бессмыслицу. Это все равно, как "а давайте молотком забивать только гвозди, и только одной стороной - потому что так в учебнике труда сказано". Хотя вариативность применения даже столь простого инструмента просто безгранична.
@qwertymangames1800
@qwertymangames1800 3 ай бұрын
19:50 если хочется по солиду иметь маленькие объекты которые имеют только один метод, то зачем вообще нужны объекты. Можно убрать лишнее и реализовать всё функциями. Добавить туда функции высшего порядка.
@i292555
@i292555 2 жыл бұрын
Спасибо, Егор, теперь и 1С: Предприятие выходит объектоориентированный)
@judexmars4214
@judexmars4214 10 ай бұрын
Джокер от мира Java разработки
@AlexanderYakimec
@AlexanderYakimec Ай бұрын
А как по мне очень даже интуитивно.
@ChannelCheesecake
@ChannelCheesecake Жыл бұрын
2023 год. Scala. ZIO. Все так и пишут. Мужик опережал время
@maxbykov229
@maxbykov229 Жыл бұрын
Очень понравилось выступление. Особенно аргументы всех сторон. Поддерживаю подход Егора, вижу в этом много смысла. И Android действительно трэш.
@user-vm7re9bu9r
@user-vm7re9bu9r 2 жыл бұрын
Интересная мысль
@klxqz
@klxqz 3 жыл бұрын
Егор просто приколоться решил над местной аудиторией. А они ему и противопоставить толком ничего не могут. Это лишь показывает некомпетентность слушателей
@d9kd9k
@d9kd9k 2 жыл бұрын
вы что противопоставите?
@dmitriypronichev7048
@dmitriypronichev7048 3 жыл бұрын
завидую прям коллегам, которые удостоились чести работать с таким классным инженером. И на самом деле, спринг не нужОн нам. Главное Евгению Борисову об этом не рассказывать )
@alexkluev561
@alexkluev561 Жыл бұрын
шутки шутками, а вот для GraalVM в том же спринге сейчас никто не гнушается писать ручками конфигурации бинов. Ну и DI через конструктор завезли, за это отдельный респект.
@GrzegorzBrz380
@GrzegorzBrz380 Жыл бұрын
Напомнило иерархию виджетов во Flutter
@EdwardNorthwind
@EdwardNorthwind 2 жыл бұрын
Вот если бы не лесенка, то вообще было бы идеально. А с другой стороны, это логично, что лишние телодвижения вызывают больший жор батареи, и чудес не бывает - подобный подход более медленный и требовательный. Даже в этом примере, на одной чаше весов примитивы, что весят копейки, а на другой - 6 классов, со всеми вытекающими.
@StonksMaster1
@StonksMaster1 3 жыл бұрын
А потом GC тормозит приложение на сутки чтобы очистить эти все объекты 😀
@user-lk1fw1lp8b
@user-lk1fw1lp8b 5 ай бұрын
Так это проблема GC и языка, а не подхода. Да, это по определению бвдет медленней императивщины, но насколько? Если брать именно таклй подход и положить его в основу языка, думаю, вполне можно создать что-то приемлемое по скорости
@user-tk2jy8xr8b
@user-tk2jy8xr8b 3 жыл бұрын
Опоздал с комментарием на три года, но... Лесенка в ООП - это пережиток порграммирования текстом, объекты надо композировать в пространстве, возможно даже в трёхмерном (а то и больше, но зачем?). Тогда и программа будет не текстовая, а объектная. Видео оставляет некоторые вопросы, тема раскрыта недостаточно. Замечательно, всё скомпозировалось. Теперь, как внутри всего этого великолепия описываются условные конструкции, циклы и рекурсия? Построением, по сути, аналога AST в явном виде, как в блок-схемах? Какие примитивы делают чистый ООП язык тьюринг-полным? Чистое ООП не предполагает параметрический полиморфизм (это заимствование из мира ФП) - что предлагается в статическом стротипизированном ООП-чистом языке на замену?
@user-lk1fw1lp8b
@user-lk1fw1lp8b 2 жыл бұрын
Не могли бы вы подробнее рассказать о композиции объектов в пространстве? Как вы это себе представляете?
@user-tk2jy8xr8b
@user-tk2jy8xr8b 2 жыл бұрын
@@user-lk1fw1lp8b как объекты реального мира композируются в пространстве?
@user-lk1fw1lp8b
@user-lk1fw1lp8b 2 жыл бұрын
@@user-tk2jy8xr8b позиционированием друг относительно друга. Но как этим можно что-то запрограммировать?
@user-tk2jy8xr8b
@user-tk2jy8xr8b 2 жыл бұрын
@@user-lk1fw1lp8b так же, как собирают логические схемы из NAND элементов
@user-lk1fw1lp8b
@user-lk1fw1lp8b 2 жыл бұрын
@@user-tk2jy8xr8b мне кажется, проще писать код, чем в реальном мире собирать что-то. Хотя идея безусловно нова.
@vanyasotnikoff6024
@vanyasotnikoff6024 2 жыл бұрын
Все проблемы начинаются со слова "должен". Статиков не ДОЛЖНО быть, классы ДОЛЖНЫ быть маленькими, все ДОЛЖНО быть объектом и так далее.
@kobensky
@kobensky 11 ай бұрын
мне кажется, что "должен" Егор употребляет в качестве "укрепления" своей теории. То есть не "кто-то что-то ему должен", а "должно быть так, что бы его теория не развалилась".
@iamdozerq
@iamdozerq 10 ай бұрын
@@kobensky Ну да, он говорит что что бы было ооп ДОЛЖНО быть так. если не так, то не ооп. ООП это та самая постоянно разваливающаяся статическими классами теория.
@wjblazkowicz
@wjblazkowicz 16 күн бұрын
Егор использует слово "должен" чтобы ограничить временные рамки доклада. Может быть для кого-то "должен" не значит ничего, а для кого-то этот "должен" это ещё один доклад не на один час, который включает в себя и couple/cohesion, и рассуждения о границах инкапсуляции, и срач на тему того время работы девелопера сильно дороже чем просто новый CPU. И это далеко не полный список в который можно раскрыть указанное "должен".
@em_the_bee
@em_the_bee 2 жыл бұрын
23:38 Crystal lang!
@alexkazimir3835
@alexkazimir3835 2 жыл бұрын
В итоге lisp/clojure получается :-)
@alekseyshibayev5243
@alekseyshibayev5243 Жыл бұрын
После этого ролика, становится понятно, почему Егора Бугаенко так тролят.
@dmitryduzhinsky2739
@dmitryduzhinsky2739 4 ай бұрын
Скорее он профессиональный тролль
@alekseyshibayev5243
@alekseyshibayev5243 4 ай бұрын
@@dmitryduzhinsky2739 я раньше тоже так думал, но когда перестал использовать солид и паттерны только на собеседованиях, и начал применять их в бою, и начало получаться писать СОЛИДно - начал понимать Егора Бугаенко.
@ThisRussia
@ThisRussia 3 жыл бұрын
14:40 вопрос задал Тагир?)
@teklamaili8093
@teklamaili8093 3 жыл бұрын
Да
@lvn5609
@lvn5609 3 жыл бұрын
Вся шутка в том что код на Бейсике короче и лучше читается.
@SplashDmg2011
@SplashDmg2011 3 жыл бұрын
ну наверное потому что Java существует для более сложных программ)
@iamdozerq
@iamdozerq 10 ай бұрын
Код который он дал в конце читается в 10 раз проще. Он помещается в голове, он супер понятный и логичный. Я как человек с дислексией на числа и с отличным объемным воспроиятием(связанные вещи, кстати) - не просто читаю его код а вижу его весь одновременно в объеме, а там вообще то аж 6 объектов. В оригинальном коде объемных прикладных "объектов" сильно больше. Цикл, сравнения, сами переменные, поведение при разных ситуациях, скобки даже у этого всего - это абстракции которые мозгу чего то стоят. Старый код нужно интерпретировать по пути, забывая сами выражения, запоминая результат. В новом коде сразу просто запоминаешь возможные состояния. Это принципиально другое мышление.
@kirillsh8383
@kirillsh8383 4 жыл бұрын
все проблемы решены в котлины экстеншинами =)
@solomonsamsonovich
@solomonsamsonovich 4 жыл бұрын
у нас такой говнокод не прошел бы стадии ревью
@ihateidiots9484
@ihateidiots9484 3 жыл бұрын
Удачи с дебагом этой матрёшки
@ihateidiots9484
@ihateidiots9484 3 жыл бұрын
@@igojira835 а вы всерьез считаете, что модульные тесты - панацея со 100% покрытием всех возможных ситуаций? И что они страхуют от всех типов багов вплоть до гайзенбагов / баггзонов Хиггса?
@ihateidiots9484
@ihateidiots9484 3 жыл бұрын
@@igojira835 На практике у матрёшки попробуй ещё 100% покрой каждый слой + чтобы покрыть 100% этого хлама, нужно написать в 4-5 раз больше кода, а то и больше. И как-только решите изменить хоть чуть-чуть один слой в результате рефакторинга - придется переписывать огромное количество зависимых классов и тестов (а в матрёшке их ой как много). Это долго, муторно, дорого и утомительно. Плюс из-за того, что в матрёшке очень много делегирования между слоями, удачи с рефакторингом из-за оверинжениринга
@ihateidiots9484
@ihateidiots9484 3 жыл бұрын
@@igojira835 эээ нее, не просто класс, в котором что-то не так, а декораторы декораторов среди слоев матрешки...вот тут и начнется жесть, так как до кода, обрабатывающего файл, нужно ещё добраться сквозь дебри обернутых обёрток
@ihateidiots9484
@ihateidiots9484 3 жыл бұрын
@@igojira835 так это как раз то, что автор ролика чудит
@ihateidiots9484
@ihateidiots9484 3 жыл бұрын
@@igojira835 вы точно видео смотрели? Внимательно?
@Yes.Im.Mr.Anderson
@Yes.Im.Mr.Anderson 4 жыл бұрын
Боже храни питон!
@TheRebeled
@TheRebeled 6 жыл бұрын
Видео обрывается неожиданно. Все таки дошло до мордобоя?
@dmitriypronichev7048
@dmitriypronichev7048 3 жыл бұрын
да не, просто обиженный на джаву человек, ради чего он будет драться? )))
@Nonroya
@Nonroya 6 жыл бұрын
Напоминает скорее ФП, только зачем-то объекты вместо функций, в итоге код читать трудно. Объектов посылающих друг другу сообщения не заметил. Мой тимлид любит повторять "Любую проблему можно решить внеся еще один слой абстракции, кроме проблемы большого количества слоев абстракций".
@heck_fy
@heck_fy 4 жыл бұрын
@@aammssaamm у него объекты всё-таки имеют обычно несколько методов, т.е. в своей книге в первом томе он об этом пишет по крайней мере, т.е. он использует не только конструкторы, но и результаты конструкторов - объекты, вызывая их методы. здесь это не показано, но это ключевое отличие, как я его (Егора) понимаю
@vr29645
@vr29645 5 жыл бұрын
Народ хочет процедурного программирования, он на нем и пишет. А ООП для них просто звучит солидно, вот они этот термин и используют
@eugenex8892
@eugenex8892 5 жыл бұрын
На самом деле когда видишь цель может даже и проще... Но вот тут-же вспомнился Magento который использует именно такой подход, это просто убойный удар по любому CPU... Заканчивается это обычно тем что есть дохрена классов и вместо 100 строчек кода тебе надо искать какой-то там класс...
@user-ex7eb6py6k
@user-ex7eb6py6k 2 жыл бұрын
Кстати, в конце выступления будет вопрос про производительность. И Егор ответит, что в таком случае можно профайлить классы, и самые критичные места заменить, на статик методы. Приходиться всё таки идти на компромис)
@user-jk6yr5qj4o
@user-jk6yr5qj4o 5 жыл бұрын
По историческим причинам программисты склонны даже в ООП-стиле писать процедурную кашу. Если воспринимать видео в качестве прививки от этой болезни - интересно. Хотя, конечно, слепое следование парадигме - тоже болезнь.
@user-vl4zr6py9s
@user-vl4zr6py9s 4 жыл бұрын
Плюсую многократно! 👍
@Anatoly555
@Anatoly555 4 жыл бұрын
Программист - это вообще болезнь ;)
@xelaksal6690
@xelaksal6690 6 жыл бұрын
Человек открыт к диалогу и это подкупает, но собеседников явно не хватает.
@user-tf8ff2od6g
@user-tf8ff2od6g 4 жыл бұрын
Единственный нормальный коммент) Когда нечего аргументировать вникшему человеку, остается его хейтить.
@gtbutcher379
@gtbutcher379 4 жыл бұрын
Отлично пояснил за чистое ООП. Улыбнул вопрос про "переучить людей на новый лад", вообщето знание ООП для большинства программистов как бы обязательная компетенция в наши дни.
@TheFuckel
@TheFuckel 3 жыл бұрын
Только это знание проверяется просьбой перечислить 4 принципа
@alexkluev561
@alexkluev561 Жыл бұрын
На одном из собеседований в начале карьеры как обычно спросили, что такое ООП. А потом спросили, где я пишу бизнес-логику. Ну я конечно ответил, что в сервисах. А потом интервьювер спросил, где в сервисе соблюдаются принципы ООП и тут я замялся :)
@izebit
@izebit 6 жыл бұрын
Функция принимающая на вход данные и возвращающая данные не изменяя состояние - плохо o_0 С каких это пор использование pure functions стало дурным тоном?)
@vancheloChanel
@vancheloChanel 4 жыл бұрын
Тоже интересует этот вопрос
@andrei4020
@andrei4020 4 жыл бұрын
Очень поздно отвечаю, но, на мой взгляд, дурной тон в том, что в Java, в принципе, не существует функций. Есть только методы. Чистота все-таки ближе к функциональному программированию и ваше высказывание выше несколько некорректно к данной теме. Возможно, что я и ошибаюсь.
@isey2851
@isey2851 3 жыл бұрын
@@andrei4020 Статики были придуманы для избранных
@valerylukin8446
@valerylukin8446 3 жыл бұрын
Я думаю докладчик имеет ввиду частое использование статических методов. Я видел в куче проектов огромные util классы которые принимали в себя кучу аргументов и порой даже зависимости которые должны были инжектится бы. Тоже самое про вынесение логики в приватный метод и потом огромный класс у которого один метод типа execute() и удачи потом писать тесты на такой метод который в итоге вызывает 100500 приватных методов.
@jojomajo
@jojomajo 2 жыл бұрын
ВОт только не просто данные, а только функции. Огромная разница
@ruslanshvarev9728
@ruslanshvarev9728 5 жыл бұрын
почему вы говорите, что надеетесь, "... что появляться будут языки и платформы..." так уже есть декларативные языки Lisp, Prolog
@MrRomanvideo
@MrRomanvideo 3 жыл бұрын
Lisp не обьектно ориентированный
@antonbandarchyk4198
@antonbandarchyk4198 4 жыл бұрын
автор решает задачу написать полностью на ООП а не написать понятный читаемый код. Не всегда эти 2 задачи совпадают.
@antonkuranov
@antonkuranov 6 жыл бұрын
Тут ничего нового нет. Фреймворки автоматизируют сборку "матрешки" посредством паттернов Dependency Injection, IoC или ServiceLocator. Это единственное отличие от того, что предлагает Егор. Для более сложных приложений, особенно клиентских, "матрешка" Егора превратится в месиво.
@ivanaaa6049
@ivanaaa6049 6 жыл бұрын
У погромистов подгорает! :) Я бы только программу оформил иначе: с промежуточными переменными, которые бы передавал для создания новых объектов и шел бы с конца (а то получилось в функциональном стиле). Тогда программа была бы плоской, но ООП.
@acidelk
@acidelk 5 жыл бұрын
Название переменных - топчик. Integer - final class. Тут парень его реализует как интерфейс. После фразы: "Сейчас я пишу на java" - это очень странное поведение.
@writetoyourdestiny
@writetoyourdestiny Жыл бұрын
Ничего странно, реализация интерфейса Integer говорит о том, что где-то в программе создан такой интерфейс. Здесь речь не о стандартном java.lang.Integer классе.
@wjblazkowicz
@wjblazkowicz 16 күн бұрын
Возможно потому что цель доклада не научить слушателей Java, а чему-то другому? Отсюда масса допущений. Про "as secret" Егор упомянул, например. К этому допущению нет претензий?
@alexanderabakumov80
@alexanderabakumov80 4 жыл бұрын
что-то в этом есть
@user-ti1nq3uf5l
@user-ti1nq3uf5l 6 жыл бұрын
Не хотел бы я дебажить код этого товарища))
@fffsjkfbrutireer
@fffsjkfbrutireer 5 жыл бұрын
Согласен полностью с тем, что основное это человекопонятныйкод, но х3 будет ли с этой концепцией ясность и простота это вопрос
@----1281
@----1281 6 жыл бұрын
Хочется выкинуть эту объектную дрянь и оставить простой и понятный бейсик ) А если серьезно, то тут лукавство во всем: и код на объектах не короче (если добавить все классы, получится втрое длиннее), и поддерживать такое сложнее, чтобы понять что происходит, надо просмотреть все классы. Да и вообще выглядит как троллинг.
@Alexander-mj3jk
@Alexander-mj3jk 6 жыл бұрын
Просто это как с живописью: всем надоели традиционные стили, и люди начали придумывать всякие супрематизмы, сюрреализмы, кубизмы, перформансы и инсталляции, и прочие штуки. Это ново, привлекает внимание, люди про это говорят, художник получает заряд положительной энергии.
@FrolOFF100
@FrolOFF100 3 жыл бұрын
Жаль конечно, что так несвоевременно сюда зашёл, но всё же хочу отметить, что всё то, что нас сегодня окружает, выглядит так во многом благодаря таким глупостям как эти вот кубизмы и супрематизмы. Само понятие дизайна как таковое своим появлением обязано этим концепциям. Так что может и из концепции Егора в итоге вырастет что-то правильное.
@Alexander-mj3jk
@Alexander-mj3jk 3 жыл бұрын
@@FrolOFF100 а я и не утверждал, что это плохо. И вообще, сегодняшний мир построен из войн, которые начинать изначально было глупо.
@ardarchic
@ardarchic 6 жыл бұрын
Самый странный доклад, который я видел...
@Gibsonen
@Gibsonen 6 жыл бұрын
этот странный человек написал свой ооп язык)
@ivanaaa6049
@ivanaaa6049 6 жыл бұрын
А вот как код выглядит при наличии set-еров и get-еров: kzfaq.info/get/bejne/gdhdYMd4r6fZmWg.html
@volodymyr.kushnir
@volodymyr.kushnir 6 жыл бұрын
imho: из одной крайности в другую. Видимо автор довго кодил на C и в какой-то момент решил перевернуть все с ног на голову. p.s. вместо тысячи слов - "show me the code"
@DanyloSyrotynskyy
@DanyloSyrotynskyy 5 жыл бұрын
Слева у нас удобочитаемый алгоритм а справа у нас алгоритм разнесенный на части по разным классам, а следовательно не целостный и в перспективе поломанный. Лекция называеться - как испортить работающий код с помощью ООП
@stivstivsti
@stivstivsti 6 жыл бұрын
даже на it конференции должен быть городской сумасшедший
@alexfray7297
@alexfray7297 6 жыл бұрын
Старый доклад
@iozhukau
@iozhukau 5 жыл бұрын
И вот из-за таких фанатиков Скайп пол дня открывается
@lucifer-look-
@lucifer-look- Жыл бұрын
Я написал игровой 2д движок с нуля на Java на таких принципах ООП. У него есть и скелетная анимация, и физика. И даже на очень старых устройствах он работает быстро и требует всего 100 мегабайт кучи. Собирается под винду, линукс, андроид. Так что низкая производительность - это как раз про плохой дизайн кода. Код с хорошим дизайном - это всегда путь к высокой производительности.
@dmitriykonopinskiy3793
@dmitriykonopinskiy3793 Жыл бұрын
@@lucifer-look- где можно код посмотреть?
@lucifer-look-
@lucifer-look- Жыл бұрын
@@dmitriykonopinskiy3793 ютуб удаляет комментарии с ссылками. Напиши мне на почту. Она есть в описании моего "канала". В ответ скину ссылку на проект
@platonelenin
@platonelenin 5 жыл бұрын
У Егора ООП головного мозга.
@MikhailKolesnikov
@MikhailKolesnikov 5 жыл бұрын
В жаве есть метки, практически гото.
@TheNeomer
@TheNeomer 5 жыл бұрын
ооп головного мозга (с)
@POWERon4ik
@POWERon4ik 5 жыл бұрын
Знаете что самое страшное? На этом видео 2/3 лайков...
@dmitriypronichev7048
@dmitriypronichev7048 3 жыл бұрын
меня вот это тоже пугает. Понятно, что слева у спикера эталонно плохой код, но вот то, что справа - считать хорошим?! А вот сколько джунов потом начнет такой же фигней страдать... С другой стороны со временем понимаешь, что без работы точно не останешься... )))
@chillout1943
@chillout1943 5 жыл бұрын
абсурд
@MrAdeptius
@MrAdeptius 6 жыл бұрын
Прогер, обиженный на весь мир. Ему всё не нравится... Только посмотрите заголовки его видео "utility нас убивают", "обьектно-ориентированное враньё", "ORM - это обитно"... Противно слушать все его недовольства. Не нравится ЯП - не пиши.
@user-jk6yr5qj4o
@user-jk6yr5qj4o 5 жыл бұрын
Ну ты же посмотрел - значит, работает. Не нравится видео - не смотри.
@user-vl4zr6py9s
@user-vl4zr6py9s 4 жыл бұрын
Он вообще не говорит ничего про нравится или нет. С опытом он для себя выработал другой подход и пришел у выводу, что этот подход эффективнее. Делится этим. Причем здесь обиды или что не нравится яп...
Егор Бугаенко - ORM - это обидно
58:12
JPoint, Joker и JUG ru
Рет қаралды 59 М.
Её Старший Брат Настоящий Джентельмен ❤️
00:18
Глеб Рандалайнен
Рет қаралды 8 МЛН
Егор Бугаенко - TDD вверх ногами
1:01:09
Как в 44 года стать программистом на Python. Объясняю с чего начать.
19:32
07. Архитектура React - приложения -  Егор Блинов
2:11:38
Как работает автопилот на Lixiang L9 Max
0:34
Семен Ефимов
Рет қаралды 16 М.
Main filter..
0:15
CikoYt
Рет қаралды 7 МЛН
Iphone or samsung?
0:14
Obeyfendimen
Рет қаралды 1,7 МЛН
ТОП-5 культовых телефонов‼️
1:00
Pedant.ru
Рет қаралды 18 М.