• Как получить IP пользователя через Node.js?

    Заставить пользователя отправить его IP через js. К примеру как здесь. Чтобы искать подобные вопросы на stackoverflow так-же существует английский язык
    Ответ написан
    1 комментарий
  • Почему не работает :hover?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    643801970bffe545468400.png

    Подсветка намекает на некорректное значение цвета.

    Очевидно перепутали букву l с цифрой 1
    Ответ написан
    1 комментарий
  • Как кликнуть по элементу у которого один Class но элементов таких 10?

    @alexalexes
    Если не хотите forEach-ем, то переберите по старинке через for.
    let Nlist = document.querySelectorAll(".chain_cnt_head");
    for(let i = 0; i < Nlist.length; i++)
    {
       Nlist[i].click();
    }
    Ответ написан
    1 комментарий
  • Можно ли получить элемент с другого сайта и вставить в текущий?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Как парсить сайты?
    Парсить можно чем угодно: js, php, python и т.д.
    Ответ написан
    6 комментариев
  • Почему некорректно работает форма обратной связи?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    var_dump($_POST);
    Например сразу будет понятно что $_POST['phone'] у вас будет не $_POST['phone'], судя по коду
    <input type="text" id="phone3" placeholder="Введите телефон" name="telephone" required="" class="input1">
    Ответ написан
    Комментировать
  • В чем ошибка в запросе?

    rozhnev
    @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    CREATE TABLE `wrdr_promocodes_items` (
        `id`                INTEGER unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, 
        `code`              VARCHAR(100) NOT NULL DEFAULT '', 
        `discount_amount`   INT, 
        `discount_percent`  DECIMAL(3,1), 
        `num_limit`         INT NULL, 
        `date_limit`        DATETIME NULL, 
        `description`       TEXT NOT NULL, 
        `active`            TINYINT unsigned NOT NULL DEFAULT 1
    );

    https://sqlize.online/sql/mariadb/c8112f74814b293e...
    Ответ написан
    Комментировать
  • Как хранить публикации пользователя в бд?

    @apshur
    Для хранения публикаций, комментариев, ответов и других данных, связанных с конкретным пользователем, рекомендуется использовать реляционную базу данных.

    Для каждого типа данных, например для публикаций, создается отдельная таблица, содержащая поля, характеризующие соответствующие данные. Так, для хранения публикаций может быть создана таблица "publications" со следующими полями:

    - id - уникальный идентификатор публикации;
    - title - заголовок публикации;
    - text - текст публикации;
    - date - дата публикации;
    - user_id - идентификатор пользователя, который опубликовал данную запись.

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

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

    Важным моментом является связь между таблицами. Если у одного пользователя может быть несколько публикаций, то в таблице пользователей можно создать поле "id", которое связывается с полями "user_id" из таблиц публикаций, комментариев и ответов. Таким образом, можно легко связывать отдельные записи с конкретным пользователем.

    Ну и ещё пара способов: 1. Использовать JSON-поля. Например, в таблице пользователей может быть создано поле "content", в котором будет храниться JSON-объект, содержащий информацию о публикациях, комментариях, ответах и прочих данных, связанных с пользователем. Однако, такое решение может усложнить поиск и фильтрацию данных.

    2. Использовать таблицы на основе пользовательских идентификаторов. При таком подходе создаются отдельные таблицы для каждого типа данных, например, "publications", "comments", "replies" и т.д., каждая из которых содержит поля, связывающие запись с идентификатором пользователя. Таким образом, можно создать множество записей, связанных с одним пользователем, и при этом уменьшить вероятность дублирования данных.
    Ответ написан
    Комментировать
  • Как установить часовой пояс для даты в javascript?

    @vintage
    Стандартное Date API не поддерживает часовые пояса. Попробуйте эту либу: https://habrahabr.ru/post/263041/
    Ответ написан
    Комментировать
  • Как установить часовой пояс для даты в javascript?

    RTW
    @RTW
    Форкаю, читаю, употребляю
    new Date(Date.UTC(year, month, day, hour, minute, second));
    Ответ написан
    Комментировать
  • Насколько безопасно делать api с данными сайта публичными?

    vabka
    @vabka Куратор тега Веб-разработка
    Да больше в общем то и нет.
    Ответ написан
    2 комментария
  • Почему не работают проценты в градиенте через переменную?

    nedosekinstanislav
    @nedosekinstanislav
    Штирлиц как никогда был близок к провалу
    Вы так сделали?
    :root {
    --p: 40%;
    }
    Ответ написан
    4 комментария
  • Как сделать чтобы при открытии html документа была музыка?

    Le_Traceur_Snork
    @Le_Traceur_Snork
    PHP-программист | Wordpress
    Тег <audio></audio>
    htmlbook.ru/html/audio
    Ответ написан
    Комментировать
  • Как вернуть стиль обратно по клику в js именно таким же способом?

    delphinpro
    @delphinpro Куратор тега HTML
    frontend developer
    element.style.backgroundColor = 'red'; // Сделать красным
    element.style.backgroundColor = ''; // Вернуть так, как было прописано в css
    Ответ написан
    Комментировать
  • Бесплатные vps для мониторинга бд MySQL?

    @vitaly_il1
    DevOps Consulting
    Только временно (год) бесплатные VM в AWS/GCP и других облаках, но это нетривиально если нет опыта.
    Ответ написан
    Комментировать
  • Как реализовать ответы к комментариям?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Как совершенно справедливо заметил Akina, единственно что отличает ответ от корневого коментария - наличие родителя. По этому нет смысла плодить сущности, надо просто добавить одно-два поля. В зависимости от вида коментариев - 1 ветка(как на вк например) или ветвление (как на хабре), структура хранения может немного отличаться, но в целом это просто будет набор комментов, с указанием родителя (если родитель_айди = 0 или = айди, в зависимости от логики, то это корневой комент). Для разветвленных коментариев удобно добавлять айди ветки, по которой они будут группироваться, для 2 уровней это поле избыточно.
    Ответ написан
  • Как отсортировать обьекты по айди?

    @mirikkingg
    Если правильно понял - методом array.sort можно отсортировать объекты в массиве.
    Ниже пример по убыванию
    const compare = (a, b) => {
            if (a.id < b.id) return 1;
            if (a.id === b.id) return 0;
            if (a.id > b.id) return -1;
        }
    
        *SortableArray*.sort(compare)


    Если вопрос относится к ключам объекта - то методов нет, можно использовать for*
    Ответ написан
    Комментировать
  • В каком виде, хранятся записи в БД, подобные постам в соц.сетях?

    Stalker_RED
    @Stalker_RED
    что-то по лучше, чем MySQL
    а что получше - феррари, карьерный самосвал или метро?
    Феррари вроде как быстрее, но не может перевезти 500 тонн за один рейс. Карьерный самосвал перевезти может, но расход горючки сумасшедший. А у метро фича - гоняет без пробок, но только там, где рельсы заранее проложили.

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

    Целиком в БД сохраняют с тегами HTML, или Объектом JSON

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

    Тяжелые медиа, типа видеороликов, вы довольно скоро вынесете в отдельное хранилище, как только заметите что у вас этих одинаковых роликов тысячи, и неплохо бы к ним дедупликацию прикрутить.
    А как хранить эмоджи - практически не важно.
    Ответ написан
    Комментировать
  • Как превратить HTML вместе с тегами в строку?

    @ivolkoff
    во входящей строке надо заменить спец символы на коды, например так

    function escapeHtml(text) {
      return text
          .replace(/&/g, "&amp;")
          .replace(/</g, "&lt;")
          .replace(/>/g, "&gt;")
          .replace(/"/g, "&quot;")
          .replace(/'/g, "&#039;");
    }
    Ответ написан
    1 комментарий
  • Как сделать автоматическое индексирование новых страниц?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    оформить по правилам - там же разные типы медиа по разному, правил полно везде - в Гугле и Яндексе рекомендации берите и вперед
    Ответ написан
    6 комментариев