• Как раньше делались онлайн чаты?

    @rPman
    Где то в 2007 году появилась технология long pooling (возможно и раньше, но название получила именно тогда).
    На бакэнде есть скрипт, который не возвращает (находится в режиме ожидания, т.е. sleep) данных пока не понадобится отправить на клиент сообщение.

    В это же время как такового ajax не было (xhtmlrequest появился какраз в 2007г), и чтобы получить данные с сервера проще всего было сгенерировать javascipt константы инициализации этих данных, переданные в функцию, являющуюся колбеком на их получение. Соответственно чтобы запустить ожидание сообщения на клиенте нужно подключить скрипт с соответствующим url в теге script.

    Чтобы длинное подключение не закрылось, long poling во время ожидания периодически должен отсылать какие-нибудь данные, например пробел раз в минуту.

    в итоге бакэнд формирует с паузой и возвращает скрипт типа:
    ................................
    messageReceived({user:'vasya',message:'Hi!'});


    p.s. мелкие чаты не брезговали периодическими апдейтами, на таймере, я видел локальный чат, который список сообщений представлялся в виде html внутри iframe, в котором в meta refresh было прописано обновляться раз в 5 секунд
    Ответ написан
    1 комментарий
  • Как раньше делались онлайн чаты?

    @mletov
    Фрэймы
    Ответ написан
    Комментировать
  • Возможно ли починить этот жесткий диск?

    ettaluni
    @ettaluni
    ERROR MEME
    У тебя овер много бэд блоков, жесткий может еще и показывает что жив но поверхность убита. Ты вообще считать инфу от туда можешь?
    Лечение только одно, переводить этот жесткий в режим чтения и делать клон на другой диск.
    У тебя тошиба немного отработал? Ты что на своем компьютере прыгал?
    Ответ написан
    1 комментарий
  • В чём может быть причина появления Ethernet адаптера через одну загрузку Windows?

    Rosser
    @Rosser
    Псс, парень, компутер отремонтировать надо?
    Возможно необходимо прошить Биос, посмотрите на сайте производителя ноутбука, нету ли там обновлений для биос'а. Если есть, то возможно там это устранили.
    Но я бы лично проверили проблема эта программного или аппаратного характера так, просто записал бы установил бы или запустил с флешки в live режиме, какой нибудь дистрибутив Linux и тогда стало бы ясно это софт виноват или железо.
    Ответ написан
    Комментировать
  • Что означают просто { тут блок кода } в с++?

    @tugo
    Пользуются свойствами блока кода:
    1. создается новая область видимости
    2. объект, созданный внутри блока кода, удалится по завершению (т.е вызовется деструктор). В сочетании с RAII иногда удобно.

    // Когда не хочется придумывать новое имя другой переменной, которая точно такая же по смыслу.
    // И хочется дать ей константность - ее менять я не собираюсь, в смысле изменчивости переменной.
    const bool ok = foo1();
    if (!ok)
        return;
    {
        const bool ok = foo2();
        if (!ok)
            return;
    }


    // Когда надо защитить мьютексом изменение переменной, на как можно более короткое время.
    ...  некий код
    {
        const std::lock_guard<std::mutex> lock(_mutex);
        ++i;
        // _mutex is automatically released when lock goes out of scope
    }
    ... продолжаем код


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

    @rPman
    неверные предрассудки

    Выбирать само собой linux, тут даже не обсуждается.

    Если у тебя свой специалист по настройке (или ты сам таковым являешься) то ОС нужно выбирать по тому в чем лучше разбираешься.

    Если говорить про то, какую именно то выбор должен быть не системы второго уровня поддержки, а первого, на основе чего создаются эти дистрибутивы, т.е. не ubuntu а debian.

    Фиксация релизной версии есть во многих ОС, даже у gentoo можно 'стабильную' ветку выбрать (на правах шутки ибо релиз в gentoo это как тестовая ветка в debian или даже новее).
    Ответ написан
    3 комментария
  • Как создать пользователя ad с помощью php и передать ему пароль в md5?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    При регистрации и авторизации пароль к вам на сайт приходит в открытом виде, потому вы его хешируете и сравниваете с тем, что хранится в БД.

    Так вот при регистрации можно сразу делать запрос и в AD. А для уже существующих пользователей проверять связь с AD и регистрировать, если её ещё нет, при авторизации. Ну или отдельную форму привязки сделать для уже зарегистрированных, это не важно.

    А вот массово, просто на основании таблицы, этого сделать в нормальном виде не получится.
    Ответ написан
    Комментировать
  • Как интегрировать ГОСТ2012 в Nginx?

    А зачем тебе интегрировать гост в nginx? У тебя php цепляется к серверу где гост сертификат. nginx тут ни при чём, от слова совсем.
    Ответ написан
    1 комментарий
  • Как на физическом уровне происходит прошивка нового выращенного процессора или любого другого микроэлектронного устройства?

    Zoominger
    @Zoominger
    System Integrator
    Все базовые операции в процессор уже зашиты, это называется "аппаратная реализация".
    То, что вы подразумеваете, называется ПЛИС, погуглите, это интересно.
    Ответ написан
    Комментировать
  • Как на физическом уровне происходит прошивка нового выращенного процессора или любого другого микроэлектронного устройства?

    vabka
    @vabka
    Токсичный шарпист
    Процессор "выращивается" с уже полностью готовой структурой.
    А чтобы научиться проектировать процессоры - изучай архитектуры процессоров и базовые логические операции.
    Ответ написан
    5 комментариев
  • Планировщик заданий: требуется простое регулярное обращение к диску; подскажете?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Правильно конечно было бы разобраться в причинах "отваливания" диска. Вполне может быть, что он скоро отдаст концы. Или банально БП не тянет по мощности. Диск Е у Вас - сетевой или физический (на этом ПК)?
    Для Планировщика задач, можно использовать утилиту devcon, котрая сможет по расписанию выполнять манипуляции с устройствами. Возможно Вам поможет запуск devcon по расписанию, с парметром командной строки "rescan"
    Ответ написан
    2 комментария
  • Как восстановить БД из резервной копии PostgreSQL в Linux?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Не делайте ничего сложнее селектов через верморду, а лучше выкиньте её вообще.

    pg_dump -U postgres -Fc merch_telegram_bot_db > test.backup
    createdb -U postgres -E UNICODE merch_telegram_bot_db
    pg_restore -U postgres -j 2 -d merch_telegram_bot_db test.backup
    Ответ написан
    Комментировать
  • Верстальщик, дизайнер и фронтендер - ныне одна профессия?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Дизайнер это дизайнер. Чистый визуал, часто даже не понимающий как это будет сверстано.
    Верстальщик - ну, сказать что это профессия как то даже не совсем верно. Хотя есть виртуозы, выигрывающие за счет глубокого погружения в тему, знания нюансов и скорости работы. Иногда это нужно именно в таком виде, ну и спрос на таких монстров есть.
    Фронтендер - больше комбайн из верстальщика и ЖСера. Обычно требуется знание 1-2 серьезных фреймворков/библиотек, а ля вуе, реакт, ангулар... Ну и вебпак сасс лесс до кучи.

    Так что нет, это разные специализации.
    Ответ написан
    Комментировать
  • Как вытянуть оригинал картинки с сервера. (Авито и прочие)?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Очевидно, что ссылки на картинки где-то есть или их адреса можно составить по предсказуемой схеме, чем сайт-сервис и пользуется, проведя исследование.
    Как выдернуть - найти ссылки или понять схему. Для этого нужно использовать консоль/код/сурс, разумеется, но ещё и голову. Научить этому в рамках общего вопроса здесь невозможно, а конкретный вопрос будет заданием.
    Ответ написан
    2 комментария
  • Как реализовать систему входа по карте или qr коду?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Если это система для сотрудников, то гораздо проще взять стандартный СКУД, там и контроль доступа, и ключницы, и персональные шкафчики, и весовой контроль, и алкотестеры, в общем, на любой вкус.
    Если это для посетителей, то что будете делать с людьми, у которых нет смартфона, смартфон на древней версии андроида или на windows? А может человек просто не хочет ставить какое-то левое приложение только чтобы посетить вашу контору.
    Ответ написан
    Комментировать
  • Можно ли делать image resize в lxc (proxmox ve) без остановки PostgreSQL?

    Melkij
    @Melkij
    PostgreSQL DBA
    Можно ли делать resize диска без остановки работы СУБД

    Да.
    postgresql использует рядовые sysctl работы с файлами и не взаимодействует с устройством напрямую.
    Ответ написан
    1 комментарий
  • Можно ли делать image resize в lxc (proxmox ve) без остановки PostgreSQL?

    vasilyevmn
    @vasilyevmn
    DevOps
    Может ли это как то повлиять на целостность СУБД?

    Нет.

    Каковая вероятность битой базы?
    или это штатный механизм?


    Штатный, вероятность околонулевая, если уж очень страшно, то бекапы никто не отменял.
    Ответ написан
    Комментировать
  • Зачем нужны маски подсети?

    fzfx
    @fzfx
    18,5 дм
    маски подсети нужны чтобы указывать размер подсети. размер подсети нужно указывать для того, чтобы обозначить для сетевого стека, какой диапазон адресов относится к широковещательному домену и не требует маршрутизации, а какие адреса относятся к другим сетям, чтобы пакеты были на них смаршрутизированы через таблицу маршрутизации (шлюз по умолчанию или иные шлюзы, подсети для которых также заданы с использованием маски подсети).
    максимальную можно указать только в том случае, когда её можно указать, а если её указать нельзя, тогда нельзя.
    маски подсети не сказываются на производительности напрямую.
    Ответ написан
    3 комментария
  • Как сделать защищенное соединение по RDP?

    Mi11er
    @Mi11er
    A human...
    Нестандартный порт ставите в NAT
    А все остальное в FW , если сканируется порт 3389, добавляет в ACL , после этот же ACL дропаете.

    Второй вариант, это VPN,
    Третий вариант, это RDP шлюз и порт 443 или кастомный.

    Это вам кастомный порт
    [mkr@mkr-gw] /ip firewall nat> add chain=dstnat protocol=tcp in-interface=ether1 port=33389 action=dst-nat to-addresses=192.168.192.
    168 to-ports=3389


    тут добавил в ACL и блочим
    //Блочим всех кто в списке
    [mkr@mkr-gw] /ip firewall filter> add chain=input address-list=block action=drop 
    
    //Добавим в список того, кто по новым соединениям собрался на 3389 
    [mkr@mkr-gw] /ip firewall filter> add dst-port=3389 connection-state=new in-interface=ether1 action=add-dst-to-address-list address-
    list=block chain=input
    Ответ написан
    8 комментариев
  • Можно ли увидеть программный код?

    DollyPapper
    @DollyPapper
    1)Да если она опенсорс, ну или дизассемблировать
    2)Это называется отладчики(windbg, x64dbg, softice) и дизассемблеры(ida, radare наверное еще есть, я не спец. в данной теме)
    3)Множество техник, но добиться "никто никогда его не увидел" невозможно, только если эта программа будет хранится у вас на диски и в интернет не попадет. В ином случае знающие люди вооружившись инструментами из п.2 смогут увидеть код ваш программы.
    4)Так же как и обычной программы, вооружившись инструментами из п.2 и знаниями об устройстве ОС, процессора, языка С(не обязательно) и ассемблера(обязательно). Хотя вирусная программа может быть написана и на вообще скриптовом языке, который в маш. код не компилируется(ну на прямую), тогда можно просто сесть и читать код вредоносной программы ровно в том виде в котором он написан.
    Ответ написан
    4 комментария