• Сколько сокетных соединений должно держать real-time мобильное приложение и как создаются такие приложения?

    @Mox
    Team Lead, RoR, React/React Native
    Вам лучше с мобилы держать одно соединение с Firebase или RabbitMQ ( Paho MQTT, если хотите без native библиотек).

    Все остальное делайте на сервере, я использовал Firebase по сути как кэш с realtime обновлениями для лучшего масштабирования.
    Ответ написан
    3 комментария
  • Как увеличить % в зависимости от id?

    Stalker_RED
    @Stalker_RED
    foreach ($arBlocks as $IBLOCK_ID) {
      $multiplier = getPriceMultiplierByBlock($IBLOCK_ID);
      $newPrice = $price * $multiplier;
      // сохраняйте
    }
    
    function getPriceMultiplierByBlock($blockId) {
      $multipliers = [
        2 => 1.30,
        8 => 1.30,
        9 => 1.20,
        43 => 1.25,
        44 => 1.20,
        45 => 1.10,
        99 => 1.10,
        // ...
      ];
      return isset($multipliers[$blockId])
        ? $multipliers[$blockId]
        : 1; // если множитель не указан - единица
    }
    Ответ написан
    3 комментария
  • Как реализовать ЧПУ на PHP (движок самописный)?

    @HellWalk
    Вам нужны:
    1. Routing - есть компоненты, которые можно использовать независимо
    2. Контроллеры - чтобы в роутах ссылаться на Контроллер@методКонтроллера
    3. И нужная вам задача делается в рамках обычного функционала нормальных роутеров

    Раз у вас велосипед, можно продолжить велописедить, и написать свой роутинг - например, вот хорошее видео, где показывается, как это делать. Автор видео, после множества примеров, в конце показывает, как подключить и использовать сторонний модуль Aura.Router
    Ответ написан
    2 комментария
  • Как обойти защиту от парсинга Cloudflare?

    @PapaStifflera
    Родился, вырос...
    Использовать headless браузер.
    Ответ написан
    Комментировать
  • Как обойти защиту Cloudflare при парсинге?

    @FasterTans
    1. Что такое headless бразуер? Я плохо это понял и ранее с подобным не работал.
    Selenium, Puppeteer
    2. Как можно организовать многопоточность (Много...вкладочность?) через такой headless браузер?
    Взависимости от выбранного браузере вбиваете в гугл "многопоточность selenium\puppeteer"
    3. Сработает ли вообще такой подход для обхода защиты Cloudflare?
    Да, погуглите как обходить защиту.
    Ответ написан
    Комментировать
  • Как это расшифровать?

    PhoenixX33i
    @PhoenixX33i
    Расшифрованный текст

    <p>Поскольку элементы литиевых батарей производятся в растущих количествах, и исследования по их совершенствованию продолжаются, они становятся дешевле и более энергоёмкими. Эти изменения означают, что аккумуляторы, которыми питаются наши электромобили, потребляют больше киловатт-часов (кВт-ч) энергии и достигают более длинных диапазонов заряда, что делает их более практичными для большего количества людей.</p> <p>Мы ожидаем, что эта тенденция сохранится ещё некоторое время, хотя в конечном итоге будет иметь смысл ограничить количество кВтч, которое может иметь автомобиль. Тогда уменьшение физического размера и веса аккумуляторных блоков будет иметь приоритет, что также будет способствовать дальнейшему повышению эффективности и, следовательно, дальности действия. Пока мы туда не доберёмся, мы следим за тем, какие аккумуляторы имеют самые большие аккумуляторы, поскольку это отличный показатель дальности и относительной цены.</p> <p>Теперь мы должны отметить, что, поскольку ряд новых автомобилей с большими аккумуляторными блоками должен прибыть в течение следующего года или около того, мы будем периодически обновлять этот список, чтобы держать вас в курсе этого развивающегося рынка. Кроме того, поскольку у некоторых автомоб�%0�ров без поощрения.</p> <h3>5. Volkswagen e-Golf 2017 - 35,8 кВтч</h3> <p><img alt="Volkswagen e-Golf 2017 - 35,8 кВтч" height="720" src="https://itumnik.ru/wp-content/uploads/2020/04/2-1.jpg" width="1280" /></p> <p>Как и Ford Focus Electric, Volkswagen e-за увеличения в�


    HTML

    Поскольку элементы литиевых батарей производятся в растущих количествах, и исследования по их совершенствованию продолжаются, они становятся дешевле и более энергоёмкими. Эти изменения означают, что аккумуляторы, которыми питаются наши электромобили, потребляют больше киловатт-часов (кВт-ч) энергии и достигают более длинных диапазонов заряда, что делает их более практичными для большего количества людей. Мы ожидаем, что эта тенденция сохранится ещё некоторое время, хотя в конечном итоге будет иметь смысл ограничить количество кВтч, которое может иметь автомобиль. Тогда уменьшение физического размера и веса аккумуляторных блоков будет иметь приоритет, что также будет способствовать дальнейшему повышению эффективности и, следовательно, дальности действия. Пока мы туда не доберёмся, мы следим за тем, какие аккумуляторы имеют самые большие аккумуляторы, поскольку это отличный показатель дальности и относительной цены. Теперь мы должны отметить, что, поскольку ряд новых автомобилей с большими аккумуляторными блоками должен прибыть в течение следующего года или около того, мы будем периодически обновлять этот список, чтобы держать вас в курсе этого развивающегося рынка. Кроме того, поскольку у некоторых автомоб�%0�ров без поощрения. 5. Volkswagen e-Golf 2017 - 35,8 кВтч 2-1.jpg Как и Ford Focus Electric, Volkswagen e-за увеличения в�

    Почитайте про urldecode() и urlencode()
    Ответ написан
    Комментировать
  • Как сделать вывод длинной случайной строки из .txt в php?

    SagePtr
    @SagePtr
    Еда - это святое
    Для начала, прочитать файл и "проиндексировать" его - сохранить где-то смещения строк, чтобы весь файл повторно каждый раз не перечитывать. А потом уже можно брать случайное смещение из файла, хранящего смещения, и по нему уже брать из исходного файла случайную строку.
    Ответ написан
    2 комментария
  • Как запустить Telegram бота HellowBot?

    pepsi-man
    @pepsi-man Автор вопроса
    Тыж программист!
    Ура! Вопрос решен!
    Проблема была в неправильной установке сертификата.
    Помогла статья habrahabr.ru/post/270273 и онлайн сервис https://www.ssllabs.com/ssltest/index.html

    Вкратце, в файле /etc/httpd/conf.d/ssl.conf были исправлены строки на:
    SSLProtocol TLSv1.2
    SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA:!RC4
    SSLCertificateFile /etc/letsencrypt/live/mydomain.tk/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.tk/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/mydomain.tk/chain.pem
    SSLCACertificateFile /etc/letsencrypt/live/mydomain.tk/fullchain.pem

    После чего ssllabs.com показал рейтинг A- и бот тут же заработал!

    Жаль, что Telegram ни как не сообщает об этой ошибке и в руководстве я этого не нашел. Хотя могли бы через своего бота @FatherBot сообщать владельцу о проблемах...
    Ответ написан
    2 комментария
  • Как лучше организовать рабочее окружение для веб разработчика?

    sim3x
    @sim3x
    Начните с виртуалки, а там сами поймете
    Ответ написан
    Комментировать
  • Как лучше сделать бекап всего vps?

    Host-Eiweb
    @Host-Eiweb
    Хостинг VPS серверов в Европе и США
    Один из вариантов - это воспользоваться утилитой Mondo Rescue, которая специально создана для резервного копирования и клонирования серверов. Она бесплатная, с открытым исходным кодом, позволяет легко создать полную копию всего Linux сервера в формате ISO на CD, DVD, USB, HDD или NFS. А также позволяет быстро восстановить данную копию на свой сервер. При необходимости можно выбрать восстановление лишь отдельных файлов. Основной плюс данной системы - это простота использования, создать полный бекап сервера можно не прерывая его работу.
    Ответ написан
    Комментировать
  • Как отправить GET запрос, а так же получить ответ от него?

    AleksandrB
    @AleksandrB
    Совсем недавно вывел "Hello world"
    Во-первых, с каких пор строки объединяются плюсами, а не точками
    $response = file_get_contents("https://api.mojang.com/users/profiles/minecraft/".$nick."?at=".$timestamp'); //Тут, мы

    Во вторых, по какому ключу вы забираете nick? Там ведь должно быть что-то вроде
    $nick = $pdo->query("SELECT `Nick` FROM `Skins` WHERE `id` = :id", ['id' => $id]);
    Ответ написан
    2 комментария
  • Как перевести StdClass object в массив?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    json_decode($json,true);?

    Доки для слабаков и трусов!
    Ответ написан
    1 комментарий
  • Как убрать белые края на сайте?

    @ZZiliST
    Изучаю JS, CSS, HTML, PHP
    У вас для тега body прописаны стили
    margin-left: .7in;
    margin-right: .7in;
    margin-top: .75in;
    margin-bottom: .75in;

    Пропишите в css файле

    body{
    margin:0;
    }
    Ответ написан
    3 комментария
  • Как справиться с ошибкой функции protected?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    У функции register потерялась закрывающая скобка.
    Ответ написан
    Комментировать
  • Freelansim.ru — как оставить негативный отзыв о фрилансере?

    @serega_kaktus
    Программист-самоучка, фрилансер
    Обычно дизайнер создает дизайн — изображение. А верстальщик создает шаблон. И не всегда эти две работы выполняет один человек. Если вы работаете с дизайнером, то получите psd, или еще какой формат. Но в любом случае это будет изображение, не шаблон для WordPress (который должен быть в html). В вашем случае малоопытный дизайнер не удосужился спросить, что еще за «шаблон для wordpress» Вы хотите, Вы не удосужились разжевать дизайнеру, что Вы от него хотите. Это известная проблема во фрилансе, когда заказчик объясняет задачу в двух словах, фрилансер делает все так, как он понял, в результате заказчик не доволен. Не стоит никаких отзывов нигде оставлять, это урок в первую очередь для Вас, чтобы Вы могли четко и в деталях описывать задачу, и что Вы хотите получить. Ну и можно лично отписать фрилансеру, чтобы научился вытягивать из заказчика детали задачи
    Ответ написан
    Комментировать
  • Как выводить заглушку на сайте при отсутствии интернет соединения?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Ребята, это не пинг и не NavigatorOnLine, так делать нельзя, ибо пользователь может читать статью, а вы ему при потере интернета все обломаете. Такая плашка работает на сайтах, чей контент грузится по ajax, без перезагрузки страницы. Плашка должна показываться при неудачном ajax запросе получения страницы, и в идеальном случае, предлагать посмотреть оффлайн страницы (предварительно загруженные в хранилище). Если же сайт не ajax, можно при помощи того же NavigatorOnLine делать проверку, что если сайт в оффлайне, превентить переходы по ссылкам, и показывать эту плашку только в случае клика на ссылку.
    Ответ написан
    Комментировать
  • Можно ли средствами PHP назначить видео на hdmi-выход "сервера"?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    а чем exec() и системные вызовы не подходят?
    Ответ написан
    4 комментария
  • Не сталкивался с таким, нужно сверстать блок?

    Можно сверстать по сетке и отступами подвинуть куда нужно.
    5b7bc7c89ba5b843038002.png
    Ответ написан
    1 комментарий
  • PHP IDE для слабого компьютера?

    @Ambrosian
    Sublime как раз то, что нужно с точки зрения производительности.
    Плагины нужно уметь отбирать полезные.

    P.S.:
    Лично я пользуюсь vim на слабых машинах.
    На более серьезных - продуктами JetBrains

    В принципе и на вашей можно пользоваться JetBrains-скими, будет слегонца не комфортно притормаживать. Но они дико удобны.
    Ответ написан
    2 комментария
  • Как правильно реализовать корзину пользователя?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Использовать сессию вместо IP: $_SESSION[] и саму корзину (набранные товары туда) сохранять в LocalStorage через JS на клиенте как список ID-шников.
    Чтобы при истечении времени сессии, товары из корзины не пропадали.

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

    При создании новой сессии мы корзину синхронизируем с сайтом, если корзина аккаунта пуста:
    1. Если в LocalStorage не пусто
    2. Или удалённая корзина пуста
    - используем локальную версию и позже отправляем на сервер.

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

    При создании новой сессии, корзину синхронизируем с сайтом, основываясь на наличии и, если некоторые товарные позиции закончились на складе, - предлагаем наиболее подходящие альтернативные замены.

    Заботьтесь о клиентах, чтобы они заботились о вашей прибыли!
    Ответ написан
    Комментировать