Google I/O 2016: развитие платформы Firebase

Автор: admin от 2-06-2016, 21:05, посмотрело: 530

Привет, Хабр! Полтора года назад команда разработчиков Firebase вошла в наш дружный Google-коллектив. С тех пор наш BaaS (backend-как-сервис) вырос больше чем в четыре раза — со 110 до 450 тысяч разработчиков. И всё это время мы предоставляли всё те же услуги —  БДРВ (базы данных реального времени), авторизацию пользователей, хостинг — делая разработку приложений проще. Настало время двигаться дальше, так что мы рады представить вам крупное расширение возможностей Firebase.

Google I/O 2016: развитие платформы Firebase


Firebase становится универсальной платформой для построения Android-, iOS- и мобильных веб-приложений. Новые инструменты, направленные на упрощение разработки, привлечения пользователей и монетизации, а также новый продукт в области аналитики ждут вас под катом.

Категория: Веб-разработка, Google, Android, iOS

 

PHD VI: как у нас угнали дрона

Автор: admin от 2-06-2016, 19:40, посмотрело: 590

PHD VI: как у нас угнали дрона


В этом году на PHDays был представлен новый конкурс, где любой желающий мог перехватить управление квадрокоптером Syma X5C. Производители часто полагают, что если они используют не IP-технологии, а какой-нибудь другой беспроводной стандарт, то можно не думать о защищенности. Как будто хакеры махнут рукой, решив, что разбираться с чем-то, кроме IP, — это слишком долго, сложно и дорого.

Но на самом деле, как мы уже много раз упоминали, SDR (software-defined radio) — отличный инструмент для доступа в мир IoT, где уровень вхождения определяется уровнем добросовестности производителя IoT-решений. Однако даже не имея SDR можно творить чудеса, пусть и в ограниченном пространстве частот и протоколов.

Цель — перехватить управление дроном.

Входные данные:


  • диапазон управления дроном: 2,4 ГГц ISM,

  • управление осуществляется модулем nRF24L01+ (на самом деле — его клоном BK2423).


Средства (выдавались желающим): Arduino Nano, nRF24L01+.

Результат — угонщик получил Syma X8C в подарок.

Так как среди желающих угнать наш дрон оказались уже подготовленные люди, имеющие в арсенале HackRF, BladeRF и другие серьезные игрушки, мы опишем два метода — SDR и непосредственно nRF24L01+.

Категория: Программирование, Информационная безопасность

 

Динамический неоднородный плотно упакованный контейнер

Автор: admin от 2-06-2016, 13:50, посмотрело: 404

Определение 1. Однородный контейнер – это такой контейнер, в котором хранятся объекты строго одного типа.


Определение 2. Неоднородный контейнер — это такой контейнер, в котором могут храниться объекты разного типа.


Определение 3. Статический контейнер — это контейнер, состав которого полностью определяется на этапе компиляции.


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

Определение 4. Динамический контейнер — это контейнер, состав которого частично или полностью определяется на этапе выполнения.


По такой классификации, очевидно, существуют четыре вида контейнеров:



  • Статические однородные




  • Статические неоднородные




  • Динамические однородные




  • Динамические неоднородные


    Вот об этом виде контейнеров и пойдёт речь в данной статье.


  • Категория: Программирование

     

    Дайджест KolibriOS #12

    Автор: admin от 2-06-2016, 13:25, посмотрело: 394

    Дайджест KolibriOS #12Очередной выпуска нашего дайджеста с описаниями изменений за последние 3 месяца. Срок короткий, но по событиям он оказался достаточно интересным. Подробности под катом.

    Категория: Программирование, Системное администрирование, iOS

     

    Deployer — удобный и гибкий деплой приложений

    Автор: admin от 2-06-2016, 12:30, посмотрело: 917

    Несомненно, тема, думаю, многими заезжена до дыр — всё-таки, деплой надо делать для каждого проекта — но я всё же подниму её и расскажу об одном замечательном инструменте, о котором, по какой-то странной причине, до сих пор ничего не написали на Хабре, да и вообще в русскоязычном сегменте как-то о нём мало что написано. Исправим это недоразумение.


    Deployer хорош во многих отношениях. Код скрипта для деплоя получается коротким. Написан на старом добром Пыхчанском, запакован в самоисполняемый бинарник — то бишь, ставить отдельно какие-то другие инструменты на сервер вам не придётся. Почему-бы и не заюзать его в своих проектах?

    Категория: Программирование

     

    Docker на службе команды .NET-разработчиков

    Автор: admin от 2-06-2016, 12:05, посмотрело: 520

    Docker — инструмент автоматизации развертывания и управления приложениями в среде виртуализации на уровне операционной системы. Docker позволяет развертывать приложения в переносимых контейнерах и управлять такими контейнерами. Распространяется компанией Docker как свободное программное обеспечение.
    Мы поговорили с Никитой Цукановым из компании  Promarket о том, в чем преимущества Docker и как его использовать для развертывания серверных приложений и управления ими.

    Docker на службе команды .NET-разработчиков


    — В чём актуальность контейнерной виртуализации приложений, как она упрощает развертывание приложений и управление ими?

    Docker на службе команды .NET-разработчиков Корпоративные ИТ-команды очень часто сталкиваются с трудностями в развертывании приложений. Вполне «нормальна», к сожалению, ситуация, когда между разработчиками приложений и ИТ-администраторами отсутствует диалог, когда только один человек в компании знает, какие кнопки надо нажать, чтобы приложение развернулось, а администратор сам ничего сделать не может — потому что существует один-единственный человек, у которого есть сакральные знания о том, как нужно развертывать проект. Случается и такое, что нужно запустить, например, четыре разные версии (иногда почти одинаковые, но все же разные) на разных конфигурациях, на разных машинах, а потом это все поддерживать.

    У меня довольно большой опыт подобных проектов, и я выделяю следующие основные проблемы с развертыванием приложений. Первая: очень длинная инструкция по развертыванию, очень сложный процесс развертывания, никто не понимает, что в каком порядке нужно развертывать. Вторая: одно приложение необходимо тиражировать для работы с разными клиентами. Третья: несколько серверных приложений должны работать на одном и том же сервере, и их окружение несовместимо между собой, к примеру, вы решили использовать у себя Linq2Excel, но он требует установки Access Database Engine, 32- и 64-битные версии которого не могут быть установлены одновременно.

    Категория: Программирование

     

    Роботы и робототехника: Дайджест Университета ИТМО

    Автор: admin от 2-06-2016, 11:35, посмотрело: 600

    Роботы и робототехника: Дайджест Университета ИТМО


    Широкое использование роботов во всех сферах науки и повседневной жизни привлекает внимание ученых со всего мира. В частности, сотрудники Университета ИТМО, недавно ставшего одним из лидеров Проекта 5-100, известны научными достижениями в этой области. В этом дайджесте – статьи о последних исследованиях и разработках в сфере робототехники, опубликованные в журналах Университета ИТМО, начиная от стабилизации двуногих роботов и заканчивая внедрением технологии дополненной реальности в пилотируемые космические комплексы.

    Категория: Программирование » Веб-разработка

     

    Ещё больше комфорта в разработке фронтенда с TARS

    Автор: admin от 2-06-2016, 11:10, посмотрело: 849

    Ещё больше комфорта в разработке фронтенда с TARS

    Прошли очередные полгода с последних новостей о TARS (раз и два), а значит настало время поделиться новинками. Как всегда напомню, что TARS — это основанный на Gulp сборщик фронтенда, который помогает фронтенд-разработчику или даже целой команде создавать проекты любой сложности. Мы продолжаем уверенное шествие по России и не только. TARS уже используют в Нидерландах, Японии, Китае, Украине, Польше и других странах. Это можно заметить и по количеству звёзд на github, и по числу участников чата в gitter, и по количеству установок TARS-CLI за последний месяц (больше тысячи, а в пике больше 3 тысяч). Мы закрыли почти две сотни issue, выпустили два крупных обновления. Пользователи сборщика активно репортят, участвуют в разработке. Можно сказать, что у нас родилось маленькое сообщество.
    Подробности

    Категория: Программирование » Веб-разработка

     

    Model-View в QML. Часть четвертая: C++-модели

    Автор: admin от 2-06-2016, 10:55, посмотрело: 482

    Поскольку основное предназначение QML — это создание интерфейсов, то в соответствии с шаблоном MVC, на нем реализуются представление и контроль. Для реализации же модели, совершенно логично напрашивается C++. Здесь у нас будет гораздо меньше ограничений и мы сможем реализовать модель любой сложности. Кроме того, если значительная часть программы написана на C++ и данные поступают именно оттуда, то лучше всего там же поместить и модель.


    От использования такой модели может отпугнуть кажущаяся сложность реализации. Я не стану спорить с тем, что C++ не самый простой язык. Он посложнее QML и требует больше осторожности, чтобы не выстрелить себе в ногу, это факт. Несмотря на это, на практике не все так уж и страшно.


    Во-первых, не будем забывать, что мы пишем не на чистом С++, а с использованием Qt. Такие вещи как parent-child в QObject, implicit sharing для контейнеров, сигналы и слоты, QVariant и многое другое очень сильно упрощают и автоматизируют работу с памятью, чем избавляют разработчика от массы головной боли и повышают надежность. Иногда даже создается впечатление, что пишешь на динамическом языке программирования. Это же сокращает пропасть между QML и C++, делая переход между ними более-менее плавным.


    Во-вторых, все модели QML в конечном итоге приводятся к этим самым C++-моделям, только мы получаем упрощенный вариант и не самое максимальное быстродействие. Если уже есть понимание, как работать с моделями на QML, то с C++-моделями будет справиться проще. Мы просто узнаем в процессе чуть больше низкоуровневой информации, заодно улучшится понимание, как все это работает.


    В общем, освоить C++-модели очень даже стоит. В особенности это касается QAbstractItemModel, с которой мы и начнем.


    Model-View в QML:



    • Model-View в QML. Часть нулевая, вводная

    • Model-View в QML. Часть первая: Представления на основе готовых компонентов

    • Model-View в QML. Часть вторая: Кастомные представления

    • Model-View в QML. Часть третья: Модели в QML и javascript

    • Model-View в QML. Часть четвертая: C++-модели

    Категория: Программирование

     

    Дайджест разработки на Unreal Engine

    Автор: admin от 2-06-2016, 10:40, посмотрело: 604

    Игры на Unreal Engine, разработка на Unreal Engine, туториалы для Unreal Engine и другие интересные материалы об Unreal Engine вы найдете в нашем дайджесте. И кажется, мы забыли упомянуть самое главное – дайджест посвящен Unreal Engine.

    Дайджест разработки на Unreal Engine
    Читать все

    Категория: Программирование » Веб-разработка

     
    Назад Вперед