• Нужно ли взять деньги за оценку больших ТЗ веб-разработчику?

    vabka
    @vabka
    Токсичный шарпист
    Нужно. Назови это чем-то типа "анализ и уточнение технического задания, и составление плана работ " назначь цену изходя из размера ТЗ и количества необходимых созвонов и доработок.

    Дай скидку, если в итоге решите сотрудничать.

    В случае возражений - проведи аналогию с реальным миром: замер окон, геодезические работы перед стройкой, итд.

    Если скажет что другие исполнители не берут деньги за это - напомни про скидку и скажи, что это тоже работа и оно позволяет точнее предсказать цену и, меньше затягивать сроки, и не делать лишних правок ближе к концу проекта.
    Ответ написан
    1 комментарий
  • Как прикрепить HTML-код с тегом 'code'?

    @pfemidi
    Тут могло бы быть краткое описание меня
    А можно вместо замены '<' на "[меньше, чем]" просто в слове "code" которое внутри текста html заменить латинскую букву на такую же по изображению русскую. Вот ниже я заменил латинское 'e' на русское 'е':
    <pre>
    <code class="language-python">
    def factorial(n):
        if n == 1:
            return n
        return n * factorial(n-1)
    </codе>
    </pre>

    Безусловно при copy'n'paste это создаст проблемы, но визуально будет выглядеть "как надо".
    Ответ написан
    Комментировать
  • Как формировать сырые SQL запросы максимально эффективно?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    params = {"id": "Fuck",   "email":"You",   "username": "Spielberg"}
    
    paramkeys = list(params.keys())
    
    where_clause = "WHERE " + " AND ".join([f"{col} = %s" for col in paramkeys])
    
    sql = f"SELECT * FROM users {where_clause} LIMIT %s OFFSET %s"
    Ответ написан
    Комментировать
  • Как наследовать два класса в php?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    На вопрос из заголовка уже ответили, а вот к сути вопроса есть вопросы.

    В первую очередь надо задать себе вопрос, а зачем вам отдельный класс на каждый вид запроса? Если там достаточно одного метода?

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

    sergey155
    @sergey155
    *,
        *::before,
        *::after {
          box-sizing: border-box;
        }
    
        .visually-hidden {
          position: absolute;
          width: 1px;
          height: 1px;
          margin: -1px;
          border: 0;
          padding: 0;
          white-space: nowrap;
          clip-path: inset(100%);
          clip: rect(0 0 0 0);
          overflow: hidden;
        }
    
        .wrapper {
          width: fit-content;
          padding: 50px;
          margin: 20px auto;
          outline: 2px dashed tomato;
          display: flex;
          align-items: center;
          justify-content: center;
        }
    
        .check-label {
          position: relative;
          display: inline-block;
          width: 50px;
          height: 20px;
          background-color: lightgrey;
          border: 1px solid grey;
          border-radius: 10px;
          box-shadow: 1px -2px 3px 2px rgba(0, 0, 0, 0.2) inset;
          background: linear-gradient(to right, blue, navy);
          background-repeat: no-repeat;
          background-size: 80%;
          background-position: -50px;
          transition: background-position 0.2s ease;
        }
    
        .check-label::before {
          content: "";
          display: inline-block;
          position: absolute;
          width: 23px;
          height: 23px;
          top: 50%;
          transform: translateY(-50%);
          left: 0;
          background-color: gainsboro;
          border: 5px solid dimgrey;
          border-radius: 50%;
          transition: left 0.25s ease;
        }
    
        #check:checked ~ .check-label {
          background-position: left;
        }
    
        #check:checked ~ .check-label::before {
          left: 27px;
        }
    Ответ написан
    Комментировать
  • Fatal error: Uncaught ArgumentCountError: mysqli_select_db()?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Дык вам же английским по белому пишет,
    mysqli_select_db() ожидает ровно 2 аргумента, дан 1
    Добавьте нужный аргумент в вызов функции.
    Ответ написан
    Комментировать
  • Что пытается установить uTorrent?

    vabka
    @vabka
    Токсичный шарпист

    Он у них скомпрометирован был?

    Уже многие годы он является официальным малварем. Удаляй
    Ответ написан
    1 комментарий
  • Как осуществить поиск по файлу CSV?

    @pfg21
    ex-турист
    внести в бд с индексами и всем прочим.
    csv обменный формат, не для работы.

    вариант2: прикостылить к plaintext csv какойнить индекс :)
    Ответ написан
    2 комментария
  • Как вывести на карту яндекс очень много меток?

    @rPman
    ObjectManager, заменяет группы близкостоящих меток на одну
    Ответ написан
    Комментировать
  • Как на двух мониторах запускать приложение в текущем мониторе?

    @grek_cheburek
    Программист самоучка
    У меня открывается на том мониторе, на котором его закрыл. Если второй монитор отключить, а потом подключить, тогда будет открываться на первом.
    Ответ написан
    Комментировать
  • Успешно! вместо текста?

    @alexalexes
    Браузеру пофигу на метазаголовки, если сервер пришлет http-заголовок с другой кодировкой.
    Нужно смотреть:
    1) в какой кодировке файл php (можно пересохранить в другой кодировке);
    2) какой браузеру приходит http-заголовок, связанный с кодировкой от сервера на вкладке Сеть по F12 (можно добавить http-заголовок с нужной кодировкой через функцию header);
    3) meta-заголовки кодировки бесполезны, если выводом контента рулит php-скрипт.
    Ответ написан
    Комментировать
  • Как найти точный url сайта на javascript?

    @iljaGolubev
    Вариантов нет.
    Они появятся когда изменение любого (нужного) из "множество разделов и фильтров" будет менять url страницы. Параметры запросы или якорь.
    Ответ написан
    Комментировать
  • Как добавить в каждый объект массива новое свойство?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Ответ drawnofmymind не отвечает на заданный вопрос "как добавить", т.к. создаёт полностью новый массив с полностью новыми объектами.

    В некоторых случаях это предпочтительнее(когда необходима иммутабельность), но ответ именно на заданный вопрос куда проще:
    items.forEach(item => item.alert = false)
    Ответ написан
    1 комментарий
  • На чем делаются кастомные push уведомления?

    thewind
    @thewind
    php программист, front / backend developer
    Просто popup, нажмете там «Включить» - появится стандартное окно браузера
    Ответ написан
    2 комментария
  • Как из формы получить описание выбранного select option с помощью php POST?

    Вы же где-то берёте, что curs1 = Курс 1, curs2 = Курс 2, curs3 = Курс 3?

    Вы либо сопоставляете значение по curs1, curs2, curs3 в php, если оно у вас где-то хранится, например:
    $courses = [
        'curs1' => 'Курс 1',
        'curs2' => 'Курс 2',
        'curs3' => 'Курс 3'
    ];
    
    $courses[$_POST['scourse']];

    Либо пишите Курс 1, Курс 2, Курс 3 в value.
    <select name="scourse" id="selectcourse"  >
              <option value="">Выберите курс для обучения</option>
              <option value="Курс 1">Курс 1</option>
              <option value="Курс 2">Курс 2</option>
              <option value="Курс 3">Курс 3</option>
    </select>

    UPD: Или как в комментариях написали, value в этих оption можно вообще не писать.
    <select name="scourse" id="selectcourse"  >
        <option value="">Выберите курс для обучения</option>
        <option>Курс 1</option>
        <option>Курс 2</option>
        <option>Курс 3</option>
    </select>


    P.S. И не забывайте валидировать то, что приходит в $_POST и $_GET.
    Ответ написан
    6 комментариев
  • Объясните, пожалуйста, что такое SRP (SOLID) на приведенном примере?

    Adamos
    @Adamos
    Ваш класс БД будет работать с таблицами. Зачем ему лезть в файлы? Его задача (и единственная ответственность) - прослойка между кодом, который обращается к БД, и кодом, который реализует хранение. Не нужно в него совать куски ни из того, ни из другого.
    Сделайте таблицу отдельным классом, который принимает имя файла в конструкторе. В нем уже читайте и пишите данные в файл.
    Сделайте фабрику, которая по имени файла выдает класс таблицы-файла либо создает его, проверяя наличие такого имени в системе и инкапсулируя в себе ВСЮ логику имен файлов, путей и проч. Классу БД об этом знать незачем, классу таблицы - тем более.
    В общем, делите код на то, что надо сделать вот здесь на этом уровне логики, и выкидывайте из него все, что требует опуститься на уровень ниже, в соответствующие классы. И работайте только с их методами, не вникая в реализацию. Не размазываете реализацию конкретных вещей по коду - собирайте ее в одно место, и пусть за нее отвечает только один класс.
    Ответ написан
    2 комментария
  • Как в sass добавить правило медиа переменной?

    Ankhena
    @Ankhena
    Нежно люблю верстку
    Например, так

    $md: 720px;
    @mixin _md {
      @media (min-width: $md) {
        @content;
      }
    }


    .block {
      color: red;
    
      @include _md {
        color: blue
      }
    }
    Ответ написан
    1 комментарий
  • Нужно ли в head помещать все типы шрифтов для preload?

    Lynn
    @Lynn
    nginx, js, css
    Не нужно и не имеет никакого смысла. Даже скорее сделает хуже.

    Все браузеры которые понимают rel="preload" поддерживают woff2.
    Т.е. добавив в предзагрузку woff ты заставишь их скачать ненужный файл.
    А те браузеры которым нужен именно woff всё равно не поддерживают предзагрузку.
    Ответ написан
    Комментировать