Pull to refresh
5
0
Send message

Также сама идея делать из компонента стор будет выглядит немного странновато

Странновато, так же, лежит и глобальная версия сторы в корневом компоненте Vue

И, если я не путаю, правильно использовать событие onBeforeUnmount
Может получиться что не вся реактивщина помрет

И в унмоунтед что-то может посчитать что оно погибло и/или что-то уже не доступно

А сам стор?
Реактивщина внутри стора.
Есть регистер/унрегистер, почему не он?

Пока компонент не удален - будет
И Вы удаляете не модуль, а стейт?

А как же сайд эффекты, обсерверы?

Модуль стора удалится, но все еще доступен глобально.

При возникновении исключения в onUnmounted он останется в сторе

Как раз, в этом случае, scoped store будет виден только внутри компонента и не доступен больше ниоткуда

И гарантированно удалится без хуков

А вы уверены что модуль module/1 удалится при удалении компонента?
А его точно ни кто кроме Вас не получит?
Вместо mapState можно использовать UseNamespacedGetters

Поделюсь своими мыслями, более лаконичная реализация.

Использовать функциональный компонент scoped-store, который создает scoped стору, и провайдит прямо инстанс сторы.

useStore этот инстанс пытается инжектить и возвращает глобальную стору в случае если ни чего нету.
Либо, бросает исключение - зависит от контекста.
Есть жесткий варн на provide/inject.

Прикол в том, как организованы модули.

Глобальные модули инициализируются статическим объектом state.
Тогда мы уверены что состояние модуля будет единым для всех инстансов сторы.

scoped модули - state инициализируется из функции, это гарантирует создание пустого индивидуального стейта на каждый инстанс.

Хороший пример - у нас есть два кейса.
Компонент используется как корневой в роутере, тогда стейт прилетает в глобальную стору.
И на этой же странице нам нужно показать модалку, в которой нам нужно отобразить этот компонент в списке
Каждый заворачиваем в скопед стору и привет.
Конечно, настолько элементарный пример реализуется без таких приседаний.
Но уж если дело дошло до скопед стор, то такое решение проще и юзабельнее подключеня новых модулей в глобальную стору.

Встряхнули и полетели. Потомки ни чего не знают о верхних модулях.
Не забываем что подход provide/inject не только плох, но и, в чем-то, необходим.

Хранить плоский индекс дерева

А можно вопрос?

А зачем нужно рисовать в html пользователю сразу все over9000 комментариев и ждать от браузера что он быстро все отрисует?

Вы не костыль убрали/заменили/модифицировали, а просто взяли молоток потяжелее и еще прочнее вбили винтовую сваю :)

Вместо того чтобы использовать virtual list, вы взяли lazy hydration, который придуман для другого.

Lazy hydration нужен чтобы легкие оптимизированные страницы грузились еще быстрее.

Для поисковых систем не важно сколько страниц с гет параметрами они проиндексируют. Разбейте комменты на чанки с гет параметрами, а при помощи SPA предоставьте пользователю бесконечный скролл по комментам.

Не забивайте отверткой гвозди и все вам спасибо скажут

тааак.
Видимо, комментаторы полагают что данная статья описывает систему защиты некого хоста.
Нет, не описывает.
Я лишь запостил один из элементов барьерного рифа.
Любой комплекс чего бы то ни было состоит из набора подходов, методик и мероприятий.

Сколько это займет времени?
Порт в реале шарится секунд на 10-15.
Просканировали остальные — ни чего интересного и "окошка" уже нет.

городить огород из последовательности — не очень удобная идея.
и это не защита от продвинутых атак.
весь диапазон портов ни кто не будет сканировать.

да, но это к программистам.
тулза слеплена да 10 минут на коленке
чуть изменил ее, использую не -formats, а -decoders

вот поэтому
General
Complete name: tmp\in.wav
File size: 1.21 GiB
eof

Еще замечание по аудио фильтрам


  • af=ebur128
  • af=loudnorm

Эти фильтры очень хороши для проведения прямого эфира и у мня уже появились туманные идеи применения.
Однако, использовать их относительно контента потенциально опасно: они искажают звуковую картину, являясь динамическими.


Применительно к контенту, необходимо изменять общую громкость дорожки, не касаясь относительной частотной разности.

а, или отталкиваться от количества строк, что, возможно, более правильно и сильно короче и понятнее.


-aspect 4:3 -vf scale=-1:576,pad=720:576:(ow-iw)/2:(oh-ih)/2

В статью пока внес правки из Вашего комментария.

Кармы моей на Вас не хватает!
Вы внесли большой вклад.


Оформим для читателей.


-aspect 4:3 -vf "scale=min(576*15*sar*iw/ih/16\,720):min(720*16*ih/15/sar/iw\,576),pad=720:576:(ow-iw)/2:(oh-ih)/2"

Спасибо!

30Мб/с — предельный битрейт. Фактически на выходе он не превышает в среднем 6Мб/с

да, мне представляется избыточным выражение


-s pal -r pal -aspect 4:3 -vf scale=720:-1,pad=720:576:(ow-iw)/2:(oh-ih)/2

корежение предотвращается выражением


-vf scale=720:-1,pad=720:576:(ow-iw)/2:(oh-ih)/2

Спасибо за подсказки с фильтрами, попробую.


проект r128gain больше не развивается, думаю переходить на bs1770gain от того же автора, который в данный момент является бетой, судя по latest версии.
Резонность использования утилиты r128gain мне представляется по главной причине: эта утилита специализирована именно для измерения и только для измерения громкости по методике R128-2011, которая нормирована нашим регулятором.
r128gain проверена и используется профессиональными студиями.
r128gain проверена мной и результат меня устраивает, а главное — устраивает регулятора.


по поводу стандартов — разрешите не обсуждать.
Спасибо за комментарий.

Information

Rating
Does not participate
Location
Вологда, Вологодская обл., Россия
Date of birth
Registered
Activity