• Работа с angular, bootstrap модальные окна, как правильно работать с AJAX ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    вы заменили кастыль на jquery гуано на angular.js.

    Никогда в контроллере не работайте с jquery или dom. Для этого существуют директивы.
    Никогда в контроллере не работайте с $http, выносите все это в сервисы.

    Конструкция, которую вы приводите, реализуется приблизительно так:
    angular.module('app')
       .factory('myApiClient', function ($http, $q) {
           return {
                save: function (data) {
                
                     return $http({
                           method: 'POST',
                           url: 'some_url',
                           data: data
                     }).then(function (response) {
                         if (!response.data || response.data.error) {
                             return $q.reject();
                         }
                         
                         return response.data; // я не уверен надо ли вам это... сами решите
                     }, function () {
                         return $q.reject();
                     });
                } 
           }     
       })
    
       .controller('MyCtrl', function ($scope, myApiClient) {
           $scope.save = function () {
               myApiClient.save(...).then(function (data) {
                    $scope.showResponse = true;
               }, function () {
                    $scope.showResponse = false;
               })
           }
       });


    А в представлении уже используете директивы, которые завязаны на scope (ngHide/ngShow). Идею вы должны уловить. Суть в максимальном уменьшении связанности. Иначе смысла использовать angular я не вижу. И у меня есть подозрение что для вашей задачи не нужен angular.
    Ответ написан
    Комментировать
  • Наследование DOM интерфейсов?

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    любой подходящий: java/python/ruby/php/erlang/golang/dlang...

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    app.php - тут prod окружение
    app_dev.php - тут dev окружение, которое должно использоваться только для разработки на локальном сревере.
    Собственно именно в этих файлах задается какое окружение использовать и проверки доступа (в частности проверка идет только в app_dev.php).

    по поводу ошибок при вармапе кэша, Запустите cache:clear и потом уже cache:warmup.
    Ответ написан
  • Можно ли считать Golang заменой Nodejs?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Node.js по сути представляет собой набор библиотек с биндингом в JS, использующий V8 в качестве виртуальной машины. Причем это далеко не первая, но пожалуй самая успешная попытка привнести javascript на сервера.

    Golang - компилируемый язык программирования со статической типизацией, ориентированный на высокопроизводительные приложения.

    Является ли Golang заменой Node.js - нет. Это абсолютно разные технологии, которые не смогут заменить друг друга.

    Помимо golang можно взять любой другой компилируемый язык программирования (например dlang, как наиболее приятный из альтернатив по моему личному мнению).
    Ответ написан
    9 комментариев
  • Насколько востребованы nodejs разработчики во фрилансе?

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

    Что до node.js - на рынке труда очень востребован javascript, от того серверный он или на клиенте разницы не так много. Более того, node.js может вам пригодиться для организации своей инфраструктуры и т.д. Скажем в описанном вами кейсе со сборкой статики для проекта на php вам никто не мешает поставить node.js для сборки, настроить и иметь свой профит. У меня на проектах для сборки фронтэнда всегда используется gulp/grunt + куча плагинов + livereload, и это не мешает мне писать на php. Админки я сейчас вообще стараюсь делать как single-page-apps так что тут вообще отдельное приложение целиком на js+restfull api на php.

    Да и с экосистемой в php все довольно хорошо, особенно последние пару лет. Скажем я не могу сходу сказать есть ли у Composer явные минусы по сравнению с pip/bundler/bower/npm. Создавался он все же с оглядкой на все грабли, через которые прошли и pip и easy-install и npm и т.д. Думаю виной тому использование инструментов среднего качества, обратите внимание на серьезные решения аля Symfony2/Zend2/Silex.

    Ну и да, расширяйте кругозор. Стало скучно писать на php - попишите на node.js. В целях обучения - сделайте какой инструмент для организации своей работы, или что еще. Когда почувствуете уверенность - найдите проект на ноде и балуйтесь. Всегда нужно пытаться привносить какое-то разнообразие в работу.
    Ответ написан
    6 комментариев
  • Как опознать фреймворк Ruby on Rails на сайте?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    twitter в самом начале работал на рельсах, github/gitlab так же написаны на рельсах (во всяком случае гитлаб)... Я слабо понимаю что вы хотите посмотреть - RoR это все же фреймворк а не CMS.
    Ответ написан
    Комментировать
  • Есть ли какой-нибудь список нежелательных сайтов для офиса?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    whitelist будет проще сформировать...
    Ответ написан
    Комментировать
  • Какие есть быстрые базы данных?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1. SSD быстрее SAS, если в RAID поставить парочку.
    2. mysql на hdd и на ssd показывает примерно одинаковую производительность.
    3. в mysql есть возможность хранить in-memory таблицы
    4. Вам нужна не столько быстрая база, сколько грамотно настроить базу. Той же MySQL можно дать достаточно памяти под кэш, индексы она хранит в памяти + надежность которую ни Redis ни MemSQL не смогут дать.
    5. Используйте Redis/Memcached для хранения сессий (они тоже свой футпринт дают)
    6. Как альтернатива MySQL - используйте Postgress, он все ж чуточку шустрее и дает больше возможностей для построения индексов. Насколько я помню в 3-ей версии HHVM допилили драйвер под нее.
    Ответ написан
    5 комментариев
  • Как в yii прикрутить Progress Bar к Экшину?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Long pooling вам поможет, выносите тяжелую задачу в очередь, и организуйте механизм слежения за задачами. Через long pooling можно организовать псевдо-пуш уведомления, что бы обновлять данные на клиенте.
    Ответ написан
  • В чем отличие Project Polymer от AngularJS?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Полимер - библиотека, AngularJS - фреймворк. Если сильно утрировать, то polymer является развитием идеи директив из angular.js, реюз компонентов его главная задача.

    Словом, берите обе технологии, их вполне можно применять вместе.
    Ответ написан
    1 комментарий
  • С чего начать изучение Yii2?

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Если у вас класс находится под namespace Entity, то он и должен быть Entity, если это не так, то нужно вынести эти классы из этого неймспейса.

    Entity в контексте Symfony - это обычный класс (не берем в расчет то, что при выборке из базы она оборачивается в proxy). Если вам нужно проверить является ли переменная инстансом класса, то используйте instanceof.

    p.s. хранить UploadedFile в Entity не лучшее решение.
    Ответ написан
    Комментировать
  • Какие инструменты, технологии для web-разработки вы используете?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Попробуйте поработать под linux (Debian/Ubuntu), ибо для разработки под WEB удобнее ничего увы нет (если только вы не .NET программист).

    Из backend-фреймворков - Silex/Symfony/Zend, другие даже не стоит смотреть первое время, можно перейти в любой момент после одного из этих трех, зато сразу уменьшается вероятность написать что-то не правильно, не красиво... Хотя и с Symfony сделать глупость можно, если постараться, но во всяком случае эти фреймворки стараются учить хорошим подходам к проектированию приложений.

    Откажитесь от Denver (а еще лучше, все же перейдите на linux, хотя бы в виртуалке), не ставьте Apache, используйте встроенный в php (с версии 5,4) сервер. В целях разработки довольно удобно, не нужно прописывать vhost от проекта к проекту.

    Изучите Bash (минимально, хотя бы основы), GIT, познакомьтесь с SSH и SCP, работайте с базой через консольный клиент (phpmyadmin не нужен), заодно потренируетесь писать SQL запросы. Если хотите все же остаться на Windows, ставьте MinGW (обычно при установке GIT требуется).

    Попробуйте изучить системы сборки проектов (Phing, Ant), учитесь покрывать код тестами (PhpSpec2, PHPUnit), используйте стандарты PSR (в частности используйте Composer).

    Ну и почитайте чего про TDD/BDD, SOLID, GRASP...

    Из языков рекомендовал бы изучить в обязательном порядке javascript, и посмотреть в сторону Ruby/Python, или же, Golang.
    Ответ написан
    Комментировать
  • Где ошибка в маленьком Java Script-е?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ошибок как бы и нету... скрипт делает именно то что должен - скрывает (ибо элемент уже отображается на странице) элемент.
    Ответ написан
    3 комментария
  • Как визуально текст опустить ниже по странице, но в коде оставить в начале?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    А разве не проще использовать WAI-ARIA вместо этих рудиментарных перестановок контента? Мне кажется профит от этого будет выше.
    Ответ написан
  • AngularJS ngRepeat и ngForm - как обратиться к конкретному экземпляру contact?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Вообще мне кажется не стоит этого делать в контроллере, а сделать какую директиву, которая будет вклиниваться в цепочку валидации (смотреть документацию по ngModel) и подменять текст ошибки.
    Ответ написан
    Комментировать
  • Как реализовать синглтон в Java?

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

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    echo '<html> class="'.$nav.'" </html>';
    и только так. Но вообще лучше так хотя-бы:
    <html class="<?=$nav;?>"> </html>
    Ответ написан
    1 комментарий