Задать вопрос
  • MySQL с использованием BETWEEN?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не нужно, но и ошибкой не будет
    Ответ написан
    Комментировать
  • Как определить возникновение ошибки после последней операции?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Как правило, в случае ошибки функция, которую вы вызываете, возвращает определённое значение или выбрасывает исключение, в зависимости от используемого языка и библиотеки.
    Если вы работаете просто в консоли, то ошибка будет выведена на экране.
    Ответ написан
    Комментировать
  • Как исправить неверный подсчет строк в MySQL?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    UNION по умолчанию выполняется как DISTINCT, то есть в результирующей таблице будут только уникальные строки, вместо трёх двоек будет включена только одна. Замените UNION на UNION ALL.
    Ответ написан
    Комментировать
  • Почему выпадает ошибка при запросе к бд?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given

    Значит в $result записан не результат запроса, а логическое значение. Читаем описание функции mysqli_query:
    Возвращает FALSE в случае неудачи. В случае успешного выполнения запросов SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query() вернет объект mysqli_result. Для остальных успешных запросов mysqli_query() вернет TRUE.

    Запрос SELECT, значит из логических значений могло вернуться только FALSE, следовательно в запросе ошибка.
    Внимательно читаем запрос - вот она, лишняя запятая.

    И, до кучи, ваш код не защищён от SQL-инъекций. Вместо прямой подстановки переменных в запрос используйте плейсхолдеры.
    Ответ написан
    Комментировать
  • Как сделать поиск MySQL в таблице по параметру?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Как пользоваться stdint.h?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    У вас в константе единичка лишняя
    184467440737095511615
    Ответ написан
    Комментировать
  • Как сделать архивацию файлов внутри каждой из директорий и удалить исходники?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    find /srv/sh/folder/* -maxdepth 0 -type d -exec bash -c 'cd {} && tar --remove-files -czf archive.tgz *' \;
    Ответ написан
    Комментировать
  • Возможно ли получить результат коллекцией Mysql?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Нет. MySQL возвращает результат только в виде плоских таблиц.
    Ответ написан
    Комментировать
  • Когда нужно думать о создании базы данных?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если приложение однопользовательское и никакого поиска по данным не надо - база данных не нужна.
    Если у вас сайт, рассчитанный на одновременную работу более, чем одного человека, то без базы данных не обойтись. Простейшее изменение данных, выполняемое на БД одной атомарной командой, в случае файлов потребует блокировки файла, а значит ожидания его освобождения остальными пользователями.

    P.S.
    Ок, пусть будет блог. Комментировать посты в нём можно будет? Тогда надо как-то эти комментарии записывать. Лайки ставить или карму править - это тоже запись данных. Даже простейший счётчик просмотров это уже изменение данных. Вот на примере такого счётчика обычно и поясняют необходимость атомарности и блокировок. Представьте, что два человека одновременно открыли пост блога и скрипты увеличивают счётчики прочтения, старое значение 99.

    Скрипт 1: прочитать файл "счётчики"
    Скрипт 2: прочитать файл "счётчики"
    Скрипт 1: найти в файле счётчик поста, получили 99
    Скрипт 2: найти в файле счётчик поста, получили 99
    Скрипт 1: увеличить счётчик поста, получили 100
    Скрипт 2: увеличить счётчик поста, получили 100
    Скрипт 1: записать файл "счётчики"
    Скрипт 2: записать файл "счётчики"

    То есть вместо ожидаемых 101 в счётчике всего 100. Значит перед изменением любых данных необходимо заблокировать файл на запись, считать из него актуальные данные, внести изменения, записать файл, разблокировать его. Ну а поскольку это json, то считывать и записывать файл каждый раз придётся целиком. Если при изменении данных меняется связь с данными в других файлах, то во избежание нарушения целостности блокировать придётся все связанные файлы.

    Ну и поиск по данным, скажем десять самых читаемых постов. В файловом варианте вам придётся считать весь json, и отсортировать его, тогда как в БД при правильной расстановке индексов это действие выполняется в один запрос с линейным получением первых десяти записей по индексу.
    Ответ написан
    5 комментариев
  • Какой алгоритм поиска ударение в слове?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В русском языке - только по словарю. Даже наличие в слове буквы ё не является гарантией, например амёбиа́з или трёхъя́русный. Кроме того в составных словах могут быть дополнительные ударения, например кля́твопреступле́ние или ви́це-президе́нт.
    Ответ написан
    4 комментария
  • FreePBX, в консоль лезут непонятные NOTICE, как исправить?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Received SIP subscribe for peer without mailbox: 1000

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

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    https://developer.mozilla.org/en-US/docs/Web/API/F...
    Non-standard
    This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.

    This method has been removed from the FileAPI standard. FileReader.readAsArrayBuffer() should be used instead.
    Ответ написан
  • Какие приоритеты могут быть у MX-записи?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    По стандарту приоритет MX-записи - беззнаковое 16-битное число от 0 до 65535, больше никаких ограничений нет.
    При отправке почты выбирается MX-запись с наименьшим приоритетом. Если таких записей несколько, то из них выбирается случайная. Если сервер недоступен, выбирается запись со следующим приоритетом и т.д.
    Ответ написан
    Комментировать
  • Можно ли как то оптимизировать этот php код?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А вы откройте браузер, в нём откройте средства разработки, вкладку "сеть" и затем откройте одну из ваших страниц. Посмотрите время её загрузки.
    Скажем, эта страница Тостера у меня грузилась ~300мс, соответственно миллион страниц будут грузиться 300'000 секунд или примерно три с половиной дня только на само получение страниц без учёта расходов на работу скрипта.
    Ответ написан
  • Как в json адресоваться на другое поле этого json?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В самом конфиге никак. В программе, которая получает этот конфиг, можете написать свой парсер с калькулятором.
    Ответ написан
    Комментировать
  • Как декомпилировать программу?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Как разобраться? Для начала освоить ассемблер, хотя бы на базовом уровне, чтобы понимать смысл команд. Затем определить стандарт передачи данных в подпрограммы для варианта компиляции вашей программы. Потом изучать все эти подпрограммы sub_XXXX и пытаться понять, что они делают. По ходу изучения переименовывать подпрограммы и адреса данных в удобочитаемую форму. Когда смысл всех подпрограмм станет ясен, можно будет понять, что в целом делает программа.
    Ответ написан
    4 комментария
  • Как работает sum с двумя JOIN?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Делайте JOIN с готовыми выборками из таблиц
    SELECT `z`.`id`,
           `ra`.`count` AS `acount`, `ra`.`rate` AS `asum`,
           `rc`.`count` AS `ccount`, `rc`.`rate` AS `csum`
      FROM `zav` AS `z`
      LEFT JOIN (
        SELECT COUNT(*) AS `count`, sum(`rate`) AS `rate`
          FROM `rating` 
          WHERE `type` = 'a'
          GROUP BY `id`
      ) AS `ra` ON `ra`.`id` = `z`.`id`
      LEFT JOIN (
        SELECT COUNT(*) AS `count`, sum(`rate`) AS `rate`
          FROM `rating` 
          WHERE `type` = 'c'
          GROUP BY `id`
      ) AS `rc` ON `rc`.`id` = `z`.`id`
      WHERE `z`.`city` =  'spb' AND `z`.`closedzav` =  '0'
    Ответ написан
    Комментировать
  • Как перевести в метры разницу в координатах GPS?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Через дельту - никак, только через сами координаты.
    gis-lab.info/qa/great-circles.html
    Ответ написан
    Комментировать
  • Как лучше скоротить скрипт с .each() и if\else?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    var re = /(?:^|\s)(?:xs|sm|md|lg|xlg)-(bottom|top|left|right)(?:$|\s)/;
    $('[data-toggle="popover"]').each(function() {
      var classList = $(this).attr('class');
      var ok = re.exec(classList);
      if (ok !== null) {
        $(this).popover({
          trigger: "hover",
          container: "body",
          placement: ok[1],
          html: !0,
          viewport: {
            selector: "body",
            padding: 2
          },
          template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
        });
      }
    });
    Ответ написан