Визуальный Basic.NET имеет подобное With
оператор. Один из более распространенных способов, которыми я использую его, состоит в том, чтобы быстро установить много свойств. Вместо:
someObject.Foo = ''
someObject.Bar = ''
someObject.Baz = ''
, я могу записать:
With someObject
.Foo = ''
.Bar = ''
.Baz = ''
End With
Это не просто вопрос лени. Это также делает для намного большего количества читаемого кода. И в отличие от JavaScript, это не страдает от неоднозначности, поскольку необходимо снабдить префиксом все затронутое оператором с .
(точка). Так, следующие два явно отличны:
With someObject
.Foo = ''
End With
по сравнению с [1 114]
With someObject
Foo = ''
End With
Первый someObject.Foo
; последний Foo
в объеме внешний someObject
.
я нахожу, что отсутствие JavaScript различия делает его намного менее полезным, чем вариант Visual Basic, поскольку риск неоднозначности слишком высок. Кроме этого, with
все еще мощная идея, которая может сделать для лучшей удобочитаемости.
Выберите наиболее удобное для вас промежуточное ПО.
CouchApp на данный момент является экспериментальным. Основная проблема заключается в возможности повысить безопасность вашего приложения без стандартного всплывающего окна HTTP. Очевидно, что это большая проблема для стандартных веб-приложений.
Старайтесь избегать синтаксического анализа каждого запроса БД в промежуточном программном обеспечении и восстановления запроса для couchdb. Вы можете заставить ваше промежуточное ПО действовать как прокси, чтобы большинство запросов пересылалось без изменений. Вы также можете добавить уровень безопасности на промежуточном уровне поверх всех запросов, требующих аутентификации.
Выберите промежуточное программное обеспечение / платформу с хорошими возможностями маршрутизации URL-адресов. Например, вы можете направить все запросы, которые идут на mydomain.com/db/, на couchdb.
Если вы используете CouchDB, вы можете использовать CouchApp , который представляет собой набор сценариев для развертывания приложения непосредственно в базе данных CouchDB. По сути, вы пропускаете промежуточное ПО и используете представления, списки и функции CouchDB вместе с клиентским JavaScript для реализации всего приложения. Если ваше приложение работает в этой архитектуре, оно удивительно свежо, просто и круто.
Я тут кое-что подправил. В конце концов, я хотел бы перенести мой уровень контроллера MVC во фронтенд jQuery/javascript и использовать чистый JSON/REST для общения с бэкэндом. Хотя бэкэнд будет нуждаться в сильной безопасности и, для моего приложения, в некотором роде способности выполнять рабочий процесс, запросы и правила.
Вы также можете посмотреть на:
1) Couldkit, который работает на Токийском кабинете. Поддерживает JSONQuery и OAuth. Запуски на Ruby/Rack могут иметь достаточную функциональность. Похоже на сильную реализацию REST. 2) Persevere, которая основана на Java и сильно поддерживается в Додзё. Это REST-ish, но также имеет некоторые RPC-типы вызовов. В целом выглядит очень мощным, с серверным java-скриптингом и т.д.
Я бы не прочь послушать, как у вас дела.
Спасибо, Алекс
_environ = dict(os.environ) # or os.environ.copy()
try:
...
finally:
os.environ.clear()
os.environ.update(_environ)
-121--1638866- Кроме того, если вам нравится идея JSON/REST и прикрепление клиента JavaScript к серверу, более новое поколение ядра Persevere, Pintura - это чистый JS JSON/REST рамка, разработанный специально для работы с БД NoSQL.
Я написал гем под названием Rack::JSON именно для этой цели, он действует как базовый REST интерфейс к базе данных MongoDB. Он был вдохновлен Cloudkit и поддерживает JSONQuery, а также работает на Ruby/Rack. Он позволяет хранить и затем получать доступ/запрашивать документы JSON.