• Как сделать быстрое переключение между двумя wifi при отвале одного из них?

    ExiveR
    @ExiveR
    Разработчик
    Хотите нормально - тогда роутер типа Mikrotik 951, в котором надо будет настроить резервирование. Роутер будет жонглировать подключениями, а ваш комп всегда подключен к одной точке
    Ответ написан
    1 комментарий
  • Как сделать быстрое переключение между двумя wifi при отвале одного из них?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    То, что вы хотите - сделать нельзя.
    Точнее можно прикрутить какой-то скрипт, который например будет пинговать постоянно что-то и при пропадании пинга переключаться на другой WIFI.
    Но правильное решение - поставить нормальный маршрутизатор с одним WIFI, который будет иметь выход через 2 канала и он будет переключаться между ними в зависимости от условий.
    Ответ написан
    Комментировать
  • Кто отвечает за пересылку IP пакета через TUN адаптер в туннеле точка-точка? (ядро или программист/код)?

    ValdikSS
    @ValdikSS
    TUN предоставляет возможность получения и отправки сетевых пакетов программой через созданный виртуальный интерфейс.
    Всё остальное необходимо делать самостоятельно.
    Ответ написан
    2 комментария
  • Почему регулярка не захватывает строку?

    Alexandroppolus
    @Alexandroppolus
    кодир
    ^(([a-z0-9_-]+\.)*(?!(play|gemini)\.)[a-z0-9_-]+\.)?google\.com$
    Ответ написан
    9 комментариев
  • Как изменить атрибут html элемента через css селектор?

    miraage
    @miraage
    Старый прогер
    HTML аттрибуты нельзя менять через CSS. Только через JS.
    Ответ написан
    Комментировать
  • Поможет ли замена SSD на NVME ускорить работу с браузером Firefox?

    @asmelnik
    1) Читали?
    https://support.mozilla.org/ru/kb/firefox-ispolzue...
    2) разницу между SATA и NVME представляете или нет?
    Если на пальцах, то ключевой момент в NVME не столько скорость, сколько количество одновременных потоков данных.
    SATA разрабатывался в первую очередь для HDD, т.е. механических дисков, и имеет ряд ограничений в связи с этим.
    Например интенсивный обмен мелкими объемами данных от большого количества приложений "убивает" производительность sata довольно быстро, а nvme переваривает в разы, если не на порядки, больше.
    Вот только на обычном пользовательском ПК редко возникают такие нагрузки.

    htop iotop iostat вам в помощь.
    Открываете консоль, общая нагрузка на систему
    htop (CPU, RAM, swap и т.д.)
    iotop и iostat требуют root и покажут вам кем и насколько интенсивно используется ваши жесткие диски.
    Ответ написан
    2 комментария
  • Поможет ли замена SSD на NVME ускорить работу с браузером Firefox?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    да, по идее должно немного ускориться если вы разместите ваш хомяк($HOME) на NVME так как профиль и кэш от firefox хранятся там. (это при стандартном размещении, а насчет всяких флатпаков и им подобных невкурсе). Но если нужно выжать максимум то лучше переместить кэш и профиль в ОЗМ(RAM) где доступ будет самым быстрым.
    По теме можно глянуть статью на archwiki - Firefox/Profile on RAM

    п.с.
    тут вспомнилось что при долгом использовании sqlite баз в firefox они могут малость засираться, по этому поводу есть даже древняя но всё еще актуальная статья на хабре - Ускоряем запуск браузера FireFox
    Ответ написан
    Комментировать
  • Какие существуют платформы купли-продажи рекламных интеграций в youtube?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    https://yoola.com/
    https://mediacube.io/ru-RU/payments

    вообще, по поему, их время прошло, только директ

    были попытки "для инфлюенсеров", но инфлюенсер которого не смотрят - так себе инфлюенсер,а которого смотрят - к нему нянька чтобы без отсебятины, партнерка тут лишняя
    Ответ написан
    Комментировать
  • Обнаружил подозрительный JS код в header.php, в bitrix cms, на что похоже? Анимация?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Судите сами:

    function resize() {
        const el = document.getElementsByClassName('preloader-wrap')[0];
        let scale = 0 < window.innerWidth - window.innerHeight
                    ? window.innerWidth / 2200
                    : window.innerWidth / 800;
        el.style.transform = 'translate(-50%, -50%) scale(' + scale + ')';
    }
    
    function animAdd(selector, className, timeout) {
        const el = document.getElementsByClassName(selector)[0];
        setTimeout(function () {
            el.classList.add(className);
        }, timeout);
    }
    
    function animRem(selector, className, timeout) {
        const el = document.getElementsByClassName(selector)[0];
        setTimeout(function () {
            el.classList.remove(className);
        }, timeout);
    }
    
    function getRandom() {
        return 10 * Math.round((1500 * Math.random() + 500) / 10);
    }
    
    function animBannerAdd() {
        animAdd('preloader-item1', 'active', getRandom());
        animAdd('preloader-item2', 'active', getRandom());
        animAdd('preloader-item3', 'active', getRandom());
        animAdd('preloader-item4', 'active', getRandom());
        animAdd('preloader-item5', 'active', getRandom());
        animAdd('preloader-item6', 'active', getRandom());
        animAdd('preloader-item7', 'active', getRandom());
        animAdd('preloader-item8', 'active', getRandom());
        animAdd('preloader-item9', 'active', getRandom());
        animAdd('preloader-item10', 'active', getRandom());
        animAdd('preloader-item11', 'active', getRandom());
        animAdd('preloader-item12', 'active', getRandom());
        animAdd('preloader-item13', 'active', getRandom());
        animAdd('preloader-item14', 'active', getRandom());
        animAdd('preloader-item15', 'active', getRandom());
        animAdd('preloader-item16', 'active', getRandom());
        animAdd('preloader-item17', 'active', getRandom());
        animAdd('preloader-item18', 'active', getRandom());
        animAdd('preloader-item19', 'active', getRandom());
        animAdd('preloader-item20', 'active', getRandom());
        animAdd('preloader-item21', 'active', getRandom());
        animAdd('preloader-item22', 'active', getRandom());
        animAdd('preloader-item23', 'active', getRandom());
        animAdd('preloader-item24', 'active', getRandom());
        animAdd('preloader-item25', 'active', getRandom());
        animAdd('preloader-item26', 'active', getRandom());
        animAdd('preloader-item27', 'active', getRandom());
        animAdd('preloader-item28', 'active', getRandom());
        animAdd('preloader-item29', 'active', getRandom());
        animAdd('preloader-item30', 'active', getRandom());
        animAdd('preloader-item31', 'active', getRandom());
        animAdd('preloader-item32', 'active', getRandom());
    }
    
    function animBannerRem() {
        animRem('preloader-item1', 'active', 0);
        animRem('preloader-item2', 'active', 0);
        animRem('preloader-item3', 'active', 0);
        animRem('preloader-item4', 'active', 0);
        animRem('preloader-item5', 'active', 0);
        animRem('preloader-item6', 'active', 0);
        animRem('preloader-item7', 'active', 0);
        animRem('preloader-item8', 'active', 0);
        animRem('preloader-item9', 'active', 0);
        animRem('preloader-item10', 'active', 0);
        animRem('preloader-item11', 'active', 0);
        animRem('preloader-item12', 'active', 0);
        animRem('preloader-item13', 'active', 0);
        animRem('preloader-item14', 'active', 0);
        animRem('preloader-item15', 'active', 0);
        animRem('preloader-item16', 'active', 0);
        animRem('preloader-item17', 'active', 0);
        animRem('preloader-item18', 'active', 0);
        animRem('preloader-item19', 'active', 0);
        animRem('preloader-item20', 'active', 0);
        animRem('preloader-item21', 'active', 0);
        animRem('preloader-item22', 'active', 0);
        animRem('preloader-item23', 'active', 0);
        animRem('preloader-item24', 'active', 0);
        animRem('preloader-item25', 'active', 0);
        animRem('preloader-item26', 'active', 0);
        animRem('preloader-item27', 'active', 0);
        animRem('preloader-item28', 'active', 0);
        animRem('preloader-item29', 'active', 0);
        animRem('preloader-item30', 'active', 0);
        animRem('preloader-item31', 'active', 0);
        animRem('preloader-item32', 'active', 0);
    }
    
    document.addEventListener('DOMContentLoaded', function () {
        resize();
    });
    
    window.onresize = function () {
        resize();
    };
    
    console.log(getRandom());
    
    animBannerAdd();
    
    setInterval(function () {
        animBannerRem();
    }, 3000);
    
    setInterval(function () {
        animBannerAdd();
    }, 3000);
    Ответ написан
    2 комментария
  • Меняется ли качество GNSS приёмника в линейках MediaTek Helio A/P/X/G/Dimensity?

    stakhanov_k
    @stakhanov_k
    Теоретический экспериментатор
    В густом лесу мне кажется лучше подойдёт внешний gnss приемник. Если смартфон или планшет может в OTG ... особенно если там , в лесу нету инета
    И да, более новое устройство работает со всеми спутникамт
    Ответ написан
    1 комментарий
  • Как дать перманентный бан за мультиак на сайте?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Мне понравилась следующая система:

    При регистрации пользователь заполняет телефон и его просят позвонить по номеру сервера
    он звонит серверное по определяет номер, если номера совпадают до аккаунт регистрируется.

    Вся прелесть в том что с виртуального номера звонок не сделаешь, а покупать 10 симок такое себе.
    Ответ написан
  • В чем отличие ngnix от golang?

    @deliro
    nginx — это реверс-прокси
    go — это яп.

    в чём вопрос-то?

    то как go может работать на ngnix?

    nginx проксирует запрос в сервер на го, который пишет программист. Цепочка проксей может быть сколько угодно большой. Ты можешь поставить nginx -> nginx -> caddy -> nginx -> gin, никто не запрещает.
    Ответ написан
    3 комментария
  • Одноплатник работает в режиме 24/7. Почему спешат/отстают часы?

    Kyodza
    @Kyodza
    Инженер по лётным испытаниям лёгких самолетов
    Мы сделали бортовой регистратор данных для движущегося объекта. Оказалось, что за минуту набегает ошибка до 0.8 сек. Для анализа динамики движения это очень много, если даже простейшие GPS уже умеют выдавать данные через 0.1 сек.

    Все дело в кварце и убогом процессоре, который обрабатывает системное время через аппаратное прерывание Таймера 1. Как только нагрузили процессор вычислениями по полной, так и побежало отставание.

    Решили проблему коррекцией времени через сигнал PPS от приемника GPS. Но тоже не здорово - еще отбираем мощность у процессора на обработку прерываний.

    Сейчас заказал Arduino Uno R4 прямо с сайта Arduino.cc (у меня есть возможность). 25 евро, не дорого. У нее встроенные часы, хороший кварц и частота процессора уже 48 МГц.
    Ответ написан
    8 комментариев
  • Одноплатник работает в режиме 24/7. Почему спешат/отстают часы?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Кварцы не совершенны.
    Рубидиевые часы стоят как маленький самолет.
    Так что используйте NTP
    Другой вариант измерьте суточное отставание и корректируйте скриптом
    Ответ написан
    7 комментариев
  • Поддерживает AOSP прошивка Dual GPS?

    @pfg21
    ex-турист
    функциональность использования L5 находится внутри модуля жпс.
    Андроиду модуль выдает готовые геоданные, несколько дополнительных показателей (та же точность геоданных, видимость спутников) и дает доступ к некоторым управляющим функциям (a-gps загрузить).
    какие жпс-системы и какие ихние каналы использует модуль андроиду до лампочки.

    т.е. в андроиде должен быть драйвер для конкретного модуля жпс.
    если его нет - то и суда нет.
    Ответ написан
    2 комментария
  • Как правильно покрыть WiFi сетью квадрат 5х5 км. на 100 000 человек?

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    ИМХО равномерно такое покрыть - утопия. 2ГГц каналов не хватит, будете сами себя забивать. 5ка ну пусть будет каждые 40 метров - 125х125 - 15625 точек. коммутатор в среднем точек на 20 - 750 штук аксесс. десятки километров оптики и сотни км - меди. этак киловатт 500 потребление. столбы
    отдельная проблема - если народ соберется в 1 углу это все ляжет

    короче это возможно, но это охрененные деньги с негарантированным результатом. и отдельная боль все это сопровождать потом
    Ответ написан
    4 комментария
  • Какие есть аналоги Replicant os?

    Alex_Geer
    @Alex_Geer
    System Engineer
    LineageOS, AOSP Extended и OmniROM.
    Ответ написан
    Комментировать
  • Как называется данный эффект с горизонтальным слайдером?

    @GeKskill
    Это не эффект, а просто mousewheel контроль на слайдере, в данном случае горизонтальный. Например на swiper js -> пример
    Ответ написан
    Комментировать
  • В какой стране проще получить торговый эквайринг для приема платежей?

    mihavxc
    @mihavxc
    Регистрирует в России самозанятость/ИП/ООО. Открываете счёт в Райфе.

    Затем идете на mycommerce.com или payproglobal.com. Это екоммерс платформы, которые работают с РФ. Они собирают платежи и выводят вам деньги свифтом в Райф.
    Ответ написан
    2 комментария