• Как вывести на карту яндекс очень много меток?

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

    @artem-dainov
    Php, java, js. Boot spring, jquery, git
    У меня открывается на том мониторе, на котором его закрыл. Если второй монитор отключить, а потом подключить, тогда будет открываться на первом.
    Ответ написан
    Комментировать
  • Успешно! вместо текста?

    @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 всё равно не поддерживают предзагрузку.
    Ответ написан
    Комментировать
  • Как сделать, чтобы количество активных чекбоксов не опускалось ниже определённого?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Где чекбоксы находятся, что за чекбоксы, каковы ограничения на количество отмеченных, как посчитать количество отмеченных:

    const container = document.querySelector('селектор общего предка чекбоксов');
    const checkboxSelector = 'селектор чекбоксов';
    const minChecked = 1;
    const maxChecked = Infinity;
    const countChecked = checkboxes =>
      Array.prototype.reduce.call(checkboxes, (acc, n) => acc + n.checked, 0);

    Если количество отмеченных чекбоксов меньше или равно минимально допустимому - блокируйте их, если количество отмеченных чекбоксов больше или равно максимально допустимому - блокируйте те, что не отмечены:

    const checkboxes = container.querySelectorAll(checkboxSelector);
    const onChange = () => {
      const count = countChecked(checkboxes);
      const minReached = count <= minChecked;
      const maxReached = count >= maxChecked;
      checkboxes.forEach(n => n.disabled = minReached && n.checked || maxReached && !n.checked);
    };
    
    checkboxes.forEach(n => n.addEventListener('change', onChange));

    Или, выставляйте снятый чекбокс обратно, если количество отмеченных упало ниже минимума и снимайте выставленный, если количество отмеченных превысило максимум:

    container.addEventListener('change', function({ target: t }) {
      if (t.matches(checkboxSelector)) {
        const count = countChecked(this.querySelectorAll(checkboxSelector));
        t.checked ||= count < minChecked;
        t.checked &&= count <= maxChecked;
      }
    });
    Ответ написан
    3 комментария
  • Почему не работает innerHTML?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    я правильно понимаю что вы меняете innerHTML у строки, полученной из innerHTML?
    Ответ написан
    Комментировать
  • Как сделать прозрачность текста по краям?

    @GeKskill
    Это не прозрачность, а градиенты ( от белого к прозрачному) на псевдоэлементах before, after
    Ответ написан
    Комментировать
  • Как сгенерировать изображение чека из данных?

    @rPman
    Продумай вариант генерации изображения на стороне клиента средствами браузера, т.е. штатно. Ты генерируешь html на php, а браузер отображает и по ctrl+p позволяет его пользователю распечатать...

    в довесок скопировать составляющие как текст и вообще это удобнее.
    Ответ написан
    1 комментарий
  • Как стилизовать label, который стоит до input, если input:disabled?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега CSS
    Сходу ничего лучше вот такого не придумалось:
    <div class="form-element">
      <input type="text" name="some1" value="Test" disabled />
      <label for="some1">This is label</label>
    </div>


    .form-element {
      display: flex;
      flex-direction: row;
    }
    
    .form-element label {
      order: 1;
    }
    
    .form-element input {
      order: 2;
    }
    
    .form-element input:disabled + label {
      color: red;
    }


    Должен бы работать просто селектор input:disabled ~ label, но почему-то не работает.
    Ответ написан
    2 комментария
  • Как стилизовать label, который стоит до input, если input:disabled?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    label:has(~ input:disabled) {
      color: red;  
    }
    Ответ написан
    Комментировать
  • Как сделать свой телефон?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Так не бывает.
    Нельзя сделать что-то в одном экземпляре бюджетным.
    бОльшая часть стоимости смартфона (а именно о нём, как я понял, речь, раз уж упомянут Андроид), составляет инженерная разработка. Профессиональная деятльность специалистов стоит дорого и окупается только большими партиями конечных устройств.
    Очень наивно полагать, что вы соберёте что-то хотя бы отдалённо похожее на заводской смартфон самостоятельно, и это будет дешевле заводского варианта.
    Поясню на примере. Без всякого андроида если собрать простейшую звонилку на модуле SIM800 и ардуинке, вы вылезете сильно (в разы) за пределы стоимости аналогичного по функциональности бабушкофона. Просто потому что сам модуль стоит как простейшая готовая звонилка с экраном, цветным экранчиком и корпусом в разумном по рамеру форм-факторе без торчащих проводов и не пол кило весом.
    Чтобы сделать смартфон с андроидом их готовых компонентов, вам придётся либо собирать все модули крупноблочно (блютус, вайфай, GSM из дорогих и некомпактных блоков, либо проектировать и разводить плату, что на несколько порядков сложнее и, судя по вашему вопросу, просто невозможно для вашего уровня.

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

    Проще этот принцип масштаба почувствовать на спичках. Попробуйте сделать самостоятельно коробок спичек, чтобы он был дешевле заводского. Если получится, то вы обогатитесь.
    Ответ написан
    Комментировать