• Как реализовать постоянное подключение к бд?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Никакое "постоянное" соединение с БД не нужно.
    Надо просто не запускать игры на хостинге за три копейки.

    "Хостинг", на котором нет таких нелепых ограничений, называется VPS
    Ответ написан
    9 комментариев
  • Как кэшировать изображение?

    cyber-jet
    @cyber-jet
    Если всё правильно в заголовке ответа сервера, если название изображения, совпадает и если кеш не отключен принудительно на стороне браузера, картинка, да и вообще, любой другой ресурс, должна браться из кеша браузера.
    5ff186d16bf32858981164.png
    Ответ написан
    1 комментарий
  • Ошибка подключения к mysql. Почему?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    В принципе Rsa97 уже все написал, но хочу подчеркнуть, что function query изначально было дурацкой идеей.
    Функция-то правильная, но вот название надо было давать другое.

    А, главное, если всё равно используется свой класс DB, то какой смысл было екстендить PDO, становится совсем непонятно.
    Ведь написать DB::query( тупо проще чем DB::$dbs->query(
    И с архитектурной точки зрения так будет в миллион раз правильнее.
    Ну это если не считать что сам по себе статический класс DB это решение так себе. Но для процедурщины сойдет.
    Ответ написан
    Комментировать
  • Ошибка подключения к mysql. Почему?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    https://kinsta.com/blog/php-8/#incompatible-method...
    Кратко: в PHP 8.0 метод класса-потомка (в вашем случае PHP_::query) должен иметь ту же сигнатуру, что и совпадающий по имени метод класса-родителя (PHP::query). Раньше такая ситуация вызывала только предупреждение, теперь ошибку.
    Ответ написан
    2 комментария
  • Округление в MySQL полей decimal?

    @neol
    Никакого округления у вас там нет. В вашем запросе выбирается минимальное значение price и первые попавшиеся по остальным полям. Вам нужен запрос типа такого:
    SELECT p.id, p.price, p.code FROM products p
    JOIN 
    ( SELECT product_id, MIN(price) minPrice
      FROM products WHERE price IS NOT NULL GROUP BY product_id
    ) p2
    ON p.price = p2.minPrice AND p.product_id = p2.product_id;
    Ответ написан
    Комментировать
  • Как правильно делать 2 версии сайта (моб, десктоп)?

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    Нахрена, а главное - зачем? Современный адаптив позволяет через цсс задать ВСЕ, картинки, стили, расположение блоков, что-то показать, что-то скрыть на определенных разрешениях... Иметь мобильную версию отдельно не рекомендуют и поисковые системы, так как это разбивает трафик на субдомены и еще куча всякого тянется за этим. По этому - медиазапросы, или даже сразу бутстрап или другой адаптивный фреймворк.
    Ответ написан
    8 комментариев
  • Почему не используются площадки для создания сайтов типа Wix?

    @kandrash
    Кратко о себе
    Во-первых кто-то же пишет сам викс?
    Во-вторых есть десятки направлений где он не подойдёт. Развернёте на виксе ВК? Сбербанк-онлайн? Тостер? Озон?

    Не, часть работы он несомненно на себя возьмёт. Простенькие лендинги, магазины и прочее. Но как только вам нужен чуть нестандартный функционал - тут его полномочия всё.
    Ответ написан
    1 комментарий
  • Django или 1С-Битрикс?

    @anton99zel Куратор тега 1С-Битрикс
    29а класс средней школы №7
    Вот стоит ли вообще туда совать свой нос? Как поступить?

    Ох, уж эти разработчики...
    Любят навязывать клиенту не то, что нужно клиенту, закрывая его потребности и задачи, включая возможное масштабирование в будущем, а руководствуясь лишь уровнем знаний в отдельно взятом направлении.
    Если Вы не знаете Битрикс, то за месяц не сделаете проект full. Возможно сделать какой-либо информационный сайт, да и то на уровне инфоблоков и компонентов, а CRM с хорошей админкой как минимум потребует знаний api, а в Битрикс api не очень хорошо документировано.
    Более того, что бы вы не выбрали, наговнокодить можно везде и тогда сайт накроется будь это Битрикс или что-то другое.
    Помимо самого Битрикса, необходимо иметь знания по настройке серверов, оптимизации mysql, nginx. Но это практически везде нужно и к вопросу не относится.
    Отсюда ответ на ваш вопрос:
    Если текущие задачи и будущие удовлетворяют ваши потребности, а вернее потребности клиента, при использовании PostgreSQL + Django + Redis - то нужно использовать его.
    Стоит понимать, что Bitrix Framework это PHP платформа для разработки веб-приложений, и если не обращать внимания на тех, кто просто не умеет его готовить (потому что надо не использовать шаблонное мышление), то это отличная платформа для создания разного рода проектов, будь то интернет-магазин, crm, инфосайт с интеграцией с платежными средствами, доставками, интеграцией 1С и маркетплейсами. Однако, Битрикс больше заточен под Интернет-магазины, и как бы его не ругали (обычно ругают те, кто с Битриксом никак не работает, от силы пару раз видел код 10 лет назад и не сделал ни одного проекта на нем...), для среднего и малого бизнеса альтернатив нет. Те, кто скажут Вордпресс или Опенкарт - ребята, не смешите, на Битриксе без танцев с бубном будут работать доставки, 1с и оплаты, а также ряж выгрузок в маркетплейсы, пока вы ищите модули для опенкарт....или что там у вас... Кеширование, технология композитный сайт и CDN вкупе с хорошо написанным кодом и настроенным сервером - дают достаточно быстрый результат.
    Если Клиенту нужен Битрикс, то стоит найти другого специалиста для решения его бизнес задач, а не навешивать ему Django, только потому что вы его знаете.
    простую crm систему

    А не изобретаете ли вы велосипед?
    1С Предприятие с прикрученной Веб мордой чем не CRM?
    Ответ написан
    1 комментарий
  • Скрипт на js переписать на php?

    DevMan
    @DevMan
    код завязан на браузерные события: переписывать его на пхп нет ни смысла, ни необходимости.
    Ответ написан
    Комментировать
  • Как сделать одинаковый header и footer для всех шаблонов сайта?

    Я делаю общий шаблон .default, а в остальных шаблонах в хедере:
    <?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();?>
    <?include(S_P_LAYOUT.'/header.php');?>
    <div class="page">
    	<!-- HEADER :: START-->
    	<header class="header">
    		<div class="container">
    			<div class="header__wrapper">
    				<a class="header__logo" href="#"><img src="<?=P_IMAGES?>/logotype.svg" alt=""></a>
    				
    				<?include(S_P_INCLUDES.'/menu-top.php');?>
    				
    				<div class="header__links">
    					<?include(S_P_INCLUDES.'/menu-links.php');?>
    				</div>
    				
    				<button class="hamburger hamburger--spin" type="button" js-hamburger><span class="hamburger-box"><span class="hamburger-inner"></span></span></button>
    			</div>
    		</div>
    	</header>
    	<!-- HEADER :: END-->
    	<div class="page__content">
    		<?$APPLICATION->ShowPanel()?>

    и аналогично в футере:
    какой-то отличающийся код
    <?include(S_P_LAYOUT.'/footer.php');?>

    Соотвественно S_P_LAYOUT - это константа с абсолютным путем к папке шаблона .default

    Это вариант номер один (и вобще говоря вы можете вложить так сколько угодно шаблонов).

    Второй вариант - использовать общие включаемые области во всех шаблонах.
    Ответ написан
    Комментировать
  • Почему БД драйвер Python MySQL Connector работает на порядок быстрее чем в других языках?

    @galaxy
    Навскидку: cursor.executemany() соединяет запросы в один большой INSERT. Остальные драйверы сами этого, видимо, не умеют.

    Думаю, если вы руками соберете multi-row INSERT, то на то примерно и выйдет:
    INSERT INTO tablename (fieldA, fieldB, fieldC, fieldD, fieldE)
    VALUES (a, b, c, d, e),
    (a1, b1, c1, d1, e1),
    (a2, b2, c2, d2, e2),
    ...
    Ответ написан
    4 комментария
  • Является ли запрос безопасным?

    DevMan
    @DevMan
    почитайте о sql-инъекциях в целом, и как с ними бороться в частности.
    все вопросы после этого отпадут.

    конкретно предоставленный код потенциально опасен.
    а жёсткая фильтрация есть только в ваших словах, а не коде.
    Ответ написан
    Комментировать
  • Ошибка в Git как исправить?

    zagayevskiy
    @zagayevskiy
    Android developer at Yandex
    Очевидно, админ репы запретил пушить в мастер. Только через pull(или merge) request.
    Ответ написан
    2 комментария
  • Что значит сложность и масштабируемость?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    Что значит масштабируемый код?

    Это код который легко "нарастить" - без говнокода и так же модульно, как он и должен быть сделан. Как правило подразумевает под собой использовавшая принципов SOLID. https://avivi.pro/blog/bud-solid/


    Что значит сложность?


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

    Как делается - разбиваются крупные процедуры и методы, на более мелкие, логически структурируя код. Делая его "легким" и поддерживаемым, этим самым упрощая задачу отладки и маштабируемости кода.
    Ответ написан
    Комментировать
  • Какую платформу выбрать для десктопного приложения с учетом поддержки win XP,7,8,10?

    Adamos
    @Adamos
    Попробуйте все-таки выкинуть из голов древние представления о том, как все это нужно делать, и рассмотреть вариант онлайн-сервиса. Да, для этого придется начать работать немножко по-другому, но это также позволит делать вещи, которые нынешняя организация работы делает невозможными.
    А уж написать систему учета на веб-технологиях сейчас может любой фрилансер за копейки.
    Ответ написан
    2 комментария
  • Как выбрать весь document из внешнего файла js?

    Jeer
    @Jeer
    уверенный пользователь
    Единственное, jQuery должен быть подключён раньше, чем ваш скрипт. Вроде, всё
    Ответ написан
    1 комментарий
  • Как увеличить скорость работы MySQLi?

    @d-stream
    Готовые решения - не подаю, но...
    Боюсь, что при такой постановке вопроса - искать надо не компоненты, а нанимать специалиста.
    Ответ написан
    5 комментариев
  • Когда и где можно и нужно добавлять префиксы браузеров(-webkit- -moz- -ms-)?

    Lynn
    @Lynn
    nginx, js, css
    Используйте автопрефиксер.
    Пусть компьютер этим заморачивается https://github.com/postcss/autoprefixer
    Ответ написан
    Комментировать
  • Надёжный SSD и HDD диск?

    Jump
    @Jump Куратор тега Твердотельные накопители
    Системный администратор со стажем.
    Все HDD диски одинаково надежны.
    Их и осталось то несколько производителей.

    Всегда считал WD надёжной маркой и доверял ей.
    Так и есть.

    Вчера сломался WD blue SSD 1Tb не проработав и 2 лет. Битые сектора, невозможность загрузки ОС.
    Надежные диски точно так же ломаются как и ненадежные. При чем тут надежность?
    Все диски ломаются.

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

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

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

    А к дискам надо относится как к расходнику. Выходил срок гарантии - отлично. Сломался раньше срока - сдали по гарантии, купили на эти деньги новый.
    Ответ написан
    5 комментариев
  • Как выдать юзеру на сайте страницу?

    @bqio
    https://bqio.github.io/
    Вы сначала сами поймите, что хотите, научитесь формировать свою идею в текст, а потом спрашивайте здесь, или ищите в гугле.
    Ответ написан
    7 комментариев