• Правильно ли будет, если поставить GitLab на сервере разработки?

    @MadridianFox
    Web-программист, многостаночник
    Центральный репозиторий (тот в котороый пушат несколько разработчиков) должен быть bare - т.е. без файлов.
    Например GitLab как раз хранит bare репозитории.

    Если /var/www/project это хост только чтобы показывать сайт (не разрабатывать прямо тут), то туда надо клонировать репозиторий из центрального. Когда разрабы пушат в центральный - руками или автоматически делаете pull в /var/www/project.

    Где ставить гитлаб - вопрос наличия и мощности ваших машин. У меня в последнем проекте машин было мало и на dev-машине работали и гитлаб и хосты разработчиков, но в docker-контейнерах, т.е. они никак не были связаны.

    Если же /var/www/project это хост с которым работают все разрабы сразу (прямо редактируют код), то срочно заваривайте чай - придётся переделывать. Лучше каждому разрабу выделить свой хост где он будет редактировать файлы своей копии сайта.
    Ответ написан
    7 комментариев
  • Golang подходит ли для создания сайтов?

    @MadridianFox
    Web-программист, многостаночник
    1) Go компилируемый, само собой скорость выше, но если вы на маленьком сайте упираетесь в скорость исполнения кода, то проблема скорее в коде, и выбор более быстрого языка избавит вас только от симптома, но не от болезни
    2) на seo влияет только то ЧТО вы отдаёте пауку. Не важно на каком языке пишется программа, которая отдаёт html
    3) Программа написанная на go сама работает как сервер. Более того, это не какой-то сервер приложений, как например tomcat, нет, вы сами будете писать цикл обработки входящих соединений - т.е. вам необходимо этот самый серер реализовать. В отличие от php+apache, где в качестве сервера выступает apache, который при необходимости вызывает php. Ставить ли apache или nginx перед go сервером вы решаете сами.
    4) Поддерживает. На скорость работы СУБД не влияет то, на каком языке написана программа, которая к ней обращается.
    5) Фреймворков уровня Yii2 или Symfony не наблюдается. Ситуация такая же как и с NodeJS - что-то есть, но комбайнов нет.
    6) Если что-то может слушать соккет - на этом можно написать сайт. Любой. Другое дело, что сайты визитки на Go не пишут (только ради забавы), а крупные сайты вообще имеют сложную архитектуру, такую что язык уже не имеет значения.
    7) Для php разработчика - да. Как минимум вы меняете скриптовый язык на компилируемый. Это значит что любое изменение кода требует компиляции, остановки работающего сервера, загрузки бинарника на его место и запуск. Кроме того вы меняете Stateless модель работы кода на полноценно работающую программу. Если на php у вас скрипт запускался заново при каждом http запросе, то программа на go запускается один раз и после этого принимает множество запросов.
    Ответ написан
    10 комментариев
  • "Сильные" книги по Symfony и архитектуре приложений?

    @MadridianFox
    Web-программист, многостаночник
    Мартин Фаулер - Шаблоны корпоративных приложений. Это как раз вторая ссылка что Вы сами указали. Эта книга не может быть старовата, т.к. поясняет общие принципы, которые применяются во всех фреймворках.
    Более того. Всякие Symfony-специфичные книги могут быть староваты, но не Фаулер.
    Ответ написан
    Комментировать
  • Насколько сложнее C++ чем Java?

    @MadridianFox
    Web-программист, многостаночник
    Вы не то спрашиваете. Вот зачем вы спрашиваете? Хотите выучить что-то полегче?
    На самом деле вы должны ответить на вопрос - какие программы вы хотите писать.
    С академической точки зрения плюсы сложнее. Да, не в последнюю очередь из-за ручной работы с памятью. Но после нескольких месяцев практики вы привыкните и это не будет сложным.
    Ответ написан
    4 комментария
  • PHP проблема с запросом к SOAP сервису

    Pavel_Osipov
    @Pavel_Osipov Автор вопроса
    Программист, в основном web
    ОК. Оказалось, что URL описания сервиса, к которому коннектимся в $client = new SoapClient( URL?WSDL ) отличается от того, с которым надо работать. Для такого случая у конструктора SoapClient есть второй параметр, в котором можно передать ассоциативный массив, и в частности «location»

    $client = new SoapClient(
    'URL?WSDL',
    array(
    «location» => «URL»
    )
    );

    Такие делы :)
    Ответ написан
    2 комментария
  • Yii2 не кеширует целиком дополнительные запросы - что делать?

    slo_nik
    @slo_nik Куратор тега Yii
    Я думаю, что для решения Вашей задачи надо использовать отложенную и жадную загрузку.

    Есть две таблицы "customer" и "orders", который связаны между собой
    class Customer extends ActiveRecord
    {
        public function getOrders()
        {
            return $this->hasMany(Order::className(), ['customer_id' => 'id']);
        }
    }
    
    class Order extends ActiveRecord
    {
        public function getCustomer()
        {
            return $this->hasOne(Customer::className(), ['id' => 'customer_id']);
        }
    }

    Такой код должен сократить количество обращений к БД.

    $customers = Customer::find()
        ->with('orders')
        ->all();
    Ответ написан
    7 комментариев
  • Как отследить появление новых элементов в DOM?

    @iShatokhin
    JS developer
    $(elem).on("DOMNodeInserted", function (event) { /* ваш код */ });
    Ответ написан
    6 комментариев