ermouth: (Default)
[personal profile] ermouth

-------------Последние новости---------------

На айфоне заработало. Только на четвёртом. Я кста поменял свой 2G на 4, когда за вертолётиком ездил – нарадоваться не могу.

Гугл ко мне таки пришёл и проиндексировал ajax. То-есть, вот например: http://www.google.com/search?q=баня+из+сосны+site%3Abizwood.ru. Стало быть, проблемы с нечёткими запросами нет больше. Осталось вкрутить поиск Гугла на Бизвуд.

-------------  Конец новостей  ---------------

JSON schema. Валидация.

Очевидно, что данные о разных видах продуктов при занесении надо проверять. Так как формат, в котором у нас данные появляются, транспортируются и хранятся, один и тот-же – json – было бы разумно использовать одну и ту-же схему проверки этого джейсона и на клиенте, и на сервере.

Вообще, вопрос схемы встал для меня в определённый момент довольно остро. У меня было три варианта:

  • писать свой, специфичный для моих нужд валидатор для мной придуманного метаязыка схемы, я даже начал его продумывать
  • конвертить json в xml и валидацию проводить xsd-схемами
  • найти таки подходящую реализацию схемы для джейсона

Первые два варианта очень быстро отвалились. Даже грубые прикидки по первому варианту показали, что я не уложусь скорее всего по времени. По второму – что клиентская часть станет просто монстром.

По третьему варианту библиотеку приемлемой длины для браузера я нашёл быстро и она почти идеальна. Вот она --  https://github.com/garycourt/JSV. Её пришлось совсем немного надстроить.

С php пришлось повозиться, и я ещё до сих пор не до конца решил проблемы – в частности, поэтому до сих пор закрыта регистрация. Все json-валидаторы на php, что я нашёл, очень далеки от совершенства – а именно они должны определять можно класть данные в базу или нет.

Использование json-схемы даёт возможность интегрировать описание структуры данных и интерфейса для ввода этих данных. Дело в том, что json-schema – это тоже json-данные, и причём расширяемые. То-есть надстроив на ветки схемы какой-то метаязык описания интерфейса, можно глубже объединить валидацию с отображением/вводом.

Это всё довольно быстро написалось и заработало. 

image

Валидация идёт в реальном времени, прямо при наборе. Также, как и автозамена. Это так выглядит:

image

Помимо красных предупреждений обращаем внимание на то, что между цифрами стоит правильный знак умножения – типографский знак × (в Винде Альт-0215 в английской раскладке). А набирал я просто астериск *, в крестик его превратила автозамена при наборе.

Это всё надстройки над схемой. Так легче обеспечивать однородность данных.

Пока всё, перфоратор утих. Я выпил 50 бехеровки и попробую уснуть )

Date: 2011-05-06 05:29 am (UTC)
From: [identity profile] mastre.livejournal.com
а что становится с окном (на картинке - "обрезная доска"), если у пользователя окно браузера сделано небольшим?

Date: 2011-05-06 11:16 am (UTC)
From: [identity profile] ermouth.livejournal.com
ничего не становится. остаётся таким-же, как и на большом.

Profile

ermouth: (Default)
ermouth

November 2021

S M T W T F S
 123456
78910111213
14151617181920
21 222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 24th, 2025 10:07 pm
Powered by Dreamwidth Studios