• Как получить json данные в Angular2 приложении?

    Вариант 1 - получаем Observable и используем AsyncPipe, который сделает всю грязную работу за нас

    html
    *ngFor="let release of releases | async"

    component
    releases: Observable<any[]>;
    
    constructor(private releasesService: ReleasesService) {}
    
    ngOnInit() {
      this.releases = this.releasesService.getReleases();
    }


    Вариант 2 - сами подписываемся

    releases: any[];
    
    constructor(private releasesService: ReleasesService) {}
    
    ngOnInit() {
      this.releasesService.getReleases()
         .subscribe(data => this.releases = data);
    }
    Ответ написан
    2 комментария
  • Как обычно пишут приложения на react.js?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    или есть какой-нибудь другой способ

    есть, сразу верстать в jsx
    Ответ написан
    Комментировать
  • Почему Firefox не "видит" шрифт Roboto?

    IIIu6ko
    @IIIu6ko
    Лучше вот так подключай шрифты:
    @font-face {
        font-family: 'Roboto';
        src: url('Roboto-Regular.woff2') format('woff2'),
               url('Roboto-Regular.woff') format('woff');
        font-weight: normal;
    }


    Если необходимо bold ещё подключить то меняешь url и font-weight, а название оставляешь тоже.
    @font-face {
        font-family: 'Roboto';
        src: url('Roboto-Regular.woff2') format('woff2'),
               url('Roboto-Regular.woff') format('woff');
        font-weight: normal;
    }
    @font-face {
        font-family: 'Roboto';
        src: url('Roboto-bold.woff2') format('woff2'),
               url('Roboto-bold.woff') format('woff');
        font-weight: bold;
    }


    Ну и в самих стилях пишешь вот так

    // Если нужен bold
    h1 {
        font-family: Roboto;
        font-weight: bold;
    }
    // Если нужен Regular
    h1 {
        font-family: Roboto;
        font-weight: normal; // Либо можно не писать т.к. по умолчанию стоит
    }


    Собственно все остальные форматы кроме woff и woff2 можешь убрать. Можно ещё добавить ttf если нужна поддержка старых Android.

    Вот кроссбраузерность woff caniuse.com/#feat=woff
    Если уж так нужен ie8, то можно ещё eot подключить, но вряд ли оно того стоит.
    Другие форматы подключаются также в src через запятую, после последнего ; не забудь.

    Вот здесь можешь почитать поподробнее про подключение
    nicothin.pro/page/web-fonts

    woff2 я здесь брал
    https://github.com/FontFaceKit/roboto
    Ответ написан
    Комментировать
  • В какой среде разрабатывать React Native приложения для андроид?

    @YuryBorodkin
    Android dev
    IDEA же, webstorm или обычная.
    atom отстой, хуже ноутпада++, даже емакс лучше.
    Ответ написан
    Комментировать
  • Как правильно создать структуру приложения на ReactJS + Laravel 5.3?

    На бэкенде: делаете rest-api с помощью Laravel.
    На фронтенде: берете реакт + редакс и разрабатываете приложение, которое будет общаться бэком через АПИ.
    Ответ написан
    Комментировать
  • Существуют ли рекомендации(техники, подходы) быстрого поиска ошибок в коде?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    При поиске ошибок необходимо использовать системный и структурный подходы плюс дедукция.
    Например, у вас есть ошибка "Клиент не получает уведомление о заказе".
    В данном случае у вас есть система заказа и система доставки почты.
    Нужно выяснить, какая именно система не работает, заказ или почта.
    Если другие письма доходят, то значит что-то не так с системой заказа.
    Аналогично разбираем на части систему заказов до момента вызова функции отправки почты.
    В данном случае нам нужен отладчик в связке с хорошей IDE.
    Устанавливаете брейкпоинт и смотрите, вызывается ли функция после создания заказа. Если да, то проверяете аргументы, нет - значит ошибка происходит до этого момента. Следовательно вам потребуется стек вызовов функций/методов. Обычно он доступен через отладчик. Используя отладчик вы можете идти по стеку вызовов как сверху вниз, так и снизу вверх. Как вам будет удобнее.
    Данный метод позволяет отлаживать ошибки в проектах любого уровня сложности.

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

    Кроме изучения самого языка, необходимо понимать, как работает почта, DNS, базы данных, очереди, стек TCP/IP и сетевые операционные системы в целом.
    Ответ написан
    Комментировать
  • Как оценить адекватность заказчика? Стоит ли тратить время на длительные переговоры до начала работы?

    @WapGeaR
    Программист
    Вот наслушаются таких чудаков, как Melanitta. Сам послушал подобное и попробовал себя в сфере "less 100$" в итоге 3 подряд заказчика-мудака и такая же реакция поддержки: "Он же не сказал что нужен вирус, он просто описал функционал, поэтому мы к нему меры не примем" и job success 50%, затем период адаптации и 2 заказа >700$ + адекватность клиентов.
    Резюмирую:
    - Начинайте со ставки, которая для вас приемлема, не занижайте свою цену.
    - Не ищите дешевые заказы, если хотите крупных - берите их.
    - Не важен опыт на upwork, важен опыт работы и умение находить общий язык.
    Ответ написан
    Комментировать
  • Правильно ли я понял, как работает токен?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Да. Все верно.

    Единственное что добавлю, пересылать токен лучше в заголовках. Причем желательно, поскольку механизм аутентификации нестандартный, в заголовке X-Authorization. Если вы решите хранить токен в куках и передавать его, это желательно должны быть http-only куки (хотя в случае JWT не обязательно) и на сервере должна быть защита от CSRF атак.

    Так же поскольку у нас по сети гуляют по сути креденшелы, важно использовать SSL. Благо сегодня есть lets-encrypt что бы бесплатно получить сертификаты.

    И последнее, что бы обезопасить себя еще, используйте refresh-токены. То есть наш уникальный токен который гуляет в каждом запросе будет иметь ограничение по времени жизни (скажем 5 минут) и для его обновления мы будем использовать refresh-токен. При получении refresh токена клиенту уходит новая пара токен + refresh-токен.

    Таким образом у злоумышленника который перехватил токен пользователя будет окно всего в 5 минут что бы что-то сделать.
    Ответ написан
    13 комментариев
  • Кто реально использует react native?

    @asperin2
    PHP разработчик
    Пишем проект, уже как с нового года, заказчику нравится, нам тоже (правда пока только ios приложение делаем).
    Проект развивается очень активно, под андроид писать тоже на нем будем.
    Доделали для IOS - https://itunes.apple.com/ru/app/projecto/id1082361... - пока демо дуступа нет, посмотреть никак :( (появится отпишусь тут)
    Для андроида получатся раза в 3-4 быстрее.
    Вот и андроид версия https://play.google.com/store/apps/details?id=com.... + появился демо режим (и в ios версии тоже)
    Ответ написан
  • Какой micro framework посоветуете?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Берите Symfony 3 в режиме микроядра. Профит:

    по умолчани - микрофреймворк, если этого будет не хватать - можно быстро перейти на symfony full stack решение. Ну и по качеству кода и тд. у компонентов симфони конкурентов нет (разве что zend может тягаться).

    вот только без ORM.


    Composer же, можно любой взять пакет реализующий ORM. А еще хороший вопрос - нужен ли вам ORM. Это не что-то что дефакто должно присуствовать. Скажем если у вас в качестве базы данных монга - то ORM уже не нужна, так как нет связей между документами (точнее их не должно быть).

    не навязывал свою структуру/архитектуру

    Этому пункту соответствует. Есть общепринятый best-practice но он в принципе только о общих вещах. А структуру вашего кода - это уже сами решайте. Так же нет никаких ограничений по архитектуре вашего приложения, симфони предоставляет вам только адаптеры для UI (HTTP, CLI и т.д.), то есть организация UI приложения. Приложение же само хоть на plain php может быть, просто пользовать инфраструктурой предоставляемой симфони.

    цеплять любые файлы независимо от их "географического" положения.


    Это вы сейчас об автозагрузке или что? Какие файлы? Хватит мыслить файлами, мыслите объектами, нэймспейсами и т.д. А мэппинг этого на файлы один раз прописывается в composer.json.

    p.s. Опять же, фреймворк это всего-лишь набор инструментов. он ничем вас не обязывает. Симфони один из немногих фреймворков который предоставляет свободу. То есть есть по дефолту структура, но вы ее поменять можете как захотите.
    Ответ написан
    1 комментарий
  • Что означает эта запись?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    это имя модуля. Вы объявляете модуль с названием "controllers.ckeditor", который зависит от модуля "ckeditor".

    ну и да - получше поучите ангуляр. И если собираетесь его именно учить - пока игнорируйте доку на оффсайте и полазайте на github в официальном репозитории. Там в пулреквестах доку конкретно переписали уже.
    Ответ написан
    1 комментарий
  • Теряется ли информация папки home ubuntu при переустановке?

    @iiiopot
    При установки системы, у вас будет возможность выбрать куда разместить /home. Либо на тот же раздел, либо на отдельный. И в первом случае, вы можете сохранить файлы в резервную копию, во втором случае, при следующей установки указать тот же раздел для домашней папки, здесь нужно быть внимательным и НЕ ставить галку "Форматировать раздел".
    И еще один момент, на что нужно обратить внимание, в конце установки, у вас попросят ввести учетные данные: логин, имя устройства и пароль, а так же предложат зашифровать раздел. Если вы поставите эту галку и перед перестановкой не сохраните passphrase ( посмотреть ее можно командой: ecryptfs-unwrap-passphrase), восстановить данные с папки /home будет невозможно.
    Ответ написан
    Комментировать
  • Теряется ли информация папки home ubuntu при переустановке?

    @Roman_Popov
    лужу, паяю, линуксом управляю
    "Все валить" не надо. Просто скопируйте папку /home. Если хочется чтобы сохранились и все настройки приложений, то надо проконтролировать, чтобы скопировались и скрытые папки-файлы, а при переустановке выбирайти такое же имя пользователя.
    Чтобы в будущем не возникало гемороя, при установке новой системы сделайте /home на отдельном разделе. Затем просто перекопируйте в новый хоум бекап старого и все.
    Ответ написан
    Комментировать
  • Теряется ли информация папки home ubuntu при переустановке?

    Pinsky
    @Pinsky
    Кофеиноникотиновая смесь в backend-код
    В зависимости от разметки диска. У меня папка home на отдельном разделе - не теряется, потому что я раздел с ней не форматирую.
    Закиньте в облако все что вам важно. И на флэшку. И на выносной жесткий.
    Ответ написан
    Комментировать
  • Ка получить значение из родительского скоупа в директиве Angular?

    AMar4enko
    @AMar4enko
    Приведите пример, где используется эта директива вместе с кодом, где в scope попадает node.
    Ответ написан
    1 комментарий
  • Дипломный проект, как можно реализовать?

    DmitryVoronkov
    @DmitryVoronkov
    Python Developer
    Ну наверное, у тебя будут курьеры (Users), и "точки" доставки (Places).
    К одному пользователю ты можешь привязать множество "точек" доставки.
    У пользователя есть начальная точка (координаты), откуда он начнет свой маршрут. У "точек" доставки тоже есть координаты. С помощь. одного из алгоритмов, например Алгоритм Дейкстры, ты можешь построить оптимальный маршрут. Это если задача предполагает, что оптимальный маршрут должен быть реализован приложением, если нет, то совсем все просто.
    Ответ написан
    3 комментария
  • Как отобразить картинку, полученную из mongo?

    riky
    @riky
    Laravel
    файлы нужно хранить в файлах, а не в базе.

    но раз уж вляпались
    для отображения у вас два пути либо вставлять ее в тело data base64
    либо делать отдельный роут ( /image/14578.jpg ) который по ид будет выводить тело картинки в вывод (res.send(post.image)) в вывод +
    добавлять в заголовки "Content-Type: image/jpeg"
    Ответ написан
    3 комментария