No video

Метапрограммирование с примерами на JavaScript

  Рет қаралды 6,656

Timur Shemsedinov

Timur Shemsedinov

Күн бұрын

Курс «100 лекций по программированию» habr.com/post/...
#метапрограммирование #metaprogramming #introspection #интроспекция #reflection #рефлексия #nodejs #javascript #js

Пікірлер: 22
@lavenir9907
@lavenir9907 Жыл бұрын
Спасибо за лекцию! Всегда обходил эту тему, но после просмотра вашей лекции произошло переосознание многих вещей. Еще раз огромное спасибо за труд!
@toscaantosca4541
@toscaantosca4541 Жыл бұрын
Спасибо! Очень интересная тема!
@dalechyn
@dalechyn 5 жыл бұрын
С праздничком вас)))
@sergeydev8273
@sergeydev8273 5 жыл бұрын
День вареньЯ, таки?=)
@kirillguryanov4925
@kirillguryanov4925 2 жыл бұрын
Спасибо!
@vladimirpirogov1336
@vladimirpirogov1336 2 жыл бұрын
Тимур, спасибо за лекцию! Очень структурировано и доходчиво! У меня вопрос: почему использовали Object.assign() на 25:45? По-моему, проще сразу инициализировать operations: const operations = { length: (s, v) => s.length >= v[0] && s.length s.includes(v), starts: (s, v) => s.startsWith(v), ends: (s, v) => s.endsWith(v), not: (s, v) => !check(s, v), }
@TimurShemsedinov
@TimurShemsedinov 2 жыл бұрын
Посмотрите к operations есть обращение из check, а к check обращение из operations, т.е. их нельзя объявить последовательно литералами.
@maksimsergeevich5939
@maksimsergeevich5939 3 жыл бұрын
Сегодня под конец сна перед самым пробуждением, в основном сюжете мне приснилось, что якобы какая-то программа создала одно из популярных приложений и мы его все знаем (в мире сна это подразумевалось). И в этом сне случайный персонаж сказал с наигранной иронией, что-то вроде: " Конечно, конечно, это самый компонентно-ориентированный язык программирования из самых компонентно-ориентированных." Я запомнил эту белиберду, утром проснулся и загуглил, что же такое компонентно-ориентированное программирование, ведь такого термина я ранее не слышал, может вскользь только, но 100% ничего про это не гуглил. Оказалось, что КОП языкам соответствуют оберон и Компонентный паскаль, java и c#. А под тем, что программа написала приложение, я так понимаю подразумевается метапрограммирование. Про метапрограммирование я конечно слышал, в лекциях Тимура видел, но осознанно пропускал, так как рано мне его изучать. Даже это видео не смотрел. Данный комментарий оставил, так как интересно услышать какую-нибудь трактовку этого сна. Можно ли как-то вообще связать метапрограммирование и компонентное программирование между собой? И может ли это быть перспективным направлением? Просто хочу понять, зачем мне приснилось то, что я даже не изучал. Мне бывает снятся сны, в которых приходит информация, которой в реале я вообще не оперирую и не провоцирую мозг на воспроизведение этой информации во сне. А потом когда проверяешь в реале термины или факты, просто удивляешься, что хоть и не гениальная мысль приснилась, но точно не бред. Например один раз приснилась теория, что на некоторые даты вероятность наступления эпохальных событий или широко освещаемых в сми приходится большая вероятность. И во сне был приведен пример теракта 11 сентября и смерть Хрущева. Я честно скажу, я ваще без понятия, когда вообще кто-либо умирал, и тоже самое про Хрущева. Историю России я в школе не любил, и сомневаюсь, что где-то на уроке хотя бы раз упоминалась дата смерти Хрущева. Потом утром загуглил - удивился. Вот еще пример, снилось, мол, поймали меня какие-то негативные персонажи и для превращения меня в беспомощного овоща вкололи препарат в плечо. Я на тот момент когда проснулся помнил название этого препарата. Загуглил - точно, так и есть, есть такой препарат ,и используется для подавления психических процессов, ну типо в овоща превращает человека. Поэтому я и решил тут спросить, можно ли узреть какой-нибудь интересный посыл в сегодняшнем моем сне?
@sergeys4732
@sergeys4732 2 жыл бұрын
Можно, завязывай с наркотой
@unev
@unev 3 жыл бұрын
32:38 Я нечто подобное пробую применить на скромном кусочке ui, оно выглядить приятно и чисто. Но думается, что разрастись подобная структура на 100++ строк, удобоваримость начнет резко падать. Что говорит опыт?
@TimurShemsedinov
@TimurShemsedinov 3 жыл бұрын
Опыт говорит, что сама абстракция, матакод - должна быть короткой, а вот код с ее использлванием может быть люблой длины.
@ibraim3197
@ibraim3197 5 жыл бұрын
в js нет классов
@TimurShemsedinov
@TimurShemsedinov 5 жыл бұрын
Что?
@godspunishment579
@godspunishment579 4 жыл бұрын
5 лет назад - не было, все верно. Но, в 2015, завезли)))
@ibraim3197
@ibraim3197 4 жыл бұрын
​@@godspunishment579 если появилось ключевое слово class, это еще не означает, что есть классы. Синтаксический сахар поверх прототипной шляпы, не более того
@godspunishment579
@godspunishment579 4 жыл бұрын
@@ibraim3197 А Вы знаете как реализованы эти самые класы в Java\C#\TS под капотом? Этот "сахар" фактически добавляет абстракцию которая используется\работает как класические классы, с рядом ограничений (абстрактные классы, модификаторы доступа) которые потепенно завезут тоже.
@ibraim3197
@ibraim3197 4 жыл бұрын
@@godspunishment579 демагогия. С таким же успехом, можно сказать, что на квантовом уровне все одно, что носорог, что астероид
@TimurSevimli
@TimurSevimli Жыл бұрын
Спасибо!
🎧 Have Objects Failed? Или что не так с ООП?
1:14:04
Timur Shemsedinov
Рет қаралды 9 М.
女孩妒忌小丑女? #小丑#shorts
00:34
好人小丑
Рет қаралды 85 МЛН
Incredible Dog Rescues Kittens from Bus - Inspiring Story #shorts
00:18
Fabiosa Best Lifehacks
Рет қаралды 28 МЛН
Bony Just Wants To Take A Shower #animation
00:10
GREEN MAX
Рет қаралды 7 МЛН
English or Spanish 🤣
00:16
GL Show
Рет қаралды 7 МЛН
Реактивное программирование на JavaScript
36:59
Перечислимый тип (enum) в JavaScript и TypeScript
44:23
Timur Shemsedinov
Рет қаралды 5 М.
Голливудский конвейер звёзд
29:20
GreenGrass
Рет қаралды 365 М.
16. Продвинутый JS - Григорий Бизюкин
1:39:38
Yandex for Frontend
Рет қаралды 31 М.
Типизированные массивы в JavaScript
39:43
Timur Shemsedinov
Рет қаралды 8 М.
女孩妒忌小丑女? #小丑#shorts
00:34
好人小丑
Рет қаралды 85 МЛН