• Как совместить gulp-newer с gulp-babel?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    .pipe(newer('./public/javascripts/**/*.js'))

    тут ваша проблема, вам надо указать директорию, а не глоб. newer пропускает в пайп файлы, у которых время изменения больше чем время изменения чего-либо в директории. Далее newer будет пытаться в этой директории найти соответствующий файл.
    Ответ написан
    2 комментария
  • Разработка мобильный приложений с помощью веб технологий?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    cordova + crosswalk для андроида + ionic в качестве UI фреймворка.

    Всегда ли нужен веб-сервер? И нужен ли вообще?

    Ну если нужно данные на сервере хранить то логично что нужно. Правда есть еще сервисы вроде parse.com как серверо-заменители с плюшками.
    Ответ написан
    Комментировать
  • Как написать цикл для массива, для Angular?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Что бы вывести его в Аngular через ng-Reapeat.

    ng-repeat вам эти элементы и создаст.

    Но что бы внутри массива уже было определённое кол-во элементов .

    У вас и так там массив с определенным количеством элементов.
    Ответ написан
    Комментировать
  • Можно простыми словами объяснить принцип работы метода Apply в Java Script?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    читается как "Примени вызов функции (которая хранится в этом свойстве) с таким контекстом вызова и такими аргументами"

    Далее гуглить что такое контекст вызова.
    Ответ написан
    Комментировать
  • Чем обычная разработка клиента отличается от разработки на AngularJS?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    разница в том что у angular есть:
    - своя система модулей с лэйзи инициализацией (плевать на порядок загрузки, если все быстро догрузилось)
    - глобальная функция angular.bootstrap которая вызывается по ресолву промиса, в вашем же случае вам надо достать загруженную функцию и вызвать руками.

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    какая разница? Фреймворк это фреймворк. В любом случае лучше взять готовый фреймворк, который суппортится большим комьюнити, таким образом мы уменьшае риски.
    Ответ написан
    Комментировать
  • Как при ng-repeat получить post.id в другом месте кода в angularjs?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Самый простой и, на мой взгляд, правильный способо - директивы. Вы можете изолировать все что связано с одним постов внутри директивы.

    <x-single-post post="post" ng-repeat="post in posts"></x-single-post>


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

    Если вы используете angular 1.4 то директива будет выглядеть как-то так:
    function singlePostViewDirective () {
        return {
            templateUrl: 'post.template.html',
            bindToController: {
                data: '=post' 
            },
            controller: function () {
                 var vm = this;
                 vm.addComment = function (comment) {
                     // do stuff
                 }
            },
            controllerAs: 'post'
        }
    }


    ну и в шаблоне будет что-то в духе
    <form ng-submit="post.addComment(commentText)">
    <textarea ng-model="commentText"></textarea>
    <input type="submit" />
    </form>


    Ну можно еще на директивы подробить, тут как вам удобнее. Скажем форму добавления комментария можно в еще одну директиву запихнуть, которая будет только управлять UI и делигировать через колбэки само сохранение на уровень выше... Соль в том что бы разбить все на директивы соблюдая принципы единой ответственности и уменьшая между ними связанность (конечно надо соблюдать баланс, иначе для простой задачи можно нагородить много чего лишнего), тогда будет меньше боли.
    Ответ написан
    3 комментария
  • Надо ли добавлять в кеш роутинг?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    зайдите в документацию по выбранному раутеру:

    A compressing dynamic trie (radix tree) structure is used for efficient matching.


    То есть эта штука на основе этих правил строит дерево, которое будет лежать в памяти до тех пор, пока у вас живет приложение.

    В PHP кэш необходим, так как PHP приложение умирает после каждого запроса и если бы небыло кэша, то разбор этого добра происходил бы на каждый запрос.
    Ответ написан
    3 комментария
  • Почему вылетает ошибка Maximum call stack size exceeded?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    видимо вы вызвали рекурсию.
    Ответ написан
    Комментировать
  • Scrum: Кто пишет ТЗ? На сколько детально?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    А вот как пишется ТЗ?

    никак.

    Ну есть юзер стори, а программист хочет юмл, и прочие сложные штуки.

    не хочет он uml и прочие сложные штуки. В этом обычно мало ценности в рамках scrum методологии.

    Ну есть юзер стори

    Ну вот и хватит, есть юзер стори, можно написать ТЗ по этой юзер стори, можно написать фичаспеку используя GivenWhenThen штуковины аля gherkin или просто юзать gherkin для нужного уровня детализации фичи. Бэклог состоит из кучи таких вот небольших ТЗ. Их по хорошему составляет продукт оунер или бизнес аналитик или еще кто. Хорошая практика - груминги или бэклог рефайменты, это митинги где чистится бэклог. Ну то есть мы берем скажем несколько фич с перху бэклога и проводим дополнительную декомпозицию, задаем вопросы и т.д. что бы к моменту когда эти фичи будут взяты в спринт все уже было на руках.

    p.s. А зачем вам скрам? Возьмите канбан для начала и если захотите, добавляйте правила из скрама.
    Ответ написан
    1 комментарий
  • Почему постоянно лезет undefined?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Да, именно так, на момент вызова console.log колбэк еще не отработал. Добро пожаловать в callback hell. Альтернативы:
    - промисы, позволяют уменьшить вложенность колбэков
    - корутины - сложно но можно писать асинхронный код в синхронном стиле, повторюсь это сложно
    - async/await - еще не запилили в js.
    Ответ написан
    9 комментариев
  • Почему Angular не видит модуль?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    если вы используете ng-app, то все скрипты должны быть загружены до document.ready события. То есть пихать в head секцию в нужном порядке надо.

    Если же вы хотите загружать скрипты асинхронно - то тогда angular.bootstrap вам в помощь.
    Ответ написан
  • Почему Angular не работает с циклом?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    вот смотрю я и удивляюсь, зачем вам аргуляр?

    document.write - причина вашей проблемы. Просто откажитесь от этого. Вот эта вся сатана которую вы делаете в контроллере можно сделать в шаблоне (и нужно делать там).

    <ul>
        <li ng-repeat="phone in phones">Number: {{$index + 1}}</li>
    </ul>


    В контроллере только работа с данными (по хорошему с данными работают серсивы, а контроллеры им просто эту обязанность дилегируют, но это судя по всему уже сложно).
    Ответ написан
    Комментировать
  • Для чего и как применять директивы в AngularJS?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    для чего нужны директивы


    Для всего. Директивы дают вам инструмент, позволяющий изолировать элементы UI-я в самодостаточные компоненты, расширять HTML, добавлять новые элементы со своим поведением, расширять поведение имеющихся элементов новыми атрибутами... Директивы ангуляра послужили прообразом стандарта о web-компонентов, это очень гибкая штука, которая позволяет полностью избавиться от выборок элементов и навешивания на нее логики, за счет чего код сильно упрощается.

    где их применять


    Везде где только можно, весь UI следует строить на иерархии директив, как если бы вы просто верстали. Я бы даже сказал что использовать только контроллер, как например можно увидеть в примерах для ngRoute/uiRouter и шаблон - это плохо, контроллеры и шаблоны использовать можно, но только для того что бы определить какие в рамках этого роута/стэйта будут использоваться директивы и передать туда параметры. То есть по максимуму все запихивать в директивы. Правда это может быть первое время сложно делать, потому лучше постепенно увеличивать степень дробления UI на директивы. Главная сложность сделать так, что бы директивы были независимы от контекста использования. Ну или явно определить этот контекст (параметр require директивы может определять что директива A может быть использована или должна быть использована только в контексте B). Ну и еще по началу может быть сложно определиться что должно быть в link и что должно быть в контроллере, должен ли вообще у директивы быть link или контроллер.

    ng-inject

    вы про галповский плагин или все же про ng-include? если последнее, как комбинация ng-include + ng-controller, то это тип... для ленивых. При помощи этих двух директив мы можем создать какой-то элемент, присобачить ему поведение и шаблон, да, но оно не будет изолированным, реюзать такое уже не выйдет. Если это вам надо временно, и вам лень - то можно и так, но лучше сделать полноценную директиву, тогда ее можно будет реюзать в рамках проекта и устранить дублирование. Ну и опять же, вариант с ng-include+ng-controller можно покрыть только E2E тестами, что не удобно. Директивы же просто и удобно покрываются юнит тестами, что делает поддержку системы намного проще и дешевле.

    в каком виде правильно и разумно применять директивы

    Посмотрите на polymer, это то чем должны были бы стать директивы а ангуляре (и в angular2 оно почти так), там больше ограничений и более понятно как использовать web-компоненты и как следствие - директивы.
    Ответ написан
    9 комментариев
  • Какая лучшая ORM/AR PostgreSQL для PHP?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) PDO все это умеет
    2) Doctrine2, там вам и возможность добавлять кастомные функции (скажем есть готовые расширения для postgis), и кастомные типы.... Вообще это лучшая ORM на данный момент, но она сложная.
    Ответ написан
    Комментировать
  • Быстрая, лёгкая, бесплатная CMS?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    зачем вам CMS? генераторы статических сайтов и вперед:
    - bolt80.com/piecrust
    - https://sculpin.io/
    - phrozn.info/en
    Ответ написан
    2 комментария
  • Правильно ли я понял механизм авторизации?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Да, а приведенный вами код - аутентификация

    p.s. надеюсь вы используете password api для хэширования паролей а не какой-нибудь там md5.
    Ответ написан
  • [Node.JS] [node-mysql] Как возвращать значение функции?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    без ссылок на литературу

    привожу ссылку на статью, ибо единственный вменяемый способ сделать то что вы хотите - это корутины и я думаю вам еще рано. А awaitable в JS еще хз когда появятся.

    howtonode.org/promises
    Ответ написан
    Комментировать
  • Безопасен ли такой подход?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    просто не храните этот файл в webroot.
    Ответ написан
  • Как корректно обновлять время на странице Angular?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    $apply() и $digest() не помогли

    их надо просто запускать раз в промежуток времени.
    Ответ написан