• Какие преимущества проекта на laravel нежели на CMS- битрикс?

    alexyarik
    @alexyarik
    Битрикс разработчик
    laravel нежели на CMS- битрикс?

    - как можно сравнивать продукт с фреймворком. Если взять любую доступную админку на Ларавел, то она даже близко не превзойдёт админку Битрикс.
    Если уж сравнивать тогда ларавел с коммерческим фреймворком Битрикс. По техническим моментам фреймворк битрикса скорее всего уступает ларавел, но как это упрощает и решает задачи бизнеса?
    прикрутить личный кабинет пользователя, с графиками + vue

    - на самом деле Битрикс это коммерческий фреймворк, а админка это продукт на его основе. Если вы будете писать новый функционал, которого нет в продукте, что в Битриксе, что в ларавел вы будете это делать с нуля, писать и там и там на фреймворке.
    1) Удобная система ( админ панель) с быстрой тех поддержкой

    - это реальный большой плюс, который сокращает расходы на поддержку проекта.
    2) Много функционала из коробки

    - это тоже реальный большой плюс, который сокращает расходы на создание аналогичного функционала.
    3) Удобно интегрировать с CRM битрикс

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

    - точно также как и в Ларавел пишутся модули и функционал.
    Когда имеет смыл рассматривать преимущества Ларавел
    - когда не типовой, индивидуальный интернет-магазин
    - когда возможностей CMS Битрикс кардинально не хватает
    - когда глубокая интеграция ТЗ в готовый функционал занимает больше времени, чем сборка аналога с нуля. И в итоге дороже. В этом случае бизнес считает деньги.
    - гибкость для сложных проектов, но нужно эту гибкость представить в виде пункта коммерческого предложения, иначе это для бизнеса просто слово
    - создание и полная кастомизация административной панели сайта под не типовые и сложные проекты
    - скорость работы, для крупных интернет-магазинов это важно. Интернет-магазин получается реально шустрее тиражных решений.
    Ответ написан
    Комментировать
  • Какой выгодный платежный агрегатор работающий с Физ лицами?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    3. Заключает договор с иностраным представилетелем


    вот с этим ?

    таких идиотов нет: деньги не бывают ничьи - их возьмут с сервиса
    Ответ написан
    1 комментарий
  • CORS-error Laravel. Почему не проходит мой запрос?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Читем про CORS, узнаём, что что запросы с неидентичных портов блокируются, прописываем в конфиг CORS http://localhost:4200.
    Ответ написан
    Комментировать
  • Проверяют ли обычно сайты ip при авторизации по токену?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Нафиг это не сдалось им в современном мире мобильных устройств где ip может прыгать вообще в рамках страны как минимум
    Ответ написан
    Комментировать
  • Как рисуется графика в операционной системе?

    Слишком поверхностно задан вопрос. Если говорить об ОС WIndows - то там вся графика в системных библиотеках (dll, и т.д.) и графических файлах, которые загружаются по мере надобности.
    Но сам процесс загрузки и то, что там делается в POST - это разные вещи, и они не пересекаются.
    То есть, сначала идёт при включении считывание содержимого микросхемы биос (да, пропустим этап инициализации чипсета и самого процессора, это зависит от аппаратуры), и биос при выполнении уже проверяет и инициализирует основные части - MIS/SIO, чипсет, контроллер памяти, порты всякие, видеокарты и т.д. И если что не так, то либо остановится, либо проинформирует о неисправности и пойдёт выполнять следующие шаги. (например, если не найдена видеокарта, на большинстве биосов по умолчанию будет остановка с выдачей пост-кода ошибки, и далее не загрузится ничего; а если не найдена клавиатура, или SMART диска BAD - то поведение может быть и с остановкой, а может и продолжить выполнение, зависит от настроек). А уже когда этап выполнения POST завершится, то биос передаёт управление на первый сектор жёсткого диска, или на другое устройство, смотря как настроено. ОС уже никак не знает, что там до него делалось в процессе POST.
    Другое дело - системы с EFI (UEFI). Там всё довольно тесно связано, и есть несколько фаз загрузки, но всё так же загрузка самой операционной системы будет после выполнения всех процедур в EFI. Разница только в том, что EFI более плотно связано с ОС, и сама ОС может хранить в чипе свои данные, и EFI может передавать данные и параметры в операционную систему.

    Если нужно именно на этапе инициализации системы на базе EFI - то вполне можно собрать образ firmware, в котором сделать нужные анимации, и прочее. Но это выйдет слишком трудозатратно, и заметно замедлит загрузку. В линуксах и всяких бсд вон изначально при загрузке не экран с картинкой, а сообщения загрузчика, ядра ОС, и стартовых скриптов (системы инициализации). И не нужно никаких анимаций, всё по тексту понятно, что именно сейчас загружается и выполняется. В более современных системах сложнее - там уже systemd, параллельная загрузка и выполнение, и прочие плюшки. Плюсом обычно ставят как раз какую-нибудь анимацию вместо текстов, якобы она предотвращает появление сообщений консоли, которые замедляют процесс старта (на самом деле, это было давно и неправда). Например, plymouth. Эта заставка стартует практически с самого загрузчика, и вполне логично было бы её и сделать под это всё дело, если надо.
    Остался у меня один вопрос - а ЗАЧЕМ? Ведь любые компы за последние лет 20 инициализировали железо (проходили POST) за доли секунды, и ещё от 1 до 3 секунд тратилось на загрузку всяких option ROM (сетевушки, рейд/ide контроллера, или ещё чего), и на раскрутку диска, чтобы с него загрузиться. О какой анимации речь? А сегодняшние компы, да с UEFI, да с SSD загружаются вместе с ОС за пару секунд! Сейчас никто и не заботится о том, чтобы что-то там в процессе загрузки Вам показать. Ладно, можно в автозагрузку запихнуть mplayer с видео любым, по вкусу. ОС уже конечно давно загрузилась, и ещё воспроизведение видео займёт 20-30 секунд. Да, красиво, да, можно понтануться перед друзьями (смори, как офигенно сделано, видно как комп загружается!). Но повторюсь, а кому это надо?
    Ответ написан
    1 комментарий
  • Как покрыть проект тестами?

    @Nc_Soft
    Нужно замокать rest сервис, чтобы он отвечал всегда заранее известным в тесте набором данных, и тестировать логику.
    Ответ написан
    Комментировать
  • Правильно ли так организовывать код?

    dmitriylanets
    @dmitriylanets
    веб-разработчик
    1) из класса Partner должно идти как минимум одно исключение PartnerException
    все исключения в классе Partner будут "переварены в одно" PartnerException
    в вашем случае вы можете добавить еще наследника и PartnerNotFoundException
    логика становиться более лаконичной:
    //App\Services\Partner
    public function getSong(string $singer, string $song_name) : array
        {
            try {
                $json = file_get_contents('partner-domain.com/api?singer=' . $singer);
            } catch (\Exception $e) {
                throw new PartnerException($e->getMessage());
            }
    
            $songs = json_decode($json, true);
    
            //Filter songs by given name
            $result = array_filter($songs, function($song) use ($song_name) {
                return mb_strtolower($song['name'] === mb_strtolower($song_name));
            });
    
            //We need to return only 1 song
            if (!isset($result[0])) {
                  throw new PartnerNotFoundException(sprintf(
                       'parnter not found by %s and %s', $singer, $song_name
                ));
            } 
    
           return [
                    'status' => 'ok',
                    'data' => $result[0];
          ];
    }


    - в контроллере try catch если нужно поймать
    public function getSong(string $singer, string $song_name) : string
        {
             try{
                 $song = $this->partnerService->getSong($singer, $song_name);
             }
            catch(PartnerNotFoundException $ex){
    
                //п.с не помню как в лаевел но смысл поняли
                 return response()->status(404)->send();
            }
    
             return response()->json($song);
        }

    2) через конструктор
    3) аналогично п1
    4) метод называется getSong получить песню, это значит все альтернативные варианты загоняем в исключения, нет песни - исключение, ошибка сервиса, исключение
    Ответ написан
    Комментировать
  • Правильно ли так организовывать код?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    1, 2, 3) В документации ларавел, которую ты до сих пор не прочитал, написано, как правильно.

    4) Можно вернуть null вместо массива. Кто запрещает?

    Ещё стоит закопать стюардессу, перестав юзать curl и начать юзать guzzle/guzzle.
    Ответ написан
    1 комментарий
  • Запрет выгрузки папки на сервер?

    @sl0
    Deployment -> Excluded Paths
    Ответ написан
    Комментировать
  • Как вызвать метод в конструкторе FormRequest?

    @jazzus
    Тонкими лучше делать не только контроллеры, но и форм-реквесты. И любые другие классы. Для этого каждый должен выполнять свою функцию. Например, авторизацией в Ларавел занимаются политики авторизации. Кроме чистоты кода и отсутствия велосипедов, логику доступа в политиках можно юзакть по всему приложению. Типа $user->can('view', $post) и т.д.
    пришла идея хранить в реквесте часто используемые переменные

    Какую-то свою логику если хочется куда-то вынести из контроллера лучше использовать свои сервис классы, а не первые попавшиеся классы Ларавел.
    Ответ написан
    1 комментарий
  • Выбор VPS для SteamCMD и нескольких скриптов?

    Вычитаем os, hetzner отличный сервер, 5 лет уже сижу
    Ответ написан
    Комментировать
  • Я не разбираюсь в компьютерах, но хотелось бы спросить, нормально ли здесь все?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    По данной спецификации можно сказать только то, что памяти - минимум, непонятно зачем mATX мать, не указан ни корпус, ни БП, не указаны модели комплектухи. То есть, примерно выглядит так:

    Машина:
    - мотор
    - кузов
    - колеса
    - двери
    :)
    Ответ написан
    Комментировать
  • Какой мак взять для программирования?

    Zoominger
    @Zoominger
    System Integrator
    Самый дорогой, какой сможете себе позволить.
    Это как раз тот случай, когда цена оправдывает качество.
    Ответ написан
    Комментировать
  • Стоит ли в 2020 учиться созданию игровых движков?

    DevMan
    @DevMan
    пика? рили?
    с подобной логикой: пик был достигнут лет 20–30 назад.

    только всегда находились люди, с этим не согласные - и воплощали свои идеи: кто в коде, кто в железе.
    Ответ написан
    1 комментарий
  • Какой ноутбук выбрать для backend разработки в 2020 году?

    BXVoral
    @BXVoral
    Веб-разработка
    У вас 16-18 постоянно заняты. Т.е. по вашим задачам гарантировано ОЗУ надо больше 18. И лучше с запасом. Все быстро развивается. Т.к. ноутбук апгрейдить сложнее, выбирайте хотябы где есть возможность "доставить" памяти если что. Но при таких расходах памяти для комфортной работы, бы даже не рассматривал ниже 32.

    Но, в то же время, почему именно ноутбук? У меня для постоянной стационарный комп, с достаточной производительностью, а вот для выездов - ноутбук. При чем не новый - доставил памяти по максимуму. Работать можно в "походе". Но и не так "свободно" как на стационарном.

    В общем смотрите по здачам - мониторьте ресурсы. Думайте чем готовы пожертвовать.
    Ответ написан
    Комментировать
  • Паттерн Фабрика или Фасад?

    Zifix
    @Zifix
    Barbatum
    В данном случае, вы запутались в паттернах, потому что на самом деле они вам и не нужны. Просто сделайте, как считаете нужным, без переусложнения. Если окажется, что работать с получившейся обвязкой неудобно — отрефакторите.

    Как два программиста хлеб пекли +

    Вот тут в комментах товарищ отлично излагает:

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

    Паттерны это сборник примеров того, как можно сделать. Не образец для подражания, не набор готовых блоков.

    Если обратиться к реальной архитектуре, в смысле домов, то мы увидим что из готовых блоков можно построить хрущевку, в 3 этажа или в 5, в 5 подъездов или в 10. Но ничего кроме хрущевки нельзя. Ни мост, ни любое другое нормальное здание. Только тупую панельку.

    Вот тоже и с паттернами. Паттерны не подменяют и не заменяют умение проектировать. Да, они задумывались для этого, но эта попытка провалилась. Даже если ты из лего замок строишь, нужно понимать что ты делаешь, а не бездумно блоки совать.
    Ответ написан
    2 комментария
  • Для работы https клиента нужен сертификат?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Как настроите сервер. Можно требовать клиентский сертификат, можно требовать что бы соединение было только на определенной версии
    Ответ написан
    Комментировать
  • Не работает Node.js?

    @cython
    alert - функция только для js в браузере
    Для вывода в консоль используйте console.log
    Ответ написан
    5 комментариев
  • Где найти ссылки на хорошие yii2 проекты, где можно изучить хороший код?

    myks92
    @myks92 Куратор тега Yii
    Нашёл решение — пометь вопрос ответом!
    Очень сложных проектов на Yii2 с открытым, да ещё и хорошим кодом очень мало)) Прежде всего, потому что Yii создан для быстрой разработки нарушая все правила сложных архитектур. А учитывая его устарелость, то тем более таких проектов мало. На форуме давно обсуждался этот вопрос. Там есть ссылки на проекты и код. Так же на сайте yiipowered.com есть список проектов, у некоторых с исходным кодом.

    Вам лучше изменить тактику и искать проекты с хорошей архитектурой вне зависимости от фреймворка. Так ваша вероятность найти что-то стоящее на много выше. В целом, хорошая архитектура - это всегда дорого. Мало кто будет выкладывать проект большой команды, на которую были потрачены сотни тысяч и миллионы в открытый доступ. Кроме того хорошая архитектура всегда зависит от требований, задач и самого проекта. Что и где применять, как строить - придет только со знанием и опытом. Здесь не получится сделать по примеру.

    Если по теме, то начните изучать или искать DDD, CQRS, SOA, Микросервисы. В принципе это основные архитектурные подходы в разработке. На Yii по DDD есть хороший пример. Однако начинать НОВЫЙ проект на Yii2 используя даже самую сложную архитектуру - путь в никуда. Yii2 создан для других целей. Чтобы понять можно посмотреть ответ на вопрос: Актуален ли Yii2 Фреймворк в 2020?
    Ответ написан
    Комментировать
  • В чем отличия модуля firebase от firebase-admin в nodejs?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Открываешь страничку модуля и читаешь:
    firebase:
    This SDK is intended for end-user client access from environments such as the Web, mobile Web (e.g. React Native, Ionic), Node.js desktop (e.g. Electron), or IoT devices running Node.js. If you are instead interested in using a Node.js SDK which grants you admin access from a privileged environment (like a server), you should use the Firebase Admin Node.js SDK.

    firebase-admin:
    The Firebase Admin Node.js SDK enables access to Firebase services from privileged environments (such as servers or cloud) in Node.js.

    Короче: первое для клиента, второе для сервера.

    Учись сам искать инфу, ты не сможешь вечно на каждый чих спрашивать тут.
    (Нет, не сможешь. Точно не сможешь. Инфа 100%)
    Ответ написан
    Комментировать