• Какая видеокамера подойдет/такое может?

    @TheBigBear
    СтарОдмины мы
    Если на коленке...
    Любая Wi-fi внешняя китай-камера с поддержкой P2P и приложением на телефоне. Лично я топлю за IMOU - у них есть полезная функция Human detected
    Любой USB свисток с поддержкой Wifi (например Huawei 3372) плюс автомобильная USB зарядка (защищается от непогоды на раз)
    Блок питания на 12В. Это может быть аккумулятор от автомобиля или ИБП или твори на 18650
    На ИБПшном аккуме 7 АЧ вся эта конструкция продержится больше суток

    Я когда делал миниатюрные 5В бесперебойники на одном аккуме 18650 с платой с Али делал замеры
    Например камера Imou Cue 2 потребляет 5В 0.4 А в нормальном режиме и 0.5 А в просмотре через WiFi и 0,5-0.6 А при включении ночной подсветки

    Возможно и существуют камеры со встроенной СИМкой - я такие не юзал, а конструкцию выше - да
    Ответ написан
    6 комментариев
  • Почему не работает updateRequest в laravel?

    iMedved2009
    @iMedved2009
    Не люблю людей
    $product->update($request->validated());
    Ответ написан
    5 комментариев
  • Laravel eloquent. Большое потребление памяти, долгая загрузка и огромное количество моделей. Как оптимизировать?

    gzhegow
    @gzhegow
    aka "ОбнимиБизнесмена"
    Там же фильтровать можно:

    $query = Model::query()
      ->with([
        'relation' => function ($query) { $query->where('field', 'value'); },
      ]);


    И потом, на кой вам сдалось выдергивать из базы ВСЕ ОПРОСЫ, на странице поди больше десятка не поместится. А варианты ответов тоже не сразу нужны, вероятно, что можно для одного "открытого" запрашивать, это если за оптимизацию говорить.
    Ответ написан
    Комментировать
  • Как сделать чтобы js применялись только к определенному диву?

    @Nikita1244
    Anonymous
    Соглашусь с ответом webjun , нужно просто указать айдишник чтобы выбрать один из дивов с одинаковым классом. Айди обозначает уникальный элемент. Просто присвойте одному айди из всех дивов

    Пример:
    <div class="div" id="name-id"></div> <!-- первый див c айдишником name-id -->
    <div class="div"></div><!-- второй див -->
    <div class="div"></div><!-- третий див -->

    const div = document.querySelector("#name-id") 
    /* Как я уже сказал ранее, айдишник присваивается только ОДНОМУ, УНИКАЛЬНОМУ ЭЛЕМЕНТУ. 
    Здесь мы получим первый див. 
    */
    // и делаем что хотим дальше с элементом
    Ответ написан
    Комментировать
  • Почему vue watch выдает обратное значение?

    Aetae
    @Aetae Куратор тега Vue.js
    Тлен
    Потому что не isDropped(oldVal, newVal), а isDropped(newVal, oldVal), лол.
    Ответ написан
    Комментировать
  • Возможно ли заниматься 3д моделированием на моем пк?

    @d-stream
    Готовые решения - не подаю, но...
    Тут как со сложностями у танцора - мол могут яйки мешать)

    Ещё во времена когда оперативная память измерялась мегабайтами, а процессоры имели 3-значный номер и буковки sx/dx - народ вполне успешно монтировал спецэффекты в видеоматериалах. Да, это называлось "нелинейный видеомонтаж" и обработка минуты эффектов могла занять часы и даже дни. Но это работало.
    Ответ написан
    Комментировать
  • Возможно ли заниматься 3д моделированием на моем пк?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Вот это было сделано в 2000 году, по моему на целеронах
    https://www.youtube.com/watch?v=G58gFchy-QM&t=47s
    И меня останавливала только девушка которая была в конторе.
    Ответ написан
    Комментировать
  • Возможно ли заниматься 3д моделированием на моем пк?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Посмотри что такое 64k demo, и какую графику они моделировали 30 лет назад на слабых процах без 3D-ускорителей.
    И сравни это со своей машиной. Да на твоей с прямыми руками можно raytracing в realtime моделировать
    Ответ написан
    1 комментарий
  • Вопрос по настройкам конфиденциальности Android Xiaomi?

    @402d
    начинал с бейсика на УКНЦ в 1988
    Хмм. Вас это волнует ? А ничего, что операторы сотовой связи предоставляют услуги по отслеживанию местоположения сотрудников ? Не ставьте приложений от Яши, задалбывает потом предложениями поставить оценку местам где рядом прошел. Остальные проги просто рекламу на порядок дороже продают.
    Ответ написан
    3 комментария
  • Laravel Сокрашения query?

    Fragster
    @Fragster
    помогло? отметь решением!
    https://laravel.com/docs/8.x/queries#logical-grouping
    как-то так:
    $query->where('enabled', 1)
        ->where(function ($query) {
                   $query->where('title_uz', 'like', '%' . $params[1] . '%')->
                ->orWhere('title_oz', 'like', '%' . $params[1] . '%')->
                ->orWhere('title_ru', 'like', '%' . $params[1] . '%')->
                ->orWhere('title_qr', 'like', '%' . $params[1] . '%')})
                ->orderBy('id');
    Ответ написан
    Комментировать
  • При использовании scopeBindings я обязательно должен передать в аргументы контроллера необходимые модели?

    Fernus
    @Fernus
    Техник - Механик :)
    Всё правильно.

    UPD:

    Документация:
    https://laravel.com/docs/9.x/routing#implicit-mode...

    UPD2:

    Если мы делаем scopeBindings, обязательно нужно прописывать все модели - родителя и дочернюю?

    Да
    Ответ написан
    3 комментария
  • Безопасно ли держать админку и пользовательскую часть в одном приложении?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Посмотрите получившийся код. А вообще используйте вот это
    https://router.vuejs.org/guide/advanced/dynamic-ro...
    то есть когда пользователь с админской ролью то ему добавляются роуты именно для него.
    И вообще монолит позволяет избежать кучи проблем.
    * накладных расходов при соединении
    * рассинхронизации кода
    * необходимости дублировать код в 2 местах
    Ответ написан
    1 комментарий
  • Безопасно ли держать админку и пользовательскую часть в одном приложении?

    @jazzus
    Безопасно. Прежде чем отдать, что-то на фронт проверяй права на бэке. Для этого в Ларавел политики авторизации.
    Ответ написан
    Комментировать
  • Как грамотно разворачивать разработку на Битрикс на локалке?

    BXVoral
    @BXVoral
    Веб-разработка
    Да именно так. Если предположить, теоретически, что вы сделали что все работает с одними и теми же файлами битркис (извратится можно попробовать, но проблем это доставит точно: разные версии, необходимость подкидывать отдельные конфиги, различные модули.....) то все равно из 15 гигов. битрикс занимает не 90% же. Т.е. большая часть из этих 15 это файлы конкретного проекта.

    Кроме того, я например, на некоторых проектах ядро так же помещаю в git репозиторий (но отдельный от файлов проекта). Т.е. тоже за счет необходимости соблюдения версий и уникального набора модулей для каждого проекта - не объединить с другими проектами

    На практике вы реально планируете работать одновременно с 20 проектами? Если вам так важно место и не хочется докупить диски - бекапте те проекты, с которыми не работаете.

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

    Так же могу дать пару советов. У меня есть проекты где они требуют и 50 гигов на один :)
    1 Написал скрипт, который чистит базу, в моем случае я заложил логику "в каждом разделе оставлять не более 30 товаров"

    2. Не реализовывал, но вынашивал как то идею - вместо всех картинок товаров подсовывать за счет редиректа заглушки - а сами картинки удалить из каталога upload
    Ответ написан
    2 комментария
  • Как испраить ошибку: SQLSTATE: Duplicate alias: имя таблицы указано больше одного раза?

    gzhegow
    @gzhegow
    aka "ОбнимиБизнесмена"
    Пожалуйста, называйте связи так, как называется модель, которую вы хотите получить.

    items() ? чего? вы хотите получить CartProduct. назовите cartProducts()

    очень редко, но бывает, когда CartProduct можно получить двумя способами. Тогда cartProductsByModel1(), cartProductsByModel2()

    исключение - абстрактные паттерны, деревья. там можно назвать parent/children/treeParent/treeChild

    <?php
    
    Class Cart {
        // ...
    
        // вот здесь написано, что CartProduct может быть одновременно в двух и более корзинах. не могу представить себе логику, где участник заказывает на сайте товар, а потом этот же товар (который ты заморозил только что) кто-то еще заказывает
        public function items(): BelongsToMany
        {
            return $this->belongsToMany(CartProduct::class, 'cart_products');
            
            // Cart.hasMany(CartProduct) + CartProduct.belongsTo(Cart) + CartProduct.belongsTo(Product)
            // и второе
            // https://github.com/illuminate/database/blob/master/Eloquent/Concerns/HasRelationships.php#L477
            // первым параметром "тип", вторым - "через что". Вы указываете, что "связь много ко многим" должна вернуть "связь много ко многим"
            // при связи Много-Ко-Многим надо Cart.belongsToMany(Product::class, 'cart_products')
        }
    }


    <?php
    
    class CartProduct {
        // ...
    
        // здесь написано, что CartProduct старше чем Product. Это выразится в том, что вы сможете "привязать" CartProduct только из самого Product, причем один раз. Это дважды неверно.
        public function product(): HasOne
        {
            return $this->hasOne(ProductVariant::class, 'id');
    
            // Во первых каждый продукт с его количеством может быть куплен много раз, а вариант всего лишь показывает на его подвид
            // Во вторых модель CartProduct создается позже чем Product, а значит писать $product.addChild($cartProduct) это снова дичь
            // Product.hasMany(ProductVariant::class) + CartProduct.belongsTo(ProductVariant::class) + $cartProduct.associate($productVariant);
        }
    
        // то же самое. CartProduct старше чем Cart, хотя он в ней лежит. BelongsTo задает старшинство и позволяет добавлять родителя в потомок, а hasOne указывает связь, которая нужна только для select, но не годится для insert
        // Потому что hasOne() - это возможность добавить потомка, причем в Eloquent нету метода addChild() его ещё и самому писать надо типа CartProduct.cart().insert($array) и это тут же нарушает идею отложенной записи, т.к. выполняет запрос немедленно и требует транзакции прямо в модели, тогда как транзакция относится к задаче, а не к модели
        public function cart(): HasOne
        {
            return $this->hasOne(Cart::class);
        }
    }
    Ответ написан
    Комментировать
  • Как испраить ошибку: SQLSTATE: Duplicate alias: имя таблицы указано больше одного раза?

    iMedved2009
    @iMedved2009
    Не люблю людей
    Это лажа
    public function items(): BelongsToMany
        {
            return $this->belongsToMany(CartProduct::class, 'cart_products');
        }

    Вы классу CartProduct прописываете отношение к самому CartProduct

    Наверное должно быть так?
    public function items(): BelongsToMany
        {
            return $this->belongsToMany(ProductVariant::class, 'cart_products');
        }
    Ответ написан
    Комментировать
  • Какую валидацию правильно делать для email в формах авторизации на js?

    MrDecoy
    @MrDecoy Куратор тега JavaScript
    Верставший фронтендер
    Во фронтенде практически не существует стандартов. В любом его направлении.
    Даже валидная вёрстка не стандарт (ну или, как минимум, не обязательный/не повсеместный).

    Валидация email на фронте не даёт 100% гарантию что email верный и существует.
    Можно лишь обязать пользователя соблюсти определённый паттерн.

    Если чистый js, то можно воспользоваться validation api и регулярным выражением.
    https://developer.mozilla.org/ru/docs/Learn/Forms/...
    Ответ написан
    Комментировать
  • Как подключиться к postgres - TypeOrm через Nestjs запущенной в контейнере?

    @q2digger
    никого не трогаю, починяю примус
    Почему блин к 127.0.0.1 ? Вам к базе надо - вместо адреса имя контейнера с базой и пишите.
    host: postgres11
    докер там разберется
    Ответ написан
    3 комментария
  • Перестал работать onclick. В чем проблема?

    @defriz
    люблю js
    уберите атрибут disabled и все заработает.
    Ответ написан
    2 комментария
  • Есть ли способ добавить свои методы не трогая модель в laravel?

    RNSNS
    @RNSNS
    Symfony Backend developer
    На самом деле это очень легко

    #src/Model/ProductProxy.php
    <?php
    
    namespace App\Model;
    
    use ВашПакет\Product;
    
    class ProductProxy extends Product
    {
        public function newMethod(): void
        {
            echo "Hello World!";
        }
    }
    Ответ написан
    Комментировать