• Как правильно хранить контент поста?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    ksnk,
    Для ББ кода - это еще один код, вставленный в текст. Для html появится желание обойтись без дополнительного парсинга исходников и вставить кнопку как есть, со стилями и скриптом, или хотя бы с классами.
    Открою мааааленький секрет: Практически все тексты обрабатываются перед выводом. Некоторые для той же вставки рекламы, некоторые для обработки какого-то функционала, который никак кроме обработки метаинформации по другому не вставишь, некоторые именно для парсинга чего-то типа ббкодов(например если это непремодерированные данные от пользователей). Просто если данные введены из надежного источника и содержит готовый отформатированный хтмл, обработка становится в разы проще, например не нужны регулярки на каждый чих, можно просто найти нужный тег и заменить его на что-то другое стр_реплейсом... По этому никто не будет соблазняться вставкой кнопки в текст.
  • Как правильно хранить контент поста?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    Неизвестный Пользователь,
    насчет лишних выборок тоже понимаю.
    Проблема не в лишних выборках, а в структуре, которая на сегодняшний день считается классически малооптимизируемой.

    если речь о порядке, то разные посты могут содержать разное количество тех же самых заголовков (именно заголовки части контента, подзаголовки, подпункты, etc), которые могут находиться в произвольных местах. естественное дело, учитывать структуру необходимо.
    То есть "заголовки" не будут плавать и прочие блоки не будут плавать внутри контента выше-ниже, а просто будут иметь другой вид? Условно у вас есть название статьи, главная картинка, шорт дескрипшн, и неизменный текст статьи, элементы внутри которого просто стилизованы по разному? Не находите что проще задать им 8 тегов и забыть про какие-то там разбиения? Тем более что и семантически это положительно отразится на контенте, и краткость по сравнению с вашими шорттегами не ухудшится (например что вы там насокращаете в тегах <h1>,<h2>,<h3>?.. Ну или сократите <span> до [sp]?..).

    видел также пост на хабре, где человек ровным счетом также хранил html код, перешел на подход похожий на второй, количество хранимой информации уменьшилось в 4 раза (имхо, разница отличная).
    Во первых накладные расходы на создание дополнительных записей и индексов сожрет сильно больше места, во вторых уверен что подход был похожий, но не такой, и в третьих - возможно что хтмл у товарища занимал СИЛЬНО больше места чем требовалось для обычного поста, то есть это были скорее всего совершенно другие данные. В вашем случае я привел экономию, если у вас тегов ОЧЕНЬ много, возможно вы выгадаете НЕМНОГО больше места чем описано у меня(вам все равно придется как-то обозначать все теги которые вы меняете, и это не сократит ВЕСЬ текст в 4 раза никак), но СИЛЬНО потеряете в производительности.
  • Как правильно хранить контент поста?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    С точки зрения суммарной стоимости владения (TCO) база данных всегда будет дороже чем файловая система. А самым дешевым будут хранилища типа Amazon S3, MS Blob, G-Drive. Ну если пересчитать удельно сколько стоит гигабайт.
    Это относится только к собственным серверам, и с натяжкой к арендным мощностям. На "готовых" хостингах например вы платите фикс прайс, не зависимо от использования/неиспользования бд. Ну и тут в целом речь не про "дешевле ли в файлах", а про "хранить какую-то часть данных в бд или генерировать ее программно", что совсем не одно и то же.
  • Как правильно хранить контент поста?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    Неизвестный Пользователь, не понятно почему блоки контента у вас "двигаются"? Что за контент такой?
  • Как с помощью смартфона проверить ширину лазерного реза?

    ThunderCat
    @ThunderCat
    Для того чтобы сплющить смартфон до нужной толщины нужен щуп нужной толщины, а если щуп уже есть, то зачем нам еще один щуп? )))
  • Как с помощью смартфона проверить ширину лазерного реза?

    ThunderCat
    @ThunderCat
    99% что нормальной точности на оптике смартфона просто линейно недостаточно, чтобы вымерять 2 сотки. Хотя я видел какие-то микроскопы для смартфонов на алике, а-ля прищепка...
  • Что я неправильно сделал в связях таблиц?

    ThunderCat
    @ThunderCat
    green300, Ничего не понятно. Напишите что за запрос вы создали и как поменяли?
  • Что я неправильно сделал в связях таблиц?

    ThunderCat
    @ThunderCat
    green300, Во первых либо звездочка, либо перечисление, и перечисление лучше. Во вторых - как я и написал, допишите алиасы к дублирующимся полям в выборке.
  • Что я неправильно сделал в связях таблиц?

    ThunderCat
    @ThunderCat
    так а где связи то? Где запрос?
  • Каким методом можно вернуть переменную из proc_open?

    ThunderCat
    @ThunderCat Куратор тега PHP
    aspirantes,
    Так вопрос в этом и состоит, какой метод для этого подойдёт?
    Никакой, так как поток это по умолчанию набор байт, никак не связанный с пхп (например кусок открытого файла), какую переменную вы хотите извлечь оттуда - загадка. Собсно stream_get_contents() возвращает строку ровно по той же причине - в пайпе всегда содержится набор байт, а не объекты какого-либо языка.
  • Почему шифруются данные в БД mysql?

    ThunderCat
    @ThunderCat Куратор тега PHP
    iiideb, первое что нужно сделать - проверить что вы задаете верные данные на уровне пхп:
    //...
    $params = [
                ':user_name'=> $this->user_name,
                ':user_email'=> $this->user_email,
                ':user_password'=> $this->user_password,
                ':user_profile'=> $this->user_profile,
                ':user_status'=> $this->user_status,
                ':user_created_on'=> $this->user_created_on,
                ':user_verification_code'=> $this->user_verification_code
            ];
    var_dump($params); exit();
    //...

    Так же, поправить структуру таблицы, задать user_id первичным ключом и автоинкрементным полем.
    В идеале переименовать его в id, как рекомендуется в кодестайлах.
  • Почему не отправляется форма?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Andr_ey56, Короче, не надеюсь на вашу внимательность и сообразительность,
    $mail->Subject = 'У вас письмо!' //здесь пропущена точка с запятой в конце строки
    $body = '<h1>Заявка!</h1>';

    Учитесь читать ошибки и хотя бы базовому синтаксису...
  • Почему не отправляется форма?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Andr_ey56,
    unexpected variable "$body" in /var/www/u2142199/data/www/andreykrylov.ru/sendmail.php on line 26
    Читаем, переводим, понимаем, фиксим - профит.
  • Почему не отправляется форма?

    ThunderCat
    @ThunderCat Куратор тега PHP
    AUser0, Все мы замечательно знаем что бывает "вдруг" )
  • Почему не отправляется форма?

    ThunderCat
    @ThunderCat Куратор тега PHP
    AUser0, Зачем? Там вообще не факт что хоть что-то работает на фронте, какой смысл дебажить бэк? И сделает он error_log($mail_debug); , дальше же он ничего не поймет что делать...
  • Как найти причину высокой нагрузки WordPress сайта на хостинг?

    ThunderCat
    @ThunderCat
    В OpenCart такие проблемы тоже есть?
    Такие проблемы рано или поздно будут в любой готовой системе, как только вы сделаете какой-то немного нестандартный функционал. Проблема не в конкретной цмс, а в парадигме цмс как класса софта.

    Чем можна заменить WordPress?
    Чем угодно, просто это может совершенно никак не повлиять на производительность. Крупные магазины пишутся под задачу, учитывая нюансы функционала и проектируя архитектуру под задачу.

    В вашем случае стоит найти человека способного разобраться в вашей локальной проблеме, думаю стоит поискать на фрилансе разработчика под вордпресс (да, такие существуют, сам в шоке..) с задачей сделать профилирование и оптимизацию. Скорее всего будет дешевле и проще.
  • Есть ли слово из переменной в списке (разделено запятой) в бд?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    Константин Цветков,
    CONCAT( ',', keywords, ',') LIKE '%,yandex,%'
    Кроме того что решение само по себе кривое, так еще и как минимум не будет работать если yandex первое слово в списке.
  • Как правильно настроить Server-Sent Events в PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    iljaGolubev, чисто из любопытства - как вебсокет может решить вышеозвученную проблему?
  • Почему текстовый файл (.txt) превращается в бинарный?

    ThunderCat
    @ThunderCat Куратор тега PHP
    weranda,
    Океюшки, вот вам код.
    Океюшки, вот вам совет: Не пихайте непроверенные данные в файлы, которые лежат у вас на сервере. У вас код
    1) берет данные из части хтмля (т.е. открытых пользователю данных)
    2) Отсылает их на сервер без проверки, что еще пол беды
    3) Серверная часть тупо пишет в файл все что приходит в пост запросе, который я могу повторить за 1 минуту, напихав вам в файл содержимое dev/urandom весом в 50гиг...
    Думаю это не ок...
  • Возможно ли на php создать асинхронный парсер?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Василий Банников, имхо мальчик путает асинхронность с многопоточностью...