• Как делать максимально безотказные бэкапы корня сайта и mysql в динамике?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    Делают read-only реплику и бэкапят её обычным способом.
    Ответ написан
    Комментировать
  • При загрузке сайта индикатор загрузки долго крутится? Как исправить?

    GavriKos
    @GavriKos
    Забейте и не парьтесь. Если сайт работает кнчн.

    Можно конечно взять DevTools, посмотреть что он там не может загрузить и уже анализировать... Скорее всего это будет какая нить реклама или сторонняя фигня, которую режет адблок.
    Ответ написан
    Комментировать
  • Как одновременно работать с одной папкой двум копиям приложения?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    В данном случае проще всего будет просто связать оба инстанса друг с другом и использовать второй инстас как резервный. Например через банальную проверку друг друга по сети запросом каким-нибудь. Один инстанс работает, а другой проверяет, что первый инстанс работает верно. Если первый инстанс не отвечает, висит, сломался и т.п. - в работу включается второй и где-нибудь ставит флаг/файл/что угодно и как, что теперь он основной, а первый - резервный будет, когда заработает и отправляет сообщение ответственному.

    Чуть более сложный вариант: использовать, например, редис для хранения состояния процесса работы и через него синхронизировать инстансы. Например: первый сервис определил для себя задачу и сообщает об этом второму, что он взял такую-то задачу или такие-то файлы. Соответственно второй сервис эти файлы не трогает. Или, оба инстанса смотрят в каталог, как только что-то обнаруживают - помещают в очередь задач. А при появлении задачи в очереди - оба сервер генерируют случайно число и так выбирают кто из них возьмет следующую задачу из очереди. Т.о. можно, этих инстансов наплодить сколько угодно.

    Более правильный вариант: разделить функционально вашу задачу на несколько более простых. А именно: вместо проверки каталога, запустить на том сервере, где находится данный каталог с файлами сервис наблюдения ФС, который использует системные уведомления об изменениях файловой системы. И при наступлении нужных событий - отправляет запрос в очередь на обработку, например в тот же редис, а оттуда запрос забирает один из инстансов и обрабатывает его.
    Ответ написан
  • Как распознавать в php слова (типо систем компьютерной алгебры)?

    @alexalexes
    Берете любую вузовскую методичку по дисциплине "Теория языков программирования и методов трансляции".
    Изучаете, с чем едят грамматики формальных языков, строите лексический анализатор, синтаксический анализатор, транслятор в свой машинный код, исполнитель машинного кода.
    На выходе у вас должна получиться вот такая штука:
    https://studfile.net/preview/937093/
    Ответ написан
    Комментировать
  • Утечка DNS или как соц. сети узнают мое местоположение?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    А какая связь между используемым DNS и определением вашего местоположения в соц-сетях?

    DNS нужен для того, что бы ваше устройство (компьютер или телефон) узнали IP-адрес сервера, к которому нужно подключиться для получения/скачивания информации. А соц-сети могут вас палить просто по IP-адресу источника коннекта. Вы уверены, что абсолютно все соединения к соц-сетям с вашего устройства идут только и исключительно только через удалённый прокси? Любой другой трафик - заблокирован?

    Да даже ваш Wi-Fi роутер, к которому вы же и коннектитесь, уже запеленгован, Google и другие уже знают, где ваш роутер географически находится, поэтому... Скрыться не получится: какой-бы роутер не поставили - он будет виден другим телефонам, они об этом сразу сообщат Google, прощай приватность! Разве что не включать Wi-Fi на телефоне и роутере, раздавать Интернет телефону - про проводу (Android и Gnirehtet), и блокировать весь трафик кроме прокси.
    Ноооооооооооооо это не точно!!!
    Ответ написан
    Комментировать
  • Упала частота видеокарты после чистки, как вернуть?

    nava2002
    @nava2002
    Инженер
    но после простой чистки все прошло.после этого комп перестал нагружаться в играх,

    "Простая чистка" это как с моющими средствами?
    Обслуживание системы охлаждения сводится:
    1. Удаление пыли (с помощью мягкой кисти и пылесоса)
    2. Замена термопасты и термопрокладок. (требует снятия установки радиаторов)
    Из описания НЕ понятно какие именно работы были произведены. Но в любом случае аккуратность их выполнения и правильное использование материалов при проведении таких работ имеет принципиальное значение.

    проверил,GPU MHz упало с 1700 до 139

    данное явление говорит о том что видеокарта возможно исправна но температурный режим скорее всего нарушен.

    Рекомендую обратиться к специалисту иначе не исключаю выхода видеокарты из строя.
    Переустанавливать Виндовс и драйвера нет смысла. Проблема явно находится на уровне "железа".
    Ответ написан
    Комментировать
  • Есть ли реальный профит от использования актуальных фронтенд-технологий?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    В 2016-м году, делали нечто, что потом начали люди называть SPA - но за счёт аяксов, которые грузят что нужно. При этом сохраняется структура страниц на сервере, и нет и не было проблем с индексацией.

    Проблемы с индексацией есть и сейчас, чтобы там не заявляли ПС, а в древние 2016 года они были выражены в несколько раз сильнее. То, что Вы проблемы не замечали - не значит, что их не было.
    Вот от фронтовых фреймворков верстки - профит заметен был (тот же фаундейшн, бутстрап и тд) - действительно ускоряло и упрощало жизнь.

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

    На определенном этапе разработки, стоимость поддержки проекта на чистом js начнёт обгонять проект на react/vue. Пользователю будет конечно пофиг, т.к. он не найдёт в ПС Ваш SPA сайт.
    Собственно, а зачем это всё нужно, если профит, кажется - нулевой

    Для ускорения разработки, а ключевое слово здесь "кажется".

    P.S. в некоторых ситуациях действительно быстрее и дешевле написать некоторые функции на чистом js и не тащить весь react стек в проект, но это больше исключение, чем правило.
    Ответ написан
    2 комментария
  • Почему заливка картинки больше самой заливки?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    как решить?

    .img img {
        display: block;
    }

    Всё это нужно для затемнения фотографии

    Можно рассмотреть еще вариант без отдельного элемента с фоном:
    img {
        filter: brightness(0.6);
    }
    Ответ написан
    Комментировать
  • Почему медленно отвечает сервер?

    @asmelnik
    Память забита, свап забит...
    "И чо вы хотели?"
    первый "смык" шерстит оперативку, выгружает из нее что-то "лишнее", запихивает туда нужное...
    Пока "дергаете" свои приложухи они держатся в оперативке...
    Как только пауза- их вытесняет что-то более актуальное....
    Ответ написан
    Комментировать
  • Зависит ли скорость записи в БД от количества в ней записей?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    В общем случае не зависит
    В каждом конкретном случае, если вдруг будет зависеть, надо разбираться отдельно.
    Сам по себе вопрос - это одна из тех проблем, которыми не следует забивать себе голову заранее.
    Ответ написан
    Комментировать
  • Корректно ли составлен запрос?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Мне необходимо только узнать есть ли такой заказчик с такими данными.

    1) Оформляйте запрос строками, так будет гораздо проще и вам, и другим разработчикам понять что вы пишете и как оно работает:
    SELECT * 
    FROM `orders2022` 
    WHERE LOWER(`surname`) LIKE CONCAT('%', ?, '%') 
    AND LOWER(`name`) LIKE CONCAT('%', ?, '%') 
    AND LOWER(`fathername`) LIKE CONCAT('%', ?, '%')

    2) Синтаксис верный, но если вам важно найти "хоть одно совпадение", лучше использовать LIMIT 1, это остановит базу в поиске всех вхождений, то есть перебора ВСЕЙ таблицы вместо выхода по первому вхождению. Кроме того, CONCAT('%', ?, '%') можно использовать если вместо ? будет SQL выражение (например каой-то селект), в данном случае это просто трата ресурса процессора. Просто добавьте % в начале и конце подставляемой переменной.
    3) Неплохо давать более четкое описание проблемы, чтобы другим не пришлось гадать о чем код, так как никто кроме вас в контекст задачи не погружен.
    Ответ написан
    Комментировать
  • Может ли приложение слушать несколько портов?

    @Everything_is_bad
    Не понятно какая связь между ядрами и портами? компьютер с один ядром может слушать N портов, компьютер с N ядрами так же может слушать N портов. Эффективность вообще тут боком, а для ее измерения минимум нужно установить критерий по которому ее фиксируем.
    ЗЫ взять тот же event loop в питоновском asyncio (на самом деле в остальных языках тоже дофига подобного), он без проблем может держать и обрабатывать 10к коннектов на одному порту, на одном процессе (считай ядре), но если кривыми руками там вызвать тяжелый синхронный код, то всё.
    Ответ написан
    9 комментариев
  • Почему сбрасывается частота?

    @DarkNews
    Очень похоже на тротлинг VRM.
    Вы вообще видели цепи питания своей матирнки, перед тем как в нее такой проц пихать?
    Мало того что там скорее всего установлено какое то ограничение по току - так еще и это все 100% перегревается, ибо VRM скудный, и ни намека на радиаторы.
    Это не плата для этого процессора, базовый i5 - это ее максимум.
    Ответ написан
    1 комментарий
  • Подключения питания процессора?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Покупка подходящего блока питания обойдется дешевле, чем покупка новой матери или процессора.
    Ответ написан
    Комментировать
  • Как сделать чтобы фотографии были также слитно?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Практически весь код нужно выкинуть..
    /*.photo__section {*/
    .photo__colage {
      /*height: 857px;*/
      /*display: flex;*/
      /*display: inline-block;*/
      /*justify-content: space-between;*/
      /*align-items: center;*/
      display: grid;
      grid-template-columns: repeat(4, 1fr);
    }
    
    .photo__photo {
      /*width: 477px;*/
      /*height: 357px;*/
      /*position: relative;*/
      /*flex-direction: column;*/
      /*justify-content: space-between;*/
      background-size: cover;
      /*margin-left: 0;*/
      /*vertical-align: right;
      /*justify-content: space-between;
      flex-direction: column;*/
    }
    Ответ написан
    Комментировать
  • Как создают текстуры для игр?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Ну так вы можете не знаю. ту же фотографию своего лица открыть на мониторе с разрешением 16к. И она там будет показываться ) Вы же не делаете фотографии под каждое разрешение? Не делаете. ВОт и тут абсолютно то же самое.

    Будет работать != будут 32к текстуры.
    Ответ написан
    2 комментария
  • Как реализовать не типичную вёрстку?

    Lara164
    @Lara164
    начинающий верстальщик html, css
    Логика основана на гридах. Добавляются классы 'slim1, slim2, slim2, которые задают элементам определенное положение в сетке в правой части А у того, что слева добавляется класс 'active' .
    Пример на codepen
    Ответ написан
    Комментировать
  • Оптимизация сайта под высокие нагрузки (php,nginx, mysql). Какие критерии доработок? Что необходимо сделать в первую очередь?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    Как уже заметили коллеги - первое что нужно выяснить - что тормозит.

    Спойлер: 90% что проблема в запросах к бд, так как сам по себе код в большинстве случаев банально отсылает запросы и принимает их результат, выводя его пользователю в несложных действиях. В редких случаях - запросы идут к внешним тормозящим сервисам, например к фейсбуку или другим СС. И крайне редко тормозит сам код, но тут уже опять же - 90% что это некомпетентность разраба, например, не способного построить нормальный запрос и сортирующий данные от бд в коде...

    Что конкретно надо делать:
    1) Взять за шкирку самого разбирающегося в коде (если таковой существует в проекте), и дать задание описать базовый стек вызовов, если это какой-то самопис, или сразу расставить код замера времени с метками в случае понятной архитектуры. Что то типа такого(класс - древний костыль, но работает, так что матом не ругаться):
    Class Timer.php:
    class Timer {
    
        static $start;
        static $end;
        static $marks = [];
        static $formats = [1=>''];
    
        static function init(){
            if(empty(self::$start)) self::$start = microtime(true);
        }
    
        static function setMark($markName = ''){
            $time = microtime(true);
            if($markName == '')$markName = $time;
            $data['name'] = $markName;
            $data['time'] = $time;
            $res['time'] = $time;
            if(count(self::$marks) > 1)$res['diff'] = $time - self::$marks[count(self::$marks)-2]['time'];
            else $res['diff'] = 0;
            $data['diff'] = $res['diff'];
            self::$marks[] = $data;
            return $res;
        }
    
        static function timeFormat($number,$format = ''){
            if(empty($format)) $format = 3;
            return number_format ($number,$format,'.','');
        }
    
        static function report(){
            self::$end = microtime(true);
            self::$marks['start'] = self::$start;
            self::$marks['end'] = self::$end;
            self::$marks['all_time'] =  self::$end - self::$start;
            if(!empty(self::$marks)) return self::$marks;
        }
    }


    In code:
    \Timer::init()
    //some code block 1
    \Timer::setMark('after block 1');
    //some code block 2
    \Timer::setMark('after block 2');
    ...
    //some code block n
    \Timer::setMark('after block n');
    //near end of code 
    \Timer::setMark('end');
    var_dump(\Timer::report());
    exit;

    2) Смотрите на блоки жрущие время, делите их до атомарных операций путем деления блоков пополам таймерами.
    3) Смотрите что там происходит - оптимизируете*. И так по кругу.
    4) Профит.

    * Оптимизация
    Запросы:
    1) Смотреть план запроса (use explain, Luke!).
    2) Расставить индексы которых явно не хватает
    3) Смотреть не вызывается ли 50 запросов в цикле? Если да - выписать пенделя писавшему, затем переписать в 1 запрос с нормальным джоином.

    Код:
    Иногда запрос сложно оптимизировать, он вытаскивает много данных, хотя эти данные не часто обновляются. Такие запросы нужно кешировать, для чего используют быстрые ин-мемори хранилища типа редис или мемкеш. В крайнем случае в файлах...
    Чаще всего код тормозит на регулярках, хотя "хороший" программист может придумать и более креативные способы погреть процессор.

    Что нужно сделать обязательно кроме тестов и как тогда лучше спрашивать с разработчиков, если они предлагают размытые предложения? Хочется понять в какую сторону копать
    Бить палкой не вариант? Тогда берите других, эти испортились. Если разработчик не знает как выявить узкие места кода - нахрена он нужен? Код написать сегодня любой чат может... Ну, на крайняк дайте им вышеприведенный вариант решения проблемы...

    PS: Кстати, сервер может банально не выдерживать наплыв сетевых соединений, пните адимна, пусть глянет логи.

    PPS:
    достаточно 2000-4000 человек, заходящих в течение 20 минут на сайт
    это равномерные 3-4 рпс, ну или пусть в пике 50 рпс, должно держать даже на несложной конфигурации... Копайте код.
    Ответ написан
    Комментировать
  • Как создать скрытый input для передачи технической информации на другую страницу?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Тип hidden не подходит, потому что его можно редактировать? А что из html вы вообще можете НЕ редактировать?

    Вам тут стоит понять одну очень важную штуку: html/css/js образуют client side. Вы должны понимать, почему это называется вообще "Клиентом"? Потому что эта вся информация полностью загружается на клиента и он имеет к ней доступ.

    По этому существует server side - часть программной системы, к какой конечный пользователь не имеет доступа, в отличии от клиентской части.

    Цель сервера - обрабатывать запросы с клиента. Первое, что делает сервер с данными, которые ему отправил клиент - ВАЛИДИРУЕТ. Соответственно, если данные не валидны - запрос разворачивается обратно на клиента и отдаёт ему какую-то ошибку

    Это всё так, к слову. Вам важно понять, что клиент может редактироваться, вы никак не сможете этого избежать. Но этого не стоит бояться, т.к. то, за что вы переживаете должно обрабатываться на сервере.

    Client side должен обрабатывать данные перед отправкой на сервер (Но сервер обязан их повторно валидовать) и после получения данных от сервера для наилучшего представления ИХ конечному пользователю

    UPD: для справки. Вы можете полностью редактировать html в режиме реального времени, но он не будет сохранён для всех пользователей, а только для вас, т.к. эта часть загружается только два вас как для конечного пользователя. Сам html хранится на сервере и является результатом работы сервера. Эту часть html, что вы видите в браузере вы можете редактировать.

    Вы можете динамически подключать стили или их удалять. Можете менять скрипты, удалять их из сайта (Тогда отправка вообще работать не будет и, соответсвенно, отключится весь функционал, за который отвечаел скрипт) или добавить новые скрипты. А можете вообще написать свой скрипт прямо в консоли браузера и он будет работать.

    Проблема в том, что даже после элементарной перезагрузки страницы (Через Ctrl + R или другими способами) это всё будет утеряно и вам загрузится тот самый html/css/js, который является результатом рабыты сервера того сайта, который вы просматриваете
    Ответ написан
    1 комментарий
  • Как создать скрытый input для передачи технической информации на другую страницу?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Какие могут быть варианты решения проблемы?

    Не выдумывать на ровном месте проблемы. Всё на стороне клиента можно отредактировать и подменить.
    Ответ написан
    2 комментария