Задать вопрос
  • Which destination addresses will be used by Host A to send data to Host C? (Choose two)

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А откуда вы взяли, что IP будут одинаковыми?
    Объяснение там вполне понятное. Хост A будет использовать IP-адрес хоста C, так как IP-адрес получателя не меняется при доставке пакета, и MAC-адрес интерфейса E0 маршрутизатора, так как он в данной схеме является шлюзом между сетями хоста A и хоста C.
    Ответ написан
    6 комментариев
  • Как реализовать лаконичную запись условий?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    if (!empty($category->pid)) {
        $rootCategory = Categories::model()->findByPk($category->pid);
        $categorySaved = ($category->isNewRecord ? 
                              $category->appendTo($rootCategory) :  
                              $category->moveAsFirst($rootCategory)
                         ) && $category->saveNode());
    } else {
        $categorySaved = ($category->isNewRecord || !$category->isRoot() && $category->moveAsRoot()
                         ) && $category->saveNode();
    }
    Ответ написан
    1 комментарий
  • Какие существуют сервисы отправки email?

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

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    1. Asterisk - определённо Linux. Если используется плата аналоговых каналов (например, DAHDI), то сможете ли прокинуть её в виртуалку?
    2. Файлохранилище - Samba на Linux, один ресурс на Raid для важных данных и один на отдельном винте для хлама. Автоматическое удаление хлама через 20-30 дней после создания/последнего доступа.
    3. Сайт - в зависимости от реализации Linux или Windows.
    4. CRM - в зависимости от реализации Linux или Windows.
    Итого - если Asterisk перенести в виртуалку не удаётся, а сайт или CRM работают по Windows, то взять два сервера, иначе просто всё на один сервер с Linux без виртуализации.
    Ответ написан
  • Как передать атрибут при нажатии кнопки?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Способ 1.
    Каждую строку делаете формой добавляя скрытое поле с номером строки
    <input type='hidden' name='row' value='{$row}' />

    Способ 2.
    Каждую кнопку делаете с обработчиком нажатия
    <input type='button' onclick='javascript:sendData("{$row}");' value='Добавить' />
    В функцию sendData передаётся номер строки, по нему выбираете из таблицы поле ввода, получаете значение и передаёте на сервер.

    Способ 3.
    Каждую кнопку делаете с обработчиком нажатия
    <input type='button' onclick='javascript:sendData(this);' value='Добавить' />
    В функцию sendData передаётся DOM-элемент кнопки, через .parentNode добираетесь до <tr>, затем от него через .childNodes выбираете из первой ячейки номер строки, из поля ввода значение и передаёте на сервер.
    Ответ написан
    1 комментарий
  • Замена BBCode URL регулярным выражением

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Что-то вроде
    <a href="$1" target="_blank">($2 == '' ? $1 :  $2)</a>

    Сделайте регулярку нежадной, иначе что будет, если я вставлю две ссылки подряд?
    [url=http://google.ru]Сайт гугл[/url][url=http://yandex.ru]Сайт яндекс[/url]

    И не забывайте про проверку исходных данных. Что будет, если передать строку
    [url=http://google.ru]<script src="http://my.xackep.site/zlovred.js"></script>Сайт гугл[/url]
    Ответ написан
    Комментировать
  • Что php делает быстрее: парсит папку или БД?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    БД позволит хранить дополнительные атрибуты фотографий - описание, порядок показа, размеры.
    Ответ написан
  • Сетевая инфраструктура для небольшой компании. На какой ОС-и основать? Как лучше сделать?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    1. Сетевую карту - однозначно гигабитную.
    2. Какие используются камеры. Если аналоговые - то сможете ли пробросить карту видеозахвата в виртуалку? Если IP, то лучше выделять камеры в отдельную сеть с отдельным сетевым интерфейсом на сервере.
    3. Видеокарту можно убрать, если она не используется софтом видеонаблюдения, для гипервизора достаточно встроенной карты. Если она нужна софту, то как её прокинуть в виртуалку?
    4. Для системы лучше взять аппаратный SAS-raid (например LSI MegaRAID SAS 9240-4i), зеркало на небольших SAS-винтах под операционку и 1С, отдельные SATA-винты под файлопомойку и видеонаблюдение.
    5. Если уж ставить виртуалки, то Ubuntu не нужна, ставьте XEN или HyperV.
    Ответ написан
    4 комментария
  • Как составить программу "Расставить знаки арифметических операций и скобки чтобы выполнялось равенство"?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    И нехилый такой переборчик получается.
    В варианте "расставить знаки и скобки в левой части, чтобы выполнилось равенство":
    Пусть строка цифр в левой части имеет длину n.
    1. Разбить всеми возможными способами строку на числа. То есть получаем от 1 до n чисел. Количество вариантов разбиения строки из n цифр на m чисел
    mwvtag8.png
    2. Так как в условии сказано про скобки, то операции могут выполняться в разном порядке. Для указания порядка операций по каждому массиву из m чисел можно построить бинарное дерево, используя элементы массива как листья. Каждое дерево будет содержать m-1 вершину. Количество таких деревьев (число Каталана)
    loo5xnj.png
    3. Каждая из вершин задаёт одну из четырёх математических операций (+, -, *, /). Таким образом, количество возможных формул для одного дерева
    kmr2zxr.png
    4. Если добавить унарные минусы, то их можно раставить для каждого из m листьев
    m57sarh.png
    Итого вариантов
    n546hm7.png
    После этого обходом дерева выполняем расчёт и, если результат правильный, выводим дерево в виде выражения со скобками. Вот количество вариантов для разных n (хотя часть из них и окажется дублями или математически неверными из-за деления на 0).
    +----+---------------------+---------------------+
    |  n | без унарных минусов | с унарными минусами |
    +----+---------------------+---------------------+
    |  1 |                   1 |                   2 |
    |  2 |                   5 |                  18 |
    |  3 |                  41 |                 290 |
    |  4 |                 320 |               5'938 |
    |  5 |               5'073 |             136'770 |
    |  6 |              64'469 |           3'379'794 |
    |  7 |             859'385 |          87'547'746 |
    |  8 |          11'853'949 |       2'345'800'050 |
    |  9 |         167'763'361 |      64'477'920'386 |
    | 10 |       2'422'342'053 |   1'807'930'569'874 |
    +----+---------------------+---------------------+

    Мне кажется, или действительно перебор? :-)
    Ответ написан
  • Лицензирование Windows Server терминала и клиенты Linux?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для начала надо определиться - лицензии "на пользователя" или "на устройство". Если пользователей больше, чем устройств, с которых будет работа в терминале (например, посменная работа), то надо брать лицензии "на устройство" по количеству устройств. Если наоборот (например, у каждого пользователя компьютер и планшет) - то лицензии "на пользователя" по общему количеству пользователей, работающих в терминале. По полученному числу закупаете RDS CAL - лицензии удалённого рабочего стола. Лицензий Server CAL закупаете не меньше, чем RDS CAL. Если есть компьютеры, с которых в терминале не работают, но к серверу подключаются (например, к расшаренному на сервере диску или принтеру), то на них тоже нужны лицензии Server CAL.
    Ответ написан
    Комментировать
  • Какой выбрать процессор под сервер Intel Xeon Ivy Bridge?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если пользователи будут работать прямо на сервере в терминальном режиме - то важнее количество ядер, если на сервере будет только сервер приложений 1С - то гигагерцы.
    Ответ написан
    3 комментария
  • Как можно оптимизировать мой код php+mysql?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Второй запрос можно объединить со всеми следующими:
    SELECT `rt`.`sum` AS `sum`, `rt`.`work_id` AS `work_id`, `t`.`serial` AS serial, `mk`.`name` AS `marka`,
                `md`.`name` AS `model`, DATE_FORMAT(`rt`.`data`, '%d.%m.%Y') AS `data` 
        FROM `remont_tech` AS `rt` 
        LEFT JOIN `tech` AS `t` ON `rt`.`tech_id` = `t`.`id`
        LEFT JOIN `marka` AS `mk` ON `t`.`marka` = `mk`.`id`
        LEFT JOIN `model` AS `md` ON `t`.`model` = `md`.`id`
        WHERE `rt`.`tech_id` = '$techs_id'
            AND `rt`.`status` != 'delete'  
            AND TO_DAYS(NOW()) - TO_DAYS(`rt`.`data`) <= 30
        ORDER BY `rt`.`data`
    Ответ написан
    5 комментариев
  • Как сделать preg_replace из ссылки?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    $str = preg_replace("~.*/level/1/film/(\d+)/.*~", "$1", $str);
    Ответ написан
  • Почему скрипт неправильно складывает массив?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А если так? Полностью замените свою подпрограмму на:
    $tech = mysql_query("SELECT SUM(`rt`.`sum`) ".
                        "    FROM `tech` AS `t` ".
                        "        INNER JOIN `remont_tech` AS `rt` ON `t`.`id` = `rt`.`tech_id` ".
                        "    WHERE `t`.`tech_cat` = '".mysql_real_escape_string($cat_id)."' ".
                        "        AND `t`.`status` = 'normal'");
    if ($techs = mysql_fetch_array($tech))
        $summa = $techs[0];
    Ответ написан
    6 комментариев
  • В чем проблема с использованием алгоритма Брезенхэма?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А в Octave рисуются отдельные точки или линии между точками? Ваша реализация алгоритма, для отрезка (0, 0) - (2,3) выводит:
    2 3
    0 0
    1 1
    1 2

    То есть, если задана отрисовка отрезков, то сначала отрезок (2, 3) - (0, 0), затем (0, 0) - (1, 1) и т.д.
    Для нормального вывода перенесите в конец программы строку
    print ("%d %d" %(x2, y2))
    Ответ написан
    5 комментариев
  • Зачем программисту дискретная математика?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А как же булева алгебра, комбинаторика, теория автоматов, формальные грамматики? Это тоже всё разделы дискретной математики. Если Вы не представляете их применения, значит Вам ещё не попадались действительно сложные задачи. Попробуйте, например, написать простейший валидатор html по BNF-правилам.
    Ответ написан
    10 комментариев
  • Какие фильмы можно легально показывать на своем сайте?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    - Находящиеся в общественном достоянии.
    - Имеющие лицензию creative commons или другую открытую лицензию.
    - Те, на которые у Вас есть договор с правообладателем на доведение до всеобщего сведения.
    Ответ написан
    Комментировать
  • Как узнать количество одинаковых значений в массиве?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    COUNT() и GROUP BY
    Ответ написан
    2 комментария
  • Как собрать массив пользователь с сортировкой?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    При таком маленьком количестве элементов нет смысла сортировать массив. Проще создать новый и циклом по исходному массиву записать в него данные на нужные позиции.
    Ответ написан
    1 комментарий
  • Как реализовать валидацию xml атрибутов по EBNF-правилам на PHP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    EBNF в regexp в общем случае не преобразуется, надо строить лексический и синтаксический анализаторы.
    Ответ написан
    3 комментария