Так если не надо CDN, так как все в одном городе, то и сжимать не сильно нужно.
А сам CDN может быть абсолютно бесплатным. Главное захотеть. Подсказка: cf
Да без проблем.
Лет 10 назад, на собеседовании, одного разработчика попросили написать простейший пример как выбрать элемент на странице по его id. Интервьюемый спросил можно ли использовать jQuery. Ему разрешили. И тогда он наваял это:
var id = 'id-of-element';
var element = null;
$('*').each(function(index, el) {
if ($(el).id() == id) element = el;
});
console.log(element);
Не забываем, что если неправильно спроектировать механизмы кеширования, то возникает ситуация:
«У нас была проблема с нагрузкой. Мы добавили кеширование. Теперь у нас две проблемы — нагрузка и неправильные данные в кеше».
Мне кажется, что как раз задача опытных разработчиков — направить таких ребят в нужное русло и, по возможности, максимально отгородить от «ненужных» источников информации.
Я не переживаю. Скорее не так: я не переживаю за себя, я переживаю за ребят, которые спустя несколько месяцев в поиске впишут тернарный оператор, зайдут в статью, не увидят «1 апреля» и подумают, что так нужно писать код.
Я не против юмора, но хотя бы пометку в тексте...
Мне кажется, что любой более или менее правильно настроенный линтер кода сразу скажет переписать этот ужас.
Одумайтесь! Этот код потом читать людям, а не машинам.
Откуда желание постоянно что-то оборачивать? Оставьте эти три строки в той Closure, которая отвечает за этот endpoint в роутере.
Можно даже сделать так:
class CreateUser
{
public function __construct(); // сохраняем входные данные
public function __invoke(); // создаем юзера
}
class LogCreateUser
{
public function __construct(Logger $logger, CreateUser $createUser) {
$logger->start();
$createUser();
$logger->end();
}
}
Некое подобие middleware, только не для request, а для методов сервисов.
Можно ещё со
squash
поигратьсяТак если не надо CDN, так как все в одном городе, то и сжимать не сильно нужно.
А сам CDN может быть абсолютно бесплатным. Главное захотеть. Подсказка: cf
После прочтения лично у меня остался один вопрос: зачем там brotli?
Ведь для девелопмента он не нужен точно, а на production статика раздается с CDN.
Да без проблем.
Лет 10 назад, на собеседовании, одного разработчика попросили написать простейший пример как выбрать элемент на странице по его id. Интервьюемый спросил можно ли использовать jQuery. Ему разрешили. И тогда он наваял это:
sobolevn Есть ли личный опыт использования и сравнения schemathesis с тем же zally?
Не забываем, что если неправильно спроектировать механизмы кеширования, то возникает ситуация:
«У нас была проблема с нагрузкой. Мы добавили кеширование. Теперь у нас две проблемы — нагрузка и неправильные данные в кеше».
Мне кажется, что как раз задача опытных разработчиков — направить таких ребят в нужное русло и, по возможности, максимально отгородить от «ненужных» источников информации.
Я не переживаю. Скорее не так: я не переживаю за себя, я переживаю за ребят, которые спустя несколько месяцев в поиске впишут тернарный оператор, зайдут в статью, не увидят «1 апреля» и подумают, что так нужно писать код.
Я не против юмора, но хотя бы пометку в тексте...
Мне кажется, что любой более или менее правильно настроенный линтер кода сразу скажет переписать этот ужас.
Одумайтесь! Этот код потом читать людям, а не машинам.
Это не совсем инструмент, это целая идеология. Один из пунктов 12 факторов.
Без этого современную разработку трудно представить.
Я бы хотел акцентировать внимание на использование dotenv:
не используйте в коде секретные данные как текст.
В реальной жизни есть только две специальности, которые можно назвать full stack:
— учителя младших классов
— терапевты
Но, как вы догадываетесь, результаты их работы — так себе...
Прошу прощения, но: а о чём всё же статья?
Чем стандартное решение из коробки не подошло?
Возьми одно случайное значение из уже сохраненных в базу.
Перешел на другие проекты, которые написаны на других языках.
А я вот одно время кайфовал от inversify
DDD заново придумали или я неправильно понял?
Как минимум, такой код точно не нарушает CSP.
Common Sense Principle
Откуда желание постоянно что-то оборачивать? Оставьте эти три строки в той Closure, которая отвечает за этот endpoint в роутере.
Можно даже сделать так:
Некое подобие middleware, только не для request, а для методов сервисов.