• Как валидировать большие файлы без загрузки на сервер?

    @rPman
    Гуглить javascript image manipulation или что то похожее, там очень много библиотек

    mime type можно определить по содержимому, тут пример или тут вручную
    Ответ написан
    Комментировать
  • Как отфильтровать записи в DynamoDB?

    inoise
    @inoise Куратор тега Amazon Web Services
    Solution Architect, AWS Certified, Serverless
    К фильтру ошибка не имеет отношения: Таблица не создана, в процессе создания или же банально не в том регионе
    Ответ написан
    Комментировать
  • Как работать с atomic locks в Laravel?

    Alex_Wells
    @Alex_Wells
    PHP/Kotlin
    Ну хз куда уж проще, чем в доке:

    $product = Product::first();
    
    $lock = Cache::lock('product_edit.' . $product->id, 10);
    
    if ($lock->get()) {
        // ту-ту-ту, я делаю что хочу
        $product->name = 'flower pot';
        $product->save();
    
        // ла-ла-ла, я сделал что хотел
        // дам возможность другим редактировать эту сущность заранее, зачем ждать еще 9 секунд
        $lock->release();
    } else {
        // сорри чел, кто-то другой редагирует эту сущность
    }


    Часть с "ту-ту-ту" и "lock->release()" можно, например, вынести туда, где сохраняется эта сущность, что бы сбросить лок если юзер закончил редактировать сущность.

    В общем концепт простой, применяй
    Ответ написан
    Комментировать
  • Как использовать Atomic Locks в Redis?

    tumbler
    @tumbler
    бекенд-разработчик на python
    Как использовать Atomic Locks в Redis?

    В разных библиотеках интерфейс и реализация блокировок разные, надо смотреть примеры для конкретного клиента.

    возможно есть более красивое решение

    Возможно есть, зависит от требований.

    не до конца понял для чего это нужно

    Атомарные блокировки нужны для организации монопольного доступа к какому-то ресурсу. Как пример, для решения проблемы гонок при попытке "взять" одно видео сразу несколькими пользователями. Сначала получается блокировка: это гарантирует, что остальные претенденты будут ожидать ее освобождения. Затем выполняются нужные действия, например, манипуляции с ассоциативным массивом. В конце блокировка обязательно освобождается.
    Ответ написан
    Комментировать
  • Как тестировать Apple Pay?

    lamer350
    @lamer350
    กำลังสูงสุด
    Тут вам ответ сложно предоставить, Apple Pay это не биллинг, вы же допускаете apple pay от отправленной биллинг системы (банка). Вот вам и нужно обращаться в документацию API банка, они дают тестовые карты которые дают возможность проведения тестовых платежей. Но я не представляю как без минимального фронта вы проверите, для проверки нужно реальное устройство с поддержкой apple pay и создать тестовую учетную запись в iTunes Connect
    Ответ написан
    Комментировать
  • В чем суть serverless подхода?

    neuotq
    @neuotq
    Прокрастинация
    Начну с того, что если вы таки активный разработчик и не очень можете понять этот принцип, возможно он вам просто не нужен. И это не значит что вы плохой разработчик, просто не пересекались с таким видом проблем.
    Что касается serverless, название больше отражает не факт отсутствия сервера и работы с ним как таковым, а скорее еще меньше возни с настройкой и поддержкой серверного окружения (даже меньше чем с докером после того как все настроено и поднято). Те это следующие шаг после условных микросервисов.
    Его часто удобнее называть функция как услуга, так как де факто часто реализуется запуск именно функции по запросу.
    Если кратко описать для чего это нужно, то представим себе что у нас есть микросервис у которого затраты на содержания его постоянного аптайма как то слишком велики относительно времени работы/потребления ресурсов в живую. Да и в целом сервис выходит как то слишком микро даже для микросервиса.
    Вот тут мы и придумываем такую штуку, которая будет ОЧЕНЬ быстро(относительно старта минимальной виртуалки/образа и чего другого) запускаться, быстро делает свою маленькую работу и выключается.
    Из ключевых особенностей отмечу что функции должно быть в целом пофиг на своего состояние, она не знает изначально о предыдущем запуске и тп(те быть stateless). Все что нужно приходит в запросе.
    Ври значит если у вас есть задача, которая удовлетворяет этим условиям, можно использовать этот удобный сервис и для масштабируемости, и для экономии и для кучи других фич.
    Примеры:
    ресайз изображений.
    Генератор статистических сайтов(через админку производим обновление статистических файлов, это бывает не часто).
    Чат боты
    Разные спец информеры с определенной логикой.
    И тд и тп, что хорошо ложится в определенную относительно простую функцию с простым входом данных(или без) и простым результатом работы.
    В целом это решение не панацея, более того нужно четко понимать насколько выгодно/невыгодно переделывать на серверлесс платформы свою функцию, ведь мы точно жертвуем той же производительностью(помним что сервис не висит и не ждет нас постоянно, а пусть и очень быстро, но запускается), понижается прозрачность исполнения и усложняется отладка и прочее.
    Но в любом случае, достаточно часто плюсы перебивают минусы, популярность у этого принципа есть. люди активно пользуются, так что много шишок уже набито, в целом зрелая штука.
    А и да, насчет конкретного вашего вопроса.
    PHP AWS Lambda нативно не поддерживает, все через костыли, впрочем с почти вменяемой производительностью.
    И так как все таки AWS Lambda все же ближе к самому популярному нынче принципу serverless - функция как сервис, я не уверен что это правильная идея будет запускать атм Ларавел.
    Те мы имеем минусы: отсутствие нативной поддержки PHP и такие заточенность под что-то простое, в итоге .. ну не знаю.
    Я думаю плюшки serverless в виде нет мороки с настройкой сервера/облака можно решить многими другими сервисами. Впрочем может быть это будет не так выгодно в вашем случае, нужно исходить и рассчитывать по вашему сценарию работы вашего приложения. А потом решать, что лучше подходит.
    Ответ написан
    1 комментарий
  • Как получить страницу модели в пагинации?

    @Kostik_1993
    Web Developer
    Как мне кажется, для этого стандартная пагинация модели не подойдет
    Для начала вам нужно получить массив всех ID по текущему запросу - это для того чтобы не тянуть все модели и не занимать память
    Потом я бы например разбил массив на равные части (по количеству элементов на странице)
    Потом сделал перебор этих частей и проверял наличие нужного ID в каждой порции, собственно при нахождении в порции нужного ID страницей будет текущий индекс итерации
    Ответ написан
    4 комментария
  • Ка сделать так, что бы apache+php каждый час отправлял себе запрос?

    samoilenkoevgeniy
    @samoilenkoevgeniy
    Lead Full-Stack Web Developer
    откройте для себя cron
    Ответ написан
    Комментировать
  • Как выполнить dependency injection в resource?

    dark1112
    @dark1112
    Web developer
    В AppServiceProvider в методе register пропишите:
    $this->app->when(AttachmentResource::class)
              ->needs(S3Client::class)
              ->give(S3Client::class);


    Не забудьте прописать use для классов)
    Ответ написан
    Комментировать
  • Как удалить токен в passport?

    @siarheipashkevich
    developer
    GET /oauth/personal-access-tokens
    Вот это запрос вам вернёт ваши токены.
    Ответ написан
    3 комментария
  • Как менять язык используя Caps Lock?

    walovari
    @walovari
    full stack web developer
    Ответ написан
    Комментировать
  • В какой таблице в БД категории товаров UMI CMS?

    Все страницы лежат в cms3_hierarchy. Объекты в cms3_objects. Категории
    select c.* from cms3_hierarchy с,  cms3_hierarchy_types t where c.type_id = t.id and t.name = 'catalog' and t.ext = 'category';
    .
    Но в юми лучше получать такие данные через API, а не через прямые запросы к базе.
    Примеры из документации:
    api.docs.umi-cms.ru/razrabotka_nestandartnogo_funk...
    api.docs.umi-cms.ru/razrabotka_nestandartnogo_funk...
    Ответ написан
    Комментировать
  • Что лучше - сессии или кэш?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Кеш для студента всегда лучше сессии, даже самой легкой
    Ответ написан
    Комментировать
  • Как узнать property обьекта в UMI CMS?

    @atachrus
    Перейдите в шаблоны данных и там будет наименование этого поля.
    Ответ написан
    Комментировать
  • Как получить username пользователя имея номер телефона?

    @remzalp
    Программер чего попало на чем попало
    Ну я не против :) RTFM
    https://docs.madelineproto.xyz/docs/SELF.html
    $me = $MadelineProto->get_self();
    \danog\MadelineProto\Logger::log("Hi ".$me['first_name']."!");

    UPD: через бот апи похоже не получить для стороннего, а вот если полноценно реализовать клиент:
    Подгружаем на сервер контакт с телефоном юзера
    https://core.telegram.org/method/contacts.importCo...

    Возвращается список юзеров в контактах - уже с достаточным набором данных
    https://core.telegram.org/type/contacts.Contacts

    Скорей всего это может быть воспринято службой как злоупотребление, но факт - есть и работает.
    Ответ написан
    2 комментария
  • Обучение английскому по скайпу?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    долгий и давний вариант: пополняешь скайп ( на США копейки стоит звонить) и звонишь:
    сначала автоответчикам, потом технарям (домены там купить) , ну а потом и обычным

    иногда, правда, дозваниваешься до Гугл по за гарантию на планшет, саппортер выслушивает, обещает решить проблему, потом хвалит что "планшет хороший, сам бы купил, но на филиппинах $699 это большая зарплата"
    Ответ написан
    Комментировать
  • Какие есть стандарты и исследования PHP?

    OtshelnikFm
    @OtshelnikFm
    Обо мне расскажет yawncato.com
    Пиши про чистый код от Тараса КТЛ - он проводил исследования. На ютубе выложил. Как раз по php
    Ответ написан
    2 комментария
  • Как большие сайты справляются с отправкой e-mail?

    MedVedar
    @MedVedar
    e-commerce developer
    Пользуются сторонними сервисами. Если очень большие объемы, то есть смысл использовать https://aws.amazon.com/ses/ разница в цене с тем же mailchimp довольно внушительная.
    Ответ написан
    1 комментарий
  • Почему не работают консольные команды?

    @Zabolots
    Как создавали команду? Если руками соответствующий класс, то советую попробовать artisan command:make
    В Laravel 5.6 регистрировать команду в App\Console\Kernel не нужно.
    Ответ написан
    Комментировать