• Почему многие выбирают компьютеры с маленьким экраном?

    @vism
    Чисто как мобильная/постоянная рабочая станция.
    Монитор, клавиатура и мышка едет в чемодане:)

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

    @vism
    $files[$key]['path'] = "uploads/" . $file_name;

    "path" => "/uploads/" . $file_name

    игра, "найди отличия"
    Ответ написан
    1 комментарий
  • Как организовать код в laravel?

    @vism
    подскажите как бы вы сделали, где и как мне пересчитывать сам заказ, после смены его списка товаров?

    у меня в голове
    1) создаю сервис класс
    2) инициалиирую его в конструкторе контроллера
    3) в методе контроллера одной строкой меняю данные корзины
    4) тут же ниже дергаю метод сервиса "обновить заказ"
    но с другой стороны, другому программисту ничего не мешает взять обновить данные корзины
    и все, не пересчитывать заказ... как обезопаситься от этого?


    Вот чес слово, светлая голова! думаешь о другом программисте.
    А всё просто, не надо в контроллере обновлять.
    Сделай сервис класс, где будут методы обновления и перерасчёта.
    И прямо там это делай.
    Т.е. метод обновить данные корзины, в котором будет обновление и вызов метода этого же класса для перерасчёта заказа.
    И не забудь всё это в одну транзакцию обернуть.

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

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

    И самое главное, бизнес будет тебя просить как ты щас делаешь с риском что кто-то сделает баг и потом пофиксить его, чем делать всё по канонам в 10-30 раз дольше, дороже и увеличия очень сильно вход для программситов. Ну а баги там тоже будут, только намного более сложные и трудноловимые.
    За мои 12 лет я понял, что надо делать как хочет бизнес, а это максимально простой, понятный код и иногда фиксить баги. И ВСЕГДА вычищать технический долг.
    626035402f57d385357678.jpeg
    Ответ написан
    5 комментариев
  • Как построить запрос для получения данных из БД с Elequent ORM?

    @vism
    Не знаю, что за извращение использовать when.
    вот так можно как угодно конфигурировать и вобще передавать запрос куда угодно в переменной.
    $user = User::find($user_id);
    $messagesQuery =  Message::where('active', true);
    if($message->referrer == true || ($message->referrer == false && $user->referrer_1_id == null)){
      $messagesQuery->where(....);
    }
    $messages =  $messagesQuery->get()
    Ответ написан
    Комментировать
  • Взгляните своим профессиональным глазом, и cкажите что не так пожалуйста?

    @vism
    Раньше, я бы настоял пойти работать в офис на 3-5 лет и потом выходит в высокооплачиваемый сегмент на фрилансе, но сейчас наврядли есть такая возможность..

    1. правильно - не слейте аккаунт, уже есть один отзыв не 5 звезд и даже не 4.
    Так нельзя. Первые заказы должны быть 5 звёзд.
    Делайте всё для этого, максимум дипломатии, бесплатно работайте, отвечайте сразу. не важно, главное 5 звёзд.

    2. любая работа, чтоб было 5 звёзд не зависимо от цены. после первых 5 заказов вам надо Top rated бэйдж.

    3. Короткие информативные письма только о задаче. Краткость - сестра таланта.

    Ну и терпение.. я в 17 году вышел на апворк с 8 годами опыта, будуче в лиге профессионалов и качал аккаунт несколько недель. за месяц было 5 заказов по 5-15 долларов в час (притом 50% времени работал бесплатно, чтоб клиент был очень доволен), заработок толи 200, толи 800 был, не помню. Клиенты были ужасные, как будто у всех непорядок с башкой
    Во второй месяц уже с бейджем и отзывами были более качественные клиенты и больше денег.
    Третий месяц уже адекватные клиенты по ставке 30$.
    Но важно понимать у меня уже были прокачаны хард скилы до уровня синьор. И софт скилы прокачаны неплохо.

    4. настройте себе rss трэкер поиска с уведомлениями. Я тупо сидел и ждал новых вакансий, оставлял уникальное письмо на заявку в течении первых 15 минут.
    Ответ написан
    2 комментария
  • Как убрать лишний join в query builder?

    @vism
    $userQuery = USER::query()
        ->where(active, '=', 1);
    if($roleId){
        $userQuery->join('roles', 'roles.user_id', '=', 'user_id')
        ->where('role', '=', $roleId);
    }
    $user = $userQuery->get()
    Ответ написан
  • Начало работы на Upwork в марте 2022 года - какие нюансы?

    @vism
    1. Данные из румынии
    2. Румынский номер, хз что у них.
    3. Фактически да, практически нет.
    У вас нет в России ИП, попадёте на НДС, но никто даже не будет смотреть в вашу сторону.

    НЕ указывайте ничего из России, забанят.
    Всё только румынское! и апворк запросит подтверждение, что вы в румынии, но думаю проблем не будет с этим. Выписку из банка и т.п. хватит.
    Ответ написан
    Комментировать
  • Работает ли автообмен о счетах, прилетал ли кому-то от налоговой запрос о зарубежных счетах (банки, wise, advcash, revolut, vivid)?

    @vism
    Автообмен работает уже давно, а окно прилёта 2 года, т.к. с кем-то обмен онлаин, с кем-то в первое полугодие после конца года.
    Пруфы в интернете гуглятся на раз два. Не вижу смысла тут ссылки кидать.
    Забудте об анонимности. И крипта не выход, выведите с крипты на свой счёт - так же автообменом зацепят спустя года 2.

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

    @vism
    Вобщем, по вопросам релокации Upwork в Армению решил сделать канал в телеграме.
    https://t.me/+8yhYM97ucYE1NDEy

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

    @vism
    Ребят, в Армению и дальше работаем в апворк, я тут уже 4 дня.
    Очень хорошо относятся, Армяне очень вежливые и культурные.
    99% разговаривает нормально по русски
    Есть яндекс такси, меняют рубли по очень хорошему курсу, можно без визы оставаться на 180 дней.

    Только огромный наплыв русских и кризис арендной недвижки в Ереване.
    Квартира в не вонючем подъезде где-то 1000 долларов, в других городах Армении около 300.
    Ответ написан
    2 комментария
  • В какую дружественную страну переехать из России чтобы продолжить работать на Upwork?

    @vism
    Ребят, в Армению, я тут уже 4 дня.
    Очень хорошо относятся, Армяне очень вежливые и культурные.
    99% разговаривает нормально по русски
    Есть яндекс такси, меняют рубли по очень хорошему курсу, можно без визы оставаться на 180 дней.

    Только огромный наплыв русских и кризис арендной недвижки в Ереване.
    Квартира в не вонючем подъезде где-то 1000 долларов, в других городах Армении около 300.
    Ответ написан
    Комментировать
  • Работа с существующими клиентами Upwork: как настроить работу напрямую?

    @vism
    Лучше временно переехать, чтоб не напрягать клиента своими проблемами и не рисковать баном на апворке за вывод клиентов вне биржи.
    Я даже думаю так же сможете получать выплаты на российский счет не под санкциями, просто работать из другой страны пока вопрос не решится.
    Т.е. вы и не нарушите законы РФ, и выполните требования Апворка.
    Ответ написан
  • Если у меня еще нет аккаунта на upwork и paypal могу ли я зарегестрировать через впн аккаунт как будто не из России?

    @vism
    можешь, но забанят моментально и потом никогда не сможешь на upwork работать.
    Ответ написан
    Комментировать
  • Как навсегда переслать переменную из контроллера в представление?

    @vism
    учитывая код, просто фигачь $_POST['email'] прямо во view :) Хуже не станет
    Ответ написан
    2 комментария
  • Laravel пагинация. Ломается сортировка через get параметры. Как победить?

    @vism
    {!! (method_exists($products, 'links') ? $products->appends(request()->except(['page']))->render() : "") !!}
    Ответ написан
  • Как правильно строить крупный проект?

    @vism
    Называется, услышал звон, да не знаю где он.

    1. Сервисный слой ты превратил в контроллер.
    Т.е. у тебя есть контроллер, а ты создал ещё один, т.к. где-то слышал, что нужны сервисы.
    Но, сервисы не шлют ответы, это внутренний слой для отделения логики.
    Ты можешь те методы вызвать через консоль, другие сервисы и т.п.
    Там должен просто генерироваться return, а сам response уже в контроллере (чтоб контроллер своб функцию выполнял). Валидацию реквеста кстати тоже надо делать не в сервесе.

    2. CategoryQuery - это вобще дичь дикая.
    Ты опять создаёшь дубликат, потому что услышал о репозиториях, и даже интерфейс. Вот я угараю с людей, кто везде пихает интерфейсы. Интерфейсы нужны там, где они нужны. Где будет 2+ наследователей интерфейса.
    Откуда у тебя тут наследники, если ты завязан на элокуент?
    А ноги от индусов репозитаристов. Не нужен репозитарий, Query и интерфейсы при работе в элокуент. Он сам в себе это всё уже содержит и все повторяющиеся вещи обёрнуты уже. find, first, firstOrNew и т.д.
    Так что используй элокуент и не переусложняй проект напрасно. Не надо делать сложно, делай просто.

    3. CategoryAction.
    Опять интерфейс...
    Вот это Экшн по сути у тебя сервис. Тут ты имеено перенёс бизнес логику создания и редактирования и возвращаешь ответ данного метода. Вот удали свой CategoryAction и перенеси методы в сервис.
    Ответ написан
    30 комментариев
  • На каджую очередь отдельный воркер или в одном воркере несколько очередей?

    @vism
    отдельно нужно тогда, когда нужна независимость и надёжность.
    Например, queue может зависнуть, завесить весь воркер и все остальные queue в воркере.
    Или нужны отдельные настройки для некоторых queue.

    Я обычно создаю один воркер для high, medium, low
    И отдельные воркеры под важные или тяжелые queue
    пример
    'defaults' => [
            'supervisor-1' => [
                'connection' => 'redis',
                'queue' => ['high','medium', 'low'],
                'balance' => 'simple',
                'minProcesses' => 1,
                'maxProcesses' => 5,
                'balanceMaxShift' => 1,
                'balanceCooldown' => 3,
                'tries' => 3,
                'timeout' => 600,
            ],
            'supervisor-2' => [
                'connection' => 'redis',
                'queue' => [
                    \App\Services\QueueService::QUEUE_NAME__MEDIA_LIBRARY,
                ],
                'balance' => 'simple',
                'minProcesses' => 1,
                'maxProcesses' => 2,
                'balanceMaxShift' => 1,
                'balanceCooldown' => 3,
                'tries' => 3,
                'timeout' => 60,
            ],
            'supervisor-3' => [
                'connection' => 'redis',
                'queue' => [
                    \App\Services\QueueService::QUEUE_NAME__IMPORT_WEBHOOK,
                ],
                'balance' => 'simple',
                'minProcesses' => 1,
                'maxProcesses' => 2,
                'balanceMaxShift' => 1,
                'balanceCooldown' => 3,
                'tries' => 3,
                'timeout' => 1200,
            ],
        ],
        'environments' => [
            'production' => [
                'supervisor-1' => [
                    'minProcesses' => 1,
                    'maxProcesses' => 5,
                ],
                'supervisor-2' => [
                    'minProcesses' => 1,
                    'maxProcesses' => 2,
                ],
                'supervisor-3' => [
                    'minProcesses' => 1,
                    'maxProcesses' => 2,
                ],
            ],
    
            'staging' => [
                'supervisor-1' => [
                    'minProcesses' => 1,
                    'maxProcesses' => 2,
                ],
                'supervisor-2' => [
                    'minProcesses' => 1,
                    'maxProcesses' => 2,
                ],
                'supervisor-3' => [
                    'minProcesses' => 1,
                    'maxProcesses' => 2,
                ],
            ],
    
            'local' => [
                'supervisor-1' => [
                    'minProcesses' => 1,
                    'maxProcesses' => 4,
                ],
                'supervisor-2' => [
                    'minProcesses' => 1,
                    'maxProcesses' => 2,
                ],
                'supervisor-3' => [
                    'minProcesses' => 1,
                    'maxProcesses' => 2,
                ],
            ],
        ],
    Ответ написан
    Комментировать
  • Как исправить ошибку "Class not found"?

    @vism
    создать класс Database\Factories\MyuserFactory
    Ответ написан
  • Как прервать сохранение экземпляра модели Laravel?

    @vism
    r
     e
      t
       u
        r
         n
    
         f
        a
       l
      s
     e
    ;
    Ответ написан
    Комментировать
  • Как сделать приватные поля в ларавеле?

    @vism
    Это потому что вы пытаетесь делать то, что не понимаете, но прочитали в умной книжке/статье, увидели на ютубе.
    джедай режим / Не нужно поля приватными делать в модели твоей.

    Не пытайтесь делать то, что не понимаете, через лет 5 будет понятно, а пока делайте как в доках написано, про простому.
    А бизнес логику в отдельные классы выносите. Пока ПО для боингов писать не начнёте, вам хватит.

    А если уж так важно всё тру вей писать, то лару сразу надо удалить, качать симфони и пытаться превозмогать там.
    Ответ написан
    7 комментариев