Aisamiery

Aisamiery
Рейтинг
319
Регистрация
12.04.2015
webinfo #:
Это опять Ваши фантазии. Стандартная отмазка: "ах, ты мне на мои ошибки указываешь - значит ты ничего не знаешь по теме обсуждения". На деле же это совсем не так. Грамотное написание текстов не мешает грамотно высказываться по обсуждаемой теме. Скорее, наоборот.

Действительно, это же настолько уместный комментарий =)) вот прям по теме топика зашли высказать своё мнение =))

https://searchengines.guru/ru/forum/1071794/page5#comment_16862104

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

PS. А еще можно эту опцию хотя бы в мою сторону выключить? Не то что бы меня напрягает, просто интересно есть такая возможность или нет =)))

webinfo #:
Не уверен - не пиши. Потому что необоснованно обвинять собеседника, высасывая обвинения из собственных фантазий - это некрасиво, по меньшей мере, и является оскорблением по большей.  Не уподобляйтесь местному "специалисту" по  деплою, докеру, спринтам и грумингу.

это я к тому что орфографические замечанию идут тогда, когда по проф теме уже не хватает аргументов или нечего вставить - это как то по детски выглядит просто со стороны, я чисто к этому =)) вы же не в топик к контент менеджерам приходите и рассказываете об орфографии, в этом разделе темы, как правило, не связаны с русским языком, а больше с языками программирования

webinfo #:
Я вот тут некоторым иногда мягко намекаю на их огрехи в правописании, а они почему-то жутко обижаются на это.

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

Sly32 #:
А существут для пхп конкретно асинхронные фреймворки, аналогично питоновским Fastapi/aiohttp? 

Я же вроде много ссылок давал =)) https://searchengines.guru/ru/forum/1074587/page2#comment_16879192

там библиотеки асинхронности. на них можно в целом натянуть любой php фреймворк который соответствует psr-7

но повторюсь, не зря php'шники переходят на го вот прям не зря =)) я не знаю как в питоне, но php сообщество пока не готово к асинхронной модели =))

Sly32 #:
В питоне использование потоков довольно специфично из-за наличия GIL, а вот использованеи процессов дает толк. Конечно если это многоядерный проц. Например добавление 10000 записей в базу в 4 потока сокращает время с 77 сек до 17 примерно.

я для таких задач использую очереди, без всех этих встроенных сомнительных многопоточных библиотек. Просто пишу демона обработчика на пхп, запускаю его через системд в нужном количестве экземпляр а они в свою очередь являются консьюмерами =)) не совсем понимаю зачем для такой задачи многопоточность в языке =))

Но вот на го у меня есть сервер tcp который принимает подключения от IoT и там мне нужна многопоточность так как эти соединения постоянные с передачей данных в обе стороны =)) в общем все зависит от специфики, но сделать большой энтерпрайз (монолит) на пхп проще чем на го =))

Таких инструментов же уже вагон и маленькая тележка:

- swoole
- reactphp
- workerman
- amphp
- roadrunner (app server)

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

Sly32 #:
Да это правда, только скажите, кто из вас хоть раз упирался в производительность языка?

У меня проекты сейчас большие, мы логику с БД выносим на уровень приложения, так как скейлится проще, с php серверов надо будет меньше чем с питоном.

Sly32 #:
А если пойти в Data science, например(привет php)  то и для пайтона есть JIT реализация на Numba, которая ускоряет именно вычисления за счет компиляции кода, а для маньяков вообще Cython - смесь Пайтона и Си.

Я сомневаюсь что кто то с php пойдет в Data Science =))

Sly32 #:
Только вот почему-то высоконагруженные и массовые веб-сайты пишут на пайтоне, типа Ютупчика или Инсты) Так что и тут я б сильно задумался)

Ну есть же и альтернативы и на php =))

Ну а в защиту PHP хочу сказать то, что там производительность выше чем у Python =))
nash300 #:
для старта с php достаточно openserver экзешник скачать установить

опенсервер еще жив? а чего не денвер? =))

У php так то достаточно давно встроенный вэб сервер для разработки

Dram :
С другой у меня есть опасения, а не создает ли это лишнюю ненужную нагрузку? Или же все равно все сразу попадает в кеш и пофигу сколько там use ?

Не очень понятно при чем тут use и лишняя нагрузка. У вас там наверняка стоит какая то функция автозагрузки которая подключает класс в момент использования, use никак на это не влияет, если конечно ваше ядро не грузит сразу весь код где-нибудь в единственном файле autoload.php

Dram :
И вот я не знаю - правильно это или нет? С одной стороны удобно, один контроллер на весь компонент, быстро что-то найти.

Правильно или нет тут вам решать, мы же не знаем что за компонент, если вы форум называете компонентом, то тогда не правильно, если форму регистрации то правильно. Контроллер отвечает за связь между моделью и представлением, не больше не меньше, весь код там примерно вот такой

class CustomController extends Controller
{
    public function indexAction(UserService $userService, CustomService $customService): ResponseInterface
    {
        $collection = $customService->getItems($userService->getId());
        return $this->getView()->render('template-name', ['items' => $collection]);
    }
}
Всего: 4110