• Допустимо ли двоеточие в значении атрибута data?

    IvanU7n
    @IvanU7n
    nothing interesting here
    можно, data-атрибуты, это просто строка, если что-то перестаёт работать после добавления двоеточия, значит это что-то как-то интерпретирует получаемые значения, но к data-атрибутам это не имеет никакого отношения
    Ответ написан
    1 комментарий
  • Как залить на сервер сайт с бекендом, который написан на php?

    @AndryG
    Я за семь минут сформулировал три разных ответа. Это ж надо так умудриться задать вопрос, что хрен поможешь.

    (я использую MAMP) без него, вместо желаемого результата на странице появляется весь код PHP,
    Ну. конечно будет появляться исходный код, ибо интерпретатора нет и никто исходники не обрабатывает.

    когда подключается PHP код выходит ошибка (не находит страницу)

    Ошибки - это нормально! Нужно найти причину и устранить ее.

    Правильно заданый вопрос - 50% ответа. Тренируйтесь излагать мысли - полезно для кодинга
    Ответ написан
    Комментировать
  • Как строку с часами, минутами и секундами преобразовать в число?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Засовываем в массив пары из регулярного выражения, с помощью которого из строки достаётся число перед единицей измерения, и эквивалентного данной единице измерения количества секунд; оббегаем этот массив, выдёргиваем числа, умножаем их на количество секунд, складываем:

    const units = [
      [ 'де?н', 24 * 60 * 60 ],
      [  'час',      60 * 60 ],
      [  'мин',           60 ],
      [  'сек',            1 ],
    ].map(n => [ RegExp(`\\d+(?=\\s+${n[0]})`), n[1] ]);
    
    const getSeconds = str =>
      units.reduce((acc, n) => acc + n[0].exec(str) * n[1], 0);

    getSeconds('2 часа 22 секунды') // 7222
    getSeconds('99 минут') // 5940
    getSeconds('1 час 1 минута 1 секунда') // 3661
    getSeconds('1 день 23 часа 59 минут 60 секунд') // 172800
    getSeconds('2 дня') // 172800
    getSeconds('546 секунд и ещё 2 минуты') // 666

    Если вдруг возможно повторение единиц измерения внутри одной строки, то поиск с помощью регулярных выражений должен быть глобальным - RegExp(`\\d+(?=\\s+${n[0]})`, 'g'), а функция подсчёта секунд примет следующий вид:

    const getSeconds = str =>
      units.reduce((seconds, [ reg, multiplier ]) => {
        return [...str.matchAll(reg)].reduce((acc, n) => acc + n * multiplier, seconds);
      }, 0);
    
    // или
    
    const getSeconds = str => units
      .flatMap(n => (str.match(n[0]) ?? []).map(m => m * n[1]))
      .reduce((acc, n) => acc + n, 0);
    
    // или
    
    const getSeconds = str => eval(units
      .map(n => `${n[1]} * (${str.match(n[0])?.join('+') ?? 0})`)
      .join('+')
    );

    getSeconds('1 секунда плюс 3 секунды плюс 5 секунд') // 9
    getSeconds('21 день, 7 дней, да ещё 3 дня - всего секунд в мае месяце будет') // 2678400
    Ответ написан
    2 комментария
  • Какой вариант эндпоинта для получения книг по категории верный?

    nykakdelishki
    @nykakdelishki
    Системный аналитик
    бывает "наиболее правильный"

    1 Вариант
    Этот вариант удачен если вам важно выводит информацию о книжной(!) категории с определенным id

    Например /books/categories/1
    {
       id: 1,
       name: "Роман",
       description: "Такая категория для мечтателей любви",
       _links: {
          self: {
             href: "https://localhost:8080/books/categories/1"
          }
       },.
       etc
    }


    2 Вариант
    Напомню query параметры в RESTful используются только как фильтрация запроса.
    И если цель именно фильтровать все книги по категории => Лучший вариант

    Предположу, что нужен именно он.

    3 Вариант
    Возможен при условии если у книжных(!) категории еще какие нибудь книжки, манга, манхва и тд. Если у вас так берите этот вариант

    4 Вариант
    Этот вариант лучшие если у вас есть общие категории, например "Фантастика". А фантастика может быть книги, кино, сериалы и тд.

    П.С. Для соответствия RESTful важен не только путь но и то какой у тебя ответ
    П.С.2 Надеюсь мной не воспользовались через "закон Каннингема"
    Ответ написан
    Комментировать
  • Как организовать подобную задачу правильно?

    pLavrenov
    @pLavrenov
    Разработка сайтов
    Лучше всего добавить поле в админ панель чтобы оно сохранялось в базу данных (или просто поле в базе). На фронте проверять, если есть короткое то выводим его если нет то обычное. А пример кода это просто ад, как заплатка на коленке может и сойдет но это не решение задачи.
    Ответ написан
    Комментировать
  • С какой ветки обновляет git pull?

    С какой ветки обновляет git pull?

    С той удаленной ветки, которой соответствует ваша текущая локальная ветка

    Когда в своей ветке я нажимаю git pull, то каким образом происходит обновление моей ветке?

    Гит смотри на удаленную ветку и, если там есть изменения, подтягивает их

    Например я создал текстовый файл в master и хочу, чтобы он появился в моей ветке, как это сделать?

    Слить мастер в вашу текущую ветку

    git pull не добавляет его?

    Если вы находитесь в другой ветке, отличной от мастера, то нет - не добавляет
    Ответ написан
    Комментировать
  • Как зарегистрировать register_post_types не нагружая memory size?

    IvanU7n
    @IvanU7n
    nothing interesting here
    бесконечная рекурсия: внутри register_post_types() безусловно вызывается register_post_types()
    вторая регистрация типа поста должна быть register_post_type() без s
    Ответ написан
    1 комментарий
  • В чем ошибка SyntaxError: Unexpected token?

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    Файл 228.php вернул html, а ожидается json
    Ответ написан
    5 комментариев
  • Как скрыть токен на сайте?

    @Mylistryx
    JS стучится на свой же сервер, а там PHP или что там на бэке уже CURL`ом отправляет запрос к телеге. В JS думаю никак токен не скрыть.
    Ответ написан
    Комментировать
  • Как скрыть токен на сайте?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Сайт должен передавать данные на свой бэк, а уже бэк должен отправлять их в telegram. Для защиты от спама через ваш бэк используйте CSRF.
    Ответ написан
    Комментировать
  • Как задать активную страницу в swiper?

    Geminix
    @Geminix
    Фуллстек nuxt, .net разработчик
    мб это initialSlide
    Ответ написан
    Комментировать
  • Как связать YandexGPT с базой данных?

    @rPman
    При наличии доступа к весам llm, мощностям для finetuning и переобучения, специалистам по нейронным сетям, можно сделать ряд сопроводительны нейронок, которые будут помогать принимать решение о дальнейших действиях, закодировать большое количество 'дорожек' из llm к формальным базам данных, и сделать задачу якобы решенной.

    По факту llm будет решать одну единственную задачу - текстовый интерфейс на естественном языке к интерфейсу к базе данных. Т.е. набор функционала и запросы, которые можно делать к базе нужно будет закодировать заранее.

    Если не углубляться
    - во первых, тебе нужно на основе llm сделать классификатор, который будет из текста пользователя понимать, intent - какое именно действие он желает сделать (для этого обучают нейронку на основе pretrained llm, возможно убирают последние слои, заменяя их на новые, веса которых нужно будет найти и обучить на основе подготовленной базы вопросов пользователей и соответствующих им реакций, с некоторой долей вероятности можно попробовать без обучения спрашивать у умной llm типа chatgpt4, к сожалению chatgpt3.5 и сравнимые с ней плохо с этим справляются, точнее это вопрос творческий и возможно вместо одного универсального промпта тут нужно готовить франкенштейна из большого количества разных, llm-ка от яндекса не подойдет).
    - во вторых, это сбор информации, отличный пример - человек спрашивает брать ли завтра зонтик, мало сети понять что для ответа на вопрос нужно знать какая будет погода завтра (а завтра это через сколько часов?), нужно понять где этот человек находится и возможно задать наводящий вопрос... это я еще молчу про контекст беседы, может пользователь обсуждает о том что взять с собой в поездку на следующей неделе, т.е. вот уже другое время и место (фраза взять с собой может подразумевать - положить в багаж).
    Я видел примеры промптов, с помощью которых из лога беседы можно вытягивать элементы информации (список этих элементов придется заранее забивать соответственно тому интерфейсу, который выбран как целевой на первом шаге), что то типа проанализируй, достаточно ли в данном тексте информации для ответа на вопрос, выделяя в промпте цель, собранную информацию и часть лога беседы, может сжатой через саморизацию с фильтром - нужную для данной задачи (этакая симуляция большого окна контекста).
    Вот тут у директора по развитию ии от яндекс спрашивали как раз

    Не получится брать сырой поток сообщений, добавлять к ним промпт и надеяться получить сразу результат, это кропотливая работа, по преобразованию потока сообщений в некую выжимку, работа с ней разными запросами и заранее подготовленными нейронками (это на порядок эффективнее, кстати то где слабые сети еще могут давать результат, повторяю, нужен доступ к весам, оборудованию и собирать датасеты)

    p.s. С некоторой долей риска можно просить на ходу нейронку генерировать sql запросы на основе вопросов пользователя, результат будет с большими ошибками, чем умнее llm-ка тем сложнее эти ошибки будет обнаружить (в автоматическом режиме я имею в виду).

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

    yarkov
    @yarkov Куратор тега JavaScript
    Помог ответ? Отметь решением.
    localStorage.setItem('count', Math.max(1, 2));
    Ответ написан
    Комментировать
  • Почему шумит куллер процессора?

    nava2002
    @nava2002
    Инженер
    Слово "шумит" не дает понятить :
    1. Гудит но меняет обороты в зависимости от температуры процессора. (это замена вентилятора)
    2. Все время работает на максимальных оборотах.
    2.1 Температура ЦП в этот момент какая?
    Если ЦП холодный - меняем вентилятор скорее всего сдохла система управления оборотами ( в вентиляторе )
    иначе в материнке.
    2.2 Если ЦП под 100 гр. то какие то проблемы с радиатором ( термопаста, термотрубки) хотя я такого не встречал.

    Все это легко увидеть в БИОС. там же поиграться с оборотами вентилятора и станет понятно "где собака порылась"
    Ответ написан
    Комментировать
  • Возможен ли push notification в закрытое PWA приложение?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Да, возможно, данная технология называется Web Push.

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

    https://habr.com/ru/articles/321924/
    Ответ написан
    2 комментария
  • Адаптация странички html под мобильные устройства?

    IvanU7n
    @IvanU7n
    nothing interesting here
    https://developer.mozilla.org/ru/docs/Web/CSS/CSS_... или что-то подобное про медиа-запросы и вообще адаптивную вёрстку

    ну и meta viewport скорее всего должен быть:
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    Ответ написан
    3 комментария
  • Прозрачность картинки по ее краям?

    Комментировать
  • Как сделать SVG чётче?

    SeaInside
    @SeaInside
    15 лет пилю все эти штуки
    Нарисовать надо по пиксельной сетке, иллюстрирую:

    65663114addb4709037114.jpeg
    Если дизайнер изначально об этом не думал, когда рисовал (точки поставлены наобум, либо используется не целочисленная величина обводки) - вы с этим ничего не сделаете.

    На экранах повышенной плотности, к слову, эффект менее заметен (что не особо радует всех остальных).
    Ответ написан
    Комментировать
  • Как сохранить темную тему при обновлении страницы?

    Seasle
    @Seasle Куратор тега CSS
    1. Добавляйте атрибут на document.documentElement.
    2. Добавляйте более осмысленный атрибут, например: data-theme="dark"
    3. После добавления атрибута сохраняйте его в localStorage:
    localStorage.setItem('theme', isChecked ? 'dark' : 'light');

    4. В разделе head добавляйте скрипт, который применит атрибут:
    const theme = localStorage.getItem('theme');
    if (mode === 'dark') {
      document.documentElement.dataset.theme = 'dark';
    }

    Ещё можете почитать про prefers-color-scheme.
    Ответ написан
  • Как настроить в PHP заполнение БД по расписанию?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Можно. Пишете скрипт на PHP и настраиваете его регулярный запуск через cron или таймер systemd.
    Ответ написан
    1 комментарий