LINUX.ORG.RU

Работа


0

0

Итак, Ubuntu с emacs+cedet из CVS. Что порадовало - стал намного быстрее работать с Python + научился нормальному фолдингу. Далее собственно суть сабжа - что-то типа мини-языка, который строит гуйню к базам данных. Причем самое сложное - это написать SQL запрос и описать поля. Далее прога сама строит гуйню, включая все необходимые диалоги, генерирует нужные SQL-запросы. Если есть связь master-detail (справочники, другими словами) - для них тоже все строится автоматом. Работу с таким справочником видно при редактировании поля "Принадлежность к группе" - под полем видно таблицу выбора нужного варианта.

Написано все это дело на Python+Tkinter.

ЗЫ. Просьба к модераторам. Опубликуйте в будний день - возможен конструктивный диалог, а в выходные доступа к инету у меня нет.

>>> Просмотр (1024x768, 59 Kb)

★★★★

Проверено: Shaman007 ()

Ну и кто мне теперь визит к окулисту и лечение оплатит?

anonymousI
()
Ответ на: комментарий от ero-sennin

http://sqlalchemy.org/ , насколько я понял, ориентирован на вэб. На шелво, посмотрю, не знал за него, спасибо. Но ни одного скрина с гуем я не увидел, надо пробовать. Да и потом, не знаю насколько просто его будет приспособить для уже готовой базы. Тем более это уже боевая система, на которой работают несколько модулей.

cab ★★★★
() автор топика
Ответ на: комментарий от cab

хорошо, что работа!!

p.s. сорри, но зацените мой скрин http://www.linux.org.ru/profile/kbps/view-message.jsp?msgid=1870325
а то модер убил его, сказал типа Xearth старьё.. а ведь у меня никакой не xearth!!!! :((( а главное хреновы кубы пропустил.. но ведь кому нужны эти кубы?!

kbps ★★★
()

Автор, вендовые шрифты хотя бы прикрути, а...

anonymous
()

Шрифты фиговые

pento ★★★★★
()

Исключительно по поводу оформления: по просмотру сего долго блювал - на скриншотах с emacs не бывает человеческих шрифтов?

zodiac ★★
()
Ответ на: комментарий от anonymous

>достали емаксы

Достали анонизмусы-вендузятнеги

anonymous
()

как работать с такими шрифтами?

zup-rk27 ★★
()

Кстати для пущей универсальности можно отойти от написания SQL-запросов и описать структуру, скажем, на XML. Тогда можно отвязаться от конкретной БД и дописывать функционал построения селектов/инсертов/апдейтов модульно для любой БД. А вообще, есть такое понятие - метабаза, то есть данные, описывающие данные.

jerry
()
Ответ на: комментарий от jerry

>Кстати для пущей универсальности можно отойти от написания SQL-запросов и описать структуру, скажем, на XML

поубывавбы.

SQL'у 20 лет и он стандартизирован! пользуйтесь! нет, xml всуним, да поглубже, чтоб загноилось.

ЗЫ простите, погорячился.

Pi ★★★★★
()

> Работа

Можешь смело подавать в суд по причине "Нанесение вреда здоровью", а именно зрению, а именно шрифтами...

KaLoVraD
()
Ответ на: комментарий от Pi

Да нет, XML или что-нибудь еще можно использовать для описания структуры, исходя из которого описания прога будет строить DB specific SQL-запросы и все прочее в зависимости от нужного сервера БД. Просто хардкодить запросы в программе, претендующей на универсальность как-то некрасиво.

jerry
()
Ответ на: комментарий от jerry

>Просто хардкодить запросы в программе

хардкодь не в программе :)

ксмл тоже не воображаемый будет

Pi ★★★★★
()
Ответ на: комментарий от Pi

Ну, править сотни запросов под другую реализацию БД - сомнительная радость, особенно если основательно подзабыть структуру. А тут - дописал модуль и вперед, за премией. Лень - двигатель прогресса.

jerry
()

> научился нормальному фолдингу

Вот с этого места подробнее, пожалуйста. Какая версия emacs, 23 или 22? Как энто чудо активируется и на каком принципе работает?

SLiDER
()
Ответ на: комментарий от Pi

Не знаю, почему ты не любишь XML? Мне вот он нравится как хранилище для всяческих описаний. Правда для больших объемов он не подходит, но XML я привел в качестве легкого в реализации (и в просмотре/понимании) примера. А DB2 9 у меня сейчас не поставился, буду шаманить дальше.

jerry
()
Ответ на: комментарий от jerry

а он наверное KDE/QT'шник, а xml любят gnome/gtk'шнеки :) вот отсюда и не любовь..

kbps ★★★
()
Ответ на: комментарий от jerry

> Кстати для пущей универсальности можно отойти от написания SQL-запросов и описать структуру, скажем, на XML. Тогда можно отвязаться от конкретной БД и дописывать функционал построения селектов/инсертов/апдейтов модульно для любой БД.

Так собственно все и сделано, только вместо XML идеально подошел Python. Просто руки пока дошли только для Interbase/Firebird

cab ★★★★
() автор топика
Ответ на: комментарий от Pi

> нет, xml всуним, да поглубже, чтоб загноилось.

Тут не совсем так. На "миниязыке" описывается правила построения оболочки клиента. А SQL - это святое, его трогать никто и не будет.

cab ★★★★
() автор топика
Ответ на: комментарий от mamantoha

> Какой-то странный украино-русский интерфейс )))

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

cab ★★★★
() автор топика
Ответ на: комментарий от SLiDER

> научился нормальному фолдингу
Вот с этого места подробнее, пожалуйста. Какая версия emacs, 23 или 22? Как энто чудо активируется и на каком принципе работает?

И в 21 и в 22. Все дело в cedet из CVS.

Вот все мои текущие настройки, включая фолдинг:
;;-- Load CEDET -----------------------------------------------------------
(load-file "~/elisp/cedet/common/cedet.el")
(semantic-load-enable-excessive-code-helpers)
(semantic-load-enable-semantic-debugging-helpers)

(global-semantic-stickyfunc-mode 0)
(global-semantic-decoration-mode 1)
(global-semantic-highlight-edits-mode 1)
(global-semantic-show-unmatched-syntax-mode 1)
(global-set-key [(control f10)] 'semantic-stickyfunc-mode)
(global-set-key (kbd "\e\es") 'semantic-ia-complete-symbol)
(global-set-key (kbd "\e\em") 'semantic-ia-complete-symbol-menu)
(global-set-key (kbd "\e\et") 'semantic-ia-complete-tip)
;;folding
(require 'semantic-tag-folding)
(global-semantic-tag-folding-mode 1)
;(semantic-tag-folding-allow-folding-of 0)
(global-set-key (kbd "\e\eef") 'semantic-tag-folding-mode)
(global-set-key (kbd"C-=") 'semantic-tag-folding-show-block)
(global-set-key (kbd"C--") 'semantic-tag-folding-fold-block)
(global-set-key (kbd"C-0") 'semantic-tag-folding-show-all)
(global-set-key (kbd"C-9") 'semantic-tag-folding-fold-all)

cab ★★★★
() автор топика
Ответ на: комментарий от anonymous

> Не "Удалить", а "Видалити". Який вуйко вчив тебе мови?

Та то не вуйко, то я не той варіант розкоментував ;)

cab ★★★★
() автор топика
Ответ на: комментарий от jerry

> Да нет, XML или что-нибудь еще можно использовать для описания структуры, исходя из которого описания прога будет строить DB specific SQL-запросы и все прочее в зависимости от нужного сервера БД. Просто хардкодить запросы в программе, претендующей на универсальность как-то некрасиво.

Ну так блин SQLAlchemy, а зумель не нужен.

ero-sennin ★★
()
Ответ на: комментарий от cab

> На "миниязыке" описывается правила построения оболочки клиента. А SQL - это святое, его трогать никто и не будет.

В том смысле, что остался только select from... А все остальные запросы формируются уже автоматом.

cab ★★★★
() автор топика

Это всё конечно хорошо, только не всегда. На больших базах без ручного написания и оптимизации запросов никак (те же HINTs в оракле).

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.