Ответы пользователя по тегу Веб-разработка
  • Как правильно хранить тексты постов в БД?

    Stalker_RED
    @Stalker_RED
    Нормальных подходов всего два - чистить текст перед сохранением в БД или сохранятьть как есть, а чистить перед выводом.
    Оба имеют свои плюсы и минусы. Чаще применяют второй. Иногда чистят и до и после, но чиску до сохранения делают осторожно и нежно. Потому что если найдутся косяки в "чистилке", то второй подход не убьет пользовательские данные.

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

    ...8-минутная статья в среднем будет содержать 30-40 блоков, в год постится 20тыс. постов, итого за пять лет наберется...
    кеширование, не? Уже скомпилированную статью можно сохранить в готовый файлик или отдельную таблицу, и испорльзовать пока ее не отредакритруют. Но опять-же, зачем вся эта возня со своим языком разметки и компиляцией если можно просто сохранить текст с разметкой?
    Ответ написан
    Комментировать
  • Стоит ли делать отдельный html под каждую страницу на форуме для попадания форума в поисковики?

    Stalker_RED
    @Stalker_RED
    Кнопочки - смотря как они реализованы. По ссылкам бот пройдёт обязательно.

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

    Stalker_RED
    @Stalker_RED
    При закрытии вкладки она и не должна удаляться. При закрытии браузера как-бы должна, но в браузерах давно есть галка "восстанавливать сессию". Можете найти её и отключить, если вам для себя.

    Upd: а вас не устроит установить сессию на минуту, например?
    Ответ написан
  • Как настроить форму подписки в Телеграмм канал передать часть заголовка в шаблоне?

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

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

    Stalker_RED
    @Stalker_RED
    Это называется фасетный поиск или фасетный фильтр.
    Он бывает как модуль в CMS, как библиотека, ну и зная его название вы можете найти какой-то туториал на эту тему.
    Ответ написан
    1 комментарий
  • Почему ссылка AJAX запроса ссылается не на php файл?

    Stalker_RED
    @Stalker_RED
    Ответ на вопрос из заголовка: потому что в мире существует не только php, и северная часть может быть на других языках.

    Ответ на вопрос "что делать":
    Научиться настраивать веб-сервер.
    Ну или поменяйте адрес с /ajax/editor/upload на /ajax/editor/upload.php, если учиться лень.
    Ответ написан
    3 комментария
  • Есть какой то сервер-брокер для моста с HTTP в MQTT?

    Stalker_RED
    @Stalker_RED
    Напишите в гугле "http mqtt bridge", и вот вам мост.
    Ответ написан
  • Где лучше размещать изображения товаров интернет-магазина?

    Stalker_RED
    @Stalker_RED
    Проще и дешевле хранить локально. Но чем больше посетителей, чем шире их география, тем выгоднее перебросить картинки в CDN.
    Неплохой вариант сделать сразу поддомен для статики, и пусть он изначально даже ведет на тот-же сервер где и основное приложение, но как только понадобится масштабирование вы сможете быстро перебросить его куда угодно.
    Единственный накладной расход - сразу придется делать простенькое API для аплоада картинок, а не хардкодить move_uploaded_file()
    Ответ написан
    Комментировать
  • Как пробросить порты с wsl в windows 10?

    Stalker_RED
    @Stalker_RED
    Но сам nginx в windows реализован плохо. тяжело с ним взаимодействовать (писать команды только из папки где он установлен)
    добавить эту папку в PATH, не?
    Ответ написан
    Комментировать
  • Какую карту выбрать?

    Stalker_RED
    @Stalker_RED
    Если нужна точность до района, то можно любую svg карту где каждый район отрисован отдельным элементом. Можно даже самому конвертировать. А там слушать клики и по event.target получать район.
    Ответ написан
    Комментировать
  • Какой должна быть структура проекта с ботом и сайтом?

    Stalker_RED
    @Stalker_RED
    Для начала выберите фреймворк. Django, как самый популярный, или какой-то из других, может лучше подойдут.
    Структуру файлов берите из выбранного фреймворка.
    Где-то рядом, в отдельной папке - бот.
    Может быть есть смысл делать его подмодулем, хотя если вы утверждаете, что отдельно от кодовой базы сайта он не работает, то просто в папку.
    Структура самого бота - тут сложно подсказать. Некторые боты настолько просты, что умещаются в один файл. Бывают и очень сложные, но что будет у вас - отсюда не видно.
    Ответ написан
  • Взаимодействие приложений на разных стэках?

    Stalker_RED
    @Stalker_RED
    В теории если ты пишешь обе стороны которые должны общаться, то ты можешь передавать информацию как тебе удобно или как сам придумаешь. Можно складывать файликами в папочки "входящие-исходящие", отправлять через сокеты, просто записывать в память и передавать другому сервису адрес, отправлять по сети, или через брокеры сообщений.

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

    А потом приходит начальник, и говорит. - эээ, мы вообще планировали распараллеливать эту нейронку, у нас будет от 10 до 10500 инстансов в в облаке. Данные давайте сложим вот в монго-кластер, задачи по обработке сбрасываем в очередь в celery, если очередь вырастает больше чем на N, то кубер автоматически поднимает еще несколько инстансов... и так далее, насколько у него фантазия разгуляется.

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

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

    А кроме производительности бывают вопросы типа "сервис упал во время работы, что случилось с задачей которую он обрабатывал? Нужно ли его рестартнуть? Нужно ли перебросить эту задачу на другой инстанс? Если все таски работают нормально, а эта уже в пятый раз упала, то может она кривая какая-то?" И тут понеслось новым слоем - система мониторинга, оповещения, автоматический или полуавтоматический "кризис менеджмент".

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

    А в майкрософте, основанном 50 лет назад, можно вообще очень странные и неэффективные штуки найти, я уверен.

    В общем, о чем это я - тема сложная, и одного решения на все случаи нет, и быть не может.
    В большинстве случаев оценивать нужно не только накладные расходы, но и масштабируемость, отказоустойчивость, насколько легко это все поддерживать, и цену, конечно-же. И цену за лицензии и зарплаты людей, которые это внедняют и обслуживают.
    Ответ написан
    2 комментария
  • Доставать данные из скрипта JavaScript?

    Stalker_RED
    @Stalker_RED
    Похоже, вы смогли найти нужный запрос в devtools.
    Щёлкните по нему пкм, сохранить запрос как curl, и попробуйте получить эти данные через curl.

    Если получится, то вот вам решение. Curl для большинства языков есть в виде библиотеки, а даже если для вашего "совсем другого" нету - можно вызывать внешний бинарник.
    Ответ написан
  • Может ли html код который приходит при запросе менять формат?

    Stalker_RED
    @Stalker_RED
    я вообще не понимаю что я должен сделать

    1. скачать страницу через curl или wget
    2. открыть в текстовом редакторе
    3. проверить, есть ли там интересующая вас информация.

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

    Если нужной информации нет, а есть только какие-то скрипты, то значит контент грузится скриптами. Все пропало, тащите selenium или headless chrome.

    Либо третий путь - смотрите в консоли хрома ОТКУДА эти скрипты тащат нужную инфу, и скачивайте напрямую нужные фрагменты страниц, или json-ы или что там у них (если там не огорожено каким-то ключами, конечно).
    Ответ написан
    Комментировать
  • Возможно ли сделать общий футер на всех страницах?

    Stalker_RED
    @Stalker_RED
    Чисто на HTML? Конечно возможно - через iframe можно вставить.
    Только если вы это кому-то покажете в 2023 - вас проклянут. Да и 15 лет назад уже прокляли бы - очень уж проблемная штука.

    Для этого используются языки программирования - js на стороне браузера или на стороне сервера практически любой.

    Еще можно использовать какой-то специальный редактор, который умеет массово редактировать кучу страниц одновременно. Это если совсем упороться, и делать чисто статический сайт, как в девяностые.
    Ответ написан
    7 комментариев
  • Как правильно сделать добавление страниц на сайте?

    Stalker_RED
    @Stalker_RED
    Ох, какие секретные все, "картинки с описаниями", туману побольше напустить. Да напиши уже - продаем сковородки, или кошачий корм. Меньше усилий на напускание туману и больше на техническую проблему.

    Я могу ошибаться, но из вашего туманного описания складывается впечателение, что вы сперва сверстали "списки картинок", потом понаделали под них отдельных страниц с подробностями, а теперь раздумываете не стоит ли выбросить это все, и переписать нормально, чтобы товары хранились в базе данных, и можно было и вывести списки этих товаров (ваши основные страницы) и страница с "описанимями" создавалась автоматически. Перешел юзер на страничку "example.com/item/123" и видит там товар с номером 123, его описание, форму заказа, и вот это все.
    Кажется, мы тут изобрели интернет-магазин.

    Хорошая новость: человечество их уже изобретало, и сейчас можно взять готовый движок магазина, в том числе бесплатно. В том числе, в виде плагина для вордпресса.
    Ответ написан
    4 комментария
  • Как закрыть доступ к сайту?

    Stalker_RED
    @Stalker_RED
    в index.php в первой строчке напиши:
    echo "Сайт временно закрыт, типо деактивирован!";
    exit;
    Ответ написан
    3 комментария
  • Как внести в бд данные из формы?

    Stalker_RED
    @Stalker_RED
    Использовать action можно, можете хоть сотню форм на одной странице иметь, это не мешает никак.
    POST предпочтительнее для форм, чем GET, некоторые типы данных вообще не получится отправить через GET.
    пока не нашел, как их обрабатывать на стороне php
    это шедевр. Вы могли бы написать эту фразу просто в гугл, без "пока не нашёл", и сразу найти
    https://www.php.net/manual/ru/reserved.variables.p...
    Ответ написан
    Комментировать
  • Почему мой сайт открывается по чужому адресу?

    Stalker_RED
    @Stalker_RED
    Если хостингом не вы управляете, а хостер, то пиши в поддержку, так мол и так, "этот вот сайт на одном айпи со мной, но ваш nginx коряво натроен, и вместо суставов отдает мой сайт, чините срочно, а то укушу".
    Если вы управляете - настраивайте сами, параметр server_name у вас отсутствует, скорее всего.
    nginx.org/en/docs/http/server_names.html
    Ответ написан