О чем и речь. Так и пишете, что ваш подход работает только на лендингах и админках без дизайна. Не стоит думать, что веб-разработка этим ограничивается.
В шаблонах обычно это предусмотрено, они идут сразу со всеми inputmask, select2 и прочим.
Как может быть предусмотрено, если вдруг ваш select2 в следующей версии добавит селектор, который пересечется с одним из ваших. Сидеть на одном компоненте одной и той же версии? А если незнакомый компонент - надеяться что все будет хорошо?
Зачем копипаст? Это решается шаблонизатором, например jinja2, там есть наследование, includ'ы есть и макросы. Скрипты тоже можно подключать так же, через шаблонизатор.
Покажите пример скрипта, который вы подключаете инклудом. На примере поля формы желательно. Инициализацию конкретного динамического компонента вы же не инклудами подключаете?
Выше написала. Плюс это вопрос про оптимизацию, оптимизацией нужно заниматься по мере необходимости, иначе она преждевременная. Напомню, что мы говорим про стартапы и MVP. По поводу большого бандла - а в SPA он не большой? Да и он кешируется, не вижу проблемы тащить на каждую страницу, скачается один раз.
Если "выше" - имеется в виду ручные инклуды, да судя по всему не один на компонент, да плюс <script> вставки с ручной инициализацией, то это супер решение конечно.
А что на стартапах и MVP не нужно предусмотреть возможность нагрузки? Там не важна скорость первого взаимодействия, которую ваш мегабандл рушит за счет нагрузки на scripting? JS так то однопоточный.
В современных SPA бандл не большой. Он не будет больше аналогичного велосипеда, который вы напишете, когда упретесь в ограничения своего подхода (читай, когда нужно чтото сложнее лендинга и админки на бутстрапе). И кешироваться он будет лучше вашего мегабандла, который будет инвалидироваться на каждую правку.
А если нагрузка вдруг возникнет, все переписывать? Ну открою секрет, тот кто за вами потом переписывает - это я. В целом своими действиями вы развиваете рынок труда, и лично мне грех жаловаться.
Раз вы используете готовые юайкиты, вы не могли не столкнуться с задачей их кастомизации под требования дизайна. Другие паддинги, другие наборы иконок, другая типографика и т.д. Какими корявыми оверрайдами кастомизируются готовые решения, включая бутстрап, знают все, кто пробовал вообще хоть что-то делать по заданным дизайнам.
Если вы не сталкивались - либо у вас нет кастомных дизайнов вообще, либо вы их делаете под бутстрап. Ну либо вам не надо ничего кастомизировать сложнее кнопки и поля ввода.
По второй части как-то даже странно отвечать, но ок:
Нет изоляции стилей. Подрубаете любой готовый компонент, который нецелесообразно самим писать с нуля (скажем, продвинутое поле ввода номера телефона). После чего надеетесь, что он не использует пересекающиеся с вами стили. А если раскорячил и вы заметили - пишете те самые корявые оверрайды. Особенно весело если там :not(div) какой-нибудь.
Нет нормального переиспользования. Тогда вы плодите копипаст, и в случае правок, делаете их не в одном месте, а в нескольких (или в куче, как это обычно бывает) и надеетесь, что нигде не ошиблись.
Нет поддержки жизненного цикла. Ну тут интересно как вы ими вообще тогда управляете. Что-то типа <script>initSlider({ element: '#mySlider' })</script> перед закрывающим body? Ну удачи когда у много таких компонентов на одной странице.
Нет импорта компонента с поддержкой tree shaking? Тогда либо вы их сразу все тащите на каждую страницу одним жирным бандлом, либо делаете эту работу своими руками.
Нужно ли пояснять, что все перечисленное - это как раз время бизнеса, отнятое у его бизнес-задач?
Это даже не касаясь сомнительного утверждения, что 1 фронт + 1 бек дороже аналогичного фулстека. Это не так, за ту же цену или дешевле у вас будет "фулстек" с перекосом в одну из областей, который другую область не будет знать даже на уровне мидла. У вас видно, что перекос в сторону бекенда.
Вы используете при организации кода на сайте компоненты, ui-kitы?
Если да, можете рассказать, как организовать аналог SPA-шного ui-kitа в парадигме MPA? С переиспользованием компонента целиком(а не только разметки), с изоляцией стилей на уровне компонента, с подключением на нужных страницах только тех компонентов, которые на ней используются. +, как организуется их жизненный цикл.
На средней модели из текущей линейки мне не удалось получить нормальную скорость отклика от контроллера/мыши (input lag) на компьютере, подключенном по HDMI.
Хорошо бы поправили в новых моделях. Я понимаю, что телевизор не игровой, но с таким лагом можно играть только во что-то совсем неспешное.
Оно там есть, под названием Авроид, но для юр. лиц, причем для ИП кажется не купить. По слухам оно запускает приложение фактически в эмуляторе андроида, без связи с фичами хостовой ОС. На текущих доступных устройствах (у меня R570E) вряд ли будет работать производительно. Было бы интересно попробовать, но в целом интереснее нативные приложения. Для андроида у меня и так есть телефон на андроиде.
Последнее время с приложениями стало получше. Но бытовые приложения в большем количестве появятся только тогда, когда будет прицел на эту нишу от разработчиков системы. Сейчас даже полноценных пользовательских девайсов нет.
Хотя имхо - уже сейчас лучше, чем на убунту тач и других телефонных линуксах.
Попробовал запустить 70b/Q4_K_M ollama на m2 ultra с 64gb памяти. Ожидаемо неспешно, но работает. Грузит железку сильнее, чем llama3 на те же 70b, даже вентилятор включился.
К сожалению не могу особо оценить улучшений, каждой LLM-ке предлагаю написать self-bundled react компонент, который можно подключить просто script-тегом. Из коробки работающий вариант пока ни одна не написала. На просьбы спамить поменьше текста и побольше кода реагирует так себе. Но контекст держит нормально, способна улучшать ранее сгенерированный код.
В прошлом году Ростелеком (СПб) обрубил wireguard и openvpn по UDP, по TCP работало до последних двух недель. Вчера перепробовал несколько VPS в разных странах, не удалось починить. По UDP коннект происходит, но трафик не идет. По TCP постоянный сброс подключения при коннекте.
Пользовался этим скриптом: https://github.com/angristan/openvpn-install и wg аналогичным
Браузер (и движок вебвью от него же) мне кажется это первое что надо менять, чтобы девайсы стали юзабельными. Сейчас тот же Ozon у меня просто не дает залогиниться. По слухам, с зимы уже портируют Chromium Gost.
Хотя PUBG отсутствует, всякие Яндекс.Игры доступны, плюс портов представлено достаточно, чтобы позалипать какое-то время. А если еще RetroArch поставить...
О чем и речь. Так и пишете, что ваш подход работает только на лендингах и админках без дизайна. Не стоит думать, что веб-разработка этим ограничивается.
Как может быть предусмотрено, если вдруг ваш select2 в следующей версии добавит селектор, который пересечется с одним из ваших. Сидеть на одном компоненте одной и той же версии? А если незнакомый компонент - надеяться что все будет хорошо?
Покажите пример скрипта, который вы подключаете инклудом. На примере поля формы желательно. Инициализацию конкретного динамического компонента вы же не инклудами подключаете?
Если "выше" - имеется в виду ручные инклуды, да судя по всему не один на компонент, да плюс <script> вставки с ручной инициализацией, то это супер решение конечно.
А что на стартапах и MVP не нужно предусмотреть возможность нагрузки? Там не важна скорость первого взаимодействия, которую ваш мегабандл рушит за счет нагрузки на scripting? JS так то однопоточный.
В современных SPA бандл не большой. Он не будет больше аналогичного велосипеда, который вы напишете, когда упретесь в ограничения своего подхода (читай, когда нужно чтото сложнее лендинга и админки на бутстрапе). И кешироваться он будет лучше вашего мегабандла, который будет инвалидироваться на каждую правку.
А если нагрузка вдруг возникнет, все переписывать? Ну открою секрет, тот кто за вами потом переписывает - это я. В целом своими действиями вы развиваете рынок труда, и лично мне грех жаловаться.
Раз вы используете готовые юайкиты, вы не могли не столкнуться с задачей их кастомизации под требования дизайна. Другие паддинги, другие наборы иконок, другая типографика и т.д. Какими корявыми оверрайдами кастомизируются готовые решения, включая бутстрап, знают все, кто пробовал вообще хоть что-то делать по заданным дизайнам.
Если вы не сталкивались - либо у вас нет кастомных дизайнов вообще, либо вы их делаете под бутстрап. Ну либо вам не надо ничего кастомизировать сложнее кнопки и поля ввода.
По второй части как-то даже странно отвечать, но ок:
Нет изоляции стилей. Подрубаете любой готовый компонент, который нецелесообразно самим писать с нуля (скажем, продвинутое поле ввода номера телефона). После чего надеетесь, что он не использует пересекающиеся с вами стили. А если раскорячил и вы заметили - пишете те самые корявые оверрайды. Особенно весело если там :not(div) какой-нибудь.
Нет нормального переиспользования. Тогда вы плодите копипаст, и в случае правок, делаете их не в одном месте, а в нескольких (или в куче, как это обычно бывает) и надеетесь, что нигде не ошиблись.
Нет поддержки жизненного цикла. Ну тут интересно как вы ими вообще тогда управляете. Что-то типа <script>initSlider({ element: '#mySlider' })</script> перед закрывающим body? Ну удачи когда у много таких компонентов на одной странице.
Нет импорта компонента с поддержкой tree shaking? Тогда либо вы их сразу все тащите на каждую страницу одним жирным бандлом, либо делаете эту работу своими руками.
Нужно ли пояснять, что все перечисленное - это как раз время бизнеса, отнятое у его бизнес-задач?
Это даже не касаясь сомнительного утверждения, что 1 фронт + 1 бек дороже аналогичного фулстека. Это не так, за ту же цену или дешевле у вас будет "фулстек" с перекосом в одну из областей, который другую область не будет знать даже на уровне мидла. У вас видно, что перекос в сторону бекенда.
Вы используете при организации кода на сайте компоненты, ui-kitы?
Если да, можете рассказать, как организовать аналог SPA-шного ui-kitа в парадигме MPA? С переиспользованием компонента целиком(а не только разметки), с изоляцией стилей на уровне компонента, с подключением на нужных страницах только тех компонентов, которые на ней используются. +, как организуется их жизненный цикл.
Или все это вам не нужно?
Какая то видимо личная неприязнь к фронтендщикам у автора.
Ускорить работу они могут только если у вас нет дизайна. Если он есть, готовьтесь снова придумывать классы на случай, когда тейлвинда не хватает.
И вжух, у вас теперь и простой CSS, и тейлвинд в одном проекте. Хотя мог бы быть только CSS. Поздравляю.
styled-components - жирный рантайм
tailwindcss просто не нужен
git log -1?
На средней модели из текущей линейки мне не удалось получить нормальную скорость отклика от контроллера/мыши (input lag) на компьютере, подключенном по HDMI.
Хорошо бы поправили в новых моделях. Я понимаю, что телевизор не игровой, но с таким лагом можно играть только во что-то совсем неспешное.
Оно там есть, под названием Авроид, но для юр. лиц, причем для ИП кажется не купить. По слухам оно запускает приложение фактически в эмуляторе андроида, без связи с фичами хостовой ОС. На текущих доступных устройствах (у меня R570E) вряд ли будет работать производительно. Было бы интересно попробовать, но в целом интереснее нативные приложения. Для андроида у меня и так есть телефон на андроиде.
Последнее время с приложениями стало получше. Но бытовые приложения в большем количестве появятся только тогда, когда будет прицел на эту нишу от разработчиков системы. Сейчас даже полноценных пользовательских девайсов нет.
Хотя имхо - уже сейчас лучше, чем на убунту тач и других телефонных линуксах.
Это же обычный вебвью, не считая кода бриджа (чтобы самому не писать), есть ли какой то смысл использовать ваши готовые компоненты?
Вероятно просто не хватает видеопамяти. На маках она общая с RAM и быстрая, поэтому доступно в районе 50 гигов, чего для 70b плюс минус достаточно.
Честно не знаю, просто дефолтные настройки запуска 70b.
Попробовал запустить 70b/Q4_K_M ollama на m2 ultra с 64gb памяти. Ожидаемо неспешно, но работает. Грузит железку сильнее, чем llama3 на те же 70b, даже вентилятор включился.
К сожалению не могу особо оценить улучшений, каждой LLM-ке предлагаю написать self-bundled react компонент, который можно подключить просто script-тегом. Из коробки работающий вариант пока ни одна не написала. На просьбы спамить поменьше текста и побольше кода реагирует так себе. Но контекст держит нормально, способна улучшать ранее сгенерированный код.
Да полно на самом деле на любой вкус. Много приятных FPS с закосом под олдскул - Prodeus, Amid Evil, Ion Fury. Отличные ремастеры Q1/Q2.
Из CRPG достойные Warhammer 40k: Rogue Trader, Baldurs Gate 3.
Рогалики развились до каких-то безумных высот, типа Dead Cells или Binding of Isaac с последними аддонами.
Думаю и в других жанрах есть во что поиграть.
Что сказать-то хотел?
В прошлом году Ростелеком (СПб) обрубил wireguard и openvpn по UDP, по TCP работало до последних двух недель. Вчера перепробовал несколько VPS в разных странах, не удалось починить. По UDP коннект происходит, но трафик не идет. По TCP постоянный сброс подключения при коннекте.
Пользовался этим скриптом: https://github.com/angristan/openvpn-install и wg аналогичным
Можно также на Rust, у кого то в чате даже получалось завести гуй.
Браузер (и движок вебвью от него же) мне кажется это первое что надо менять, чтобы девайсы стали юзабельными. Сейчас тот же Ozon у меня просто не дает залогиниться. По слухам, с зимы уже портируют Chromium Gost.
Хотя PUBG отсутствует, всякие Яндекс.Игры доступны, плюс портов представлено достаточно, чтобы позалипать какое-то время. А если еще RetroArch поставить...