Задать вопрос
  • Как подружить pagespeed и yandex.metrika?

    Sanes
    @Sanes
    Пусть ваш бизнес выбирает между попугайчиками и параноей неполных данных.
    Ответ написан
    Комментировать
  • Клиент присылает 100500 правок, при этом проект завершен на 99%. Как быть?

    DevMan
    @DevMan
    правки бывают двух типов:
    1. исправление косяков.
    2. дополнительные фичи/изменение уже реализованных.

    1 делается бесплатно и как можно быстрее.
    2 делается за отдельные деньги. или не делается вообще и работа с клиентом прекращается.

    есть ещё 3: дать клиенту скидобан на конкретно оговоренный объем дополнительных работ.

    это из основного. есть ещё методы, но они уже для постоянных клиентов.
    Ответ написан
    1 комментарий
  • Клиент присылает 100500 правок, при этом проект завершен на 99%. Как быть?

    Jump
    @Jump
    Системный администратор со стажем.
    Часть правок противоречат основному тз, как поступить?
    Все что противоречит основному ТЗ оплачивается отдельно, и о сроках и возможности таких правок тоже договариваются отдельно.

    А стоимость поднимать не надо. Все по прайсу.
    По ТЗ - x денег, прям как в договоре прописано, плюс за правки y денег, все прям как в доп. соглашении прописано.
    Ответ написан
    Комментировать
  • Что быстрее: file_get_contents к json файлу или запрос к бд?

    DevMan
    @DevMan
    вопрос абсолютно дебильный. и по содержанию, и по задаче.
    скорость – в подавляющем кол-ве случаев вообще не является критерием.
    критерий – удобство использования.

    показываю на пальцах:
    в десять раз быстрее. звучит круто, да?
    а если взять не относительно, а абсолютно: насколько в разрезе вэба 0.001 секунды быстрее 0.01 секунды?
    эту разницу вообще не заметить пока у вас не миллионы хитов хотя бы в час.

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

    Если вам нужно просто округлять, то незачем использовать number_format, так как он возвращает тип String. Используйте round
    Ответ написан
    1 комментарий
  • Как работает веб-сервер и node js в связке? Зачем нужен Nginx?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Веб-разработка
    Самое простое - nginx отдаёт статику. На больших объёмах делать это через Ноду неэффективно.
    Посложнее - nginx позволяет управлять ходом запроса. Например, редиректить на https.
    Ещё сложнее - можно настроить nginx, чтобы он умно балансировал запросы между несколькими бэкендами и автоматом блокировал слишком частые попытки подключения.

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

    DevMan
    @DevMan
    если не разберётесь, то и платить не будут.

    что касается менторства, лучший способ - пойти в офис.
    от неумехи на удаленке – одни убытки. некоторые компании могут себе это позволить в надежде взрастить себе кадра. но одиначка скорее всего скажет: а нахрена мне это.
    Ответ написан
  • Как удалить объект в многомерном массиве на основе значения ключа?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Функция принимает массив и функцию (типа как встроенные методы массива - map, filter, some и т.д.), принимающую элемент массива и возвращающую true в случае, если элемент должен быть удалён. Если элемент удалять не надо, то следует обработать массив вложенных элементов - выполняется рекурсивный вызов. Как это может выглядеть:

    function deleteNested(arr, fn) {
      arr?.reduceRight?.((_, n, i, a) =>
        fn(n, i, a)
          ? a.splice(i, 1)
          : deleteNested(n.children, fn)
      , null);
    }

    или

    function deleteNested(arr, fn) {
      if (Array.isArray(arr)) {
        arr.splice(0, arr.length, ...arr.filter((n, i, a) => {
          return !fn(n, i, a) && (deleteNested(n.children, fn), true);
        }));
      }
    }

    или

    function deleteNested(arr, fn) {
      if (arr instanceof Array) {
        let numDeleted = 0;
    
        for (const [ i, n ] of arr.entries()) {
          if (fn(n, i, arr)) {
            numDeleted++;
          } else {
            arr[i - numDeleted] = n;
            deleteNested(n.children, fn);
          }
        }
    
        arr.length -= numDeleted;
      }
    }

    Использовать так:

    deleteNested(itemsData, n => n.id === id_объекта_который_надо_удалить);
    Ответ написан
    1 комментарий
  • Как запретить доступ юзеру к ajax?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Никак
    При клике запрос делается браузером пользователя и значит скрыть ничего не получится
    И скрывать эти данные не имеет смысла. Если не хотите чтобы пользователь видел какие-то данные - не отдавайте ему их никогда.
    Ответ написан
    Комментировать
  • Как определить по GPS координатам, находится ли точка за МКАДом?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Банальное "проверка вхождения точки в многоугольник".
    Ответ написан
    1 комментарий
  • Насколько правильный вопрос "На какой версии PHP пишете"?

    DevMan
    @DevMan
    ни на сколько: в озвученном виде - вопрос вообще абсолютно дебильный: для себя я пишу на последней, для работодателя я пишу на той, которая ему нужна. даже если это четверка (хотя есть несколько экстравагантов даже с тройкой).
    хотя контекст вопроса может повлиять на ответ.
    Ответ написан
    3 комментария
  • Как обеспечить загрузку pdf-файла, получаемого в ответе сервера, при помощи js?

    Stalker_RED
    @Stalker_RED
    0. Берете откуда-то данные
    1. Передаете их в URL.createObjectURL в нем и происходит вся магия - создается специальный объект, который браузер может "скачать".
    2. Затем берете какую-то ссылку (или создаете новую), в ее href записываете этот url из предыдущего пункта
    3. Делаете по ссылке .click() - и вызывается диалог сохранения файла.
    4. Дело сделано, ссылку можно удалить, память можно очистить (revokeObjectURL)

    Вот пример без внешних зависимостей:


    Если у вас файл скачивается, но он то пустой, то ошибка при открытии - причина где-то в пункте 0, там где вы получаете или формируете pdf. И этот код вы не показываете.
    Чтобы в этом удостоверится, смените тип на text/plain и в блоб передайте строку типа "hello world".
    Попробуйте передать готовую PDF-ку, которая точно не пустая и нормально открывается.
    Ответ написан
    Комментировать
  • Зачем нужно формирование PDF для карточки товаров?

    Adamos
    @Adamos
    Да просто если печатать страничку из браузера, всю красоту легко может перекосоебить вплоть до нечитаемости самых важных циферок.
    А PDF гарантирует - что задумывал разработчик, то и будет на печати.
    Ответ написан
    2 комментария
  • Как удалить атрибут disabled у button?

    @alekcena
    Нелинейный наставник
    Вы ищете несколько элементов а не 1
    Не работает тк как вы не можете применить к масиву ".disabled"
    document.querySelector('button').disabled = false
    Ответ написан
    Комментировать
  • Пишут ли в компаниях коммиты в git на русском?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    принято ли в срезе разработки веб приложений СНГ писать коммиты на русском?

    У нас как только не пишут. Бывает, что мешают по несколько языков в одном проекте, в том числе и в компаниях, которые себя позиционируют как очень модные. Все зависит от конкретных людей в конкретном месте.

    Но чем более подкованные специалисты в команде, тем больше вероятность, что они между собой договорятся все унифицировать и писать коммиты по конкретной схеме (это больше не про язык в вакууме, а про последовательность в проекте, чтобы было проще ориентироваться). Очень вероятно, что при этом выберут английский, т.к. скорее всего "русские" сообщения коммитов будут состоять из:

    1. Англицизмов, которые еще и не имеют однозначной транслитерации в кириллицу, что ломает поиск по коммитам.
    2. Названий классов, файлов, или еще каких-то сущностей из мира кода, которые и так уже переведены и есть в исходниках проекта на английском.
    3. Набора базовых глаголов, которые ставят в начале предложений, вроде "добавил", "исправил", "удалил".


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

    MANAB
    @MANAB
    Разрабатываю на C#: Web, Desktop, Gamedev
    Даже в рамках одной сети магазинов один и тот же товар даже в одном городе может иметь разные цены.
    В общем, не слышал про такие сервисы и не верю в возможность их существования.
    Ответ написан
    3 комментария
  • Как вывести данные из БД на страницу?

    sslion
    @sslion
    сделать запрос к базе, получить нужную запись, и вывести на страницу используя html-разметку (или использовать какой-нибудь шаблонизатор типа Twig)
    Ответ написан
    Комментировать
  • Как добавить плавности при открытии блока на JS?

    @Firsov36
    full-stack web developer
    Вы бы лучше фрагмент работающего кода с блоком выложили куда-нибудь на codepen, чтобы можно было изменить и показать вам. А так, можно замучиться объяснять.

    display:none - не работает с transition,
    можно использовать связку visibility и opacity (возможно добавить position: absolute чтобы не было белого поля, надо смотреть уже на месте)

    visibility: hidden;
    opacity: 0;
    transition: visibility 0s, opacity 0.5s linear;


    ну и соответственно в активном состоянии стили такие

    visibility: visible;
    opacity: 1;


    Решений такой задачи бегло штук 5-6 можно придумать. Можно побаловаться высотой блока и плавно анимацией выводить его из под заголовка. Но я бы лучше использовал вывод сверстанного блока с информацией из под блока с названием и прятал его там с помощью clip-path и анимацией опускал вниз.
    Ответ написан
    Комментировать
  • Как обработать запрос который приходит на клиент?

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

    Его присылают НЕ на клиент, а на определённый урл, который наверняка указывается в настройках при подключении платёжки.

    60bf337a2950b516827263.png

    За 2 минуты нашёл инструкцию на их сайте. Как вы гуглите?
    Ответ написан
    3 комментария
  • Как убрать в мобильной версии сайта пустое пространство справа?

    Stalker_RED
    @Stalker_RED
    * {
     outline: solid 1px red;
    }
    и возможно вы увидите что у вас торчит за пределы body.
    Ответ написан
    Комментировать