Рубрика «Dispatch»

Starship Technologies запустит более 1000 роботов-курьеров по корпоративным кампусам Европы и США - 1
Роботы Starship Technologies по доставке продуктов. Фото: Starship Technologies

Британско-эстонская роботехническая компания Starship Technologies, созданная основателями Skype, несколько лет тестирует автономных роботов по доставке товаров. Эти милые существа уже знакомы жителям многих крупных городов. Хотя отдельные несознательные горожане проявляют к ним агрессию, но в целом роботы доказали свою эффективность: клиенты довольны, качество услуг высокое.

За время тестирования в рамках совместных проектов с несколькими компаниями по доставке продуктов роботы Starship Technologies проехали более 150 000 километров в США, Эстонии, Великобритании и Германии. Так что сейчас пришло время для расширения эксперимента.
Читать полностью »

vue mixinsНедавно перешел с PolymerJS на VueJS для некоторых задач. Совместно с polymer использовал Redux через библиотеку polymer-redux. Поэтому вся бизнес-логика уже была сформирована на уровне redux store. Для связки vue и redux выбрал библиотеку vuedeux. В awesome vue в разделе redux представлена еще одна библиотека для связки с redux — revue, но мне показалось эффективней использовать именно vuedeux, за счет интеграции redux store непосредственно в «свой redux» для vue vuex, для возможного использования его в будущем.
Читать полностью »

При создании портала крайне часто основной функцией BackEnd является работа с БД. Как правило сейчас никто не использует обычные и не очень удобные для написания Statement’ы, а в место этого используют ORM фреймворки. В случае с GWT этим фреймворком скорее всего становится Hibernate, так как на сервере у нас Java. Мне далеко не первому пришла в голову мысль о том, что крайне удобно и просто было бы передавать не отдельные данные а целиком POJO(персистентные объекты) используемые Hibernate. Вот я создал свой сервис, возвращающий на клиентскую часть POJO. POJO пронаследовал от Serializable. Запускаю приложение и получаю вот такое вот исключение:

Caused by: com.google.gwt.user.client.rpc.SerializationException: Type 'org.hibernate.collection.PersistentSet' was not included in the set of types which can be serialized by this SerializationPolicy or its Class object could not be loaded. For security purposes, this type will not be serialized.
at com.google.gwt.user.server.rpc.impl.StandardSerializationPolicy.validateSerialize(StandardSerializationPolicy.java:83)
at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:591

Не сразу понятно что пошло не так. Дело в том, что как только объект становится персистентным, в нем происходит ряд изменений, необходимых для работы Hibernate. Например обычные Set меняются на PersistentSet. Из-за этого браузер уже никак не может десериализовать отправленный ему объект, ни при каких условиях.Читать полностью »

Предисловие

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

Поначалу была надежда, что платформа позволит использовать технологию EJB. После некоторых поисков в Интернете, я убедился, что это не так просто. Большинство источников рекомендовало использовать вебсервисы как альтернативу, т.к. EJB слишком тяжеловесна для Android. Для вебсервисов же рекомендовался фреймворк ksoap2-android.

Понатыкавшись на различные грабли при первоначальном изучении ksoap2, я дошел до этапа, когда необходимо было послать и получить с сервера объект своего кастомного типа. Воспользовавшись поиском нашел вот эту статью. Оттуда почерпнул, что каждый кастомный объект должен реализовать интерфейс KvmSerializable. Это же подразумевало, что мы должны реализовать методы для сериализации и десериализации объекта. Поскольку в теории предполагалось использовать больше сотни собственных объектов, идея писать реализацию KvmSerializable для каждого из них как-то не вызывала у меня энтузиазма.
Читать полностью »