#39 Как писать JS-код, который не будет тормозить? Советы от Demi Murych | Максим Бобров

В этом выпуске мы пообщались с легендарным реверс-инженером Деми Мурычем, который поделился своим опытом и нетривиальными взглядами на JavaScript. Обсудили, как правильно работать с var, let и const, затронули актуальные вопросы производительности, а также порассуждали о будущем языка и роли TypeScript. Не обошли стороной тему искусственного интеллекта, его влияния на код и профессиональные навыки программистов. Получилась живая беседа с байками, инсайтами и философскими отступлениями. Не пропустите — вас ждут практические советы, нестандартные идеи и свежий взгляд на развитие экосистемы JS!
  • (00:00) - Введение и анонс
  • (02:48) - Let vs Const: настоящая угроза быстродействию?
  • (06:25) - ES15 и полный анализ бандла: где спрятана «просадка»?
  • (08:20) - TypeScript: спасение или «костыль» для JavaScript?
  • (10:14) - Статические типы и их влияние: нужен ли новый JavaScript?
  • (11:11) - Google Docs и 1,5 млн идентификаторов: уроки для всех
  • (12:05) - const против var: мифы, реальность и боль больших проектов
  • (13:02) - Как PHP умнее обращается с замыканиями (и зачем нам это знать?)
  • (15:53) - Оптимизация V8: секреты «под капотом» движка
  • (20:36) - Когда миллион строк JS-кода — не приговор
  • (22:28) - Предварительная оптимизация: действительно ли «корень всех зол»?
  • (23:26) - Проблемы с производительностью в React: почему она часто «пробуксовывает»
  • (24:23) - Многоверсионная оптимизация: как функции ломают V8
  • (27:12) - TypeScript и производительность: чего мы не учитываем?
  • (29:05) - Почему React-экосистема может быть «медленной»
  • (31:57) - Разделение труда: почему интегратор — не полноценный разработчик
  • (33:51) - Статическая типизация: снимаем нагрузку с рантайма
  • (35:46) - V8 Lite: отключаем «умную» оптимизацию ради скорости
  • (36:44) - Typeesript: в чём подвох «статических» типов?
  • (39:34) - Node.js и TypeScript: куда идёт Microsoft?
  • (41:28) - Хаос JavaScript: гибкость против системности
  • (45:12) - Object Assignment Pattern: цена красивого кода
  • (46:10) - Как помогать компилятору и не тратить ресурсы впустую
  • (48:03) - TypeScript: «простые вещи сложными, а сложные — простыми»
  • (49:56) - Совместимость по типам: почему без неё язык не выживет
  • (51:48) - Как Facebook проиграл TypeScript в начале пути
  • (53:42) - Когда система типов мешает писать легко
  • (54:40) - Искусственный интеллект против типов: кто победит?
  • (56:34) - ChatGPT и автогенерация: почему опасно верить слепо
  • (57:28) - Ассистент для профи: как не стать заложником инструмента
  • (59:21) - «Цифровой дебилизм»: теряем ли мы навыки из-за AI?
  • (01:01:15) - Docker-файлы и ChatGPT: границы разумной автоматизации
  • (01:02:11) - Код на русском: почему мозг «ломается»
  • (01:04:05) - Новый формат работы: программист-ассистент
  • (01:05:58) - Сложный проект и AI: где лежит предел?
  • (01:06:55) - Копипаста и исчезающая абстракция
  • (01:07:51) - Чёрный ящик: когда нейросеть пишет весь код
  • (01:08:46) - Многопоточность в JS: реальность или пока эксперимент?
  • (01:10:39) - Shadow Realm: создаём безопасные песочницы внутри JS
  • (01:13:28) - Content Security Policy: подпись скриптов как новый стандарт
  • (01:15:21) - Изоляция и Docker: спасают ли от критичных ошибок?
  • (01:18:08) - Почему специалистов по кибербезопасности не хватает
  • (01:19:06) - «Детские» баги: почему мы наступаем на те же грабли
  • (01:21:58) - Семантическая вёрстка и микроразметка: дружба с поисковиками
  • (01:24:49) - Подмена контента: разрешённые хитрости Google
  • (01:28:34) - Гибкая выборка: как индексировать материалы с подпиской
  • (01:29:31) - Flexible Sampling: Google и «усечённый» контент
  • (01:31:24) - Проблемы с SEO и автоматизацией
  • (01:34:12) - SSR: порок или спасение для SEO?
  • (01:36:58) - HTML, XHTML и свобода JavaScript: кто победил?
  • (01:39:47) - Dart и WebAssembly: две истории, которым не дали взлететь
  • (01:40:44) - WebAssembly без доступа к DOM: где выход?
  • (01:41:42) - Возвращение Flash: возможен ли «камбэк»?
  • (01:42:38) - Adobe после Flash: жизнь в корпоративном мире
  • (01:44:33) - WebAssembly GC: ключ к ускоренной компиляции?
  • (01:45:29) - Почему Google держится за JavaScript и не отпускает
  • (01:47:23) - Универсальный WASM-модуль: пишем один код для всех платформ
  • (01:50:13) - Минимизируем зависимости: тренд на «маленький бандл»
  • (01:52:05) - Динамический импорт и подводные камни для сборки
  • (01:53:01) - «Учиться учиться»: как правильно формировать мозг программиста
  • (01:53:55) - Теория против практики: что важнее в коде
  • (01:55:49) - Ошибки и рефакторинг: путь к настоящему мастерству
  • (01:56:45) - Возвращение идей по спирали: почему всё повторяется
  • (01:58:38) - Финал: ностальгия и благодарность зрителям
★ Support this podcast ★

Creators and Guests

Demi Murych Максим Бобров
Guest
Demi Murych Максим Бобров
реверс инженер. основные языки программирования: язык ассемблера для x86 архитектуры и язык JavaScript. первую программу, которой пользовался кто-то кроме меня, написал больше 33 лет назад. автор компьютерных - вирусов, времен конца 90-тых начала 2000 годов. Широко известен в узких кругах вирусной сцены тех лет. автор взломов двух веб проектов, связанных с украинским ТВ в 2000 годах: канал Inter и STB. руководил и разрабатывал веб - инфраструктуру музыкального фестиваля казантип. уже 5 лет пишу книжку о JavaScript. знаю про JavaScript то, что никто не знает
#39 Как писать JS-код, который не будет тормозить? Советы от Demi Murych | Максим Бобров
Broadcast by