danforth

danforth
Рейтинг
153
Регистрация
18.12.2015

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}, как дела?";
Stek:
Если сертификат как тут - https://github.com/ , то да, это круто и солидно. Ну а обычные за 10 баксов, имхо от летскрипта ничем не отличаются. Мало кто будет лезть в информацию сертификата.

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

---------- Добавлено 08.06.2017 в 20:02 ----------

foxi:
Lets Encrypt нормально когда у вас пару говносайтов для души, не приносящих денег. Иначе постоянные косяки с не продлением сертификата каждые 3 месяца быстро надоедят. Лучше купить нормальный сертификат на пару лет.

Никаких косяков не наблюдается. Стремная тема, конечно, но в целом если все настроить то все будет ок.

Maxim-KL, разница в том, что Lets Encrypt это не Wildcard сертификат, но так как он бесплатен, ничто не мешает вам выписать себе 100 штук на каждый из поддоменов, итого получив 100 сертификатов. Важно, чтобы все они продлялись автоматически. Certbot обычно это автоматизирует.

Если вы хотите сделать разделы на сабдоменах или какие-то группы для пользователей, то тогда вам нужен wildcard сертификат, который будет один на весь корневой домен и сабдомены.

Ещё разница в том, что Lets Encrypt не заведется на очень древних устройствах (могу ошибаться, Android 2.x и Windows XP SP2 и ниже).

Ещё играет тот факт, что бесплатный сертификат как бы это абсурдно не звучало - бесплатен. А значит никакого веса не имеет, его просто выдали, чтобы шифровать соединение. И все. Платные же имеют чуть больше статуса и веса.

По ценам не скажу, но скажу что нужно потом прогнать сервер через https://www.ssllabs.com/ssltest/ чтобы убедиться, что сертификат установлен правильно.

borisd:
Скорость отклика - всего 9 мс.

Если не секрет, как вы меряете этот параметр?

borisd:
Зачастую это проще, чем делать на базе коробочной ЦМС. И кода там будет не тонны, а сотни строк всего, ну несколько тысяч.

Не проще? Нет ничего проще, чем ничего не делать. Там это все встроено. Даже по клавишам стучать не надо.

Вы считаете строки проекта? Или только то, что сами написали? И там и там число их будет примерно одинаковое +/-.

borisd:
Например, нужно реализовать дерево объектов разного типа (с разным набором полей, методов, с разной логикой работы и отображения), причем для каждого типа надо определить правила: какие типы допустимы в качестве родительских и какие в качестве потомков. Это банальный каталог, но нормальный, без глупых ограничений.

Это можно сделать в любой CMS, в которой можно создавать таблицы и писать код на PHP.

Сначала он говорит

Aisamiery:
Можно пруф, где я советовал взять фреймворк и тем более под базовую задачу, а то опять "звон" получается какой то.

а потом

Aisamiery:
Да и буду до сих пор предлагать, но не из за фреймворка, а из опыта.

Затем, он узнает свое второе имя...

Aisamiery:
Вообщем я понял, второе имя "звонарь"

...и ретируется.

Aisamiery:
За сим откланиюсь господа.

3 года в актерском, а потом забросить, но какая игра! Мы будем скучать.

Сайт визитка на

Aisamiery:
более 7000 страниц

это уже не сайт визитка. Но ладно, раз вы изначально задачу не понимаете, то есть предположение, что и дальше ничего не поймете.

borisd, я вас просил привести пример мелочи, но вы ничего конкретного не сказали. Наверное потому, что любая мелочь реализуема, если это действительно мелочь. Если это не мелочь, тогда ставится под вопрос внедрение данного функционала, если он не основополагающий в конкретной бизнес-модели. Если без него никак, или его внедрение покроет затраты на внедрение, тогда выбирается: прикостылить к WP (можно в принципе все что угодно, и даже вынести в микросервис, на другую машину, на другой язык и другой стек технологий), или же писать на фреймворке. Но нужно учесть, что если писать на фреймворке, тогда нужно описать тонны того бойлерплейта (образно говоря), который в WP уже описан, и блоги, и посты, и поиск, и админку, роутинги и модели, адаптеры под кеш, работа с изображениями, архитектуру БД, и все то, с чего начинается проект. Все упирается в рентабельность. И да, что вы видите на сайте ресторана, чтобы выйти в топ по запросу "мухосранск аренда банкетного зала"? Что там должно быть? Игру браузерную? Пульс повара на главную через веб-сокеты?

Aisamiery:
Вам показать картинку, что получается на выходе из "быстро и не дорого" или сами догадаетесь?

Послушайте, я могу вам долго рассказывать о том, где важно качество. Но вы пишете не на C, вы пишете на мать его PHP. Тут нету дедлоков, тут нету Null Pointer Dereferencing, нету параллельности, нету каналов, нету корутин и много чего нету. Тут портянка когда, которая то строку обработает, то по шаблону переменные распихает, то данные из модели получит. Ещё роутинг забыл. Или вы там вероятностные структуры данных делаете, типа HyperLogLog, посчитать сколько у нас было заявок на сегодня, только примерно?

На PHP все пишут одинаково, нету никакого качества, особенно на фреймворках. Если ты осилил фреймворк, ты пишешь как одна из тысячи макак. И все. Если не осилил, то значит твой код вообще не попадает под слово "качество".

Aisamiery:
Я не собираюсь с вами спорить, у вас свои заказчики у меня свои, задачи ваших заказчиков WP покрывает с головой и это хорошо, задачи наших заказчиков - нет. Я же не говорю всем резко пересесть на фреймворки, я к тому что не надо к ним относится настолько категорично, они такой же инструмент просто более универсальный.

У меня всего несколько заказчиков, их задачи не покрывает WP, почему вы решили что покрывает? Если один это проект, где кодовая база на 70 состоит из дотнета и плюсов, второй - наш внутренний проект который разрабатывают несколько человек на разных стеках. PHP заказчики у меня были, раньше, теперь нет.

У меня есть опыт и разработки, и предпринимательства, и я затрудняюсь сказать где больше, но могу сказать, что важнее развиваться быстрее, чем это делают конкуренты. Скорость внедрения фич на Wordpress быстрее, чем где-либо, потому что все уже написано. И когда проект действительно будет нуждаться в покрытии тестами (прямо code coverage на 100%), тогда его и перепишут. А начинать с нуля проект на фреймворке, это значит что либо ты заранее знаешь чем твой проект станет, т.к. у тебя колоссальный опыт (не про ТС), либо похоронить заочно. Почитайте про пивот пойнт в бизнесе. Может поймете о чем я.

---------- Добавлено 07.06.2017 в 12:30 ----------

Aisamiery:
Не у всех задачи заканчиваются на сдаче заказчику болванки с текстовыми страничками.

Хотите сказать, что на сайте того автосалона, что вы указали как своего клиента, код покрыт тестами? Я понимаю, покрыть тестами ядро. Но что именно на том сайте покрыто тестами из бизнес-логики? Веб-формочки?

Aisamiery:
Давайте попробую объяснить по другому. Например: сделали мы заказчику сайт, далее он попросил мобильное приложение (надо же управлять контентом там, то есть нужен бэкэнд), потом он чуть вырос, решил контролировать отдел продаж, попросил СРМ под себя, и центр мониторинга операторов кол центра. И так далее. Где тут применение WP?

Вы забыли ему дата центр построить. CRM это почти всегда SaaS. И дешевле, и надежнее в разы, чем ваши поделки, потому что отточено временем.

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

Aisamiery:
Можно пруф, где я советовал взять фреймворк и тем более под базовую задачу, а то опять "звон" получается какой то.

Пойдите и найдите свой пост, где вы предлагали для сайта визитки c несколькими страницами вместо HTML накатить Symfony.

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

Поэтому резюмирую. Фреймворки это:

- Highload (из-за отсутствие оверхеда на ненужный функционал)

- Уникальный функционал (стартапы в основном)

- Потому что как у больших дядь.

---------- Добавлено 07.06.2017 в 12:33 ----------

Aisamiery:

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

И да, я не наезжал. Я не сектант WP. Я не люблю WP, у меня нет сайта на нем, и нету клиентов на нем. Ну а опытом мериться, это не профессионально. Вы же не знаете у кого что за плечами, верно?

---------- Добавлено 07.06.2017 в 12:45 ----------

Aisamiery:
Заметьте, я ни кого не задел, что ваши знания ограничены, что вы хотите обмануть заказчика, что все вокруг гады, я такого нигде не говорил, это говорят обычно мои аппоненты

Вы влетаете в тему, и говорите вот что:

Aisamiery:
Я смотрю тут далеки ребята от ноды как от луны.
Aisamiery:
Я так понимаю у вас нет ни одного проекта на фреймворке.

Не надо так. Вы не правильно понимаете.

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

Использование фреймворка и есть три пункта, и CI, и систему версионирования можно прикрутить к WP, и даже систему тестов, а значит это не исключает возможность использовать WP. Избыточный функционал, да, возможно, ровным счетом до тех пор, пока это влияет на ключевые показатели бизнеса (снижает прибыль из-за того, что сервер падает). Другой вопрос, прикрутите вы систему тестов к ресторану? И что вы там тестить будете? Что модель возвращает нужный объект?)

Aisamiery:
Вообще я заметил тенденцию местных обсуждать то, в чем сами ничего не понимают и давать по этому поводу коммментарии и советы. Как говорится "слышу звон, но не знаю где он".

О, у вас тоже появилось такое ощущение?) У меня оно появляется каждый раз, когда вижу человека, который советует взять фреймворк (или боже упаси, писать с нуля) под самую что ни на есть базовую задачу. Эффект Даннинга-Крюгера называется, посыпанный преждевременной оптимизацией, учитывая аргументы про кеш и про избыточный функционал. Ещё скажите что вы по скраму работаете, и на смену стилей вам нужно подождать несколько недель, пока итерация не пройдет.

Всего: 1540