Pull to refresh
16
0
Виктор Чернов @databoom

User

Send message

Панель управления databoom. Работа с коллекциями. Часть 2

Reading time 1 min
Views 1.4K
Привет Хабр! Мы продолжаем знакомить разработчиков с сервисом databoom.

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



JSON файлы, используемые в видео, хранятся здесь: github.com/Databoom/pub-src

Подробнее познакомиться с сервисом databoom и БЕСПЛАТНО зарегистрироваться можно на сайте databoom.space
Total votes 9: ↑7 and ↓2 +5
Comments 2

Панель управления databoom. Работа с коллекциями. Часть 1

Reading time 1 min
Views 2.2K
Привет Хабр! Мы продолжаем знакомить разработчиков с сервисом databoom.

В этом видео мы расскажем Вам, как и зачем создавать коллекции в базе данных databoom, как присваивать им объекты, используя панель управления databoom.



JSON файлы, используемые в видео, хранятся здесь: github.com/Databoom/pub-src

Подробнее познакомиться с нашим сервисом и БЕСПЛАТНО зарегистрироваться можно на сайте databoom.space
Total votes 9: ↑8 and ↓1 +7
Comments 0

Панель управления databoom. Управление базой данных

Reading time 1 min
Views 1.7K
Привет Хабр! Мы продолжаем знакомить разработчиков с сервисом databoom.



В этом ролике мы рассказываем о том, какие общие средства работы с базой данных предоставляет панель управления databoom.
Total votes 7: ↑3 and ↓4 -1
Comments 2

Databoom. Начало работы. Панель управления

Reading time 1 min
Views 2.9K
Привет Хабр! Мы продолжаем знакомить разработчиков с сервисом databoom. В этом ролике мы рассказываем о том, как зарегистрироваться и начать работать с сервисом databoom, а также проводим небольшой обзор панели управления.



В следующих роликах мы подробно расскажем обо всех разделах панели управления, об использовании API для создания приложений, о новых возможностях сервиса databoom.
Total votes 17: ↑9 and ↓8 +1
Comments 4

Как сделать автосинхронизацию данных во время редактирования ячеек Kendo Grid

Reading time 2 min
Views 2.4K
Хотим поделиться со всеми переводом нашей недавней статьи с Codeproject.com: «Как сделать автосинхронизацию данных во время редактирования ячеек Kendo Grid».

Kendo Grid использует DataSource, в котором свойство autoSync можно выставить в true. В этом случае после редактирования ячейки она автоматически обновляет данные в базе. Но при этом возникает большое неудобство: после того, как мы отредактировали одну ячейку и кликаем в другую, Kendo Grid вроде бы открывает редактор в новой ячейке. Но в этот самый момент происходит автосинхронизация (Grid обновляет данные), и редактор исчезает. Приходится кликать дважды, во вторую ячейку, чтобы заставить Kendo Grid ее редактировать.

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

Для этого нужно сделать немало.
Читать дальше →
Total votes 9: ↑2 and ↓7 -5
Comments 7

Вебинар Databoom на неделе вебинаров Microsoft

Reading time 1 min
Views 1.5K
Приглашаем всех присоединиться к нашему вебинару «Сократи путь от идеи до рынка с Databoom», который состоится в среду, 25 ноября, в 16 часов по московскому времени. Этот вебинар входит в «неделю вебинаров со стартапами» от Microsoft.

В данном вебинаре мы подробно расскажем про сервис databoom и покажем, как databoom может использоваться для быстрого прототипирования приложений.

Зарегистрироваться на вебинар можно здесь: info.microsoft.com/CE-Azure-WBNR-FY16-11Nov-25-Cloud-Database-And-Backend.html

Больше узнать о «неделе вебинаров со стартапами» от Microsoft можно здесь: info.microsoft.com/CE-Azure-CLE-F16-15Oct-CLEPage_CLE-Page.html
Total votes 7: ↑7 and ↓0 +7
Comments 0

Webix + databoom = быстрое прототипирование приложений. 
Часть 2

Reading time 1 min
Views 5.4K
Привет Хабр! Мы продолжаем рассказывать, как Webix и databoom могут использоваться для быстрой разработки прототипов приложений. В предыдущем скринкасте мы показали, как Webix datagrid работает с удаленными данными на сервере databoom.

Сегодня мы попробуем разработать прототип приложения, которое отображает дерево отделов компании и для каждого отдела справа в таблице показывается список сотрудников с возможностью добавления, редактирования и удаления как сотрудников, так и отделов.

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



Спасибо за внимание, готовы ответить на ваши вопросы в комментариях.
Исходный код рассмотренного примера: codepen.io/vladislav2/pen/KpYpJw?editors=001
Total votes 18: ↑17 and ↓1 +16
Comments 0

Webix + databoom = быстрое прототипирование приложений

Reading time 1 min
Views 11K
Привет Хабр! В этом скринкасте мы рассказываем, как Webix и databoom могут использоваться для быстрой разработки прототипов приложений. Webix – это набор JavaScript компонентов для создания пользовательского интерфейса. Databoom – это облачный backend основанный на графовой базе данных. Вместе они дают кумулятивный эффект. С помощью Webix вы можете написать frontend в несколько строчек кода, а databoom даёт готовый и очень лёгкий в использовании backend. Как говорится, лучше один раз увидеть:



Спасибо за внимание, готовы ответить на ваши вопросы в комментариях.
Исходный код рассмотренного примера: codepen.io/vladislav2/pen/WvPzqd?editors=001
Total votes 17: ↑15 and ↓2 +13
Comments 15

Databoom: создавайте приложения — мы поддержим

Reading time 7 min
Views 9.5K
Разработка собственных Web и мобильных приложений стала не только современным способом заработка стартапов и программистов-одиночек, но и объективной потребностью многих компаний, которые раньше не задумывались о том, чтобы создавать собственное программное обеспечение. Web и мобильные приложения создаются различными компаниями: СМИ, рекламными агентствами, магазинами, разработчиками классического корпоративного ПО в дополнение к основному софту и пр. Такая ситуация сложилась благодаря широкому распространению Интернета — теперь, чтобы завоевать своего клиента, с ним нужно быть рядом в любое удобное для него время.

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

image
Читать дальше →
Total votes 27: ↑20 and ↓7 +13
Comments 11

OData REST API — мелкие хитрости (часть 1)

Reading time 2 min
Views 13K
Протокол OData имеет множество скрытых достоинств (хотя и недостатков хватает). Начиная с этой статьи, мы хотели бы поделиться мелкими полезными хитростями использования протокола OData.
Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Comments 18

Анонс JavaScript библиотеки databoom

Reading time 1 min
Views 2K
Уважаемые коллеги, мы реализовали первую версию JavaScript библиотеки для работы с сервисом databoom.space

Библиотека позволяет в несколько строк кода сохранять и получать данные, выполнять запросы к базе данных. Например,

var pers = [{ name: 'John' }, { name: 'Jane' }]
pers[0].wife = pers[1];
pers[1].husband = pers[0];
 
// Create a connection to your databoom database
var db = databoom('http://samples.databoom.space', 'sandboxdb');
db.save('persons', pers); //save data even with cyclic links

Более подробно можно посмотреть здесь: databoom JavaScript Guide.
Total votes 7: ↑3 and ↓4 -1
Comments 0

Асинхронный рекурсивный итератор и борьба с callback в Node.js

Reading time 2 min
Views 7K
На Хабре было уже довольно много статей про новые возможности стандарта ECMAScript 6 (например,«Отказываемся от коллбэков: Генераторы в ECMAScript 6») и многие используют эти возможности.

Используя примеры из приведенной статьи, мы можем:
1. Легко написать любой итератор, например, итератор по дереву
2. Написать псевдо-синхронный код (борьба с callback)

Но что делать, если нам надо написать рекурсивный итератор по дереву, а получение дочерних узлов требует вызова асинхронной функции с передачей callback?

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

function* iterTree(treenode) {
    var children = getChildren(treenode);
    if (children) { // inner node
        for (let i=0; i < children.length; i++) {
            yield* iterTree(children[i]); // (*) recursion
        }
    } else { // leaf node
        yield treenode;
    }	
}

Приведенный выше пример прост, поскольку использует синхронный вызов функции getChildren. Если же функция getChildren асинхронная и требует передачи callback (например, это получение данных с диска или по сети) – то все существенно усложняется. Мы уже не можем так просто написать (следуя примерам из приведенной выше статьи)

let children = yield getChildren(treenode, resumecallback);

В этом случае функция iterTree остановится в месте вызова оператора yield и передаст управление вызывающей функции. Но у нас рекурсивная функция – и вызывающая функция тоже передаст управление выше (оператор yield *). В результате пользователь нашего итератора будет получать узлы дерева, перемежаемые неожиданными значениями.
Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Comments 0

Грид, группировка данных и OData

Reading time 4 min
Views 8.4K
В одной из прошлых статей мы кратко рассказали, как грид контролы работают с удаленным сервером, используя OData протокол. Большинство современных грид контролов позволяют удобно группировать данные по нескольким колонками. Рассмотрим подробнее, как формулируются запросы к REST серверу, в случае, когда грид производит автоматическую группировку данных.

Удобство (зачем это нужно)


Грид контролы, позволяющие группировать записи по нескольким колонкам, существенно упрощают жизнь как программисту, так и конечному пользователю. Очень удобно иметь возможность сгруппировать, например, список задач, выделить задачи, требующие помощи, разделить их по приоритетам, и т.д.

image
Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Comments 0

OData + Angular.js + Bootstrap + JavaScript Grid = приложение за 5 минут

Reading time 6 min
Views 32K
Предположим в некотором проекте появилась необходимость добавить некоторую форму опроса пользователей на веб сайте (детальная форма) и форму для просмотра и редактирования списка пользователей для администратора системы (списковая форма).

Рассмотрим процесс создания этих форм с использованием OData, Angular.js, Bootstrap и JavaScript Grid. Все требования к такому приложению уже реализованы в этих инструментах, и нам практически не требуется ничего писать.

Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Comments 9

Как JavaScript Grid работает с протоколом OData

Reading time 4 min
Views 8.3K
В прошлой статье мы упоминали, что:
В настоящее время существует большое количество библиотек, поддерживающих протокол OData, и каждый день появляются новые. В частности, с OData работают такие JavaScript библиотеки, как Kendo UI, DevExtreme Web, Syncfusion HTML5 controls, Infragistics HTML5 controls, OpenUI5, Wijmo, JayData, Breeze.js, datajs, ODataJS, angular-odata, и т.д.

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

Мы подготовили примеры того, как гриды работают с OData.

Основные запросы грида к серверу:
  • Получить общее количество записей, удовлетворяющих некоторому условию.
  • Получить выборку из общего набора записей для показа на одной странице.
  • Получить весь набор записей.
  • Отсортировать записи по одному или нескольким полям.
  • Отфильтровать записи по некоторому набору условий.
  • Добавить новую запись.
  • Модифицировать запись.
  • Удалить запись.
  • Batch update – добавление, изменение и удаление группы записей.

Рассмотрим детальнее основные запросы на примере
Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Comments 0

OData REST API и рекурсивные запросы

Reading time 1 min
Views 8.7K
В дискуссии к предыдущей статье dezconnect поднял интересный вопрос о возможностях OData выполнять рекурсивные запросы (по аналогии с SQL CTE).

В документации OData в разделе 11.2.4.2 описывается опция запроса $expand. Эта опция позволяет получать объекты вместе со связанными объектами. Например, Вы можете получить данные о компании вместе со всеми данными о ее президенте:
https://samples.databoom.space/api1/sampledb/collections/companies(company1)?$expand=president

Без опции $expand результат будет включать только id президента компании (или ссылку при других настройках).
https://samples.databoom.space/api1/sampledb/collections/companies(company1)

В 4й версии OData существенно расширены возможности опции $expand для выполнения рекурсивных запросов.

Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Comments 0

Управление данными с помощью протокола OData

Reading time 3 min
Views 62K
Open Data Protocol (OData) – это открытый веб-протокол для запроса и обновления данных. Протокол позволяет выполнять операции с ресурсами, используя в качестве запросов HTTP-команды, и обмениваться данными в форматах JSON или XML.

OData является одним из лучших стандартов для создания RESTful API.

Вы можете запрашивать данные используя простые HTTP запросы, например:
https://samples.databoom.space/api1/sampledb/collections/persons?$filter=firstname eq 'Lamar'
Найти всех людей по имени Lamar.

OData позволяет задавать огромное число параметров, которые позволяют сформировать очень сложные запросы к источнику данных, например:
https://samples.databoom.space/api1/sampledb/collections/books?$filter=publisher/president/likes/author/firstname eq 'Georgie'&$top=10&$orderby=title
Выбрать все книги, удовлетворяющие следующему условию: президент издательства в котором издана книга, любит книги некоего автора с именем “Georgie”. Результат запроса необходимо отсортировать по названию, выдать первые 10 книг.

Язык запросов OData сопоставим по мощности с SQL.
Читать дальше →
Total votes 18: ↑13 and ↓5 +8
Comments 21

Information

Rating
Does not participate
Date of birth
Registered
Activity