Это всё далеко от уровня воткнуть железный прут в землю или протянуть трос между столбами.
Ну так, а я о чем пишу?!
Так и напишите, что хз как, но теоретически в каждом отдельном случае создается инженерный проект.
Чем вряд ли кто будет заниматься, в обсуждаемых вопросах.
Griboks, да не жаль вам, раз такой бесполезный комментарий.
Хочется по делу, напишите, какую защиту использовали. Какого типа? Если нескольких, то как стыковали.
Как уже написали, у кого-то и без защиты все работает. Поэтому, если все норм, то не факт, что именно защита работает.
И, к слову про грозозащитный трос, оборудование горит не потому что молния бьет прямо в провода.
Я бы "Чистый код" Мартина вообще бы не трогал. Слишком он бросается в крайности, а в реальной жизни нужен баланс. Лучше начать с "Совершенного кода" Макконелла, он более жизненный, и будет с чем сравнить.
Зачем "потом"? Сразу в sql и группировать по title с max или min по id. Другое дело так ли надо, да и выглядит очень подозрительно, вполне возможно ошибка в структуре, как уже написали.
link_vrb, откуда пароль возьмется? Где-то будет лежать в открытом виде? Но даже если нет, аргументы команды никогда не являлись безопасными, они могут логироваться, сохраняться в истории, а иногда вообще доступны любому мимо проходящему.
mayton2019, не совсем так, бывает даже от обычных пользователей далеких от серверов и протоколов, слышу, что они покупают белый ip. А значит даже всех костылей не достаточно.
Но тут уж, что имеем, то имеем.
res2001, ресурс IPv4 давно исчерпан. Он все еще живет за счет костылей, потому что фактически адресация поисходит не через него, а с помощью дополнительных механизмов. Большинство машин в интернете по факту не используют IPv4 как интернет протокол, а используют его как протокол локальной сети для подключения к шлюзу, который уже имеет реальный IP и использует его именно как интернет протокол. Когда целый город сидит в интернете под одним адресом, тут явно что-то не то. Вычленение адреса машины не по IP, а по динамическому порту через NAT-таблицы, тоже что-то явно не то. Невозможность подключиться снаружи к такой машине - полное фиаско. А все остальные костыли типа stun лишь подтверждение, что протокол не выполняет своей функции, что как интернет протокол IPv4 давно умер, но его труп дергают за веревочки, делая вид что он жив. Что все к этому идет было понятно даже не в 2000, а уже в 1980-х, поэтому паника обоснованная, но как всегда никто не хочет сделать правильно, если и так деньги платят, поэтому насоздавали костылей и довольны. Сейчас все готово для IPv6, но зачем переходить, если можно барыжить дефицитными IP, и пофиг на то, что IP адреса нужно постоянно переписывать в пакете, что нужно хранить таблицу соответствия портов и адресов, что нужны специальные сервисы типа stun, чтобы заставить работать этот зоопарк.
Adamos, если речь про fixed array, то у него свои ограничения и соответственно не всегда можно лего заменить им стандартный массив. А вот замечание alexalexes про передачу по ссылке, чтобы не копировать весь массив, наверное более часто можно встретить. Опять же, если знать как php работает с памятью и помнить про copy-on-write, то и это не всегда нужно.
По ссылке передается только то, что указано передавать по ссылке, в том числе массивы. Объекты хоть и не создаются заново при передаче в переменную, это не тоже самое, что передача по ссылке, там есть свои нюансы.
И, хотя, я не согласен с Ипатьев по поводу php "запустился, поработал долю секунды, завершился", очень часто работал с демонами, которые работают неограниченно долго. Но, согласен, вопрос "на стеке или в куче" для php не столь актуален. Хотя теоретически вопрос очень интересный, насколько знаю, с 7 версии zval хранятся именно в стеке, но не смогу рассказать подробно как организуется хранение, сам хочу поизучать вопрос.
PHP отработал и забыл, то есть туже работы выполняют при каждом вызове скрипта. В какой то мере это и лучше, память не течет и все сбрасывается при каждом запросе.
совсем не так, когда речь идет о fpm, разве что в cli так, и то, там можно включить кеширование байт-кода.
Нет, видно дело в другом. Если выделить target - nums[i] в отдельную переменную, то производительность будет гораздо выше, чем в рассматриваемом случае. И в байткодах этого не видно.
Скорее всего это связано с оптимизацией хранения переменных с малыми значениями, но наверняка трудно сказать.