Базовые Данные - Отступающий до Google App Engine (iPhone)

Я рассматриваю создающие резервную копию данные из приложения для iPhone с помощью Google App Engine (GAE) - я также рассматривал использование Python для создания УСПОКОИТЕЛЬНОГО приложения для контакта с входящими/исходящими данными.

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

Я задавался вопросом, были ли какие-либо хорошие учебные руководства/ресурсы при выполнении вышеупомянутого или является ли это, возможно, чем-то, что другие попытались реализовать.

Любой совет или указатели, приветствовался бы.

6
задан Urizen 19 January 2010 в 18:02
поделиться

3 ответа

AN Реализация открытого источника сервера отдыха для Gae-Python доступна здесь .

Я ничего не знаю о Core-data, но я мог легко хранить объекты в GAE, если вы можете сериализовать их как двоичный или XML.

Двоичные объекты до 1 МБ могут храниться как BLOBPROPERTY , а строки как TextProperty .

Существует также API API Blobstore для объектов до 50 мегабайт .

5
ответ дан 16 December 2019 в 21:40
поделиться

Если вы хотите сохранить данные на сервере (или синхронизировать его), вы хотите пройти через посреднический формат. Я лично рекомендую JSON, так как его можно легко использовать с основными данными. Поскольку вы можете получить словарь всех значений в объекте, это тривиально преобразовать это дикцию к данным JSON и подтолкнуть его через провод на свой сервер. Затем ваш сервер может получить данные JSON и перевести его в любой формат, который сервер хочет сохранить его.

3
ответ дан 16 December 2019 в 21:40
поделиться

Это проблема, вызванная реализацией плавающих элементов, и возникает при наличии родительского элемента, который не содержит ничего, кроме плавающих дочерних элементов. Есть два метода его решения. Во-первых, свойство overflow родительского элемента должно иметь значение hidden , иногда называемое overflow method . Другой метод известен как метод clearfix и предполагает использование : после псевдокласса.

Метод clearfix имеет то преимущество, что позволяет специально позиционированным элементам «зависать» вне родительского контейнера, если они когда-либо нужны, за счет дополнительной CSS и разметки. Это способ, который я предпочитаю, так как я часто использую висячие элементы.

-121--3140628-

Когда вы повторно используете инструменты из стандартной библиотеки, а не «заново изобретаете колесо», самостоятельно кодируя их с нуля, вы получаете не только хорошо оптимизированное и настроенное программное обеспечение (иногда удивительно, как часто в случае itertools компонентов): Более того, вы получаете большое количество функциональных возможностей, которые вам не нужно тестировать, отлаживать и поддерживать самостоятельно - вы используете все испытания, отладку и обслуживание многих великолепных программистов, которые вносят свой вклад в стандартную библиотеку!

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

По пути термин «group by» имеет хорошо определенное, идиоматическое значение для большинства программистов, благодаря его использованию в SQL (и аналогичному использованию в itertools собственно): Поэтому я бы предложил вам избегать использования его для чего-то совершенно другого - это только приведет к путанице в любое время, когда вы сотрудничаете с кем-либо еще (надеюсь, часто, поскольку расцвет сольного, «ковбойского» программиста давно ушел - еще один аргумент в пользу стандартов и против реинвенции колес; -).

Наконец, ваша docstring не соответствует сигнатуре ваших функций -- arguments-order error; -).

-121--4585751-

Сопоставить основные объекты данных с объектами хранилища данных GAE? Если да, то это может быть сложно. Как вы говорите, вы должны реализовать логику сервера с python или Java, и вы r iPhone объекты в Objective-C. Для их сериализации/десериализации потребуется определенная схема.

Если бы для GAE требовалось только резервное копирование, проще было бы сериализовать объекты данных Core и сохранить их в GAE в виде блоков с парами «ключ-значение».

Мне неизвестно о каких-либо подобных подходах, поэтому я буду следить за этим постом.

0
ответ дан 16 December 2019 в 21:40
поделиться