Как поддерживать миллионы строк на фронтенде. Опыт Miro / #5

  Рет қаралды 13,780

Организованное программирование | Кирилл Мокевнин

Организованное программирование | Кирилл Мокевнин

Күн бұрын

Пікірлер: 58
@kos_kolesnikov
@kos_kolesnikov 3 ай бұрын
Тимур, молодец, что несешь в массы бесценный накопленный опыт работы с канвой core-команд Miro! Было очень интересно слушать. Кирилл, спасибо за гостя!
@boldureans
@boldureans 3 ай бұрын
Спасибо Кириллу и Тимуру за классный выпуск)
@vik_2743
@vik_2743 3 ай бұрын
Таких собеседников бы почаще
@Владимир-д9и7о
@Владимир-д9и7о 2 ай бұрын
Было интересно!)
@vladtenten
@vladtenten 3 ай бұрын
Ура, Тимур
@alexanderafonin1688
@alexanderafonin1688 3 ай бұрын
- FE guilds и шарринг знаний каждые две недели - return types linting - 20 сек для холодного старта - избегать сложных типов для слишком абстрактных функций - монолит для нескольких миллионов строк кода (у меня был шаблон в голове, что это не будет работать никогда) - neovim (конфиг??😂❤) - гениальное решение с конкурентным доступом Жаль не спросили, сколько по времени и как часто код в прод деплоится и как происходит тестирование (e2e) ❤❤❤
@e-scaton
@e-scaton 3 ай бұрын
e2e (4к тестов) больно и в текущий момент не очень стабильно, гоняются на каждый комит в мастере. Continuous deployment по крону каждый рабочий день с 8 утра до 3 дня.
@e-scaton
@e-scaton 3 ай бұрын
Deploy workflow занимает < минуты
@Dimitriy93
@Dimitriy93 3 ай бұрын
Про Miro очень интересно!
@yourpapa69
@yourpapa69 3 ай бұрын
Как они через хуй клиентов кидают? Очень интересно
@synglrty
@synglrty 3 ай бұрын
Отличный контент, спасибо!
@andor1904
@andor1904 3 ай бұрын
Хорошее видео, интересная беседа Отдельное спасибо за тайм-коды!
@НаидамуртузалиеваМуртузалиева
@НаидамуртузалиеваМуртузалиева 3 ай бұрын
Спасибо!!!очень интересно!!!
@19n1ght
@19n1ght 2 ай бұрын
Спасибо за подкаст! Подскажите, пожалуйста, о какой опции конфигурации TypeScript вы говорили? Для контроля типов возвращаемого значения функций используется правило eslint explicit-function-return-type. Не слышал, чтобы в ТС добавляли подобное.
@ГулишатХазамова
@ГулишатХазамова 3 ай бұрын
Круто, Тимка❤
@АлмазИлалетдинов-м3х
@АлмазИлалетдинов-м3х 3 ай бұрын
Спасибо за выпуск! Интересно было бы узнать про тестирование подобного проекта
@alexanderzelenkov6944
@alexanderzelenkov6944 3 ай бұрын
Оч интересно!
@gleb4059
@gleb4059 3 ай бұрын
Спасибо!
@vad1ck
@vad1ck 3 ай бұрын
Интересно было, спасибо
@ilkin.galoev
@ilkin.galoev 3 ай бұрын
Я не понял а почему тут нет комов? Чуваки пишите плиз коммы, минимум на 4 слова, чтобы продвинуть видос. Надо поддерживать такой контент, хотя бы лайками и комментами
@КириллКостиков-т1в
@КириллКостиков-т1в 3 ай бұрын
Для canvas упрощения разработки есть пару неплохих инструментов для apps где активное использование canvas. В одной из компаний при разработке визуального использования сложной системы на canvas, использовали konvajs, но с оберткой konva-react. Но в некоторых моментах для оптимизации приходится использоваться konvajs api, вместо konva-react абстракции. Еще неплох pixijs тоже можно заточить под canvas apps чтобы совсем в свои велосипеды не уходить.
@monoteiz
@monoteiz 3 ай бұрын
Не понял название инструмента в начале видел tea draw или tell draw, хз, как правильно
@ShaMan-n4u
@ShaMan-n4u 2 ай бұрын
tldraw
@AlefersXaoC
@AlefersXaoC 3 ай бұрын
Бобрый час. Вопрос не по теме, просто по мере развития диалога в голове выстраивалась конструкция. Вот сколько лет работаю, всё больше прихожу к тому, нравится мне в основном процесс создания/запуска проектов, а вот написание простого кода/вёрстки лендингов/однотипные задачки вгоняют в апатию. Вижу себя как архитектора именно внутреннего устройства проекта, но не инфраструктуры как таковой (там сильно плаваю). Так вот, собственно, вопрос: архитектор проекта - это опытный синьёр, или именно стиль мышления? Множество синьёров в моём окружении не хотят заниматься структурой, им интересно либо копаться в бизнес логике, либо решать и оптимизировать какую то задачу по типу пререндера реакт приложения, а вот создание работающего как часы оптимизированого ПРИЛОЖЕНИЯ у них решается "количеством запущенных нод на серваке и не стоит внимания". А по мне - правильно спроектированное приложение приводит к ускорению разработки и контролируемости качества... а не всем отделом одно изображение менять неделю, ибо не по феншую.
@romanwednesday4401
@romanwednesday4401 3 ай бұрын
Ну во-первых, синьор - не значит хороший и опытный разработчик. Кто копается только в бизнес логике я бы определил как миддл, миддл+(имхо)Хотя по факту ты получаешь тот грейд на который тебя оценили в компании. Во-вторых, можно исполнять роль техлида, который может запустить проект: выбрать технологии под потребности, настроить его для комфортной разработки, верхнеуровнево создать структуру проекта и общую функциональность и уже дальше передавать подчиненным. В процессе разработки можно следить за развитием проекта: делать код-ревью, улучшать сборку проекта, разбивать проект на микрофронтенды, если необходимо. Хотя половина времени будет уходить на планирования и груминг. Вторая половина - кодинг, ревью, исследования, декомпозиция задач, раскидывание задач, шаринг знаний. Либо можно быть единственным синьором в команде, ответственным за проект. Там меньше менеджерских обязанностей, но кодить больше
@sho_nuff
@sho_nuff 3 ай бұрын
Побольше слов в комментариях пишем, чтобы в топы попасть🎉!
@SlothHuntOnYou
@SlothHuntOnYou 3 ай бұрын
13:46 в Unity канвас так же работает, а для постоянно изменяемых элементов вводится subCanvas - чтоб не обновлять внешний большой канвас, вероятно дешевле сделать и нельзя
@marselakhmetshin1954
@marselakhmetshin1954 3 ай бұрын
Теймураз топ!
@KycokFt
@KycokFt 3 ай бұрын
В реакте подход пулл ту апдейт, по крайней мере начиная с 18 версии, если я ничего не путаю
@Turned2Ice
@Turned2Ice 3 ай бұрын
так и не понял почему все через canvas изначально
@oeaoo
@oeaoo 3 ай бұрын
Ух ты, как раз искал хорошую рисовалку в браузере с нормальной производительностью. tldraw норм, правда сразу же увидел в нем такой момент - в хроме он рисует кривые более гладко чем в сафари (такое ощущение что реализация сглаживания в хроме другая или в сафари ее нет)
@seregamorph
@seregamorph 3 ай бұрын
Miro, привет!
@alexanderafonin1688
@alexanderafonin1688 3 ай бұрын
Топчик, еще и на русском
@ДимаДанилов-ъ4у
@ДимаДанилов-ъ4у 3 ай бұрын
Где то раскрыли тему почему это сделано на канвас, а не html ? Если они все равно поверх канваса накладывают html
@MaksimFedorov-w1o
@MaksimFedorov-w1o Ай бұрын
Ну эта тема довольная понятна... внутри канваса высокопроизводительный движок, которому скармливают координаты и он рисует... грубо говоря очень производительный с++ код на оснвое координат (линии, прямоугольники, ИХ МАСШТАБИРВОАНИЕ, то есть изменение размеров влечет простую перерисовку)... и таких координат тысячи. Нарисуйте 1тыс стрелок, 5000 квадратов, все это покрасьте, свяжите друг с другом и измените размер на хтмл... а да, нарисуйте стрелку с одного блока на 137пкс ниже и 13 пкс левее начало с дугой на хтмл :) А хтмл компонент вставляют в месте редактирования (ОДИН!!! один дом элемент, просто видов много, но в моменте это один элемент) - просто рождают дом элемент, который прибьют после редактирования. Я могу ошибаться, так как я с фронтом знаком поверхностно, но в целом идеи скорее близки к правде, чем к неправде
@Вбелом-й3з
@Вбелом-й3з 3 ай бұрын
Текстового редактора на канвасе нет потому что его невероятно сложно реализовать. Его реализация начинается с железа - видюхи, которая умеет рисовать примитивы и символы (ускорение). Далее операционная система - API ввода/вывода. Далее API браузера, которое реализует непосредственно текстовый редактор, с курсором, выделением, прокруткой и т.д. и т.п. В случае с канвасом надо решать все это заново причем на одном уровне на JS - начиная с отрисовки символов и навигации курсора в тексте.
@ТургайАлекберли
@ТургайАлекберли 3 ай бұрын
что разрабатывал Тимур? (на 5 минуте 46 секунде сказал)
@sokolawp
@sokolawp 3 ай бұрын
Excalidraw
@ТургайАлекберли
@ТургайАлекберли 3 ай бұрын
@@sokolawp спасибо
@Сергей-ь9о5б
@Сергей-ь9о5б 3 ай бұрын
а почему миро не имеет русского языка?
@MaksimFedorov-w1o
@MaksimFedorov-w1o Ай бұрын
они уже не из России, компания выросла масштаб страны, этот масштаб повлиял на компанию ценой, когда весь мир кроме Кубы и Сев. Кореи поддержали одного человечка в его наполеоновские идеи
@evgenyognev1569
@evgenyognev1569 3 ай бұрын
Кинули клиентов из РФ. Молодцы.😮
@maksimmurza7796
@maksimmurza7796 3 ай бұрын
Как же охуенно!
@sergsergey4251
@sergsergey4251 3 ай бұрын
Спасибо за видео!
@xzib-nt5
@xzib-nt5 3 ай бұрын
все мировцы с кем приходилось общаться - нереальные чсвшники, и самое смешное изза их криво написанного сервиса. Типо посмотрите как мы преодолеваем трудности которые сами же создали. Половину проблем можно было убрать просто переписав бэк и сделать нормальное клиент серверное взаимодействие. Тем более что на бэке сервис простой как пробка, сделать mvp v2 можно было бы максимум за пару кварталов, с учетом их раздутого штата
@ramarren14
@ramarren14 3 ай бұрын
Умник, устройся туда и реализуй. Но с дивана конечно проще болтать, что все дураки.
@xzib-nt5
@xzib-nt5 3 ай бұрын
​@@ramarren14кто тебе сказал что я там не работал клоун?
@chikenmacnugget
@chikenmacnugget 3 ай бұрын
Соглы, смотрю видос и понимаю, что парень особо не понимает, что они там делают и как это устроено... Очень пустой мальчишка
@MaksimFedorov-w1o
@MaksimFedorov-w1o Ай бұрын
вы скорее правы, но с одним допущением - это все можно сделать с их опытом, их экспертизой, но с нуля... су нуля, с нуля... у них нет этой привилегии, у них нет возможности сделать с нуля - есть миллионы строк кода (из названия, но стоит полагать - их реально миллионы), есть миллионы пользователей (буквально миллионы)
@christophercave5203
@christophercave5203 3 ай бұрын
Пермские разрабы, "ушедшие" из России. Чтож, достойная замена миро уже найдена.
@chikenmacnugget
@chikenmacnugget 3 ай бұрын
Пустой мальчишка, ничего особо не знает. Сидит мычит и ничего толкового
@docal2
@docal2 Ай бұрын
Ведущий, выпей... кофе! Ну что за тупняк вначале? Если канвас работает на уровне раскрашивания пикселей, ну понятно же, что реализовать в нём текстовый редактор -- это непросто! Работать с мутабельным деревом очевидно сложнее, чем с чистыми функциями.
@MaksimFedorov-w1o
@MaksimFedorov-w1o Ай бұрын
вы как-то очень плохо к зрителю относитесь... или вы про ведущего? Но ведущий для зрителей задавал вопросы, его способности и понимание за скобками в таком случае... можете уточнить про тупняк?
@chikenmacnugget
@chikenmacnugget 3 ай бұрын
Такая каша у парнишки в голове. слабый очень слабый, зато сияет как-будто доктор наук
@synglrty
@synglrty 3 ай бұрын
Отличный контент, спасибо!
Есть ли будущее у Node.js? / Андрей Мелихов #6
1:39:37
Организованное программирование | Кирилл Мокевнин
Рет қаралды 28 М.
Почему Clojure - выбор программистов для сложных задач? / Николай Рыжиков / #21
1:29:37
Организованное программирование | Кирилл Мокевнин
Рет қаралды 6 М.
Чистка воды совком от денег
00:32
FD Vasya
Рет қаралды 5 МЛН
From Small To Giant 0%🍫 VS 100%🍫 #katebrush #shorts #gummy
00:19
How Much Tape To Stop A Lamborghini?
00:15
MrBeast
Рет қаралды 262 МЛН
Как должен быть устроен найм по мнению Антона Назарова / #3
2:07:57
Организованное программирование | Кирилл Мокевнин
Рет қаралды 20 М.
Почему нужно уезжать из Сербии?
20:45
Пупсы, на выезд!
Рет қаралды 859
Авторский метод проектирования баз данных от Алексея Махоткина  / #20
1:46:20
Организованное программирование | Кирилл Мокевнин
Рет қаралды 4,2 М.
SOLID принципы в 2024: Полный разбор и прожарка /  @S0ERDEVS  / #12
2:12:02
Организованное программирование | Кирилл Мокевнин
Рет қаралды 23 М.
Почему вирусы пытаются нас истребить?
1:00:25
Милош Руминов
Рет қаралды 567 М.
Александр Гузенко - Путеводитель по архитектуре фронтенда в 2024
45:27
HolyJS — конференция для JavaScript‑разработчиков
Рет қаралды 7 М.
Как подкаст "Подлодка" покорил IT-мир: секреты успеха от Екатерины Петровой / #19
1:29:42
Организованное программирование | Кирилл Мокевнин
Рет қаралды 4,1 М.
Чистка воды совком от денег
00:32
FD Vasya
Рет қаралды 5 МЛН