Задать вопрос
  • Есть ли реальный профит от использования актуальных фронтенд-технологий?

    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 Куратор тега Разработка игр
    Микропетпроджект - домашнее облако homeCloud
    Ну так вы можете не знаю. ту же фотографию своего лица открыть на мониторе с разрешением 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 комментария
  • Поможет ли замена 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 комментария
  • Как поставить debian 12 на SataRaid?

    @Drno
    Конечно зло. возпользуйтесь лучше mdadm...
    Ответ написан
    Комментировать
  • Почему ПК долго думает до загрузки БИОС?

    hint000
    @hint000
    у админа три руки
    Оперативку тестирует. Вангую, что её там немалый объём.
    Если стоит несколько планок оперативки, то оставьте одну и сравните время тупления. Должно быть пропорционально оставшемуся объёму оперативки.
    Ответ написан
    Комментировать
  • Что делать если в компонентах Windows нет WSL и Hyper-V?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Удивительно, да? Сначала ставим "сборку от Васяна" где порезано все по мнению Васяна "лишнее" - а потом начинаем, как бы это лишнее включить.

    А никак.

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

    ky0
    @ky0 Куратор тега Nginx
    Миллиардер, филантроп, патологический лгун
    У nginx для этого существует директива proxy_redirect, которая как раз это и делает, помимо прочего - заменяет часть урла в Location.
    Ответ написан
    Комментировать
  • В чем причина ошибки Docker "Error response from daemon: No such container"?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    То что ты показал - это список образов. Запускается через docker image ls.
    Тебе нужно использовать docker container ps (либо docker ps - одно и то же)
    Ответ написан
    Комментировать