@prophp7

Страница 619 из 1387
Aleh
15.09.2017
13:22:48
можно еще микрофреймворк сделать с 0 строк кода, ваще стратовать резво будет

Dmitry
15.09.2017
13:22:50
для микросервиса, у которого бутстрап отъедает значительную часть процессора

Mikhail
15.09.2017
13:22:56
use Siler\Functional as λ;

Google
Dmitry
15.09.2017
13:23:31
Впрочем, что-то такое можно и самому написать.

Dmitry
15.09.2017
13:23:50
index.php

Евгений
15.09.2017
13:24:16
index.php
а в нём пишешь include 'vanilla.php'; - вуаля )

Dmitry
15.09.2017
13:24:52
Sergey
15.09.2017
13:28:20
Впрочем, что-то такое можно и самому написать.
берешь reactphp, пишешь на нем полноценный application сервер... вопросики, профит

у меня был вариант - сделать application-сервер на go, который бы готовил psr-7 сообщения и отправлял бы их воркерам

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

(потому что врядли выйдет так что не течет))

Dmitry
15.09.2017
13:29:31
От задач зависит, мультиплекс может оказаться избыточный, а писать на нем посложнее

Sergey
15.09.2017
13:30:14
От задач зависит, мультиплекс может оказаться избыточный, а писать на нем посложнее
ну задумка была в том что бы уменьшить именно бутстрап тайм, без необходимости хоть сколько нибудь переписывать приложения. Правда минус - забываем о сессиях

и то не факт

Dmitry
15.09.2017
13:30:59
ну не, под бутстрапом я подразумеваю разбор запроса, роутинг... тут особо никуда не денешь

Google
Sergey
15.09.2017
13:31:19
Dmitry
15.09.2017
13:31:36
ну так тут разговор то был о том, нафига фалкон нужен ;)

Sergey
15.09.2017
13:31:37
и если у тебя именно это узкое место - имеет смысл смотреть в сторону всяких там go

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

Dmitry
15.09.2017
13:32:55
ну да... о том и речь, для обычного приложения профита мало, там другие затраты... а для тех приложений, которые фалкон реально ускоряет... проще на чистом пхп написать, или на го ;)

Sergey
15.09.2017
13:32:56
у меня моя апишка на симфонях отдает мне мои json-ки за ~30-50ms и мне в целом этого хватает.

есть конечно отдельные эндпоинты которые тупят по пол секунды но это из-за лени

Борис
15.09.2017
13:35:39
и если у тебя именно это узкое место - имеет смысл смотреть в сторону всяких там go
В мире ПХП таких кейсов 0,0001% :) Врядли в этом чате есть человек, у которого НЕ бизнесслогика (все что в контроллере) занимает < 50% времени обработки, чтобы думать, что нужно что-то быстрее современного фреймворка. Опять же, если такой человек найдется, то это будет очень специфичный запрос к API - отличный повод для этого запроса НЕ использовать ПХП вообще - серега опять прав

Sergey
15.09.2017
13:36:22
dypa
15.09.2017
13:36:39
расскажи подробнее если позволяет время

Sergey
15.09.2017
13:37:09
в смысле?

ну просто вырублены лишние листенеры, продакшен, opcache все дела

dypa
15.09.2017
13:37:46
ну как ты добился подобных показателей и какой железо

Sergey
15.09.2017
13:37:56
ну железо не слабое)

Борис
15.09.2017
13:37:59
со включеной секурити?
На что это влияет? Как-будто я не смогу наговнячить на вашем любимом {select technology or language here} такой "свой секурити" что будет больше любого гавноПХП фреймворка?

dypa
15.09.2017
13:38:19
спасибо за ответ

Sergey
15.09.2017
13:38:38
со включеной секурити?
да, у меня не так много правил для фарвола и листенеры секьюрити не то что бы сильно батлнек создают

Борис
15.09.2017
13:38:54
ну просто вырублены лишние листенеры, продакшен, opcache все дела
сначала прочел как-будто вырублен лишний opcache.... не понял сначала )))

Google
Sergey
15.09.2017
13:38:55
я помню что у тебя повеселее конфиги были

Sergey
15.09.2017
13:40:53
на нашем монстре за 200мс отдает где-то
ну так у меня не то что бы большой проект)

из них 40мс только это секурити и роутер
не думал заменить symfony/routing на какой побыстрее?

хотя думаю секьюрити прожорливее

Sergey
15.09.2017
13:41:23
просто оптимизировать роуты нужно, в нужном порядке

там больше тысячи роутов

Oleg
15.09.2017
13:45:34
А в symfony есть встроенные события на create\delete\update модели? Или придется их вручную реализовывать в каждой?

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

Борис
15.09.2017
13:50:44
это к чему вообще сказано было?
Я это сказал к тому, что секурити бывает разное, даже в самой симфони. Можно написать один рул, а можно подклчить ACL, например. И обратная сторона, на любом фреймворке\технологии можно накидать столько секурити что тянуть будет очень медленно. Нужно мерять производительность не "у меня включен не включен компонент" а "поставил я XHPROF profiler и вот такое-то место жрет 30% времени" - и смотерть на него. Также нужно помнить, что настройки по умолчанию (что в пыхе, что в симфони) сделаны для народа, а у народа ситемы разные.... Часто бывает, что именно для специфике вашего проекта что-то подходить не будет. Вот например для 1000 разных рулов симфони роутер по дефолту явно не оптимально настроен (если не ошибаюсь, роутер просто идет линейно, и сравнивает каждый роут с вашим запросом через preg_match() ) что конечно будет медленно, если ваш самый частый урл будет последним в списке).

Борис
15.09.2017
13:55:16
В симфонии нет моделей. В симфони из коробки доктрина, в ней есть

Dmitry
15.09.2017
13:56:17
Модели в симфони есть ;) Нету персиста моделей, т.е. слоя работы с базой. А желаемые события - это как раз к базе относится, а не к модели, как я понял.

$iD
15.09.2017
13:57:47
так в доктрине их тоже нет

Google
$iD
15.09.2017
13:57:52
"моделей"

Sergey
15.09.2017
13:57:57
есть preUpdate/prePersist и т.д.

"модель" для доктрины это совокупность сущностей и vo

ну и да, следует еще разделять "модель" по типу, мы говорим о data model или модели описывающей поведение?

$iD
15.09.2017
13:58:42
но моделей, О которых изначально имелось ввиду - нет :P

Sergey
15.09.2017
13:58:47
потому что последнее можно ну очень по разному готовить

но есть CRUD генераторы

$iD
15.09.2017
13:58:59
+

Dmitry
15.09.2017
14:01:37
думаю, говоря модель он подразумевает сущность

Sergey
15.09.2017
14:02:26
думаю, говоря модель он подразумевает сущность
стоит отказаться от столь двусмысленных терминов

Oleg
15.09.2017
14:03:13
Модель ни что иное как прослойка, существующая для того чтобы не работать с базой напрямую.

Aleh
15.09.2017
14:04:34
модель не может существовать без базы? И это про какую модель вообще?

Oleg
15.09.2017
14:05:18
модель не может существовать без базы? И это про какую модель вообще?
Для любителей идти глубже уберу слово "база" и заменю его на "данные"

Aleh
15.09.2017
14:05:51
публичный интерфейс объекта нужен чтобы не работать с данными напрямую

Sergey
15.09.2017
14:06:14
Модель ни что иное как прослойка, существующая для того чтобы не работать с базой напрямую.
открываем словарик любой и читаем определение слова "модель". > Модель - представление предмета, системы или идеи в форме, отличной от формы целого, т.е. самого предмета. база данных - лишь частный случай представления данных.

Для любителей идти глубже уберу слово "база" и заменю его на "данные"
модель это данные + поведение для работы с этими данными

про поведение почему-то люди забывают

Nick
15.09.2017
14:07:04
привет всем есть какая-то библиотека на пхп для работы с 1с

Sergey
15.09.2017
14:07:05
ну и опять же в разных контекстах "модель" означает разные вещи потому что это разные модели)

Google
Dmitry
15.09.2017
14:07:31
данные + поведение - это про любой объект можно сказать, тут важно именно что оно описывает что-то

Fayozjon [CybernatiC]
15.09.2017
14:07:53
Кто нибудь трогал тут Yii??

Sergey
15.09.2017
14:07:58
Fayozjon [CybernatiC]
15.09.2017
14:08:13
каждый раз добавляя в корзину товар создается новая сессия видимо

Sergey
15.09.2017
14:08:14
Кто нибудь трогал тут Yii??
никто не признается

Dmitry
15.09.2017
14:08:16
Однозначно ;)

Aleh
15.09.2017
14:08:20
что “модель” это описание "чего-то"

Fayozjon [CybernatiC]
15.09.2017
14:08:20
easyii cms

Aleh
15.09.2017
14:08:23
а не само что-то )

Dmitry
15.09.2017
14:08:28
;) я трогал ;)

Sergey
15.09.2017
14:08:37
Fayozjon [CybernatiC]
15.09.2017
14:09:55
;) я трогал ;)
Можно я тебя в лс побеспокою? буду тут писать точно скажут что я извращуга

Dmitry
15.09.2017
14:10:29
давай лучше там вот побеспокой https://t.me/phpclubru

Борис
15.09.2017
14:10:40
В фальконе есть встроенные события, что позволяет логику обработки этих событий вынести за пределы модели как раз в тематический модуль описывающий поведение
У вас есть реальный опыт работы с ивентами? Просто интересно, что будете делать, если вы положились на встроенные ивенты CRUD и тут вам прилетает задача: Отослать емейл, если человек меняет сущность. Все ок, вы вешаете onUpdate -> sendEmail и счастливы. Но тут бизнесс требует отсылать емейл, только ели меняете AB поля, а если CD то не нужно, и не нужно если письмо хочет отправится вам самим же. А так же вместе с емейлом поменять флаг где-нибдуь в другой моделе..... И вот тут самое интересно, для любого нового разработчика (да и для вас самих через год) модель выглядит просто как два пальца - $model->save(), EvendDispatcher->riseEvent("model.save"). А там пиздец..... Всем кто дочитал до сюда - используйте ивенты в своем коде ТОЛЬКО и исключительно ТОЛЬКО для понижения связанности между компонентами кода (собственно, для чего этот паттерн проектирования и создавался) и НИКОГДА для бизнесслогики. Лично видел как умирали такие проекты как я описал.

Oleg
15.09.2017
14:10:47
Да, господа лингвисты и искатели сути в каждом слове. Вы правы, но применимо к нашей теме - PHP, модель в каком бы то ни было виде это программная прослойка.

Dmitry
15.09.2017
14:10:47
личку не оч люблю... игнорить неприлично ;)

Fayozjon [CybernatiC]
15.09.2017
14:12:20
ок ушел срать туда

Aleh
15.09.2017
14:13:03
поэтому такое определение не несет никакой ценности и смысла

Sergey
15.09.2017
14:13:21
Я это сказал к тому, что секурити бывает разное, даже в самой симфони. Можно написать один рул, а можно подклчить ACL, например. И обратная сторона, на любом фреймворке\технологии можно накидать столько секурити что тянуть будет очень медленно. Нужно мерять производительность не "у меня включен не включен компонент" а "поставил я XHPROF profiler и вот такое-то место жрет 30% времени" - и смотерть на него. Также нужно помнить, что настройки по умолчанию (что в пыхе, что в симфони) сделаны для народа, а у народа ситемы разные.... Часто бывает, что именно для специфике вашего проекта что-то подходить не будет. Вот например для 1000 разных рулов симфони роутер по дефолту явно не оптимально настроен (если не ошибаюсь, роутер просто идет линейно, и сравнивает каждый роут с вашим запросом через preg_match() ) что конечно будет медленно, если ваш самый частый урл будет последним в списке).
в чате капитаны узнали что существуют профайлеры

Oleg
15.09.2017
14:14:58
У вас есть реальный опыт работы с ивентами? Просто интересно, что будете делать, если вы положились на встроенные ивенты CRUD и тут вам прилетает задача: Отослать емейл, если человек меняет сущность. Все ок, вы вешаете onUpdate -> sendEmail и счастливы. Но тут бизнесс требует отсылать емейл, только ели меняете AB поля, а если CD то не нужно, и не нужно если письмо хочет отправится вам самим же. А так же вместе с емейлом поменять флаг где-нибдуь в другой моделе..... И вот тут самое интересно, для любого нового разработчика (да и для вас самих через год) модель выглядит просто как два пальца - $model->save(), EvendDispatcher->riseEvent("model.save"). А там пиздец..... Всем кто дочитал до сюда - используйте ивенты в своем коде ТОЛЬКО и исключительно ТОЛЬКО для понижения связанности между компонентами кода (собственно, для чего этот паттерн проектирования и создавался) и НИКОГДА для бизнесслогики. Лично видел как умирали такие проекты как я описал.
Ивенты для модели в моём случае как раз для того чтобы правильно распределить данные по хранилищам. События бизнес логики реализуются в контроллерах.

Страница 619 из 1387