• Как изменить разрешение окна браузера?

    Мне нравиться Window Resizer как доп. расширение. А вообще - F12 и жмем на маленький мобильный телефон и сможете ставить любой масштаб, даже тестировать скорость загрузки при разном интернете.
    Ответ написан
    Комментировать
  • Насколько важен личный сайт для разработчика?

    vUdav
    @vUdav
    Front-end developer
    Если есть гитхаб, то надобность в портфолио отпадает. Опять же если хочется выложить ссылки на какие-то проекты с закрытыми исходниками, просто создаем новый репо в гите и файлик readme.md где вешаем ссылочки на проекты, выкладываем скрины, какое нибудь описание и т.д. все как в стандартном портфолио.

    Как блог, возможно. Но только если писать с некоторой частотой (хотябы раз в месяц) и само собой что-то интересное, а иначе ни трафика, ни просмотров. Проще раз в пол года запиливать статью на хабр/гиктаймс/медиум, если есть такое желание и не хочется потерять написанный материал + обратная связь гораздо более активная.

    Если фронтендер, есть смысл завести сайт-заглушку для своего домена (как сделал я). Пусть это будет одна страница с именем и ссылками на тебя в разных местах, но в нее можно вложить все свое мастерство и показать "смотрите как я умею". Решающим фактором в выборе тебя как кандидата это конечно не станет, но может стать небольшим плюсиком "за старания".
    Ответ написан
    Комментировать
  • А расскажeте про promise и $resource?

    mudrick
    @mudrick
    Máximo progreso hemos alcanzado en minimo seso.
    Первое — чтобы преобразовать ангуларовский объект (в котором есть всякие одно- и двудолларовые параметры, все эти $xxx и $$xxx) в нормальный (т.н. raw json) нужно использовать стандартные ангуларовские методы из коробки:
    angular.fromJson(response)
    и
    angular.toJson(response)

    Просто поковыряйте эти функции и посмотрите, что они вернут.

    По поводу промисов. Когда вы вызываете какой-либо $resource-метод, например, .query(), то вам сразу же, моментально, возвращается объект с двумя параметрами — $promise и $resolved: false. После того, как ресурс получил данные, в ваш объект с двумя параметрами добавляется ещё куча данных (ну, json-данные, что вам вернул сервер), а параметр $resolved становится true.

    Так вот $promise нужен тогда, когда после загрузки данных вам нужно что-то сделать :) Ведь когда вы послали запрос, вы не знаете, когда придет ответ, а $promise знает и позволяет вам что-нибудь сделать именно после загрузки. Обращаться к промису нужно так:
    vm.data = dataService.getData().$promise.then(success, error);
    
    function success(resource) {
        // тут не данные в resource, а объект $resource с данными, тут можно почистить его через angular.fromJson и т.п.
    }

    Тут, после получения данных, ваш vm.data сразу же пополняется данными ответа (и вы там что-то выводите через ng-repeat — Ангулар там сам понимает, что выводить нужно только ваши данные, и не выводит еще два параметра $promise и $resolved, хотя они в объекте присутствуют, как вы уже в console.log вывели и убедились), а в функции success можно еще что-нибудь сделать.

    Можно так же сразу и не присваивать vm.data ничего, а сначала сделать какие-то действия в success и только потом присвоить, вот так:
    dataService.getData().$promise.then(success, error);
    
    function success(resource) {
        // тут не данные в resource, а объект $resource с данными, тут можно почистить его через angular.fromJson и т.п.
        // сначала что-нибудь делаем с полученными данными, а потом присваиваем их в скоуп
        vm.data = transformMyData(resource);
    }
    Ответ написан
    4 комментария