final readonly class UserDTO
{
public function __construct(
public UuidInterface $id,
public string $name,
public Email $email, //Email - VO
public DateTimeImmutable $createdAt,
) {}
}
Опять какая то левая статья. Зачем вообще публиковать очередной PHP is die? Чисто набить себе очков на хабре?
Пока жив веб, будет жить PHP: Personal Home Page. На данный момент это самый лучший скриптовый язык для веб сайтов. И не важно, пишите как ФП или ООП. Laravel или Symfony. В итоге веб сайт.
Конечно, сейчас существуют такие сайты как Front-end (React, Vue, Angular, ...) и Back-end (Go, Python, Ruby, C#). Но в основной массе - это PHP.
В каком то смысле PHP - мертв. Он, как и любой скриптовый язык, умирает каждый раз, когда скрипт завершает свою работу. Скрипт завершил работу, умер, завершил, умер, и т.д.
Тема применения Python в металлургии не раскрыта. Если статью назвать "Python в машиностроении, станкостроении, приборостроении, угольной промышленности и тд", ничего не поменяется.
Я ожидал описания ПО на Python для получения данных с реверсивных станов холодной прокатки или контролем вентиляции в литейном цехе. Т.е. непосредственным взаимодействем специализированного ПО, оборудования и Python.
Вы играли в "Гоблинов" (1, 2, 3)? Сейчас таких шедевров практически нет, сплошные раннеры и шутеры. Судя по видео, Вы создаете именно квест. Это очень хорошо. Для начала я бы создал скелет сценария, определил бы локации и тезисно описал бы в каждой локации сюжет + финал. В сказке конец не хеппи енд :). Как Вы планируете поступить с колобком?
В целом, как любитель квестов, желаю Вам удачи.
Если будут идеи, обязательно с Вами поделюсь :).
Вроде поискал в комментах, про Electron не писали.
Десктоп версию можно было сделать на Vue.js + Electron.
Бэк на сервере php или python. Всё полегче и побыстрее.
Не увидел в списке, какую СУБД используете?
Например, про запуск очередей и вебсокета в отдельных контейнерах, а не через supervisor. Про certbot или traefik. Про сбор логов всех контейнеров в одном месте. Про сборку фронта в одном контейнере с nginx. Вроде бы мелочи, но ни в одном блоге, мануале, примере такого не нашел. Чтоб кто то взял, разложил настройку для крупного проекта, расписал конфиги, как правильно всё настроить и не изобретать велосипед каждый раз.
Вообще про сборку контейнера много статей написано. Но вот про нюансы именно ларавеля все авторы забывают или забивают. Например, представьте проект: Laravel 6 + Postgres 12 + Nginx + Vue + Horizon + Websockets + Redis. И всё из коробки. А теперь все технологии надо разложить по контейнерам. Связать сетью и вывести наружу только Nginx. А еще выполнить несколько artisan команд перед запуском. Чуть не забыл про сертификат и https. А локально еще и xdebug. Vue собирается с помощью laravel-mix.
Не думаю что сериализаторы должны заниматься чем-то кроме сериализации и валидации данных,
Так и я про валидацию. В Laravel пишем Request, где проверяем, нет ли текущих (не помеченных на удаление) записей с такими же значениями полей, какие передали в Request. Если есть, возвращаем сообщение об ошибке. Например,
class UserController extends Controller {
...
public function restore(UserRequest $request)
{
// валидация происходит до выполнения действия.
}
...
}
Вполне возможно, что в Django такая проверка делается не в сериализаторе, а в менеджере модели.
Чем не доросло? Факты в студию :).
А еще появились и https://litestar.dev/ и https://esmerald.dev/ и https://reflex.dev/. Так что альтернатив Flask-у прибавилось и очень хороших.
Судя по релизам, а уже скоро появится 2 версия, давно.
https://litestar.dev/about/organization.html тут можно почитать, как был Starlite, потом переименовали в Litestar.
На диаграмме сравнения скорости нет фреймворка https://litestar.dev/. Там пишут, что он быстрее FastAPI.
Про fiber не написали. Расходимся...
Вот пример DTO уже с 8.2:
Опять какая то левая статья. Зачем вообще публиковать очередной PHP is die? Чисто набить себе очков на хабре?
Пока жив веб, будет жить PHP: Personal Home Page. На данный момент это самый лучший скриптовый язык для веб сайтов. И не важно, пишите как ФП или ООП. Laravel или Symfony. В итоге веб сайт.
Конечно, сейчас существуют такие сайты как Front-end (React, Vue, Angular, ...) и Back-end (Go, Python, Ruby, C#). Но в основной массе - это PHP.
В каком то смысле PHP - мертв. Он, как и любой скриптовый язык, умирает каждый раз, когда скрипт завершает свою работу. Скрипт завершил работу, умер, завершил, умер, и т.д.
Но как ЯП его не похоронить. Как и Python и Ruby.
Я бы использовал https://laravel-mix.com/docs/6.0/installation, универсальный сборщик статики хоть для Django, хотя для другого фреймворка.
Тема применения Python в металлургии не раскрыта. Если статью назвать "Python в машиностроении, станкостроении, приборостроении, угольной промышленности и тд", ничего не поменяется.
Я ожидал описания ПО на Python для получения данных с реверсивных станов холодной прокатки или контролем вентиляции в литейном цехе. Т.е. непосредственным взаимодействем специализированного ПО, оборудования и Python.
Вы играли в "Гоблинов" (1, 2, 3)? Сейчас таких шедевров практически нет, сплошные раннеры и шутеры. Судя по видео, Вы создаете именно квест. Это очень хорошо. Для начала я бы создал скелет сценария, определил бы локации и тезисно описал бы в каждой локации сюжет + финал. В сказке конец не хеппи енд :). Как Вы планируете поступить с колобком?
В целом, как любитель квестов, желаю Вам удачи.
Если будут идеи, обязательно с Вами поделюсь :).
И мне кажется, что вместо обновления в коде updated_at лучше сразу в классе прописать:
В целом можно вообще вынести id, created_at, updated_at в отдельный mixin или абстрактный класс.
Я бы всё таки вместо
использовал
Десктоп версию можно было сделать на Vue.js + Electron.
Бэк на сервере php или python. Всё полегче и побыстрее.
Не увидел в списке, какую СУБД используете?
Даже так:
А почему Bootstrap 3? Уже давно 4.3
Судя по примерам кода автор не до конца знает фреймворк, пишет какой то самопал.
— One watch.
— Such much?
— For whom how.
— Petegorsk inyaz?
— Ask.
Нет, конечно :). Я пример как раз для JSON и написал. Если бы я хотел вернуть вью, а бы написал:
Так и я про валидацию. В Laravel пишем Request, где проверяем, нет ли текущих (не помеченных на удаление) записей с такими же значениями полей, какие передали в Request. Если есть, возвращаем сообщение об ошибке. Например,
Вполне возможно, что в Django такая проверка делается не в сериализаторе, а в менеджере модели.
А вот такого сахара (https://github.com/rails/jbuilder) я в других фреймворках не встречал.