• Ребят, вопрос по поводу становления программистом?

    fox_12
    @fox_12
    Расставляю биты, управляю заряженными частицами
    Больше 20 лет в IT. Постоянно копаю новые технологии, библиотеки, фреймворки, ОС, базы данных и прочее.
    Пишу проекты с нуля и участвую в разработке других проектов разного рода (уже около 130+ наберется), проектирую архитектуры и программно-аппаратные комплексы.
    Изучаю разные языки программирования и разные подходы.
    И до сих пор синдром самозванца не отпускает)))
    А вам сразу подай готовый план как стать программистом)
    Ответ написан
    Комментировать
  • Насколько важно использовать последнюю версию laravel?

    Sanes
    @Sanes
    7-8 не сильно отличаются от 9-й
    Ответ написан
    Комментировать
  • Насколько важно использовать последнюю версию laravel?

    delphinpro
    @delphinpro Куратор тега Laravel
    frontend developer
    Практическую работу в процессе изучения делайте на последней версии.
    Читать можно и старые уроки (от 7 версии).
    Расхождения в уроках и реальности очень небольшими будут и их вы сверите в документации. Она всегда свежая.
    Ответ написан
    Комментировать
  • Как правильно строить крупный проект?

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

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

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

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

    @Drno
    Разместить бота там, где компьютер не выключается

    Например арендовать VPS
    Ответ написан
    Комментировать
  • Необходимо брать данные почты с input, и отправлять на эту почту сообщения. Как можно сделать?

    Compolomus
    @Compolomus Куратор тега PHP
    Комполом-быдлокодер
    Проще всего взять phpMailer
    https://github.com/PHPMailer/PHPMailer
    Ответ написан
    Комментировать
  • Не работают ссылки в мобильной версии сайта?

    Fragster
    @Fragster
    помогло? отметь решением!
    Cделайте draggable на отдельную ручку, а не на весь див, скорее всего тачстарт проглатывает клик.
    Примерно так
    61e6d8e2cb897176164090.gif

    Для jquery draggable пример тут: https://jqueryui.com/draggable/#handle
    Для sortablejs тут: sortablejs.github.io/Sortable/#handle
    Ответ написан
    Комментировать
  • Как защититься от парсинга?

    hottabxp
    @hottabxp
    Сначала мы жили бедно, а потом нас обокрали..
    Либо закрыть магазин, либо не заниматься ерундой. Защиты нет. Парсят авито, мвидео, и прочие помойки. Так что - забейте.

    Особо одаренные советуют, при подозрении на парсинг отдавать вместо картинок на товары - картинки с членами(Гы-гы). Такое делать не рекомендую.
    PS: Уверен, товары на вашем сайте - 100% тоже спарсены.
    Ответ написан
    Комментировать
  • Соответствует ли данный код хорошим практикам?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Вам больше стоит обеспокоиться тем, что вы запросы формируете интерполяцией строк.
    Ответ написан
    1 комментарий
  • Почему определение инкапсуляции дают неправильно?

    bingo347
    @bingo347
    Crazy on performance...
    Цель инкапсуляции это объединение объектов
    кто Вам такое сказал?
    Само слово инкапсуляция происходит от латинского "in capsula", что можно перевести как "закрытый в коробке".
    Цель инкапсуляции - это сокрытие сложности. Не информации, не данных, не кода, а именно сложности.

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

    nowm
    @nowm
    Могу ответить с точки зрения фрилансера:

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

    Вот несколько советов, которые помогут улучшить «возвращаемость» фрилансеров:
    • Чаще всего фрилансер готов делать работу сразу (особенно когда работает с вами первый раз), он показывает рвение и очень быстро всё делает. С вашей стороны ожидается, что вы можете оплатить работу мгновенно после того, как всё сделано и проверено как фрилансером так и вами. Если вы скажете фрилансеру, что вам нужно некоторое время, чтобы дойти до банкомата и пополнить счёт, потому что прямо сейчас не можете заплатить, это очень сильно испортит впечатление, и с большой вероятностью человек не покажет виду, спокойно без психов подождёт, когда вы ему заплатите, но в следующий раз работать с вами больше не будет. Фрилансер готов работать сразу, значит и вы должны быть готовы платить сразу.
    • Если у вас низкая техническая подготовка, и фрилансеру приходится кроме самого кода очень много общаться с вами на тему, что именно нужно делать, желание работать дальше тоже пропадает. Чем меньше требуется обсуждений и созвонов в мессенджере, тем больше веротность, что фрилансер и дальше будет с вами работать. Фрилансеры обычно не считают переписку частью оплачиваемой работы и, соответственно, чем больше времени будет занимать переписка, тем меньше будет желание продолжать работу. Фрилансер обычно хочет сразу делать работу и не отвлекаться на всякую бесплатную болтологию.
    • Если фрилансеру нужно заниматься в дополнение администрированием вашего сервера, а это заранее не обговаривалось, это тоже может испортить впечатление. Часто заказчики пишут, что им нужно поправить менюшку на сайте, а это в итоге превращается в правку менюшки, а потом залитие кода на сайт, настройка и перезапуск сервера и ещё какие-то подобные работы, которых в задании не было вообще. И, скорее всего, вы считаете само собой разумеющимся, что фрилансер должен уметь это делать, и думаете, что это нормальная практика, если он в дополнение к кодингу будет делать ещё и это. Дополнительно, если эти моменты ещё и не оплачиваются, шансы, что люди захотят с вами работать и дальше, снижаются ещё сильнее.
    • Некоторые заказчики любят показывать свой авторитет. Запомните, что для фрилансера вы не начальник, а равноправный партнёр, и он ждёт от вас соответствующего уровня общения. Если вы строите из себя начальника, люди будут придумывать любые отмазки, но повторно работать не станут.


    Вот это основные факторы, которые влияют на то, что вам ответит фрилансер, если вам понадобится помощь в следующий раз, и вы решите, что можно обратиться к тому, с кем раньше работали.
    Ответ написан
    8 комментариев
  • Docker: php-fpm и nginx — куда монтировать приложение?

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    В оба. Статику будет раздавать Nginx, а скрипты выполнять PHP-FPM.
    Ответ написан
    5 комментариев
  • Зачем нужно GMT и UTC?

    Zoominger
    @Zoominger
    System Integrator
    Чтобы можно было сказать: "Мёртвые восстанут в 4 часа по Гринвичу" и всему миру стало понятно, когда это произойдёт по местному времени, потому что отклонение относительно Гринвича знают все, а относительно Мумбая или Нью-Йорка (часовые пояса) - далеко не все.
    Ответ написан
    1 комментарий
  • Ценится ли диплом о профессиональной переподготовке?

    GavriKos
    @GavriKos
    Ценятся знания. И только.
    Ответ написан
    Комментировать
  • Тернарный оператор, ?? вместо ?:, зачем?

    @Everybody_Lies
    //Null-коалесцентный оператор нужен когда переменная может быть не определена, дабы не делать проверку на isset
    $bar = $foo ?? 'default';   //default
    $bar = $foo ?: 'default';   // Undefined variable $foo
    Ответ написан
    Комментировать
  • Как получить громкость в динамиках кодом JavaScript?

    @tantumus21
    а представьте, вы заходите на какой-то сайт, а у вас звук в динамиках выкручивается на 100%. Плюс системная громкость выставляется на максимум. Страшно представить такое, поэтому JavaScript в браузере делать такое не может
    Ответ написан
    6 комментариев
  • Можно ли в Laravel как-то удобно обновить связанные отношениями модели?

    pLavrenov
    @pLavrenov
    Разработка сайтов
    Плохо смотрел документацию.

    $someModel->relation()->update();
    Ответ написан
    2 комментария
  • Зачем Bearer token принято так нумеровать?

    @Barmunk
    К примеру, в Laravel sanctum этот номер является id в таблице токенов.
    На основе этого, можно написать метод по поиску инстанса модели по токену.

    public static function findToken($token)
        {
            if (strpos($token, '|') === false) {
                return static::where('token', hash('sha256', $token))->first();
            }
    
            [$id, $token] = explode('|', $token, 2);
    
            if ($instance = static::find($id)) {
                return hash_equals($instance->token, hash('sha256', $token)) ? $instance : null;
            }
        }

    https://github.com/laravel/sanctum/blob/2.x/src/Pe...
    Ответ написан
    4 комментария
  • Как заставить composer видеть текущую версию php?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    php в linux присутствует в 3 "ипостасях":
    1. cli приложение php
    2. Модуль для apache
    3. Модуль для FPM.

    Вам нужно определить, что из этих трех вариантов показывает неверную версию и исправить это, перенастроив работу на другую версию-которых у вас видимо стоит 2 параллельно или вообще не установлено.
    Ответ написан
    Комментировать