• Как прицепить Laravel 5.2 к Angular2.0?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    про laravel+angular2


    Потому что эти два фреймворка для двух независимых приложений, между ними HTTP API и все. То есть потом можно сервак быстренько на go переписать а клиент и не заметит.
    Ответ написан
    5 комментариев
  • Есть ли в Ruby переменные переменных как в PHP?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    нет. есть возможность оперировать переменными через функции instance_variable_get/instance_variable_set

    Однако как и в случае PHP - это плохая практика. Используйте хэш-мэпы.
    Ответ написан
    Комментировать
  • Модель взаимодействия с сервером?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Почитайте про Event Sourcing и Redux. Эти подходы подразумевают именно то что вы хотите. И да, с angular все это прекрасно дружит.

    Коротко - по ngClick мы генерим действие, отправляем его на сервак и применяем действие к структурке на клиенте (оптимистичный апдейт). Ну и т.д. периодически синхронизируя все это дело.

    p.s. не используйте $scope, никогда (точнее 10 раз подумайте можно ли без него обойтись).
    Ответ написан
    3 комментария
  • Стоит ли сейчас учить TypeScript?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    но вторая его версия пишется на TypeScrip


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

    Давайте проясним. TypeScript это ES6/ES7-stage1 + информация о типах. То есть если вы знаете ES6/ES7-stage1 то вы автоматически знаете TypeScript (добавится только информация о типах и некоторые нюансы, но в целом они строго следует стандарту).

    То есть вот это валидный TypeScript:
    class Foo {
        bar = 'default property value';
    
        constructor(untypedArg) {
           this.foobar = untypedArg;
        }
    }


    Одновременно с тем что это валидный TypeScript код это так же валидный код с точки зрения ES (с учетом драфтов находящихся в stage1, вроде пропертей для объектов)

    Это не Dart, который является другим языком. Это надстройка над JS и не более, кроме возможности (опциальной) декларации типов - там ничего больше нет. Но зато для больших проектов эта информация позволяет избавиться от кучи багов.
    Ответ написан
  • Как научиться быстро думать и решать подобные задачи?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    которые дают обычно при устройстве на работу.


    Вы автоматически проиграли на этапе постановки задачи.

    как можно быстро научиться решать такие задачи


    Берете и решаете задачи. Много задача. По несколько каждый день. И так пока не научитесь.
    Ответ написан
    2 комментария
  • Как использовать одну виртуальную машину для нескольких приложений?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Docker это то что мне нужно? А может я хочу невозможного?


    У Docker чуть отличается концепция, но оно даже лучше подходит.

    Основная идея - каждый сервис в своем контейнере. То есть у базы данных свой контейнер, у приложения - свой, у nginx - свой отдельный контейнер. В среднем одно простенькое приложение требует 3 контейнера (приложение, база данных и web-сервер в качестве прокси). Если у вас 10 проектов то это будет 30 контейнеров. Ну и да, не забываем про data-only контейнеры, они не несут дополнительного расхода ресурсов и нужны только для удобной организации сохранения данных. Если вы используете контейнер с базой данных - то это сразу +1 data-only контейнер. Приложение может аплоадить файлы - еще один контейнер-пустышка. Звучит страшно, да?

    Каждый контейнер основан на другом контейнере, например все ваши контейнеры могут базироваться на одном образе, например Debian или Ubuntu. А особенность архитектуры файловой системы контейнеров позволяет реюзать оные, что значит что у нас будет всего один базовый контейнер с убунтой на остальные 30. Ну и далее, база данных обычно у нас так же частенько одна и та же (например в моем случае это postgresql), так что 10 контейнеров для 10-ти приложений превращаются в один контейнер с базой данных и 10 контейнеров-пустышек для сохранения данных приложения.

    Ну и далее, все общие вещи реюзаются между контейнерами (то есть смотрим по базовому образу).

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

    Docker НЕ работает на windows. Точнее microsoft планирует сделать поддержку оного (если еще не сделала), но только для win server-ов. Что не ок. Так что linux в виртулку поставить придется, но только одну на все проекты. Что же до возни с самбами и прочим - тут уж как хотите. В целом же производительности обычных шаред фолдеров должно хватать (так как мы всеравно мэпим данные по большому счету на файловую систему виртуалки).

    Так что можно просто скачать Docker Toolbox и работать. Для Mac OS есть еще штука под названием dinghy, которая добавляет прозрачную поддержку NFS и т.д. но для винды такого нет (только черзе vagrant). Ишус на эту тему висит в репозитории docker-machine и возможно в скором времени и это запилят.

    мне не нужны танцы с виртуалками, самбой, настройкой хостов и тп?

    Вообще-то это никогда не нужно, все уже придумано до нас. Есть такая штука как vagrant которая полностью решает вопрос оркестрации виртуальными машинами для изоляции окружения. Но оверхэда оно дает сильно больше.
    Ответ написан
    8 комментариев
  • Существуют ли продакшн приложения на Angular2?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Да, есть.


    Through developer preview and alpha we've worked closely with several large projects here at Google including AdWords, GreenTea (Google's internal CRM system), and Google Fiber. In fact, just a few weeks ago we saw Google Fiber launch on their new Angular 2 code base.

    Externally, we've worked closely with several other teams integrating with Angular 2 including Ionic Framework on Ionic 2, Telerik on NativeScript, Rangle.io on Batarangle, and many others.


    angularjs.blogspot.com.by/2015/12/angular-2-beta.html

    Собственно, смысл смотреть есть, особенно если до релиза у вас еще есть хотя бы месяца 3-4. Основная проблема с angular2 - он пока в бэте, документация есть но не полностью дописана, еще есть изменения в API и обсуждения новых плюшек. А главное - инфраструктура подтягиваться будет еще минимум пол года. Хотя основные вещи будут доступны уже скоро.

    Ну и да, если взять Angular 1.5, angular/router и babel (или typescript, что для больших проектов полезно), почитать штуки типа ngUpgrade и т.д. то можно сейчас уже стартовать разработку на angular 1.5 а потом мигрировать на 2.0, если вам нужны будут фичи вроде изоморфности и т.д. А может и того проще React взять какой с готовой инфраструктурой.
    Ответ написан
    Комментировать
  • Точные таймеры на JavaScript?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    расхождение в браузерах около 20 секунд


    И это нисколечки вас не должно тревожить (что бы понять почему это вообще происходит - почитайте про event loop). Если вам нужно точное время - Date.now(), с точностью до милисекунд.
    Ответ написан
    8 комментариев
  • Phalcon для PHP 7 уже вышел или когда выйдет?

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

    https://github.com/phalcon/cphalcon/issues/10378

    поддержка PHP7 для зефирки уже в каком-то виде есть.
    Ответ написан
    1 комментарий
  • Что обозначает такая ошибка в codeception?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    там все написано же. Идем по ссылке:

    curl.haxx.se/libcurl/c/libcurl-errors.html

    и смотрим что значит ошибка со статусом 7
    Ответ написан
    5 комментариев
  • Как обстоят дела с пререндером растровой и векторной графики?

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

    но называть это пререндрингом графики не выходит, рендриться графика будет исключительно на клиенте.
    Ответ написан
    4 комментария
  • Стоит ли начинать проект на Angular2 beta?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    не на ag2 а на ng2 раз уж на то пошло.

    В целом смотрите сами. Использование нестабильных штук подразумевает что еще могут быть изменения в API ломающие обратную совместимость. То есть надо будет поглядывать на migration guide при обновлении. Благо я думаю эта ситуация сейчас будет происходить чуть реже чем во времена альфы.

    Все сводится к рискам.
    Ответ написан
  • SPA на и AngularJS и Symfony 2?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Мешать логику js c логикой шаблонизатора Twig, Blade и т.д. Или же фронтенд отделить целиком от бекенда, сделав бекенд чисто REST ?


    Да, клиент отдельно, сервер отдельно, между ними HTTP API.

    Если у вас будут проблемы связанные со скоростью бутстраппинга и т.д. то вместо того что бы "смешивать" шаблонизатор и angularjs (это вообще тупо), можно просто при запросе на сервак подготовить данные и вшить их в страницу (пробрасывая все через JS).
    Ответ написан
    2 комментария
  • Как в foreach сделать счетчик?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    foreach(array_slice($divan['divan'], 0, 3) as $value) {
    }
    Ответ написан
    Комментировать
  • Как из нескольких 19" мониторов сделать большой экран?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    дешевле и проще купить парочку 4К мониторов под 40+", нет? Я вот недавно за ~$500 купил LG-ку простенькую и теперь он стоит как монитор для десктопника (я за ним не сижу практически, он у меня как медиацентр и для игрушек).

    В целом же проблемы так же будут с тем как подключить все это дело друг к дружке.
    Ответ написан
    Комментировать
  • Как избежать краша браузера при $state.go()?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    out-of-memory уже говорит нам о меморилике.
    Ответ написан
    Комментировать
  • Как сделать put запрос с api в angular?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    var data = $.param({
                    зфкфьі:  ["apple", "potato"] ,
                   
                });


    что это?

    $http.put('http://*****/mongorest/control/get-menu?'+ data)


    ммм... почему у вас данные в query string ложатся а не в тело запроса? Как смысл тогда PUT запрос делать?

    Насколько я помню у монги нормальное REST api.

    Должно быть как-то так:

    $http.put('/some/url', {
        someKey:  ["apple", "potato"] ,
    }).then(function (response) {
        // не пользуйтесь .success/.error
    }, function (reason) {
        // пользуйтесь только промисами.
    });


    то есть никаких извращений и подоброго. И не пользуйтесь $.params. Вообще. Для query string у angular есть отдельный параметр в конфигурации запросов.

    $http.get('/something', {
        params: {
             query: 'param'
        }
    }
    Ответ написан
    3 комментария
  • Как организовать логику в Symfony с использованием наследования?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Какие есть более правильные варианты?


    проектируем нормально сущности в терминах бизнес логики (NewOrder как-то сильно звездными войнами попахивает).

    Между формами и сущностями ходят DTO. Делаем сервисный слой и оставляем контроллеры тонкими. А еще можно CQRS и EventSourcing но чувствую ранова-то, хотя возможно так было бы даже проще.

    Собственно никакой конкретики в вопросе нет. Вас смущает дублирование кода в контроллерах? выносите дублирование в приватные методы. Логики в контроллерах быть не должно, там только работа с формами и получание из них данных (по хорошему).
    Ответ написан
  • Автоматический импорт неймспейсов в шаблонах?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Используйте twig. напишите отдельный экстеншен для него и сделайте кастомные функции. Хоть немного упростите себе жизнь и хоть чуть чуть уменьшите вероятность XSS.
    Ответ написан
    Комментировать