Задать вопрос
  • Как с помощью смартфона проверить ширину лазерного реза?

    ThunderCat
    @ThunderCat
    Василий Банников, если мерять на основании именно чистого изображения, то не подойдут однозначно, а с шаблонами сравнения может и проканать. Хотя идея кмк заведомо дохлая, так как оптический замер зазора переменной глубины будет требовать либо дрыгания смартфона выше-ниже, либо кучи сомнительных вычислений, основываясь на толщине материала, кривизне линз, кручении фокуса и тд...
  • Как правильно хранить контент поста?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    блоки не будут зависеть от html, изменил компонент - изменился вывод всех зависимых элементов. с обычным html так не выйдет - в бд уже будет храниться строгий html, соответственно для изменений придется вносить изменения в КАЖДЫЙ пост (и речь не о стилях, а о разметке)
    Пример плс, а то что-то я не догоняю, как может поменяться "компонент" настолько, что поможет только его переписывание??? И чем поможет в этом случае ббкод?
  • Как правильно хранить контент поста?

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

    Ваша ошибка в том, что вы воспринимаете форматированный текст как нечто программное, хотя это абсолютно не так. ВАЖНО отделять данные от кода и поручать СТИЛИЗАЦИИ работу по визуальному оформлению. А вы взялись за непонятную борьбу против мнимого дублирования.

    Другое дело что структура контента разная, получается что каждая контент часть поста уникальна по расположении отдельных элементов - обычной вьюшка не дает возможностей.
    То есть для какого-то блока у вас будет допустим выравнивание вправо, и вы будете создавать элемент с типом алигн_райт, прописывать его в новом ббкоде, а потом заменять его регулярками на элемент с классом алигн_райт? Не кажется проще сразу задать разметку с нужным стилем? Все современные wysiwyg редакторы поддерживают такое форматирование в один клик.

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

    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 первое слово в списке.