Задать вопрос
  • Как осуществить поиск функции по известным значениям?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    По известному набору точек можно лишь предположить вид функции, например набор (-1, 0), (0, 0), (1, 0) может принадлежать как прямой y=0, так и синусоиде y=sin(πx) или полиному y=x3-x. Обычно вид функции выбирается из физической модели процесса, для которого получены данные.
    Ответ написан
    Комментировать
  • Как можно вывести строки из MySQL на веб-страницу?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вставить вывод внутрь while
    while($data = mysql_fetch_array($qr_result))
       echo "<div><h1>", $data['title'],"</h1><p>",$data['text'],"</p></div>";

    И не используйте функции mysql_*, они уже год как в статусе deprecated, переходите на mysqli_* или PDO.
    Ответ написан
    Комментировать
  • Как получить разницу во времени (год.месяц.день.час.минута.секунда) имея два значения в миллисекундах в javascript?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    function monthDays(year, month) {
        return (month == 2 ? 
                   ((year % 4 != 0 || 
                     (year % 100 == 0 && year % 400 != 0)) ? 28 : 29) : 
                   (((month < 8 && (month & 1) == 0) ||
                     (month > 7 && (month & 1) == 1)) ? 31 : 30));
    }
    
    function dateDiff(date1, date2) {
        var years, months, days, hours, minutes, seconds;
        var y1, m1, d1, d2, dd;
        years = date2.getUTCFullYear()-(y1 = date1.getUTCFullYear());
        months = date2.getUTCMonth()-(m1 = date1.getUTCMonth());
        days = (d2 = date2.getUTCDate())-(d1 = date1.getUTCDate());
        hours = date2.getUTCHours()-date1.getUTCHours();
        minutes = date2.getUTCMinutes()-date1.getUTCMinutes();
        seconds = date2.getUTCSeconds()-date1.getUTCSeconds();
        dd = 0;
        if (seconds < 0) {
            seconds += 60;
            minutes--;
        }
        if (minutes < 0) {
            minutes += 60;
            hours--;
        }
        if (hours < 0) {
            hours += 24;
            days--;
            dd = 1;
        }
        if (days < 0) {
            days = monthDays(y1, m1)-d1+d2-dd;
            months--;
        }
        if (months < 0) {
            months += 12;
            years--;
        }
        return {years: years, months: months, days: days,
                hours: hours, minutes: minutes, seconds: seconds};
    }
    
    var d1 = new Date("10/7/1917");
    var d2 = new Date('3/28/2014');
    var diff = dateDiff(d1, d2);
    console.log(diff.years+' лет, '+
          diff.months+' месяцев, '+
          diff.days+' дней, '+
          diff.hours+' часов, '+
          diff.minutes+' минут, '+
          diff.seconds+' секунд');
    Ответ написан
    3 комментария
  • Астерикс - как организовать мини-АТС?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Asterisk ставится на linux, вполне подходит debian или ubuntu. Функционал, который Вы описываете, реализуется без проблем. Для преобразования из аналога нужны платы или шлюзы FXS/FXO.
    Хорошие платы выпускает Digium, например здесь можно подобрать комплектацию по типу шины (PCI/PCI-Express) и количеству FXO (внешних) и FXS (внутренних) аналоговых линий. В Вашем случае, если не будете использовать факс, то подойдёт AEX801E, её потом можно расширить с помощью модулей на 1 или 4 порта FXS/FXO.
    Из IP-телефонов - Cisco Linksys SPA5xx (хороши, но дороги), Siemens Gigaset с радиотрубкой, Fanvil, Grandstream и прочие довольно дешёвые, но с качеством - как повезёт.
    Ответ написан
    Комментировать
  • Чем могут грозить предупреждения php?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Первое предупреждение говорит о том, что Вы, скорее всего, не проверяете валидность переданных пользователем данных. Если это не данные от пользователя, то всё ещё хуже, обращение к массиву по несуществующему индексу - ошибка в логике работы программы.
    Второе и третье предупреждения, как уже сказали, - результат ошибки в mysql_query, которая вернула false вместо идентификатора ресурса, скорее всего из-за неверного запроса. Грозит чем угодно, начиная от некорректного вывода элементов сайта и заканчивая дырой с SQL-инъекцией. Кроме того, использование mysql_* грозит непереносимостью сайта на следующую версию PHP, начиная с версии 5.5.0 эта библиотека в статусе depricated.
    Ответ написан
    Комментировать
  • Как и где лучше всего начать изучать программирование?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    IMHO, программирование, в первую очередь это не конкретные языки, а алгоритмы и данные. Если Вы можете построить алгоритм решения задачи и подобрать оптимальные для данного алгоритма структуры данных, то большая часть задачи уже решена. Перевести алгоритм на язык программирования (закодировать) - задача на порядок проще. По мере знакомства с конкретным языком кодирование будет проходить легче и эффективнее.
    Английский выучить крайне желательно, именно на нём идёт практически вся официальная документация, на нём общается большинство разработчиков.
    Полезно также освоить какой-нибудь язык низкого уровня, ассемблер или C (без плюсов), программирование на них позволяет легче понять, что скрывается за абстракциями языков высокого уровня.
    Ответ написан
    1 комментарий
  • Какие sql команды более эффективны?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Путь в таблице `table` поле `field1` определено как UNIQUE (или PRIMARY KEY).
    Добавление только новых
    INSERT IGNORE INTO `table` (`field1`, `field2`, `field3`) 
        VALUES (`valA1`, `valA2`, `valA3`), (`valB1`, `valB2`, `valB3`)

    Добавление с заменой
    INSERT INTO `table` (`field1`, `field2`, `field3`) 
        VALUES (`valA1`, `valA2`, `valA3`), (`valB1`, `valB2`, `valB3`) 
        ON DUPLICATE KEY UPDATE `field2` = VALUES(`field2`), `field3` = VALUES(`field3`)

    Удаление
    DELETE FROM `table` WHERE `field1` IN (`valA1`, `valB1`)
    Ответ написан
    Комментировать
  • Как пройти путь из точки A в точку D за определенное время?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    var points = [{x: 0, y: 0}, {x: 0, y: 50}, {x: 10, y: 50}, {x: 10, y: 0}];
    var segLen = [];
    var totalLen = 0;
    for (var i = 0; i < points.length-1; i++) {
        var l = Math.sqrt((points[i+1].x-points[i].x)*(points[i+1].x-points[i].x)+
                          (points[i+1].y-points[i].y)*(points[i+1].y-points[i].y));
        segLen.push(l);
        totalLen += l;
    }
    var percent = 55;
    var needLen = totalLen*percent/100;
    for (var i = 0; i < points.length-1 && needLen > 0; i++)
        if (needLen >= segLen[i]) {
            // пройти путь points[i] - points[i+1]
            needLen -= segLen[i];
        } else {
            x = points[i].x+(points[i+1].x-points[i].x)*needLen/segLen[i];
            y = points[i].y+(points[i+1].y-points[i].y)*needLen/segLen[i];
            // пройти путь points[i] - {x, y}
            needLen = 0;
        }
    Ответ написан
    Комментировать
  • Почему не записываются звонки с внутреннего на внутренний?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А что вообще показывает консоль при звонке с внутреннего на внутренний телефоны? Можете показать диалплан и вывод консоли?
    Ответ написан
  • Почему не записываются звонки с внутреннего на внутренний?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Проверьте параметр canreinvite в sip.conf или users.conf. Если он установлен в yes у обоих пользователей, то после первичного соединения Asterisk предлагает ip-телефонам соединиться напрямую, естественно, что запись при этом не работает.
    Ответ написан
  • Как исправить ошибку - The partition with /var/lib/mysql?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Подключить ещё один HDD, перенести на него /var/lib/mysql и смонтировать на этот путь
    Ответ написан
    Комментировать
  • Что сделать с кодом обратной связи?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
  • Как отправить форму обработчику PHP без перехода на нее?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    ajax
    Ответ написан
    Комментировать
  • Как сделать высоту блока в зависимости от высоты родителя Jquery?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    И правильно, как Вы написали, так компьютер и делает:
    // для каждого элемента с классом object_prev
    $('.object_prev', this).each(function() {
        // найти высоту элемента
        var height = $(this).height();
        //  присвоить эту высоту всем элементам с классом live_view.
        $('.live_view').css('height', height);
    });

    Если хотите задать высоту только вложенным элементам, то используйте
    $(this).children('.live_view').css('height', height);

    или
    $(this).find('.live_view').css('height', height);
    в зависимости от того, нужны ли непосредственные потомки элемента или все вложенные элементы.
    Ответ написан
    Комментировать
  • Разработка приложений Android (путеводитель по музею) - с чего начать?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    WiFi-покрытие всей площади (без выхода в интернет), на табличках рядом с экспонатами QR-коды с адресами страниц на локальном сервере. Работать будет и под Android, и под iOS и под WinPhone.
    Ответ написан
    1 комментарий
  • Как найти сумму углов n-многоугольника?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вы выбрали неудачный метод проверки на выпуклость. Из-за погрешности при расчётах углов велики шансы получить неточное значение, причём погрешность при суммировании будет накапливаться.
    Правильный метод - проверка знаков векторных произведений соседних отрезков. Для выпуклого многоугольника все произведения будут иметь один и тот же знак, зависящий от направления обхода.
    #define sign(x) ((x) == 0 ? 0 : ((x) > 0 ? 1 : -1))
    #define vmul(i,j,k) = ((x[(j)]-x[(i)])*(y[(k)]-y[(j)])-(x[(k)]-x[(j)])*(y[(j)]-y[(i)]))
    bool function isConvex(double *x, double *y, int n) {
        S = sign(vmul(n-2, n-1, 0));
        if ((S1 = vmul(n-1, 0, 1)) != 0 && sign(S1) != S)
            return false;
        for (int i = 0; i < n-2; i++)
            if ((S1 = vmul(i, i+1, i+2)) != 0 && sign(S1) != S )
                return false;
        return true;
    }

    Контроль на совпадение точек (Pi = Pi+1) или (Pi = Pi+2) добавьте сами.
    Ответ написан
    Комментировать
  • Почему функция возвращает NULL вместо массива?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для раскрытия переменной кавычки должны быть двойными:
    $sql = $construct->query("{$query}")->$fetchType;
    А вообще достаточно просто переменной:
    $sql = $construct->query($query)->$fetchType;
    Ответ написан
    1 комментарий
  • Как осуществить выполнение php-скрипта многократно?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А есть ли смысл для этого перезапускать скрипт? Используйте цикл
    for ($year = 2013; $year >= 1900; $year--) {
        // здесь ваши действия
    }
    Ответ написан
    Комментировать
  • MySQL. Использовать 2 одиночных индекса или 1 составной?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для существования FOREIGN KEY необходим индекс, начинающийся с соответствующего ссылочного поля и идущий в том же порядке. Так что `fk_var_locale_vars1_idx` Вы удалить не сможете. Кроме того, учитывайте, что составной индекс сортируется сначала по первому полю, при равных значениях первого поля - по второму и т.д. То есть отдельно по второму полю составной индекс не работает.
    Ответ написан
  • Как сделать запрос к базе в этом случае?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Всё верно возвращает. Смотрите описание mysqli::query, при ошибке возвращается FALSE, для успешных запросов SELECT, SHOW, DESCRIBE или EXPLAIN возвращается объект mysqli_result, для остальных успешных запросов - TRUE.
    Ответ написан
    2 комментария