• Можно ли получить элемент с другого сайта и вставить в текущий?

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

    vabka
    @vabka
    Токсичный шарпист
    У тебя скобки не закрыты
    Ответ написан
    2 комментария
  • Почему некорректно работает форма обратной связи?

    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 уровней это поле избыточно.
    Ответ написан
  • Как реализовать ответы к комментариям?

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

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

    Пример кода на Node.js с использованием рекурсии:

    function displayComments(comments) {
      comments.forEach(comment => {
        console.log(comment.text);
        if (comment.replies.length > 0) {
          displayComments(comment.replies);
        }
      });
    }
    
    // Пример использования
    const comments = [
      {
        id: 1,
        text: "Комментарий 1",
        replies: [
          {
            id: 2,
            text: "Ответ на комментарий 1",
            replies: []
          },
          {
            id: 3,
            text: "Еще один ответ на комментарий 1",
            replies: [
              {
                id: 4,
                text: "Ответ на ответ на комментарий 1",
                replies: []
              }
            ]
          }
        ]
      },
      {
        id: 5,
        text: "Комментарий 2",
        replies: []
      }
    ];
    
    displayComments(comments);


    В этом примере функция displayComments принимает список комментариев и рекурсивно выводит их тексты и ответы. Если у комментария есть ответы, функция вызывает саму себя для вывода ответов.
    Ответ написан
    5 комментариев
  • Как отсортировать обьекты по айди?

    @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 комментариев
  • В каком виде, хранятся записи в БД, подобные постам в соц.сетях?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Современная соц-сеть - это уникальная софтварная архитектура которая строилась индивидуально.
    Вряд-ли вы сможете ее просто повторить имея mysql/php/nginx.

    VK/Facebook имеют свои технологии кеширования контента в основном построенные на материализации
    страниц. Базы данных обычно - не-реляционные. Модель проектируется так чтобы не было joins между
    таблицами. И активно используются очереди сообщений. Вот в соц-сети Linked-In это было настолько
    важно что даже был создан отдельный программный продукт который сейчас называют Apache Kafka.

    Активно используются горизонтальное масштабирование. Сеть наращивает мощности просто путем подключения
    новых адресов в dns с балансом по географии, и запуска новых web-nodes и новых дисковых реплик хранилищ для картинок и текстов постов.

    Поэтому вопрос в каком виде хранятся записи - тут не важен. Тут важно чтоб кеши обновились синхронно с событием поста например.
    Ответ написан
    7 комментариев
  • Хочу создать 30 фан аккаунтов в инстаграме для рекламы основной страницы, сработает?

    Крутая идея, чел, конечно делай, неделя, и будешь популярнее Бузовой и грести бабло лопатой
    Ответ написан
    1 комментарий