- Видео 176
- Просмотров 250 142
MoscowJS
Россия
Добавлен 7 сен 2013
MoscowJS 60 – Профилирование памяти и снапшоты – Владислав Молоцило
Когда течёт чайник, ситуация неприятная, но чайник можно заменить на новый. Когда течёт память в наших приложениях, этот подход уже не работает. В этот момент нам приходится оставаться один на один со снапшотами, открывать вкладку memory в девтулзах и пытаться не утонуть в куче информации. А хотелось бы просто посмотреть, на какой строчке кода происходит утечка. Расскажу о том, как не потеряться во всём этом и использовать инструменты профилирования памяти во благо и без боли.
0:00 Вступление
0:49 Начало доклада
22:25 Вопросы докладчику
moscowjs.org/events/moscowjs-60/
Все новости и анонсы MoscowJS в нашем телеграм-канале: t.me/moscowjs
0:00 Вступление
0:49 Начало доклада
22:25 Вопросы докладчику
moscowjs.org/events/moscowjs-60/
Все новости и анонсы MoscowJS в нашем телеграм-канале: t.me/moscowjs
Просмотров: 376
Видео
MoscowJS 60 - Фронтенд без границ - Виктор Щеглов
Просмотров 5096 месяцев назад
Расскажу как адаптировать и оптимизировать фронтенд, измерять и мониторить технические параметры. Только актуальный опыт запуска приложений в Кот-д’Ивуара и Замбии, только хардкор. 0:00 Вступление 0:23 Начало доклада 21:50 Вопросы докладчику moscowjs.org/events/moscowjs-60/ Все новости и анонсы MoscowJS в нашем телеграм-канале: t.me/moscowjs
MoscowJS 60 - От Mobile First к PWA, или почему стоит вернуться к основам веб-разработки Зар Захаров
Просмотров 4386 месяцев назад
Доклад Зара будет про то, чему научил нас полный ошибок путь от простых технологий к сложным и тяжёлым PWA, и почему пора сделать разворот на 180 градусов 0:00 Вступление 0:33 Начало доклада 22:57 Вопросы докладчику moscowjs.org/events/moscowjs-60/ Все новости и анонсы MoscowJS в нашем телеграм-канале: t.me/moscowjs
MoscowJS 60 - Базовые принципы самопомощи - Тимур Гафиулин
Просмотров 3056 месяцев назад
Базовые принципы самопомощи, или почему опытному разработчику нужно стать наставником Частая ситуация в индустрии: тебя пушили, ты пушился, бежал, рос, стремился, а потом приходишь на собес, тебя спрашивают базовые вопросы по JS, а ты не знаешь ответа. Или же приходишь к руководству и говоришь: устал быть просто разработчиком, хочу быть лидом! А тебе логично отвечают: а с чего ты решил, что у т...
MoscowJS 58 - UI-кит на веб-компонентах - Роман Троицкий
Просмотров 7569 месяцев назад
Веб-компоненты пошумели и затихли, однако спецификация развивается, а сами веб-компоненты - удобная и производительная спецификация. В докладе коротко расскажу, что сегодня умеют веб-компоненты, и как собрать универсальный UI-кит на них с помощью StencilJS. moscowjs.org/events/moscowjs-58/ Все новости и анонсы MoscowJS в нашем телеграм-канале: t.me/moscowjs
MoscowJS 58 - Темная сторона NextJS - Александр Моргунов
Просмотров 5 тыс.9 месяцев назад
Cейчас почти на каждой фронтенд конференции есть доклад про самый популярный фреймворк, за которым будущее фронтенд разработки - NextJS. Рассказывают про новые фичи: серверные компоненты, серверные экшены, частичный пререндеринг с быстрой отдачей статического ответа и стримингом динамического контента. Кажется наконец-то появилось решение во фронтенде, которым все довольны. Но так ли все хорошо...
MoscowJS 58 - Как написать свой linter - Евгений Войтенко
Просмотров 2919 месяцев назад
Узнаем для чего нужен linter. Узнаем как его писать. Создадим абстрактное правило. Напишем правило для React и Node.js. Используем chat-gpt для помощи. moscowjs.org/events/moscowjs-58/ Все новости и анонсы MoscowJS в нашем телеграм-канале: t.me/moscowjs
MoscowJS Podcast #3 - С Александром Князевым вычисляем настоящих программистов
Просмотров 3229 месяцев назад
Третий выпуск подкаста московского сообщества разработчиков MoscowJS. Да, мы снова удивлены. Ведущие: Павел Востриков и Дима Королев. К нам в гости пришел Саша Князев, с которым мы пытаемся поставить точку в вопросе, нужны ли программистам горы. Запись доклада Саши с MoscowJS 56: ruclips.net/video/SXu4b3C8wtI/видео.html Присоединяйтесь к обсуждению в нашем чате в telegram: t.me/moscowjschat Под...
MoscowJS 58 - Наши круги ада со State Managers - Анастасия Постойко
Просмотров 96910 месяцев назад
Кажется, что в современной разработке уже совсем не обойтись без сторов, но к чему может привести их повсеместное использование? Какие трудности нам создал менеджер состояний и как теперь с этим живем я покажу на примере нашего текущего проекта. moscowjs.org/events/moscowjs-58/ Все новости и анонсы MoscowJS в нашем телеграм-канале: t.me/moscowjs
MoscowJS 56 - Nextjs 13 Server Actions - Арсалан Рабданов
Просмотров 716Год назад
MoscowJS 56 - Nextjs 13 Server Actions - Арсалан Рабданов
MoscowJS 56 - Монады, или зачем программисту математика - Александр Князев
Просмотров 2,3 тыс.Год назад
MoscowJS 56 - Монады, или зачем программисту математика - Александр Князев
MoscowJS 56 - Стартап, который смог - Евгений Кучерявый
Просмотров 358Год назад
MoscowJS 56 - Стартап, который смог - Евгений Кучерявый
MoscowJS 56 - Реализация DDD в рамках NestJS - Сердар Садыков
Просмотров 2,6 тыс.Год назад
MoscowJS 56 - Реализация DDD в рамках NestJS - Сердар Садыков
MoscowJS Podcast #2 - С Еленой Жуковой пугаем фронтендеров разработкой на SmartTV
Просмотров 320Год назад
MoscowJS Podcast #2 - С Еленой Жуковой пугаем фронтендеров разработкой на SmartTV
MoscowJS Podcast #1 - С Андреем Сёминым ищем работу, которой захочется гордиться
Просмотров 5873 года назад
MoscowJS Podcast #1 - С Андреем Сёминым ищем работу, которой захочется гордиться
MoscowJS 39 - Как не тестировать React библиотеку и крепко спать Технострим - Артур Удалов
Просмотров 3313 года назад
MoscowJS 39 - Как не тестировать React библиотеку и крепко спать Технострим - Артур Удалов
MoscowJS 39 - ComponentDidMount не нужен - Тимофей Ткаченко
Просмотров 1983 года назад
MoscowJS 39 - ComponentDidMount не нужен - Тимофей Ткаченко
MoscowJS 39 - WebRTCшная тема - Дмитрий Пацура
Просмотров 2533 года назад
MoscowJS 39 - WebRTCшная тема - Дмитрий Пацура
MoscowJS 39 - Немного о workerаx - Полина Гуртовая
Просмотров 4833 года назад
MoscowJS 39 - Немного о workerаx - Полина Гуртовая
MoscowJS 39 - Погружение в SSR - Дмитрий Зачесов
Просмотров 2213 года назад
MoscowJS 39 - Погружение в SSR - Дмитрий Зачесов
MoscowJS 37 - Как, черт возьми, надо ревьювить - Иван Стрелков
Просмотров 2583 года назад
MoscowJS 37 - Как, черт возьми, надо ревьювить - Иван Стрелков
MoscowJS 37 - Цена пропущенного фрейма - Дмитрий Шуранов
Просмотров 883 года назад
MoscowJS 37 - Цена пропущенного фрейма - Дмитрий Шуранов
MoscowJS 37 - Typescript + webpack: эволюция сборки SPA - Александр Черников
Просмотров 3183 года назад
MoscowJS 37 - Typescript webpack: эволюция сборки SPA - Александр Черников
MoscowJS 37 - Интерактивные 3D карты своими руками - Александр Амосов
Просмотров 1033 года назад
MoscowJS 37 - Интерактивные 3D карты своими руками - Александр Амосов
MoscowJS 36 - PreJSS: универсальный адаптер CSS в JSS - Денис Измайлов
Просмотров 1033 года назад
MoscowJS 36 - PreJSS: универсальный адаптер CSS в JSS - Денис Измайлов
MoscowJS 36 - Бенчмарки, почему всё плохо и что делать - Михаил Бусырев
Просмотров 3413 года назад
MoscowJS 36 - Бенчмарки, почему всё плохо и что делать - Михаил Бусырев
MoscowJS 36 - Harry Potter and the unstable_renderSubtreeIntoContainer() - Иван Лягушкин
Просмотров 763 года назад
MoscowJS 36 - Harry Potter and the unstable_renderSubtreeIntoContainer() - Иван Лягушкин
MoscowJS 36 - Тестирование скриншотами: проблемы и решения - Александр Савин
Просмотров 2293 года назад
MoscowJS 36 - Тестирование скриншотами: проблемы и решения - Александр Савин
MoscowJS 35 - Redux-saga естественный код - Евгений Евсеев
Просмотров 1333 года назад
MoscowJS 35 - Redux-saga естественный код - Евгений Евсеев
MoscowJS 35 - Как подружить дизайнеров с разработчиками? - Виталий Грин
Просмотров 543 года назад
MoscowJS 35 - Как подружить дизайнеров с разработчиками? - Виталий Грин
Он точно техлид?))0))
миллионы програмистов используют rx и не парятся за математику одни скалисты 20 лет пристат к друг другу своими монадами
Чё за скуфы собрались, почему это в списке ленты рекомендаций
огонь! Всех с наступающим! ♥
Что за либа для DDD примитивов?
Источники? "The Absolute Best Intro to Monads For Software Engineers" by @StudyingWithAlex?
классно, емко и по делу, получил много ответов и примеров
А в чем смысл давать ссылку на слайды, в которых только мемы и реклама телеграм каналов? Может хотя бы скриншоты кода автора нужно было сделать?
Довольно интересно и лаконично. Много можно подчерпнуть. Побольше бы проектов с правилами и архитектурой. На практике мало кто с таким заморачивается в JS мире :(
Больше не зовите того персонажа, который был на разогреве (что-то несвязное про next блеял). Доклад ни о чем и ведущая хорошо подстебнула вопросом - первое ли это его выступление (явно не рожден для выступлений на сцене).
Помнится я тут в основном наблюдал)
"расписание" рендерится как (неверные) таймкоды ;) Хорошо бы заменить на реальные таймкоды
поправили )
Стало понятно почему ВК музыка такой отстой
Виктор - реал легенда. Работал с ним в прошлом. Надеюсь 🤞 работать и в будущем ☝️
😄
Крутой доклад!
Уточню некоторые моменты. Polymer не обновлялся 4 года. Как уже сказали в соседнем комментарии, проект закрыт в пользу Lit, который является наследником Polymer. Про outputTargets. В начале доклада среди плюсов был отмечен агностик-подход. При этом используются outputTargets, что на выходе всё равно даст несколько компонентов под конкретные фреймворки. В этом нет большой необходимости, так как Angular и Vue из коробки работают с нативными веб-компонентами, достаточно включить флаг. Делать враппер имеет смысл только под React, так как до 19 версии он плохо работает с нативными веб-компонентами. Про атрибуты, строки и сложные данные. Это вопрос парадигмы. В React всё является JS-ом. Разметка в виде JSX тоже JS, поэтому пропсы являются свойствами объекта и принимают любой тип данных. Разметка нативных веб-компонентов -- это HTML. Атрибуты в HTML -- строки, потому что они задуманы для другого. Веб-компоненты без проблем принимают любые данные, если передавать их в JS как свойства объекта, а не атрибуты. И дело не в палках, которые вставляют спеки, а в обычной разнице между атрибутами HTML и свойствами JS/DOM. RUclips полностью работает на веб-компонентах. Это не совсем так. RUclips использует веб-компоненты для отдельных частей UI, но в целом он написан на Wiz, внутреннем гугловском фреймворке, про который недавно говорили и который сейчас мержат с Angular. Про вопросы использования веб-компонентов вместо фреймворков. Веб-компоненты -- не замена фреймворков. Это способ расширения HTML своими кастомными элементами с некоторыми плюшками. На веб-компонентах можно построить приложение в том же смысле, что и построить приложение на чистом JS, но так никто не делает. Поэтому в качестве альтернативы стоит расматривать не веб-компоненты, как таковые, а фреймворки на их основе: Lit, Symbiote, Aurelia и т.д
Докладчик очень много треплется. Начинает с исторического доклада, но рассказывает настолько коряво, что не рекомендую. Можете смотреть с 12 минуты, ничего не потеряете. К чему в теме PWA вообще не понятно...
Доклад начинается в 5:38
Спасибо за отличный доклад!
Виктор - легенда! Буду рад поработать вместе с ним в будущем!
Начало - 7:30
Не всем наставники нужны. Просто есть люди, которые не способны самостоятельно учиться. Они ничего не смогут понять, если им не объяснят.
Начало 33:05
qr не работает :(
Z-банк)
На последнем докладе какой-то рассинхрон звука с видео
Кто только начинает знакомиться с RxJS это видео будет сложным. Лекция больше подходит для тех, кто уже разобрался углубленно и хочет просмотреть еще раз про RxJS в одном видео и разложить информацию по полочкам
26:29 - Не совсем понял претензию про контексты: почему их нет в app router? По-моему любой стейт менеджер можно подружить с этой архитектурой. Важно только вынести компонент инициализации контекста в отдельный файл и прописать 'use client'; В дальнейшем все серверные компоненты можно передавать как children. Единственное ограничение - вы не можете пользоваться этим контекстом в серверных компонентах. Вообще серверные компоненты - это про другой подход к построению приложения. Я их воспринимаю просто как способ что-то сделать на сервере и отдать полученное на клиент без возможности изменения. Любое изменение в серверном компоненте должно подразумевать очередной запрос на сервер.
Спасибо за выступление, интересные мысли.
7:38 такое легко делается через кастомный сервер 12:04 аналогично, некстовые либы возвращают хендлер, который работает с дефолтными нодовскими req и res, делай с ним что хочешь, хоть на express повесь, хоть на fastify кастомный логер для логирования некстовых сообщений, правда не добавишь (глобально костылить только типа console.log = () => ... или патчить файлы) рекомендация использовать page router жесть, может классовые компоненты тогда ещё? никто не будет в будущем сильно поддерживать page router, а новые функции будут в app router, тем более когда уже столько времени потратили на него. пока оставили page, чтобы люди успели мигрировать на app
там же написано: для SSR, app router это по дефолту RSC, это не совсем SSR
@@endlesslysorrow ну если идейно устаревший ssr нужен ради того, чтобы ответы были пререндерены именно на сервере, а не для того, чтобы решать современные проблемы и совмещать разные подходы и при всем этом решать все те же проблемы, что и чистый ssr, то ок)
27:57 а на какой архитектуре писать с нуля?
Все зависит от задач же. Если нужно SEO (= SSR), то NextJS (можно посмотреть на альтернативы конечно, но NextJS по развитию вырывается вперед). А какую архитектуру, хороший вопрос. Я придерживаюсь мнения, если проект не критичный для бизнеса, то можно без проблем пробовать новую архитектуру на AppRouter. В ином же случае PageRouter, но писать код так, что бы в дальнейшем было просто перейти на новую архитектуру (например, разделять серверный стейт (кеши запросов), и клиентский для логики на клиенте).
Polymer не обновлялся четыре года и не будет обновляться по одной простой причине - это предтеча Lit. Одна и та же команда в недрах Гугла сначала пилила Polymer, а теперь пилит Lit. Т.е. это не отдельные и независимые друг от друга библиотеки, а эволюционное развитие идеи использования веб-компонент. И это лишь один из многих моментов в докладе, когда хочется сделать фейспалм
А откуда информация, что в app router`e нет возможности работать с реакт контекстом? Я вроде месяц назад на 14.1 писал и всё работало, может я что-то не так понял?
все же непонятно их сдерживает сложность перехода на новую архитектуру, а если бы сейчас начинали, то какую использовали бы или вообще не нэкст,
Сдерживает то, что придется все приложение переписать. У нас толстый клиент и много логики перенесено на клиент. Из-за этого активно используется редакс и для перехода на AppRouter придется почти все рефакторить, на это к сожалению ресурсов нет. Что бы использовали, ниже ответил, что все зависит от задач. Так как нам нужно SEO (SSR), то использовали NextJS, скорее всего на PageRouter-е, но писали бы код так, что бы потом было просто мигрировать на AppRouter
@@typingaway спасибо за пояснения
Чет я вообще не понял про куки в next rsc. Да и как-то уже не хочется использовать page router.
Из-за стриминга есть проблемы с куками, ишьюсы можете найти
Что такого в page router? Он стабилен, в нем работает вся экосистема реакта, подход к созданию приложений типичный и понятный для всех разработчиков
16:33 статически можно собрать, получить куки и хэдеры можно, это ж базовые вещи, странно что такое просочилось в доклад
18:10 * ещё Remix и Gatsby
Насчёт серверных компонентов не понял претензию. Наооборот это лучше, чем тащить килобайты JavaScript и ждать пока этот JavaScript отрисует интерфейс. А так можно получить готовую HTML и вуаля.
А зачем нам в таком случае некст? Берём генератор статики, получаем готовый хтмл и вуаля
@@izzy7541 SSR
@@izzy7541 , генератор статики это кто, если не секрет?
@@izzy7541 с такими развернутыми комментариями можно предложить просто в html файлик все писать
В таком случае нужна серверная инфра, которая будет заниматься генерацией хтмлок, в отличие от SPA
Обожаю начало.
Надеюсь за это платят. Разгребать легаси
классный доклад, спасибо! меньше сторов для победы! очень круто что по Vue доклад - их очень мало многие вопросы были отвечены уже в докладе не совсем понял про сторы для форм, ну и фиг с ними - видимо специфическое решение для их продукта
уровень разработчиков растёт - уже утром понимаешь что вчера вечером писал не то и так по спирали будет всегда. чем чаще проект переписывается полностью тем он ближе к идеалу - вот если оставлять часть беспорядка то из остатка опять расплодится много. я после года писанины понял как нужно было и за 2 недели написал программу в 10 раз меньше но абсолютно стабильную. тем более что реактивный js запутанный ибо его долепливали на изначально не иерархичный язык - там многое ещё не сформировалось поэтому человек пишет много того что должно быть под капотом. джанга тоже структуру имеет заблудшую так что коктейль у вас заведомо провальный
Работают профессионалы!
спасибо спикеру за пояснение
начало с 4:50
Спасибо!!!!
Спасибо за доклад, в интернете мало примеров реализации в коде. Могли бы поделиться github?
Как всё начиналось. А потом сектанство в вопросах. А такое коллегах показывать страшно.
Доклад хороший, даёт прописные истины, которые почему-то нужно разжёвывать многим руководителям.
У вас ошибка в превью видео