pupseg, PHP при утечках в stderr должен писать отчет. Есть что-то в нем? report_memleaks = 1 ? pm.max_requests не 0?
DenisVS, на эту тему можно долго спорить, а лучше показать:
Single quotes + concat: 0.0072970390319824
Double quotes + interpolating: 0.0037209987640381
10000 итераций на склеивание вот такой строки:
Hello, my name is Alex, i am 25 years old, and i living in NY now
Жирным выделены переменные. PHP7.
Оптимизировать нужно те части, который по профайлеру долго отрабатывают, циклы, медленные структуры данных, медленные библиотеки и т.д.. А тут надо писать как нравится. Но мне больше нравится читать интерполяцию чем конкатенацию.
Правильно:
<?php$name = 'Вадим';// Все что правильно:echo $name; // правильно, если выводится одна переменная без какого-либо дополнительного текстаecho "Привет, меня зовут {$name}!"; // правильно, если переменная + текстecho "Привет, меня зовут " . $name . "!"; // правильно, если переменная + текст (конкатенация)echo 'Привет, меня зовут ' . $name . '!'; // правильно, если переменная + текст (в одинарных кавычках). Тоже конкатенация// Все что работает, но...echo "$name"; // незачем кавычкиecho "Привет, меня зовут $name!"; // сработает, но...echo "Привет, меня зовут $nameыч"; // выведет все, кроме переменной, т.к. переменная $nameыч не определена. А вот {$name}ыч в этом случае сработает, т.к. переменная заключена в фигурные скобки// Неправильноecho ". $name ."; // это не правильная конструкция, так как ваш программист имел ввиду конкатенацию вне кавычек, вы напутали
Короче говоря, пишите так, потому что так читабельнее. Микрооптимизациями тут заниматься бессмысленно.
echo "Привет, {$name}, как дела?";
99% людей не отличат, но это не значит что поисковики не умеют отличать бесплатные сертификаты от сертификатов купленных. В любом случае, я бы ставил Lets Encrypt и не парился бы.---------- Добавлено 08.06.2017 в 20:02 ----------
Никаких косяков не наблюдается. Стремная тема, конечно, но в целом если все настроить то все будет ок.
Maxim-KL, разница в том, что Lets Encrypt это не Wildcard сертификат, но так как он бесплатен, ничто не мешает вам выписать себе 100 штук на каждый из поддоменов, итого получив 100 сертификатов. Важно, чтобы все они продлялись автоматически. Certbot обычно это автоматизирует.
Если вы хотите сделать разделы на сабдоменах или какие-то группы для пользователей, то тогда вам нужен wildcard сертификат, который будет один на весь корневой домен и сабдомены.
Ещё разница в том, что Lets Encrypt не заведется на очень древних устройствах (могу ошибаться, Android 2.x и Windows XP SP2 и ниже).
Ещё играет тот факт, что бесплатный сертификат как бы это абсурдно не звучало - бесплатен. А значит никакого веса не имеет, его просто выдали, чтобы шифровать соединение. И все. Платные же имеют чуть больше статуса и веса.
По ценам не скажу, но скажу что нужно потом прогнать сервер через https://www.ssllabs.com/ssltest/ чтобы убедиться, что сертификат установлен правильно.
Если не секрет, как вы меряете этот параметр?
Не проще? Нет ничего проще, чем ничего не делать. Там это все встроено. Даже по клавишам стучать не надо.
Вы считаете строки проекта? Или только то, что сами написали? И там и там число их будет примерно одинаковое +/-.
Это можно сделать в любой CMS, в которой можно создавать таблицы и писать код на PHP.
Сначала он говорит
а потом
Затем, он узнает свое второе имя...
...и ретируется.
3 года в актерском, а потом забросить, но какая игра! Мы будем скучать.
Сайт визитка на
это уже не сайт визитка. Но ладно, раз вы изначально задачу не понимаете, то есть предположение, что и дальше ничего не поймете.
borisd, я вас просил привести пример мелочи, но вы ничего конкретного не сказали. Наверное потому, что любая мелочь реализуема, если это действительно мелочь. Если это не мелочь, тогда ставится под вопрос внедрение данного функционала, если он не основополагающий в конкретной бизнес-модели. Если без него никак, или его внедрение покроет затраты на внедрение, тогда выбирается: прикостылить к WP (можно в принципе все что угодно, и даже вынести в микросервис, на другую машину, на другой язык и другой стек технологий), или же писать на фреймворке. Но нужно учесть, что если писать на фреймворке, тогда нужно описать тонны того бойлерплейта (образно говоря), который в WP уже описан, и блоги, и посты, и поиск, и админку, роутинги и модели, адаптеры под кеш, работа с изображениями, архитектуру БД, и все то, с чего начинается проект. Все упирается в рентабельность. И да, что вы видите на сайте ресторана, чтобы выйти в топ по запросу "мухосранск аренда банкетного зала"? Что там должно быть? Игру браузерную? Пульс повара на главную через веб-сокеты?
Послушайте, я могу вам долго рассказывать о том, где важно качество. Но вы пишете не на C, вы пишете на мать его PHP. Тут нету дедлоков, тут нету Null Pointer Dereferencing, нету параллельности, нету каналов, нету корутин и много чего нету. Тут портянка когда, которая то строку обработает, то по шаблону переменные распихает, то данные из модели получит. Ещё роутинг забыл. Или вы там вероятностные структуры данных делаете, типа HyperLogLog, посчитать сколько у нас было заявок на сегодня, только примерно?
На PHP все пишут одинаково, нету никакого качества, особенно на фреймворках. Если ты осилил фреймворк, ты пишешь как одна из тысячи макак. И все. Если не осилил, то значит твой код вообще не попадает под слово "качество".
У меня всего несколько заказчиков, их задачи не покрывает WP, почему вы решили что покрывает? Если один это проект, где кодовая база на 70 состоит из дотнета и плюсов, второй - наш внутренний проект который разрабатывают несколько человек на разных стеках. PHP заказчики у меня были, раньше, теперь нет.
У меня есть опыт и разработки, и предпринимательства, и я затрудняюсь сказать где больше, но могу сказать, что важнее развиваться быстрее, чем это делают конкуренты. Скорость внедрения фич на Wordpress быстрее, чем где-либо, потому что все уже написано. И когда проект действительно будет нуждаться в покрытии тестами (прямо code coverage на 100%), тогда его и перепишут. А начинать с нуля проект на фреймворке, это значит что либо ты заранее знаешь чем твой проект станет, т.к. у тебя колоссальный опыт (не про ТС), либо похоронить заочно. Почитайте про пивот пойнт в бизнесе. Может поймете о чем я.---------- Добавлено 07.06.2017 в 12:30 ----------
Хотите сказать, что на сайте того автосалона, что вы указали как своего клиента, код покрыт тестами? Я понимаю, покрыть тестами ядро. Но что именно на том сайте покрыто тестами из бизнес-логики? Веб-формочки?
Вы забыли ему дата центр построить. CRM это почти всегда SaaS. И дешевле, и надежнее в разы, чем ваши поделки, потому что отточено временем.
Приложение есть в браузере, лепите бекенд сразу по мобильным фреймворкам. Или у заказчика нету смартфона? Или в смартфоне нету браузера? Или ему нужно приложение, потому что так модно, и у больших дядь есть приложение, а у него нет?
Пойдите и найдите свой пост, где вы предлагали для сайта визитки c несколькими страницами вместо HTML накатить Symfony.
Я понимаю ваше стремление быть современным, ну или вашего тим-лида, это похвально. Постарайтесь посмотреть на мир глазами заказчика.
Поэтому резюмирую. Фреймворки это:
- Highload (из-за отсутствие оверхеда на ненужный функционал)
- Уникальный функционал (стартапы в основном)
- Потому что как у больших дядь.---------- Добавлено 07.06.2017 в 12:33 ----------
И да, я не наезжал. Я не сектант WP. Я не люблю WP, у меня нет сайта на нем, и нету клиентов на нем. Ну а опытом мериться, это не профессионально. Вы же не знаете у кого что за плечами, верно?---------- Добавлено 07.06.2017 в 12:45 ----------
Вы влетаете в тему, и говорите вот что:
Не надо так. Вы не правильно понимаете.
Использование фреймворка и есть три пункта, и CI, и систему версионирования можно прикрутить к WP, и даже систему тестов, а значит это не исключает возможность использовать WP. Избыточный функционал, да, возможно, ровным счетом до тех пор, пока это влияет на ключевые показатели бизнеса (снижает прибыль из-за того, что сервер падает). Другой вопрос, прикрутите вы систему тестов к ресторану? И что вы там тестить будете? Что модель возвращает нужный объект?)
О, у вас тоже появилось такое ощущение?) У меня оно появляется каждый раз, когда вижу человека, который советует взять фреймворк (или боже упаси, писать с нуля) под самую что ни на есть базовую задачу. Эффект Даннинга-Крюгера называется, посыпанный преждевременной оптимизацией, учитывая аргументы про кеш и про избыточный функционал. Ещё скажите что вы по скраму работаете, и на смену стилей вам нужно подождать несколько недель, пока итерация не пройдет.