Обновить
413
Александр Макаров@SamDark

PHP, Yii

676
Подписчики
Отправить сообщение

А эти ответы где-то разве видны? Трекер-то закрытый...

Это традиция ещё со времён Opera.

Ну, раз часто апеллируют, значит проблема с удобством определённо имеется. Я предложил как её можно решить не забив на безопасность.

При чём тут другие?

Стив Балмер ушёл на пенсию в 2014-м, прихватив с собой анти-OpenSource политику. Обновите свои убеждения.

Много вариантов:


  1. Выделить цветом любые символы, которые запрещены в URL (то есть которые потом по правилам IDN кодируются и интерпретируются).
  2. Выделить символы, отличные от большинства символов алфавита.
  3. Если присутствует визуальное преобразование, показывать значок аля warning. При нажатии показывать реальный URL.
  1. Покрасьте не латыницу в другой цвет и проблема будет решена.

Bash прекрасно работает под Windows.

И это на винде где разрешение таймера как раз и есть 1-2 мс. На Linux должно быть меньше.

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

У Yii не так много замыканий. Я запустил Yii 2 и получил ответ за 1-2 мс. А в Yii 3 поддержка RoadRunner и Swoole, вероятно, будет из коробки.

Верно. На всё, что инициализировано или закешировано.

да и в этом нет большого смысла

Единственное что срезает RoadRunner — это бутстрап. И вот в вашем варианте не ясно, сколько занимала изначально инициализация, а сколько непосредственно работа.


получаем большие пачки данных от клиентов

Network bound? Это всё потенциально даёт флуктации в измерениях, которые сильно искажают результаты тестирования. В этом случае, как мне кажется, будет более уместен hello world.

А можно показать, что именно делает скрипт?

один модуль должен выполнять только одну задачу, не забывай об этом!

Интересно, почему так много ошибок в понимании S из SOLID? "A class should have only one reason to change" не означает что задача только одна. Это означает что пользователи модуля или используют его полностью или не используют никак.


Ну а посыл в статье нормальный. Я про это давно уже повторяю.

С numWorkers > 1 не работает?

Может на github его?

Если вы считаете что Single responsibility principle — это про то, что класс, или же модуль должен делать только что-то одно — то вам обязательно нужно прочитать хоть бы главу про Солид. Ибо то определение, что дано выше — это следствие, но никак не определение самого принципа

Не "делать что-то одно", а делать что-то логически связное так, чтобы потребитель использовал это целиком, но не по частям.


Например, внезапно, вы решите использовать вместо Postgresql MongoDb, или вообще файлики, или использовать mock’нутые данные, операции с которыми будут производится в памяти. И при некоторых условиях — это может заставить переписать почти всю логику.

Уверены что будет меняться — делаете интерфейс. Затупливаете и не можете выбрать — делаете интерфейс, но сначала убедитесь что в этот интерфейс лягут возможные реализации. С другой стороны, иногда хорошо именно завязаться на тот же PostgreSQL потому что иначе мы ограничим себя очень небольшим набором возможностей СУБД, который допустимо использовать. Но тут уже нужно быть уверенным.


Дядя Роб, также рассказывает о том, как детали реализации могут навредить вашей системе, и не дать эволюционировать без боли в дальнейшем.

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

Комментарий был про "нарытую" информацию по цифровому следу кандидата, а не про задачи.

Информация

В рейтинге
6 070-й
Откуда
Воронеж, Воронежская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность