Задать вопрос
  • Как работает аутентификация Laravel Sanctum и что лучше JWT или Sanctum?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Санктум - это готовый пакет аутентификации на основе тех же токенов.
    Ответ написан
    Комментировать
  • Csrf токен из Laravel во Vue js с httponly, как реализовать?

    delphinpro
    @delphinpro Куратор тега Laravel
    frontend developer
    Слышал если только не обрабатывать (но услышал звон, но не знаю где он)


    Вот именно. Флаг httponly закрывает доступ к куке на стороне клиента. Браузер ее не увидит. Нет, точнее браузер ее увидит, и отправит обратно. Но доступа к ней не получить, в document.cookie такая кука будет отсутствовать.
    Ответ написан
    Комментировать
  • Каким образом и где можно разместить аудиофайл с расширением mp3 чтобы доступ на прослушивание к нему был, но возможность скачивания не была доступна?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    Дома с переломом ноги
    Задача не имеет решения.

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

    А что помешает энтузиасту-фанату написать свой плеер с функцией сохранения? Опять же аудиопоток можно банально записать с аудиовыхода - без всяких аудиокабелей - просто включив воспроизведение в колонки и положив рядом телефон :) Да, качества не будет, но обычно когда задумываются о такой вот вещи - качество не нужно, обычно это аудиозаписи "волшебных курсов", там достаточно разборчивого текста.
    Ответ написан
    3 комментария
  • Как правильно реализовать страницы с использованием Vue + Laravel?

    delphinpro
    @delphinpro Куратор тега Laravel
    frontend developer
    Изучить Inertia. По-моему это единственный вариант для этой связки. Но я не знаю, как там с SSR.

    Или классический вариант. Vue отдельно, ларавел отдельно (и уже не важно, что там именно ларавел).
    Ответ написан
    Комментировать
  • Можно ли сравнить большие массивы по частям?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    А зачем вам это делать частями? Что вы хотите этим добиться?
    Ваша задача имеет сложность О(N) и не представляет никакой сложности, просто двигайтесь двумя курсорами синхронно по массивам и всё.
    Ответ написан
    4 комментария
  • Ошибки на странице после деплоя проекта на Laravel?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    {{isset($item->quantity) ? $item->quantity : '0'}}

    Единственное что могу предполагать это не совместимость версии и правил валидации кода PHP.

    APP_ENV=production 
    APP_DEBUG=false

    Плюс на локальной машине скорее всего отключен вывод варнингов.
    Ответ написан
    5 комментариев
  • Сложно ли проект на react переиспользовать в react native?

    KulakovAngel
    @KulakovAngel
    Full Stack Developer (Node.JS)
    Всё немного зависит от сложности проекта. Краткий ответ: наврядли получится полностью переиспользовать, так как эквивалент div-а в вебе - это view в RN, стили в RN это также не css, хотя и похожи немного (хотя некоторые библиотеки, такие, как styled components, это дело прощают и делают RN стили похожими на css), но если клманда работает на react, то вход в RN не должен вызвать затруднения. Две кодовых базы поддерживать не нужно, RN можно компилировать как под Android, так и под IOS, так и под Web (а если понадобиться, то есть решение и для Windows - правда, его я не использовал). Проблемы (впрочем, решаемые) могут возникнуть, если приложение должно выполнять какую-то аппаратную работу - тогда нужно будет искать или писать инативные модули под каждую платформу и подключать их условно при компиляции (впрочем, сегодня с этим RN справляется из коробки). Например, нам нужен был drm модуль и наивные плееры. Если же приложении скорее просто crud, то проблем точно не будет (по крайней мере, больших). Успехов!)
    Ответ написан
    Комментировать
  • Как стримить изображение с видеокамеры, подключенной по HDMI к ПК на телевизоры в локальной сети?

    NeiroNx
    @NeiroNx
    Программист
    Какое оборудование используется для приема сигнала по HDMI?
    То что в компьютере и в камере HDMI и их можно соединить не означает что так будет работать. В компютере и видеокамере обычно видеовыход. Для получения видеовхода требуется оборудование, хотя бы такое https://www.ozon.ru/product/adapter-karta-videozah...
    Система определяет его как видеоустройство ввода - вебкамеру. Далее любым ПО(например VLC) стримите куда захочется.
    Ответ написан
    1 комментарий
  • Как правильно создать класс в laravel-data?

    Adamos
    @Adamos
    Ответ написан
    Комментировать
  • Каждые 10 сек. сайт должен получать цены с 11 бирж, но этих бирж станет больше, как распределять нагрузку?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    выполняют запросы к API бирж и сохраняют полученные цены в БД
    При такой формулировке дальше я исхожу из того, что а) API отдают данные в более-менее нужном формате, б) цен не больше 1000 (наверняка же про крипту какую-то речь) и в) вам цены нужно только сохранить (простой INSERT/UPDATE), ничего с ними больше не делая.

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

    пакет ещё не завершился а следующий вызов команды происходит
    Показывайте код. Если у вас обращение к API и обработка его ответа занимает больше 10 секунд - это совершенно не нормально.
    Ну а проблему с наложением запусков друг на друга можно решать по-разному (и решение будет зависеть от конкретных условий задачи), начать стоит с добавления withoutOverlapping.
    Ответ написан
    Комментировать
  • Как исправить ошибку Missing required parameter?

    pickHabr
    @pickHabr
    Костыльных дел мастер
    Привет!

    Вместо index.blade.php лучше бы ты предоставил как указан маршрут в web.php (f.e.) и не весь файл, а только один этот маршрут. Точно так же и с контроллером, все остальные методы кроме update можно было бы убрать.

    В ошибке сказано
    URI: admin_panel/services/{service} Missing parameter: service


    Я вижу несколько возможных причин:
    1
    action="{{ route('services.update', $services['id']) }}"
    указан не на той форме, которая отправляется (надо проверить html форму прежде чем нажать сабмит, если это так то надо привести отправляемую форму в порядок)
    2 в
    action="{{ route('services.update', $services['id']) }}"
    не всегда был
    $services['id']
    , а после добавления его в шаблон на фронте страница не обновлялась или закеширована (надо проверить html формы прежде чем нажать сабмит, если это так, то надо обновить страницу и проверить html формы еще раз, если в поле action все еще не подставлен айдишник, то надо выполнить php artisan view:clear на сервере и обновить страницу на фронте, если не помогает, то надо проверить, что измененный шаблон подкинут на сервер, а не лежит чисто локально
    3 таблица services не имеет primary key на id (надо выполнить миграцию, которая это добавит), можешь дополнить вопрос миграцией для создания таблицы services
    4 $services['id'] имеет значение null (надо дебажить и смотреть почему туда попадает такое значение, скорее всего оно будет таким потому что нужно поменять на $services->id но это не точно)
    Ответ написан
    5 комментариев
  • Как примерно выглядит async-await код, если его написать на промисах?

    sanchezzzhak
    @sanchezzzhak
    Ля ля ля...
    да правильно.

    await можно вызвать только внутри async блока.
    когда мы используем await отлов ошибки всегда нужно делать в try { ... } catch (e) {}.
    любой метод который возвращает промис можно использовать await внутри блока async
    и того вы можете комбинировать устаревший код с новым.

    (async () => {
    
    async function fetchData1(url) {
       try { 
        let response =  await fetch(url);   // promise
         return await response.json();      // promise
      } catch(e) {
         return null;
      }
    }
    
    // на промисах  это выглядело бы так, вам все равно нужно вернуть обьект промиса, если вам важно вернуть результат.
    
    function fetchData2(url) {
       return new Promise((resolve,reject) => {
           fetch(url).then(res => res).then (res => res.json()).then((result) => {
             resolve(result);  // говорим что наш промис достиг успеха,
          }).carch(e => {
              resolve(null);  // так как мы повторяем логику try catch  мы используем пустой ответ. вместо reject(e);
          })
       })
    }
    
    const promises = [
        fetchData1('/last-news'),       
        fetchData2('/last-comments'),  
        fetchData2('/popular-news'),
    ];
    // (после объявления массива методы уже будут выполнятся, лучше делать через promises.push(...) )
    // .. куча логики
    // приказываем ожидать если не все выполнялось.
    const result = await Promise.all(promises);
    console.log({result});    
    
    // или так 
    Promise.all(promises).then( results => {
        console.log({result});    
    })
    
    // a так если мы хотим последовательно и лапшой promise hell
    fetchData1('/last-news').then(resultNetws => {
            fetchData2('/last-comments').then(lastComments => {
                 fetchData2('/popular-news'').then(popularNews => {
               
                  })
           })
    });
    
    // рекомендую прочитать про статичные методы у обьекта Promise.all итд.
    
    
    })());
    Ответ написан
    1 комментарий
  • Какая есть программа для поиска дубликатов видео с частичным совпадением видео ряда?

    2ord
    @2ord
    Для начала, я бы взял первую программу (назыв. "икота" по-польски) из https://alternativeto.net/software/video-duplicate...
    spoiler
    145280350-506f7e94-4db0-4de7-a68d-6e7c26bbd2bf.gif

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

    neuotq
    @neuotq
    Прокрастинация
    Немного не ясно что вы хотите, вот это получать?
    type ReturnElementProps<T> = T extends React.ReactElement<infer P> ? P : never;
    
    type FormItemProps<
      C extends React.ReactElement,
      P extends ReturnElementProps<C>
    > = {
      getValueFromEvent: (...args: Parameters<P["onChange"]>) => void;
      children: C;
    };
    
    const FormItem = <
      C extends React.ReactElement,
      P extends ReturnElementProps<C>
    >(
      props: FormItemProps<C, P>
    ) => {
      // из пропсов вашего компонента берём дочерний элемент
      const { children } = props;
      // из пропсов дочернего берем onChange
      const { onChange } = children.props;
      //тест
      console.log("Child onChange cb", onChange.toString());
      return children;
    };
    
    export default function App() {
      return (
        <div className="App">      
          <FormItem getValueFromEvent={(event) => event}>
            <input onChange={(e) => console.log("Children e", e.target.value)} />
          </FormItem>
        </div>
      );
    }
    Ответ написан
    4 комментария
  • Какую камеру выбрать для наблюдения за животными и рыбками в разных условиях?

    @rPman
    Вам не камера нужна а решение, т.е. это не купил коробку и заработало, а нашел подрядчика, он все собрал, подключил, софт настроил и гарантию с поддержкой N лет подписал.

    Готовой камеры с батарейкой и ИК подсветкой нет... точнее чего то в списке требований не будет реализовано.

    Ну и чтобы был хоть какой то ответ - смартфон + карта памяти + ИПБ с поддержкой дополнительных батарей, по деньгам такое решение максимально дешевое, ну в коробку герметичную засунуть с охлаждением/подогревом (как ни странно на последнее можно потратить треть стоимости от всего остального). Софт, какой нибудь ip webcam для android, он и пишет, и удаленное управление по сети (камеры в локальную сеть объединить) и детектор движения и куча всего...

    Про ИК подсветку, камеры со сменным светофильтром это сразу 2х к цене, дешевле поставить светодиодное освещение с линзой, направленной строго по области видимости камеры и выключателем от освещения.

    Современные смартфоны уже имеют камеру с заоблачным соотношением цена/качество, особенно когда начинаешь считать стоимость специализированных уличных камер. Причем стало на столько это абсурдно, что производители смартфонов low и mid ценовых диапазонов уже давно блокируют функционал этих камер на использование только в официальном приложении 'камера', которую сложно автоматизировать, наверное чтобы не конкурировать с сектором камер. Я на смартфоне xiaomi a2 2018 года снимал звезды ночью, без оптики вообще, просто поставив выдержку 8сек, в городе (это с засветкой! в лесу там вообще можно было бы млечный путь снимать).
    Ответ написан
    1 комментарий
  • Какую камеру выбрать для наблюдения за животными и рыбками в разных условиях?

    hint000
    @hint000
    у админа три руки
    1. Большой объем памяти.
    Не делают камеры со встроенной памятью. Вернее, под заказ могут сделать что угодно, но такие капризы будут стоить огромных денег. Делают под карты памяти micro-SD - какую карту поставите, такая и будет. Но любой карты будет недостаточно для двухнедельной записи в высоком качестве. Поэтому решением будет простенький видеорегистратор (то, что называется DVR или NVR) с жестким диском.

    2. Мощная батарея.
    Это как раз легко. Почти все камеры видеонаблюдения питаются от 12 вольт. Видеорегистраторы тоже. Так что берёте автомобильный аккумулятор (дёшево и сердито) и тупо подключаете к нему оборудование. Ну ладно, не совсем тупо подключаете, предохранитель надо поставить, чтобы случайно не устроить лесной пожар. Приехали забирать записи - заодно привезли заряженный аккумулятор. Только нужно заранее проверить, как долго проработает конкретная камера с регистратором от конкретного аккумулятора. Может быть потребуется не один аккумулятор, их можно параллельно соединять. А если есть возможность штатно питать от сети, и только резервировать аккумулятором на случай пропадания напряжения, то для этого продаются специальные штуки - резервируемый блок питания для охранных систем (пожарная сигнализация, видеонаблюдение), на выходе у таких блоков 12 вольт. Другой вариант - источник бесперебойного питания с подключением внешних аккумуляторов (можно автомобильные подключать); например, такие ИБП применяют в частных домах для питания газовых котлов. Профессиональные ИБП-решения будут стоить на порядок дороже.

    3. помимо хорошей матрицы в камере и хорошей оптики, нужно ещё оценить расстояние, на котором хотите чётко видеть животных - от этого зависит выбор фокусного расстояния камеры; для разных случаев будете ставить разные камеры; либо камеры с переменным фокусным расстоянием, они несколько дороже. Также нужно выбрать угол обзора камеры. Нельзя сказать, что лучше широкий угол или лучше узкий, вы должны осознанно сделать выбор. Либо брать камеры с переменным углом (zoom, трансфокатор), они дороже. Как это работает: на узком угле обзора (максимальный zoom) вы видите на весь экран маленький кусочек слона, зато можете увидеть муху, если она сядет на это место; на широком угле (минимальный zoom) вы видите на экране всего слона, но муху не сможете различить, потому что она займёт один пиксель. Выбирать вам.

    4. Легко. Уличные камеры видеонаблюдения работают по несколько лет в жару, дождь, мороз. Но тут мы вспоминаем, что у нас кроме камеры ещё есть видеорегистратор, а вот он рассчитан находиться в сухом помещении при температуре хотя бы +10 градусов (ну можно рискнуть при +5, без гарантии). Если вместо жестких дисков взять SSD больших объёмов, то можно рискнуть и при 0 градусов, но будет дороже. Отдельно подумать, чтобы не было конденсата при перепадах температур (много мифов о конденсате; нужно понимать условия его образования). Если тянуть кабель от избушки в лес - не вариант, то подумать про Wi-Fi передачу с камеры (а регистратор в избушке). Но для рыб потребуется кабель хотя бы до берега (или радио-буй) - радиосигнал через воду почти не проходит (если мы не про связь с ПЛАРБ, там очень специфично). Ну или делать полностью герметичный бокс с камерой, регистратором и аккумулятором внутри.

    5. Режим ночной съемки.
    Трудный вопрос. Ночная съёмка реализуется двумя вещами одновременно: (1) инфракрасная подсветка, (2) отключение инфракрасного фильтра. Ну ладно, двумя с половиной, (3) высокая чувствительность матрицы за счёт электронного усиления. С фильтром всё понятно, камера умеет автоматически отключать его при снижении освещённости. Увеличение чувствительности существенно ухудшает картинку (изображение бывает "шумное", как будто рябь по всему экрану), это почти неизбежно, приемлемое качество получается только при очень хорошей подсветке. Так вот, подсветка. Она инфракрасная, человек её не видит. Но у разных животных разное зрение. Надо у биологов спрашивать, не будет ли это отпугивать некоторые виды. Конечно, многие животные, как и люди, не будут реагировать на ИК. Но уточнять нужно. И ещё, я понятия не имею, насколько эффективна ИК-подсветка под водой (нужно проверять), даже если рыбы на неё не будут реагировать. Впрочем, допускаю, что рыбам и обычный белый свет не будет мешать и не будет их отпугивать, если так, то можно попробовать видимую подсветку. Не забудьте, что подсветка тоже будет кушать аккумулятор, учтите при тестировании времени автономной работы. И последнее. Рыбы нередко имеют серебристый цвет. Они могут здорово отражать луч подсветки, так что можете получить на экране яркие пятна с потерей деталей. Отчасти такую проблему можно решить боковой подсветкой отдельным светодиодным прожектором (существуют ИК-прожекторы).

    6. Возможность трансляции изображения на ПК.
    На локальный ПК - без проблем, для каждого регистратора есть ПО для подключения к нему. Ну а передача через Интернет - сами же говорите - ограничена имеющимися каналами связи, никаких чудес тут не будет. Принципиально возможность есть. И если говорить о просмотре картинки в реальном времени (не записи), то многие камеры умеют транслировать одновременно два потока: один высокого качества для записи, другой грубый для проталкивания через плохой интернет-канал. Параметры потоков обычно можно настроить (разрешение, частота кадров, степень сжатия). И если им не терпится - пусть смотрят загрублённую картинку, и не сразу несколько камер, а по одной за раз, так и через плохой канал может пролезть. Т.е. не транслировать все потоки в институт постоянно, а по запросу: хотим посмотреть 7-ю камеру, кликнули на неё, посмотрели, а теперь хотим посмотреь 4-ю и т.д. С другой стороны можно и сразу несколько камер транслировать, но настроенных выдавать 1 кадр в секунду или 2 кадра в секунду (при этом локальная запись будет на честные 25 кадров в секунду).

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

    И удачи вам в решении этой интересной задачи.
    Ответ написан
    Комментировать
  • Как лучше развернуть WiFi сеть в радиусе 500м?

    @alexalexes
    Проводом будет самое простое и надежное по помехоустойчивости решение, если нет непроходимых участков, где физически невозможно кинуть кабель. Только учтите, что вам на каждые 200м нужно будет устройство-повторитель.
    И второй фактор, если камера питается по PoE, то смотрите спецификацию этого PoE, дистанция для кабеля с технологией запитывания может сократиться до 100м.
    Ответ написан
    1 комментарий
  • Как лучше развернуть WiFi сеть в радиусе 500м?

    kiberspy
    @kiberspy
    А можно как-то получить хотя бы приблизительную план-схему? Или исходя из описания - тупо прямоугольник с камерами по углам - тогда нужно руки отломать в плечевых суставах за такое решение по видеонаблюдению...
    Или цель была только просмотр периметра? Вопрос "накуа" и главное зачем?

    С расстояния 500 м. вряд ли что-то можно увидеть толкового на другом краю... даже если поставить 2 камеры которые смотрят друг на друга - 250 м. с каждой не добавят информативности!

    Upd: возможно это - https://nadzor.ua/blog/videonabludenie/kakoj-ugol-... - немного добавит понимания
    Ответ написан
    6 комментариев
  • Какая оптимальная структура хранения кастомных классов в Laravel 11?

    @mrFlyer
    Имхо это не имеет ровно никакого значения, как вам нравится так и называйте и где хотите, там и храните. Тем более, что у вас со временем может таких папок оказаться несколько.
    Ответ написан
    6 комментариев
  • Почему в наутилусе папка распаковывается за 1 секунду, а в Windows 1 минуту?

    Потому что в винде zip очень древний и неоптимизированный.
    Лучше использовать winrar или 7zip для распаковки - тогда тоже будет быстро.
    Ответ написан