powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Книга про разработку приложений для Firebird
25 сообщений из 62, страница 2 из 3
Книга про разработку приложений для Firebird
    #39271250
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne,

"волею судеб я редко выхожу из дома". Давай лучше попердим, по старчески, и оставим чтение книжек молодым.
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271297
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIneА книшку покупают в основном лохи и лоси, типа мну. :-)
Как энциклопедию "Все ответы на мои вопросы".
Ну и зачем подрывать себе бизныс, продавая одну книгу там, где можно продать две?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271319
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Дим, своим пИСЬсимизмом ты способен отбить желание делать что-то позитивное у любого человека. Книжки Хелен очень удобны, когда надо найти все в одном месте. Жаль, что на сегодняшний день бОльшая часть инфы в них устарела.

"Тебе не интересно - не мешай"(с)
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271326
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДокКнижки Хелен очень удобны, когда надо найти все в одном месте.

Ну так "всё в одном месте" это справочник или словарь. А для них в заявленной книге лишка
воды, однако...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271355
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> нафига вообще что-то перечислять, к тому же "базовые вещи".
kdv> я считаю, что нужно сослаться на LR, а дальше с места в карьер.

"Сослаться на LR" тоже своего рода перечисление.
А перечислять надо затем, что "это умеем, это не умеем".
А-то таким макаром и про PSQL можно на LR сослаться.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271479
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne,

LR для 3.0 занимает чуть больше 700 страниц, для подозреваю что в 4.0 будет около 800. Запихивать всё это в книгу не имеет ни какого смысла, иначе получится трёхтомник.

Если в книге и будет глава про SQL то она будет сильно ужата. И как правильно подметил ГР это приблизительная структура книги. Когда наберём достаточно материала будем думать что оставить, а что убрать.
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271521
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

лучше освети особенности конфигурирования конфигов тройки, а также особенности "ручного" добавления юзеров через isql и прочего, что разительно отличает ее от предыдущих версий. имхо, вплоть до 2.5.х все можно было конфигурять по старым книжкам Хелен и статьям у kdv.

И за освещение особенностей ручной установки на Линухе многие наверняка тебе бы спасибо сказали
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271651
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

на самом деле 90% параметров остались те же самые и рецепты их настройки не изменились. Но есть несколько отличий:
1. В 3.0 чаще всего будет выбран SS, а не CS
2. Часть параметров можно настраивать на уровне БД (databases.conf), что очень удобно
3. Появились удобные множители K, M, G
4. Провайдеры, плагины аутентификации, шифрование трафика, менеджеры пользователей. Это действительно новое и выносит новичкам мозг. Хотя новички там менять ничего не будут, это в основном это выносит мозг тем, кому надо обеспечить возможность работать со старыми fbclient

Ну и пожалуй перенос пользователей из 2.5 в 3.0 то же весьма доставляет.

Конфигурирование постараюсь описать.

Что касается установки на Linux, то тут не всё так просто. Самих линуксов до фига и они разные. Установка может быть из собственных репозитариев или из tar, причём в каждом Linux она чуток да и отличается. Лично я ставил только на CentOS и на Ubuntu.
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271692
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис2. Часть параметров можно настраивать на уровне БД (databases.conf), что очень удобно

Это не очень удобно, поскольку каждую БД надо туда вносить отдельно и параметры ей
прописывать отдельно. Вот если бы этот конфиг базировался на регэкспах как у трассировки,
это была бы вещь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271708
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ну во-первых не стоит забывать, что databases.conf попутно ещё выполняет роль aliases.conf, а во-вторых ты же всё равно занимаешься прикручиванием utf-8 в файлы конфигов, вот и разработай удобный синтаксис и сделай патч.
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271720
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, уже не занимаюсь, всё готово.
Во-вторых, формат конфига не имеет ничего общего с его кодировкой, это совершенно
отдельная, весьма перспективная фича, поскольку в пределе позволяет вообще выкинуть из
клиента распознавание строк подключения и перенести всё в конфиг.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271785
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovпоскольку в пределе позволяет вообще выкинуть из
клиента распознавание строк подключения

Это как и зачем?

клиент в любом случае должен как минимум решить по какому протоколу (или каким протоколам) пытаться достучаться до сервера (и до какого)
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271790
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochклиент в любом случае должен как минимум решить по какому протоколу (или каким протоколам)
пытаться достучаться до сервера (и до какого)

Нет. Клиент должен решить какие провайдеры он должен попробовать для данной строки
подключения. А это как раз и конфигурируется в databases.conf. Например:
Код: sql
1.
2.
3.
4.
5.
<database inet://*/*>
   Providers = INET
   Host = $1
   Database = $2
</database>


И всё, клиенту уже ничего не надо распознавать или решать, он просто должен пнуть Remote и
скормить ему соответствующий конфиг. А уж что тот будет делать с параметрами из него -
клиенту сугубо всё равно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271798
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если я напишу в databases.conf например:
Код: sql
1.
2.
3.
4.
5.
<database xyznet://*/*>
   Providers = INET
   Host = $1
   Database = $2
</database>




то провайдер INET это сможет отработать?

Сомневаюсть.

----

насколько понимаю, тут должен работать single responsibility principle - каждый провайдер сам описывает свои протоколы, или в явной форме (например в DLL Version_Info как NP API v4 плагины в браузерах, или через специальный вызов функции-описания как они же на юниксах), или в неявной (через функцию "CanYouTrySuchAConnectionString(string):boolean").

Если в явной - то ответы можно кэшировать до момента обновления DLLей этих провайдера ( как например сделано в VLC и GIMP ), но вообще говоря в этом мало смысла когда у нас всего три разных провайдера, а не три сотни

А в неявной, как я понимаю, это уже сделано - провайдеры просто мгновенно отказываются кушать "не свои" строки соединения.
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271800
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, ещё вопросец возникает.

Допустим строка подключения - это embedded-подключение к файлу БД

ODS этого файла клиенту само собой не известен. Может быть и текущий 12-й, и например будущий 13-й, и унаследованный 11.х или 10.х (предполагая, что плагины поддержки FB2-форматов для FB3 написан)

Как может клиент на основании ИСКЛЮЧИТЕЛЬНО регэкспов и databases.conf решить какой из трёх embedded-плагинов (Engine12.dll, Engine13.dll, Engine_FB2_legacy.dll) ему загружать?
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271801
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochто провайдер INET это сможет отработать?

Сомневаюсть.
А почему нет? Если его из всего конфига интересуют только параметры Host и Database, то в
чём будет проблема-то?.. Ты напишешь в строке соединения xyznet://dbserver/MyDatabase и он
получит в Host - dbserver, а в Database - MyDatabase. Соответственно, тупо соединится с
хостом dbserver и отправит ему op_attach на MyDatabase. Всё, телемаркет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271806
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochпровайдеры просто мгновенно отказываются кушать "не свои" строки соединения.

Проблема только в том, что для определения "своей" строки соединения они используют
довольно кривые и ненадёжные эвристики. Например, "dddd:eeee" - вполне валидное имя файла
на Linux. Но фиг ты к нему получишь доступ, поскольку remote сейчас перехватит эту строку
и полезет на хост dddd.

AriochКак может клиент на основании ИСКЛЮЧИТЕЛЬНО регэкспов и databases.conf решить
какой из трёх embedded-плагинов (Engine12.dll, Engine13.dll, Engine_FB2_legacy.dll) ему
загружать?
Точно так же как он это сделает сейчас: достанет из соответствующего куска конфига
параметр "Providers = Engine12,Engine13,Engine_FB2_legacy" и будет пробовать каждый по
порядку пока какой-нибудь не согласится, что файл, имя которого он (провайдер) получил из
параметра "Database" - в правильной ODS.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271807
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

ну, возможно....

правда я пока в этом преимуществ не вижу.

недостатки вижу - лишнее "слабое звено", которое может создать проблемы (если например юзер на клиенте испортит или не создаст database.conf), особеннo учитывая виртуальные файловые пути на Windows

если это делать как дополнение к обычным методам - то может быть и полезно кому-то

но при этом стандартные строки подключения должны работать и при отсутствии этого файла

пока эта фишка выглядит как инструмент для трюков типа #define TRUE FALSE
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271808
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochпри этом стандартные строки подключения должны работать и при отсутствии этого файла

Для этого и существует умолчательный конфиг, жёстко прошитый в коде.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271812
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovдовольно кривые и ненадёжные эвристики.


Это да, нынешние унаследованные строки подключения - не сахар.

но для того и вводят псевдо-URLы ?

псевдо-URL от остальной части пути можно отделить вполне надежно и дальше уже провайдеров запрашивать "а умеете ли вы такой префикс?" не зашивая эту инфу во внешний=ненадёжный текстовик

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

Например, "dddd:eeee" - вполне валидное имя файла на Linux.

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

Но фиг ты к нему получишь доступ, поскольку remote сейчас перехватит эту строку
и полезет на хост dddd.

Псевдо-URLы однако.
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271814
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

....умолчательный конфиг, который перекроется каким-нибудь "умным" или ушлым админом, и поучим #define inet wnet

....а учитывая виртуальные файлы Windows вообще можем получить что у каждого пользователя будет свой уникальный database.conf

в общем - инструмент для самопростреливания ног получается
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271819
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch который перекроется каким-нибудь "умным" или ушлым админом
Защита от админа в софтине требующей админа это плохая идея.

AriochПсевдо-URLы однако.
Которых для движка, например, нет. И использовать имя провайдера как левую часть этого
самого псевдо-URL "проект" отказался наотрез.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271821
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- Зачем делать #define TRUE FALSE ?
- Во-первых это красиво...

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

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

На одно место, где для FB есть супер-админ ораклового уровня погружения - есть сотни где про FB вообще ничего не слышали.

> Которых для движка, например, нет.

...ну так пусть эти маска (или несколько) будет храниться в самом провaйдере, и клиент из установленных провайдеров будет выбирать поддерживаемые ими шаблоны.

так и автор нового плагина сможет добавить новые URLы, и не нужно будет плодить раздельные сущности.
скопировали/установили новый провайдер - появилась автоматически поддержка новх форматов строки соединения, не нужно дублировать эту информацию в отдельный независимый текстовик
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271824
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Код: sql
1.
<database inet://*/*> 




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

Потому что вышеприведённый регэксп вполне схватит строку типа

MyNewProvider://inet://server/database

И поведение уже начнёт зависеть от таких мелочей, как порядок перечисления шаблонов в конфиге
...
Рейтинг: 0 / 0
Книга про разработку приложений для Firebird
    #39271832
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

конфигурирование клиента редко доводит до добра. отсутствие любых конфигов на клиенте всегда было плюсом как ИБ, так и ФБ. Я вполне допускаю, что конфигурирование такого типа возможно для однопользовательских или малопользовательских приложений. Но когда этих клиентов 20 и больше?
В таких системах разве что пишут сервис, обращение к которому из приложения дает "адрес БД и все остальное". Ну или кладут "конфиг" типа ini в известную всем приложениям расшаренную папку.

Я вот не очень понял - какой категории приложений и разработчиков вот эти новые фишки "конфигов" нужны? Перечислите пожалуйста. Мне так будет проще понять, зачем это надо.

AriochДопустим строка подключения - это embedded-подключение к файлу БД
ODS этого файла клиенту само собой не известен.
господи... я тоже иногда люблю усложнять, типа, перечислять все возможные варианты, но тут, imho перебор.
Что это за приложение такое, которое скомпилировано с конкретным embedded, и "кушает" разный ОДС базы? Ну ок, допустим этот, как его, который базы конвертирует туда-сюда, при помощи всех возможных embedded. Но у него и так embedded от ФБ 2.5 и 3.0 вроде нормально существуют. Тогда зачем ему engine11 ? (которого нет и вряд ли будет).
И что - все это ради одного приложения, которое базы конвертирует туда-сюда? Вот скажите мне, зачем любому другому обычному прикладному embedded приложению одновременно работать с базами ОДС 11 и 12?
...
Рейтинг: 0 / 0
25 сообщений из 62, страница 2 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Книга про разработку приложений для Firebird
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]