Задать вопрос
  • Какая есть программа для классификации файлов?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Попробуйте на perl, он кроссплатформенный, небольшие скрипты на нём пишутся очень легко.
    Ответ написан
  • Почему вот этот код не работает? Где тут проблема?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Что будет в вашем запросе, если ему передать
    $globaloutput = "0'); DROP TABLE IF EXISTS `users`;--"

    Сделайте лучше через bind, так гораздо безопаснее и не надо вручную эскейпить строки.
    $req = $mysqli->query("INSERT INTO projects VALUES(0, ?, ?, ?, ?, ?)");
    $req->bind_param("issss", $name, $ur_name, $startdate, $globalinput, $globaloutput);
    $req->execute();
    Ответ написан
    1 комментарий
  • Как сделать AD авторизацию на корпоративном сайте?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Попробуйте через Kerberos - mod_auth_kerb
    acksyn.org/?p=460
    Ответ написан
    1 комментарий
  • Как проверить изображение на корректность и отсутствие вредоносного кода?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Чтбы понять, что там, всё равно придётся сначала скачать файл. А дальше можно его как угодно анализировать, например через finfo в php. Можно сначала получить заголовок через запрос HEAD, убедиться, что файл существует и определить его объём.
    И уж конечно никакие полученные от клиента данные не должны писаться в базу без контроля. Как минимум mysqli::bind.
    Ответ написан
    Комментировать
  • С чего начать организацию сети из компов в школе?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Бесплатно сможете использовать только *NIX. Win системы для школ хоть и идут по дешёвой академической лицензии, но всё равно только сам сервер стоит около 7000, а к нему ещё нужны пользовательские лицензии.
    Если найдётся выделенный компьютер под Linux, то на нём можно одновременно развернуть интернет-шлюз (firewall, squid, squidGuard, lightSquid) и файловое хранилище (Samba3). Можно попробовать поднять и контроллер домена на Samba4, но сам его не использовал и про стабильность ничего сказать не могу.
    Удалённое подключение можно организовать штатными средствами Windows по RDP (удалённый рабочий стол), для подключения из дома нужен фиксированный ip-адрес или динамический DNS в школе и проброс порта на шлюзе. Но при подключении по RDP отключается локальный рабочий стол. Для просмотра того, что происходит на компьютере без полного перехвата управления подойдёт бесплатная TightVNC.
    Как защиту от баловства школьников посмотрите в сторону систем заморозки состояния, например DeepFreeze, Shadow Defender. Они после перезагрузки возвращают сохранённое состояние компьютера.
    Добавьте на все компьютеры административного пользователя. Ограничьте права остальных пользователей до уровня "Пользователь". Покопайтесь в групповых политиках, очень много можно запретить через них, только при отсутствии домена настраивать придётся каждый компьютер отдельно.
    Ответ написан
    2 комментария
  • Архитектура MySQL таблицы: строки или числа

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Пусть в вашей таблице объектов есть поле objectId - идентификатор объекта. Создадим дополнительную таблицу, связанную по полю objectId с таблицей объектов. Таблица содержит поля номера сервиса serviceNum и его статуса serviceStatus.
    CREATE TABLE `service_states` 
      `objectId` BIGINT NOT NULL DEFAULT '0',
      `serviceNum` INT NOT NULL DEFAULT '0',
      `serviceState` tinyint(1) DEFAULT '0',
      PRIMARY KEY (`objectId`,`serviceNum`),
      KEY `byServiceState` (`serviceState`),
      KEY `byServiceNum` (`serviceNum`))
    ENGINE=InnoDB DEFAULT CHARSET=utf8';

    Запрос всех объектов, аналогичный вашему, будет выглядеть как
    SELECT * FROM `test_b` as tb
    RIGHT JOIN `service_states` as ss USING(objectId)
    WHERE ss.serviceNum = 3 AND ss.serviceState = 2;
    Ответ написан
  • С чего начать организацию сети из компов в школе?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В оптимуме - один компьютер под *NIX для интернет-шлюза и два компьютера под WinServer с контроллерами Active Directory (основной и резервный). На одном из них WSUS для автоматического обновления Windows.
    1, 2. Расшареный каталог на одном из Windows серверов или Samba на *NIX.
    3, 6. Программы удалённого управления - TeamViewer, Remote Admin, бесплатная - TightVNC.
    4. Файрвол на шлюзе и прокси-сервер со списком белых адресов, например Squid.
    5. Либо расшаренные папки, либо переносимый профиль Active Directory с ограничением объёма файлов.
    7. Настройка прав, обычный пользователь не должен работать с правами выше "Пользователь". Можно через Active Directory.
    8. SMS или позвонить по сотовому.

    Начать лучше с поиска средств, поскольку удовольствие не из дешёвых, два Windows Server и минимум Windows Pro на компьютер каждого пользователя (Windows Home в домен не включить). Затем поднимать домен, вводить в него все компьютеры под Windows, заводить учётки и раздавать права. Поднимать WSUS. Ставить шлюз, прокси со связкой к AD, определять список разрешённых адресов. Поднимать файловый сервер на одном из Windows Server или на *NIX (Samba), привязывать к домену, создавать папки и распределять права.
    Ответ написан
    Комментировать
  • php interactive mode

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    > php -a
    Interactive mode enabled
    
    echo "123\n";
    <?php
    echo "345\n";
    345
    ?>
    Ответ написан
    Комментировать
  • Анализ данных с термодатчиков и трубки Флейша?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    С температурами всё достаточно просто, графики без шумов. Можно брать локальные минимумы/максимумы, просто перебираете весь массив считая разницу между значениями в текущей и в следующей точках меняет знак, то записываете точку как локальный экстремум.

    d = V[1]-V[0];
    for (i = 1; i < N-1, i++) {
        d1 = V[i+1]-V[i];
        if (d < 0 && d1 > 0) {
            // Локальный минимум V[i]
        } else if (d > 0 && d1 < 0) {
            // Локальный максимум V[i]
        }
        d = d1;
    }

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

    noise = 2; // Уровень шума, поставить нужное значение
    t1 = 0; // Точка перехода к нулю
    upDown = 0; // Направление движения до нуля, > 0 - вверх, < 0 - вниз, 0 - начало графика
    d = V[1]-V[0];
    if (abs(d) < noise)
        d = 0;
    for (i = 1; i < N-1, i++) {
        d1 = V[i+1]-V[i];
        if (abs(d1) < noise)
            d1 = 0;
        if (d < 0 && d1 > 0) {
            // Локальный минимум V[i]
        } else if (d > 0 && d1 > 0) {
            // Локальный максимум V[i]
        } else if (d != 0 && d1 == 0) {
            t1 = i;
            upDown = d;
        } else if (d == 0 && d1 > 0 && upDown < 0) {
            // Локальный минимум V[(t1+i)/2] или (V[t1]+V[i])/2
        } else if (d == 0 && d1 < 0 && upDown > 0) {
            // Локальный максимум V[(t1+i)/2] или (V[t1]+V[i])/2
        }
        d = d1;
    }
    Ответ написан
    2 комментария
  • JavaScript: первые шаги. Как обратиться к вложенному элементу?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    function visibleOnClick (node) {
        var visible = node.childNodes[1]; 
        visible.style.opacity = (visible.style.opacity == 0 ? 1 : 0);
    }


    <div class='box' onclick='visibleOnClick(this)'>
        <ul class='visible'>
    	<li>blabla</li>
    	<li>blabla</li>
        </ul>
    </div>


    this.childNodes[0] - текстовая нода, присутствует если между <div> и <ul> будет хоть один символ, в том числе и перевод строки.

    .style.opacity сделает элемент прозрачным, но место занимать он по прежнему будет. Для освобождения пространства надо переключать .style.display между 'none' и 'block'.
    Ответ написан
    2 комментария
  • Есть ли возможность вывода на печать специально сделанной для печати страницы сайта (длинная таблица)?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Комментировать
  • Измерение тока на виртуальном осциллографе

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Напрямую нет. Можно использовать падение напряжения на калиброванном резисторе 0.1-0.001 Ом, добавленном в цепь, чем меньше сопротивление - тем точнее замер, но тем более чувствительным должен быть осцилограф.
    А вообще-то это физика, класс 10-11, принципы работы вольтметра и амперметра.
    Ответ написан
    Комментировать
  • Почему не удается выполнить вставку посредством mysqli::query?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    $query = "INSERT...

    string(245) "INSERN...

    Какая из двух строк с ошибкой?
    Сообщение об ошибке MySQL содержит фрагмент строки запроса, начинающийся с места, где была обнаружена ошибка.
    Ответ написан
    Комментировать