Pull to refresh
13
0
Александр @Sunvas

Fullstack разработчик

Send message

Что именно вы считаете "слишком многими телодвижениями"?

Всё то, что перечислено у вас в п 3.2: создание рендерера, конфигурирование пространства имён, создание экземпляра менеджера представлений, регистрация пространства имён моделей, определение модели и т.п. Ради чего всё это? Ради автоматического экранирования (которое может и не понадобится)? Какой порог входа в эти нагромождения абстракций?

А в случае с шаблонизатором ему как раз надо будет знать только его примитивный синтаксис.

Юзеркейс: верстальщик в гробу видал этот ваш SSR и желает всё отрендерить на Vue.js. И тут оказывается что использование {{ }} вызывает конфликт; прописать параметр nonce для <script> без того, чтобы лезть в вышестоящий код, невозможно; даже создание JSON объекта из всех переменных шаблона может привести к неожиданным сбоям:

The Blade templating is based on regular expressions and attempts to pass a complex expression to the directive may cause unexpected failures.

У меня одного чувство, что для банальной вставки переменных в шаблон как-то слишком уж много телодвижений? Особенно учитывая то, что верстальщик как бы не обязан обладать знаниями всех этих  PHP премудростей.

Несмотря на кажущуюся мощь, под капотом вызов всех слушателей происходит весьма примитивным способом:

foreach ($listeners as $listener) {
    if ($stoppable && $event->isPropagationStopped()) {
        break;
    }
    $listener($event, $eventName, $this);
}

И если вдруг какой-то из слушателей умрёт в процессе выполнения, то остальные не дождутся своей очереди. Получаем весьма странную архитектуру: можно закодить 100500 слушателей, но нет никакой гарантии что все они отработают. Даже логов не останется.

Если отбросить свисто-перделку приоритета, то подобные события вполне можно реализовать всего одной глобальной функцией:

function Events(string$event,mixed$listener=null):?\Closure
{static$storage=[];
	if($listener instanceof \Closure)
	{
		$storage[$event][]=$listener;
		return function()use(&$storage,$event,$listener){
			$storage[$event]=array_filter($storage[$event],fn($item)=>$item!==$listener);
		};
	}

	foreach(($storage[$event] ?? []) as $item)
		if(false===$item($listener))
			break;

	return null;
}

Events('event',fn($data)=>print('Event 1:'.$data));
$cancel2=Events('event',fn($data)=>!print('Event 2:'.$data));
Events('event',fn($data)=>print('Event 3:'.$data));

Events('event','foo');
$cancel2();
Events('event','bar');

И чем оно хуже?

Чувак изобрёл какую-то деталь, которая позволяет запускать игры без ограничений. А потом решил эту деталь продать в составе консоли... И в чем тут принципиальная разница от кастомной прошивки?

Мог или не мог - об этом в статье не говорится. Указано "за модификацию Switch на продажу". Пытаюсь понять, неужели кастомные прошивки стали вне закона?

Опуская факт наличия на консолях нелицензионных игр... Если человек изобрёл прошивку, которая позволяет запускать любые игры и установил её своё устройство - он не может его продать?

А что отличает взлом продукта от модификации под свои нужды?

Стили и скрипты должны безусловно кэшироваться. И тогда проблема отпадает сама собой.

Не верю, что у пользователей с премиум подпиской не будет отображаться реклама - это же платежеспособная ЦА. Думаю, реклама на премиуме не заставит себя долго ждать.

Параметр sourceOnDemand в конфигурации потока?

А как с безопасностью хранения / шифрованием? Или теперь товарищ майор сможет без проблем читать всю чёрную бухгалтерию?

Тут вопрос в возможности приобрести, скажем, десяток IPv4. Это возможно?

РТ реально не догадывается о причинах "деградации" YT или просто решил подлизнуть?

раздайте на все смартфоны прямые IPv6 адреса и миллионы людей...

Украинский Киевстар уже больше года раздаёт на смартфоны прямые IPv6, почти половина трафика уже в IPv6 (статистику портит трафик домашнего интернета, который до сих пор только IPv4). Пострадавших не наблюдается.

Интересно, связан ли спад интереса к продукции Intel с подсистемой Intel ME?

Information

Rating
Does not participate
Location
Николаев, Николаевская обл., Украина
Date of birth
Registered
Activity

Specialization

Backend Developer, Fullstack Developer
PHP
MySQL
Ajax
Nginx
Linux
OOP
Git