Задать вопрос
  • Как вызвать контроллер в контроллере Yii2&?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Мне очень нужно.


    вам нужно вынести бизнес логику в сервисы и дергать ее из каких угодно контроллеров.
    Ответ написан
    Комментировать
  • Что значит then в Ruby?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    then - не обязательно писать и оно относится к ифу,


    Правда что-ли? А из документации не понятно.

    Это удобно для того что бы приблизить код к языку бизнеса. Например что-то в духе

    if user.isAbleToPay? then pay

    Просто позволяет коду быть более выразительным и более четко описывать вашу мысль в коде с точки зрения английского языка.
    Ответ написан
    Комментировать
  • Какие есть хорошие книги по mean.js?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Может хватит использовать mongodb как основное хранилище? Это весьма скверная затея.

    В целом же рекомендую вам так же перестать пытаться мыслить стэком технологий как единым целым. учим все по отдельности.

    сначала изучаем javascript (я как-то подозреваю что вы его не особо знаете)
    - потом... углубляемся в javascript
    - потом учим express.js, попутно постигая тайный смысл аббривиатуры SOLID, изучая ООП, немного функциональщины полезно будет ну и все такое.
    - потом учим angularjs (можно express.js и angularjs поменять местами в принципе, это не столь важно).
    - Ну и еще неплохо изучить базы данных (SQL). Причем монгу оставьте на потом, эта штука клево себя ведет как основное хранилище данных только для записи логов, и в редких случаях, когда вам реально нужна документо-ориентированность (очень редкий кейс). Ну и для ускорения выборок из реляционных баз данных за счет хранения аггрегаций, но для этого должна быть необходимость (много джойнов в выборках например, очень сложные запросы, тогда монгу можно использовать как кэш первого уровня для хранения денормализованной копии данных для упрощения этих сложных выборок).
    Ответ написан
    Комментировать
  • Как спроектировать систему геолокации и сохранение?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Использую MVC

    Ну ок, и причем тут это?

    координаты в токене

    используете JWT?

    если не совпали, то перезаписывать координаты в токене..

    А смысл тогда вообще связывать координаты и токен? Не проще ли обновлять периодически координаты для сессии?

    Словом если у вас это нужно для геотрекинга - то просто отделите токен от геолокации пользователя и используйте отдельный метод api для апдейта оных.
    Ответ написан
  • Почему элемент dom доступен в переменной по id?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    stackoverflow.com/questions/3434278/do-dom-tree-el...

    не совсем так. Скажем если вы явно укажите пропертю в window то она перекрое это поведение.
    Ответ написан
    Комментировать
  • Как правильно работать с веткой после git push --force?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Неужели git fetch; git checkout origin/somedevel ?

    ну или git fetch && git reset origin somedevel --hard

    вы же понимаете что --force это... не хорошо.

    0blLD7H.jpg

    Попытайтесь чуть перестроить свой подход разработки так что бы не приходилось делать push --force (хотя в принципе плохого в этом ничего нет, при вашем флоу). Вы тип постоянно ветки друг дружки ребейзите?
    Ответ написан
    Комментировать
  • Добавить класс в angularjs?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    <div ng-class="{'active': showFon}">

    в целом же я не вижу смысла что-то еще делать, если класс active должен быть на вешен на элемент всегда когда у вас срабатывает ng-if то... просто добавьте этот класс. Пока у вас не выполняется условия элемент будет убран из DOM.
    Ответ написан
    Комментировать
  • Composer, как централизованое хранилище?

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

    Глобально вы можете ставить только какие-то cli утилитки вроде phpunit, phpspec, phpcpd и т.д. Зависимости для конкретных проектов должны ставиться локально.

    Что до репозиториев - вы можете поднять у себя локально satis например что бы не паблишить свои приватные пакеты.
    Ответ написан
  • Можно ли использовать выборочно apache и ngnix?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    отдавайте все через nginx, повесьте apache на порт 8080 например (или вообще любой доступный) и запросы на конкретные сайты просто проксируйте на apache.
    Ответ написан
    Комментировать
  • Отображение html тега в angular выражении?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) почему бы этот тег не вынести за биндинг?
    2) ng-bind-html
    Ответ написан
    Комментировать
  • Писать ли уроки по программированию?

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


    Все нормальные книги по алгоритмизации для этих целей вводят понятие "всевдоязык". И да, это практикуют уже не один десяток лет. Но кто сейчас читает эти книги?

    но не входящие в обычный цикл темы

    Что значит "не входящие"? В ВУЗах это все как бы дают еще на первых курсах. Опять же на усвоение этого материала нужно порядком времени.

    Как показывает практика, обычно десять листов книги можно уложить в конспект на пол листа

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

    Особенно это касается первых 100 страниц, которые можно вообще ужать в десять.

    Книги бывают разные. Иногда выкинув эти первые 100 страниц дальше читать в принципе бесполезно так как вы не понимаете предпосылок.

    он дает отсылку, где и когда это будет изучено

    Так делают все адекватные авторы

    Я буду по возможности давать как можно больше картинок и как можно более понятных примеров кода, без излишеств и гигантизма.

    Картинки это хорошо конечно, но опять же чем ваш подход отличается от остальных? У нормальных авторов и так есть понятные схемки, картинки, метафоры и прочие вещи упрощающие понимание.

    Поскольку данные уроки действительно долго и сложно делать, купили бы вы их?

    Все что вы описали я изучил в ВУЗе и из книг. Более того любой другой так же может это сделать.
    Ответ написан
    3 комментария
  • Как отправить письмо при помощи smtp?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    swiftmailer.org

    хватит писать велосипеды.
    Ответ написан
    Комментировать
  • Как выполнить запрос из одного сервиса к другому и создать объект app-platform(doctrine)?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Перестаньте использовать "таблицы" и "записи" и используйте "объекты".

    Doctrine исповедует принцип persistence ignorance. То есть дает вам определенный уровень изоляции от хранилища данных.

    У вас есть репозитории, у вас есть сущности. Попробуйте описать что вы хотите сделать используя эти термины, при том что сущности доктрины это просто PHP объекты, ничего особенного.
    Ответ написан
    6 комментариев
  • Вопрос по прочитанному( Гексагональная архитектура)?

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

    То есть если все эти 3 помощника объединить в один, как и сделали в 5.1 то это ведь даже лучше, правда?

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

    и еще пожалуйста один момент как быть скажем с обработкой таких форм когда создаются например 3 сущности одновременно?

    А теперь опишите ваш случай в виде юз кейса. Когда вам такое понадобиться может? И причем тут формы? Формы это часть интерфейса, то от чего мы хотим изолировать наше приложение.

    короч.. лучше не практикуйте пока гексагоналки, они вам пока не нужны. Все эти приемы приследуют определенную цель. И если у вас нет причин для этого, вроде... возможности быстро организовать еще один интерфейс к приложению, например черей MQ, или же у вас есть потребность в изоляции слоев для лучшей тестируемости оных... Или у вас сложная архитектура базы данных (что звучит маловероятно при использовании active record) и вы хотите применить CQRS что бы упростить работу с оными...

    Вы должны четко понимать зачем это все нужно. Иначе есть шанс что вы архитектуре своего приложения сделаете только хуже. Просто так такого рода усложнения делать просто не целесообразно.
    Ответ написан
  • Как сделать раздвоение цветов в php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    в смысле... взять синий и красный каналы и чуть чуть их подвигать?
    Ответ написан
  • Методы оптимизации AngularJS?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    меньше длительность $digest цикла - выше производительность и отзывчивость системы. Количество ватчеров к слову тут не причем. Только время за которое они все выполняются влияют (у вас может быть один ватчер который делает что-то сложное, и тысяча простых справятся быстрее).

    В целом же... все что связано с обработкой данных (фильтрация коллекций, формирование других коллекций и т.д.) должно выполняться в сервисах (ну или на худой конец в контроллерах).

    При выводе больших часто меняющихся коллекций использую track by (весьма редко на самом деле, только когда DOM часто перерисовывается).

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

    Ну и опять же. Никаких преждевременных оптимизаций. Запустите профайлер, найдите узкие места и тогда только думайте.
    Ответ написан
    22 комментария
  • Как добавить условие в ng-repeat (головоломка)?

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

    И да, не используйте фильтры для коллекций.
    Ответ написан
    6 комментариев
  • Как сделать setinterval каждые 10 секунд?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Комментировать
  • Где хранить функции, используемые во view в Yii?

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

    <div class="workshop-date">{{ workshopDate(workshop)  }}</div>
    Ответ написан
    Комментировать