• Как сделать лимит не с начала?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    Кажется, я сможил:
    LIMIT 22, 10

    To retrieve all rows from a certain offset up to the end of the result set, you can use some large number for the second parameter. This statement retrieves all rows from the 96th row to the last:
    SELECT * FROM tbl LIMIT 95,18446744073709551615;
    Ответ написан
    1 комментарий
  • Почему нет сильной Ecommerce платформы под node.js?

    @xfg
    Потому что на node.js как не пиши, но любое более менее сложное приложение превращается в процедурную лапшу. Абстракций и полиморфизма типов нет, приходится зависеть от конкретных реализаций. В метеоре на котором вы написали свое приложение нет di контейнера, всё валится в глобальную область видимости, используется монго, не поддерживаются транзакции между документами/коллекциями, сильная связанность, тяжело покрыть тестами.

    Впечатление от этого всего, что вернулся в начало 2000-ых. Нужно ждать, пока спецификацию ecmascript допилят до вменяемого состояния. Но я думаю, что к тому времени в том же php уже будет асинхронность из коробки, тем более у разработчиков это в планах.
    Ответ написан
    9 комментариев
  • Для чего фигурные скобки после объявления переменной в C++?

    @SMA2
    Инициализация пустым значением.
    Это универсальное обозначение для различных типов переменных.
    В данном случае речь идет о целом числе, потому эквивалентно = 0
    Но фигурные скобки более общий метод, подходящий для переменных различных типов.

    То, что пример работает без инициализации - просто везение.
    Использование неинициализированной переменной - частая ошибка.
    Ответ написан
    1 комментарий
  • Почему нет сильной Ecommerce платформы под node.js?

    @SMA2
    На днях перевели высоконагруженный(550,000 товаров и услуг)


    Нагрузка - это не количество товара.
    Для современных баз данных даже на слабом железе это не нагрузка, а смешно.

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

    На Ruby, Node, Go, Java, Python как правило делают решения под себя. Готовые - редкость.
    Готовые решения - существуют как правило на PHP.

    Так устроен этот мир.

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

    Или просто смотреть на факту - если вы сделаете полностью готовое решение не на PHP, то с большой вероятностью оно не будет востребовано большим количеством людей, ваши потребители будут только нишевые.

    Отсюда и оборотная сторона - наверняка на Node и пр. есть готовые решения интересующего вас типа. Их просто не может не быть. Просто вы их не нашли. Это не настолько массовый продукт, чтобы на каждом углу об них говорили, как, к примеру, об OpenCart.
    Ответ написан
    Комментировать
  • Как объединить скорость двух модемов?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Как объединить скорость двух модемов?
    Без дополнительного оборудования никак.
    В принципе можно и софтом, но для windows выбор не богат.
    Проще купить микротик и настроить round-robin. Серфинг по интернету будет глючить, авторизация будет отваливаться, но торрент будет работать с обоими провайдерами.

    Пару раз случайно получалось, подключался к WiFi затем вставлял кабель и скорость в 2 раза выше.
    Вам показалось. Случайно такого не бывает.
    Ответ написан
    3 комментария
  • Почему fwrite не переносит переменные?

    Melkij
    @Melkij
    PostgreSQL DBA
    fwrite бинарно-безопасен и записывает ровно то, что ему сказали писать.
    Следовательно, вы именно так и записываете.

    Почему так себя ведёт конкретный ваш скрипт, описано в синтаксисе объявления строк: www.php.net/manual/ru/language.types.string.php

    И, разумеется, включите error_reporting в E_ALL в php.ini, а так же display_errors = On и display_startup_errors = On. Сейчас вы не видите крайне полезные сообщения самого языка.
    Ответ написан
    1 комментарий
  • Цикл с таймаутом ровно в 1 секунду?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Ваш вопрос можно приводить в качестве наглядного пособия на тему "Как именно вылазит боком кривая архитектура системы" :) Основная проблема в том, что интеграция компонент через storage есть зло, рано или поздно (чаще - рано) заставляющее разработчика выполнять стойку на ушах. Так что, если есть такая возможность, постарайтесь устранить зло в корне, т.е. найти способ узнавать об изменениях, ну, или хотя бы о самом факте, до того, а не после. Тогда не придется ничего опрашивать в цикле, а только реагировать на изменения. А это уже - половина проблемы!

    Если возможности нет, а делать все равно надо, сначала смитритесь с тем, что Вы никогда на PHP не добьетесь ровненько 86400 вызовов в сутки каждую секунду, если только не поставите ядро реального времени / не напишете соответствующий код на С и т.д. и т.п. Особенно, если storage крутится на том же процессоре в той же ОС, и количесво данных в нем будет со временем увеличиваться. Но это почти наверняка и не нужно, а нужно проанализировать задачу и понять, что на самом деле критично и какие отклонения от идеала возможны без ущерба для функциональности.

    "Примерно 0.03с" само по себе еще не о чем не говорит. Это всегда или в случае, если изменений нет, или если они небольшого объема? А если 90% данных обновились? Это - раз. Два: если изменения обнаружены, сколько может занять их обработка (в худшем случае)?.. И, наконец, три: если уже наступила "следующая секунда", а мы все еще не закончили обработку прошлых изменений, возникает целый ряд вопросов. Имеет ли в этом случае вообще смысл проверять новые изменения (сможем ли мы их осмысленно обработать, если найдем)? Если да, понадобится как минимум 2 потока. Если нет, насколько критично пропустить эту секунду? А сколько еще можно пропустить без ущерба для функционала? Предположим, это не критично, и мы уже пропустили секунду (или несколько), что нам важнее: чтоб следующая проверка выполнилась как можно ближе к границе "следующей секунды", или как можно быстрее? И т.д. и т.п.

    Не зная ответов на эти и подобные вопросы, невозможно предложить "правильное" решение. Но в качестве сферического коня в вакууме можно посоветовать бесконечный цикл, в котором выполняется проверка, реакция на найденные изменения, после чего вычисляется время до следующей проверки, на которое выполняется sleep().
    Ответ написан
    Комментировать
  • Можно ли установить 2 фильтра в одну переменную?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Как и везде:
    $options = [
        'admin_name' => FILTER_SANITIZE_FULL_SPECIAL_CHARS | FILTER_VALIDATE_BOOLEAN,
        'admin_pass' => FILTER_SANITIZE_STRING
    ];
    $name = filter_input_array(INPUT_POST, $options);
    Ответ написан
    2 комментария
  • Нужен ли сейчас Си?

    Nipheris
    @Nipheris Куратор тега C++
    Си как язык и экосистема, безусловно, нужны много где. Вопрос в том, нужны ли ВЫ этой экосистеме. Любой специались ценен не только знанием языка, но еще и знанием экосистемы и, самое главное, умением решать задачи, где вышеуказанный язык даёт наибольшую эффектиновсть с точки зрения бизнеса.
    Мало кому сегодня нужен человек, знающий PHP, но не знающий ничего о веб-разработке. С Си (да и с C++) то же самое. Чтобы вам давали те задачи, для решения которых имеет смысл использовать именно Си, вам нужно расти как специалист и в других областях. Например, хорошо разбираться в структурах данных. В управлении памятью. В машинной арифметике.
    Сравните например, человека, который просто знает, что в языке Си есть тип float, и человека, которому известно, что в Сишный float не запишешь значение 0.13, не потеряв в точности. А также человека, который понимает, почему точность теряется. И еще человека, который знает, что можно предпринять, если все-таки нужно как-то оперировать с десятичными дробями без потери точности.

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

    ifaustrue
    @ifaustrue
    Пишу интересное в теллеграмм канале @cooladmin
    Ограничить гипотетическим файрволом в строенным в вашу гипотетическую операционную систему через гипотетические команды вашего командного процессора ввести правила блокирующие трафик на неизвестный нам диапазон вашей локальной сети.
    Ответ написан
    Комментировать
  • Я хочу хорошую библиотеку на PHP для MySQL. Я зажрался, или такое есть и активно используется?

    trevoga_su
    @trevoga_su
    Я хочу хорошую библиотеку на PHP для MySQL
    Нет ни ActiveRecord

    Вы определитесь, Вам автомобиль нужен или ящик с запчастями, из которых можно собрать автомобиль.
    Библиотека для работы с СУБД должна предоставлять ТОЛЬКО возможность работать с СУБД, с SQL и не более.
    Active-Record - это уже должен быть слой выше. Построитель запросов - отдельная сущность.

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

    Моя обертка - www.phpinfo.su/articles/additionally/klass_dlja_be...
    Ответ написан
    3 комментария
  • Как обрезать теги в строке json?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    я бы рекомендовал делать это не в фильтрах (хотя и там можно конечно), а в сервисе, где вы получаете данные (или опять же фильтр там использовать).

    Убрать теги же лучше всего не регуляркой, как предлагает rakro, а используя DOM:

    function stripTags(html)
    {
        var tmp = document.createElement("DIV");
        tmp.innerHTML = html;
        
        return tmp.textContent || tmp.innerText;
    }
    Ответ написан
    Комментировать
  • Как проверить подключен ли jQuery на странице?

    if(!window.jQuery){
    document.write('<script type="text/javascript" src="/js/lib/jquery.js"></script>')
    }
    Ответ написан
    Комментировать
  • Можно ли как-то скрывать код при помощи комментариев?

    riky
    @riky
    Laravel
    в шторме можно https://www.jetbrains.com/phpstorm/help/folding-cu...

    пример

    #region Description
    $users = [];
    // ... 
    #endregion


    и кстати для переключения между ними есть горячие клавиши
    https://www.jetbrains.com/phpstorm/help/navigating...
    Ответ написан
    Комментировать
  • Как проверить открытие письма отправленного через mail()?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Вставить ссылку на картинку, хотя бы даже на пиксель с уникальным токеном, соответствующем данному письму, и отслеживать обращение к нему.
    Ответ написан