Задать вопрос
  • Кто должен устанавливать cookie, клиент или сервер?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    {PHP, MySql, HTML, JS, CSS} developer
    это делает сайт более уязвимым к XSS атакам.
    Нет, скорее это наносит больший ущерб в случае удачной атаки, к самой защите от атак это никак не относится.

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

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

    @q2digger
    никого не трогаю, починяю примус
    берем Telegram Bot API (https://core.telegram.org/bots/api), в другую руку берем какой нибудь знакомый язык программирования, например Python и пишем бота, который следит за постами с музыкой в вашем канале и при появлении новой делает какие-то запланированные действия, например выкладывает музыку на вашу страницу. У таких платформ как Wordpress или Django есть API, и все это отлично автоматизируется.
    Ответ написан
    Комментировать
  • Как научиться строить wi-fi и\или 4g сети? Или как сделать на даче хороший интернет?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Вообще, это два принципиально разных вопроса в заголовке. Строительство сетей - это довольно большая область знаний и тут надо много всего знать и учить. В двух словах не рассказать, особенно без конкретики - гугл и статьи в помощь. А вот для загородного интернета лучше всего брать узконаправленную антенну со встроенным модемом и стандартным ethernet портом. Проблема отдельной антенны и модема в потерях в кабеле между ними, поэтому лучшие варианты - антенна со встроенным модемом. С помощью мобильного приложения типа OpenSignal находите ближайшие вышки, а так же выясняете на каких частотах работает ваш сотовый оператор в вашей местности (гугл плюс звонок оператору). Далее покупаете под ваши частоты что-то типа Mikrotik LTE Kit (их там есть несколько вариантов - маленький бочонок или большая параболическая антенна), устанавливаете у себя на чердаке или вышке (не забывайте про грозозащиту и оптическую развязку для ethernet) и направляете антенну на сотовую вышку максимально точно. С 10-20 мегабит с телефона до 80-95 мегабит в лесу за городом с вышеназванным микротиком. В антенну втыкаете стандартный кабель типа "витая пара" и заводите в дом, а вот уже в доме втыкаете его в ваш WiFi роутер. В зависимости от вашего бюджета и особенностей дома и участка можно взять один роутер из топовой линейки с пачкой антенн или собрать Mesh сеть - если дом большой и хочется ещё и на участке сделать стабильный WiFi. Например что-то типа TP-Link Archer AX90 или набор девайсов серии OneMesh/Deco (рекомендую почитать обзоры сначала).
    Ответ написан
    Комментировать
  • Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Как вы это делаете?! За 17 лет работы в ИТ у меня ни разу не возникало вопроса "Куда двигаться?", только "Где взять времени на освоение всего этого бесконечного изобилия технологий, углублённого изучения уже знакомого и реализацию множества идей?"
    Ответ написан
    4 комментария
  • Почему функции по смещению свойств объектов работают только с объектами, у которых свойства состоят из букв?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Потому что в стандарте JS порядок свойств в объекте не гарантирован. Т.е., там может быть абсолютно любой порядок. Так что ваша функция бессмысленна. Если вам нужна сортировка - используйте массивы.
    Ответ написан
    4 комментария
  • Как тут узнать точную дату вопроса/ответа/комментария?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    4 комментария
  • Как использовать медиазапросы в пользовательском css в Tailwind 4?

    Fragster
    @Fragster
    помогло? отметь решением!
    кажется, можно сделать примерно так:
    https://play.tailwindcss.com/i1ix27ccg5
    @import "tailwindcss";
    
    @theme {
      --width1: 1em;
    }
    
    @layer components {
      .my {
        @apply bg-green-200;
    
        @media (width >= theme(--breakpoint-md)) {
          --width1: 3em;
        }
    
        @media (width >= theme(--breakpoint-xl)) {
          --width1: 7em;
        }
      }
    }
    Ответ написан
    1 комментарий
  • Имеет ли смысл использова vue с scss?

    @alexalexes
    Вообще, без разницы.
    Это параллельные технологии. Они друг с другом не находятся в зависимости, а дополняют свою нишу разработки.
    Можно использовать по отдельности и вместе на любом этапе разработки.
    Ответ написан
    Комментировать
  • Почему у кабеля все фазы?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Стандартная трёхфазная система электропитания 380 (400) вольт.
    Между фазами 380 (400) В, между нулём и любой из фаз 220 (230) В.
    Ответ написан
    1 комментарий
  • Как перевести строки в json с простейшей структурой на другие языки используя нейросети или API?

    @rPman
    Пишите приложение, которое перебирает элементы json и отправляет переводчику по отдельности каждое

    к сожалению даже топовые gpt с некоторыми не нулевыми шансами (даже если и 1% вам не понравится) могут пропустить что то важное или додумать или изменить структуру.

    Есть structured output, ты описываешь выходную структуру и gpt сгенерирует ответ строго по этому формату, как минимум этот подход позволит защититься от повреждения структуры... не думаю что описать формат твоей json будет проще чем написать приложение, которое будет разбирать json на элементы.

    Переводить можно как универсальными нейронками (это перебор конечно но почему нет, особенно когда нужно контролировать неоднозначности, пилишь огромный пропт, в котором указываешь правильный перевод имен, пол каждого или способ обращения, другие особенности а затем добавляя к нему короткие текстовые строчки получаешь перевод, благодаря nv-cache длинный пропт будет кешироваться и стоить меньгше/бесплатно) а можно специализированными, публично доступна вполне терпимая от facebook m2m100 или новее nllb-200, они мелкие и приемлемо работают на процессоре
    Ответ написан
    Комментировать
  • Как отобразить при случайном порядке уникальность страниц?

    @Asokr
    как вариант решения - запоминать ID те что уже показаны, и добавить в запрос фильтр "NOT_IN" куда передавать массив уже показаных сущностей.
    Ответ написан
    Комментировать
  • CSS как сделать div изображений ровно под наклоном друг за другом?

    наверное, корректнее поворачивать весь блок изоображений
    Ответ написан
    Комментировать
  • Проблема с наушниками проводными, пропал звук, что делать?

    @elderl
    Замыкание. Либо в штекере, либо в гнезде. Левый канал идёт на правый динамик.
    Ответ написан
    Комментировать
  • Какие есть варианты такого позиционирования элементов на странице?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Т.е. обёртку box2 удалять нельзя.

    В CSS есть display: contents для таких вещей.
    Остальное гридами.
    Ответ написан
    Комментировать
  • Как выполнить файл из консоли laravel?

    @programmer403
    php -f /{path}/console.php

    console.php не для того чтобы его напрямую запускать с php. А для регистрации консольных команд:
    Artisan::command('inspire2'
    которые потом вы запускаете командой
    php artisan inspire2

    Дальше уже смотрите в сторону Schedule
    Ответ написан
    Комментировать
  • Почему PHP выполняет математические операции неправильно?

    Коротко - потому что IEEE 754

    Выполняет он математические операции правильно, но некоторые числа компьютер просто не способен представить со 100% точностью, тк для них нужно было бы бесконечное количество памяти.

    Точно также, как мы не можем записать все цифры числа 1/3 в десятичной системе, точно также и компьютер иногда не может записать все цифры в двоичной.

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

    Если при делении у тебя получилось дробное количество копеек - округляй так, как велит закон.

    Если ты делаешь какие-то математические вычисления - возможно тебе нужны рациональные числа.
    Не знаю, что обычно для этого в пхп используют, но нагуглил https://github.com/webgriffe/rational
    https://github.com/markrogoyski/math-php

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

    Если тебе критически важна скорость, а точность - не так важна, то оставайся на IEEE754 и просто округляй то N значимых цифр (обычно больше 5 цифр мало кому нужно)
    Ответ написан
    13 комментариев
  • Не выставляются карточки с помощью gap так как надо?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Свойство gap работает не так как надо

    На обоих скриншотах одинаковый gap и по виду очень похож на указанные 30px.
    А больше он ничего не делает.

    Но предположим, что вы хотели спросить не про gap, а про почему не получилось два столбца.
    Теперь смотрим в код (было бы идеально, если бы к коду прикладывалась песочница, в которую можно потыкать, а эти простыни убирались в спойлеры).
    Вы пишете: хочу флекс, по строкам, если не влезло, то переноси и сделай отступы (этот ваш gap) 30px.
    Смотрим на элемент: ширина 555px.
    Смотрим на контейнер: ширина 1140 и отступы 2х15.

    Считаем:
    Свободное место в контейнере: 1140 - 30 = 1110.
    Сколько нужно места хотели бы занять два элемента в ряду: 555х2 + 30 = 1140
    => Не влезает.

    А раз не влезает, то переносим.

    Нормальное решение:
    Меняем флекс на грид и задаем две колонки с нужным отступом.
    grid-template-columns: 1fr 1fr;
    gap: 30px;


    Дополнительно можно почитать про minmax в гридах.
    Ответ написан
    1 комментарий
  • Как запретить оверлею загораживать отдельно взятый элемент? Как выбить/поднять/отменить дочерний элемент из контекста наложения?

    szQocks
    @szQocks
    проверил ничерта не работает, единственный способ это через ответ на стеке - других вариантов нет, потому что этот контекст наложения через 3д работает ( так написано в документации, по контексту наложения ), вот пример
    Ответ написан
    Комментировать