• Как настроить Yandex Metrika/Google Analytics в Nuxt? Почему огромный процент отказа?

    yarkov
    @yarkov Куратор тега Vue.js
    Помог ответ? Отметь решением.
    Если вдруг кому актуально, то я решил проблему так.
    В корне проекта создаём файл app.html. Именно он будет браться за основной темплейт:
    <!DOCTYPE html>
    <html {{ HTML_ATTRS }}>
      <head {{ HEAD_ATTRS }}>
        <style>
          html,
          body {
            font-family: "Montserrat", Helvetica, Arial, Verdana, Tahoma, sans-serif !important;
          }
        </style>
        {{ HEAD }}
      </head>
      <body {{ BODY_ATTRS }}>
        {{ APP }}
        {% if (ENV.NODE_ENV === 'production') { %}
          <!-- Yandex.Metrika counter -->
          <script type="text/javascript" >
            (function(m, e, t, r, i, k, a) {
                m[i] = m[i] || function() {
                    (m[i].a = m[i].a || []).push(arguments)
                };
                m[i].l = 1 * new Date();
                k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
            })
            (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
    
            ym(66856768, "init", {
                clickmap: true,
                trackLinks: true,
                accurateTrackBounce: true,
                webvisor: true
            });
          </script>
          <noscript>
            <div>
              <img src="https://mc.yandex.ru/watch/66856768" style="position:absolute; left:-9999px;" alt="" />
            </div>
          </noscript>
          <!-- /Yandex.Metrika counter -->
        {% } %}
      </body>
    </html>
    Ответ написан
    1 комментарий
  • Nuxt.js + PHP framework как бэкенд, как настроить nginx и apache?

    @rroman
    Как вариант, настройте через nginx api.example.com на Laravel, а основной домен example.com на node.js с Nuxt
    Ответ написан
    Комментировать
  • Bootstrap-Vue - В чём фишка данного симбиоза?

    copist
    @copist
    Empower people to give
    Расскажите плиз о технологии, и чем развёрнутей, тем лучше.

    Вот захотел ты сделать сайт SPA или PWA с любимой тебе вёрсткой на базе Twitter Bootstrap и любимой библиотеки Vue. Сверстал. Поповеры не появляются, дропдауны не выпадают, модалки не открыватся, формы не валидируются, клики не работают.

    Оригинальный Twitter Bootstrap имеет поддержку интерактивных элементов на Javascript. Реализовано это на библиотеке jQuery. Если делаешь на Vue, придётся подключать ещё и jQuery, что лишняя библиотека на 100+ килобайт, что, конечно, не катастрофа (пока ты не на мобилке).

    Vue работает с состояниями привязывает данные к отображению, а jQuery работает с DOM и событиями. Это вопрос производительности. Работа JQuery начитается когда загружен и распарсен JS и HTML. Работа Vue начинается в тот момент, когда загружен и распарсен JS, то есть чуть раньше. jQuery модифицирует DOM на лету, перестраивая текущий документ. Vue работает с shadow DOM, а затем подсовывает уже готовую интерактивную страницу в пустой документ, что быстрее (разница в секунды на десктопе, десятки секунд на м...).

    Vue реализует компонентную парадигму. Куски страницы являются изолированными кусочками кода (HTML CSS JS), которые цепляются между собой динамически, а обмениваются данными через аттрибуты и события. Предположим, что вы решили следовать компонентной парадигме, тогда согласно вот такому примеру нужно будет увязать самостоятельно все интерактивные компоненты. Компонента-кнопка. Компонента-поле ввода. Компонента-форма. Компонента-контейнер. Получается около 50 компонент. Для некоторых надо будет написать логику на jQuery. Если посмотреть на код jQuery этих микрокомпонент, то он окажется несложный, его вполне можно переписать на Vue. Ну там класс заменить или клик отработать. Когда от кода jQuery не останется следа, его можно будет из проекта удалить.

    И вот получается Bootstrap-Vue

    На компоненты побили. От Jquery избавились. Написано в единой парадигме. Работает быстрее.

    Добавляем тот факт, что в Vue можно не импортировать компоненты, которые не нужны (например, я не работаю с дропдаунами и модальным окнами) и код становится меньше, грузится быстрее, работает быстрее.

    Так же будет Не лишним оценить технологию: плюсы, минусы, стоит ли вообще с этим работать ...

    Это сам изучай и сравнивай. Навыки и опыт воздушно-капельным и через Internet не передаётся
    Ответ написан
    4 комментария
  • Есть ли api у телефонии Ростелеком?

    Для тех, кто тоже будет искать инфу, вот ссылка на документацию https://cloudpbx.rt.ru/help/naznachenie_uslugi.htm...

    Услуга стоит 500р в месяц
    Ответ написан
    Комментировать
  • Для чего нужен Docker?

    @viiy
    Linux сисадмин \ DevOps
    Представьте что нет никакой ложки докера.

    1) Есть одна физическая машина. Вы устанвливаете софт, разные приложухи, базы, web сервера, заходят тестовые юзеры, что-то запускают. Первая проблема - вы не понимаете кому что надо, кто владелец файлов, приложух, зачем висят демоны и кто за это ответственнен. Как выход, вы решаете это разделить на виртуалки.

    2) У вас есть физическая машина + на ней виртуалки. Вы выделяете под каждую задачу свою виртуалку, там сидят отдельные пользователи, вы навели какой то порядок. Появляется задача - пользователи хотят php 6, а его нет, хотят python3, а его нет, хотят Mongo, а она старой версии. Вы обновляете репозитарии, качаете новые пакеты, ставите, часть пользователей довольны, часть нет - им нужна старая версия какая была. Упс!

    3) Одна физическая машина + еще больше виртуальных машин. Вы разделили всех пользователей так, чтобы никто не дрался за версии софта, если нужен php6 - иди на эту машину, нужен php5 - вот на эту. Все счастливы, но появляются разработчики, которые говорят буквально так - "а у меня на рабочей машине все работает, я перенес все как было на виртуалку, а у меня появляется ошибка missing library libXXX.so.X". И вы понимаете что вам остается только создать полную копию машины разработчика, чтобы софт поехал на этой виртуалке без ошибок... И тут появляется Docker! :)

    4) Docker решает именно эту проблему. Вам не нужно заботится о софте который установлен на сервере/виртуалке. Вы просто берете и переносите софт со всеми "кишками" на другой сервер и он просто работает. Работает за счет того, что все "кишки" это слои файловой системы нанизанные как бисер друг на друга. Дополнительно решается проблема свободного места, т.к слои многократно переиспользуются контейнерами, если вам нужен php + одна библиотека, а другому php + другая библиотека, вы используете (грубо говоря) слой php, а для дополнительной библиотеки делаете отдельный слой, одновременно другой человек делает над php другой слой и вы не деретесь между собой и не видите чужих библиотек. Это грубо и скорее всего ради одной библиотеки никто новый слой не делает, делают слой пожирнее.

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

    zvermafia
    @zvermafia
    WebDev
    Есть бесплатный и хороший интрумент (есть готовые базовые настройки под различные framework'и, в том числе и Laravel): Deployer — Deployment tool for PHP.
    И есть платный сервис, тоже хороший (но как по мне дороговатый): Envoyer.
    Ответ написан
    Комментировать
  • Как в Nuxt сгенерировать страницы по результатам ответа api?

    Xuxicheta
    @Xuxicheta Автор вопроса
    инженер
    Сам же и отвечу в nuxt.config.js
    generate: {
        routes: async function () {
          /* получить список постов, у которых есть свойство postname */
          const { data: posts }  = await axios.get('https://mydomain/posts'); 
          /* вернуть массив адресов вида '/posts/%postname%' */
          return posts.map(u => `/posts/${u.postname}`);
        }
      },
    Ответ написан
    1 комментарий
  • Есть ли api у телефонии Ростелеком?

    @avia21
    Не знаю насколько актуально вам. У нас тоже возникли задачи интеграции, теперь у них есть Интеграционный API.
    Ответ написан
    1 комментарий
  • Как использовать строгий порядок в Laravel Mix?

    c_i_h
    @c_i_h
    Full-Stack PHP/JS
    Понимаю, что некропостинг, но все же...
    Как вариант, собрать все нужные css и scss в файле app.scss в нужном порядке и потом его скомпилировать в mix.
    Ответ написан
    2 комментария
  • Что такое анонимная функция и с чем ее едят?

    DIITHiTech
    @DIITHiTech
    Fullstack javascript developer
    На самом деле классика случая анонимной+замыкание:
    var name="admin"
        
        setTimeout(function(){
            alert(name);
        },1000);


    А анонимная функция без имени, а без имени она потому что ее вызывают не по имени, а по ссылке на нее.
    т.е полный пример с замыканием:

    function sayAfter(text,delay){  
        setTimeout(function(){
            alert(text);
        },delay);
       }
    
      sayAfter("lol",1000);


    Аудитория требует более тонкого примера применения...

    (function(){
            var x, y, z;
    
            //много разного кода, много переменных, которые не нужны в глобальной области видимости
        })();
    Ответ написан
    8 комментариев
  • Структура у этих трёх фреймворков одинакова?

    kulakoff
    @kulakoff Куратор тега Vue.js
    Vue.js developing
    Если коротко - они отличаются, но в основе лежат одни и те же принципы. Изучив один, вам будет легче понять остальные.
    Если еще не читали, то вот сравнение: https://ru.vuejs.org/v2/guide/comparison.html
    И помните: каждый кулик свое болото хвалит, серебряной пули не существует.
    Ответ написан
    Комментировать
  • Как в bootstrap ограничить ширину адаптивной вёрстки?

    aTmpl
    @aTmpl
    Вебмастер
    Alexandr Sharomet
    Прав. Можно ограничить ширину области экрана.
    Не забудьте что порядок установленный ниже имеет преимущество в CSS.
    Сначала:
    <link href="/bootstrap.min.css" rel="stylesheet">
    ниже:
    <style>
    .container{
    width:960px !important;
    min-width:100%;
    max-width:960px
    }
    </style>
    Ответ написан
    Комментировать
  • Как организовать выкладку сайта для тестов + работающий вариант?

    Для виртуального хостинга - https://github.com/git-ftp/git-ftp
    Ответ написан
    Комментировать
  • Как в markdown у ссылки поставить тег nofollow?

    сам в поисках того же. пока нагуглил только Jekyll, в котором используется процессор kramdown, поддерживающий возможность добавлять классы, атрибуты и ID к элементу.
    Ответ написан
    Комментировать
  • Где посмотреть сорцы боевого spa приложения на vue?

    kulakoff
    @kulakoff Куратор тега Vue.js
    Vue.js developing
    Вот есть неплохой шаблон построения spa на vue: https://github.com/codecasts/spa-starter-kit
    Ответ написан
    Комментировать
  • Как с помощью php отправить уведомление в js о записи в бд mysql?

    VGrabko
    @VGrabko
    Golang, Php, Js
    WebSocket
    Ответ написан
    Комментировать
  • Сотый вопрос по git для web разработки командой, неужели все так работают?

    smanioso
    @smanioso
    Отмечайте ответы на свои вопросы!
    Ответ на все ваши вопросы - git flow
    habrahabr.ru/post/106912

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

    После этого вас быстро уволят из этой студии и вы уже будете знать, что при собеседовании надо ОБЯЗАТЕЛЬНО узнавать, используют ли они git (ну или что там еще для вас важно).
    Ответ написан
    4 комментария
  • Сотый вопрос по git для web разработки командой, неужели все так работают?

    @maxyc_webber
    Web-программист
    2 минутные правки делаю на продакшне и пушу с него
    Ответ написан
    Комментировать
  • Как получить данные из radio buttons в AngularJs?

    @Krio
    Еще пару вариантов:
    jsfiddle.net/j9x23apu/20
    1. Т.к. ng-repeat создает новый scope, то для ng-model используем $parent, что бы "попасть" в нужный scope
    ng-value="item" ng-model="$parent.selected"
    + если надо отследить изменение, то можем добавить ng-change="changed()"

    2. Основан на ng-click, указываем действие при клике и передаем сразу item
    ng-click="selectItem(item)"
    Ответ написан
    3 комментария