|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Di_LIne, "волею судеб я редко выхожу из дома". Давай лучше попердим, по старчески, и оставим чтение книжек молодым. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2016, 03:50 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Di_LIneА книшку покупают в основном лохи и лоси, типа мну. :-) Как энциклопедию "Все ответы на мои вопросы". Ну и зачем подрывать себе бизныс, продавая одну книгу там, где можно продать две?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2016, 11:26 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Дим, своим пИСЬсимизмом ты способен отбить желание делать что-то позитивное у любого человека. Книжки Хелен очень удобны, когда надо найти все в одном месте. Жаль, что на сегодняшний день бОльшая часть инфы в них устарела. "Тебе не интересно - не мешай"(с) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2016, 13:14 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
ДокКнижки Хелен очень удобны, когда надо найти все в одном месте. Ну так "всё в одном месте" это справочник или словарь. А для них в заявленной книге лишка воды, однако... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2016, 13:26 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
kdv> нафига вообще что-то перечислять, к тому же "базовые вещи". kdv> я считаю, что нужно сослаться на LR, а дальше с места в карьер. "Сослаться на LR" тоже своего рода перечисление. А перечислять надо затем, что "это умеем, это не умеем". А-то таким макаром и про PSQL можно на LR сослаться. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2016, 14:40 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Di_LIne, LR для 3.0 занимает чуть больше 700 страниц, для подозреваю что в 4.0 будет около 800. Запихивать всё это в книгу не имеет ни какого смысла, иначе получится трёхтомник. Если в книге и будет глава про SQL то она будет сильно ужата. И как правильно подметил ГР это приблизительная структура книги. Когда наберём достаточно материала будем думать что оставить, а что убрать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2016, 20:56 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Симонов Денис, лучше освети особенности конфигурирования конфигов тройки, а также особенности "ручного" добавления юзеров через isql и прочего, что разительно отличает ее от предыдущих версий. имхо, вплоть до 2.5.х все можно было конфигурять по старым книжкам Хелен и статьям у kdv. И за освещение особенностей ручной установки на Линухе многие наверняка тебе бы спасибо сказали ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 02:59 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Док, на самом деле 90% параметров остались те же самые и рецепты их настройки не изменились. Но есть несколько отличий: 1. В 3.0 чаще всего будет выбран SS, а не CS 2. Часть параметров можно настраивать на уровне БД (databases.conf), что очень удобно 3. Появились удобные множители K, M, G 4. Провайдеры, плагины аутентификации, шифрование трафика, менеджеры пользователей. Это действительно новое и выносит новичкам мозг. Хотя новички там менять ничего не будут, это в основном это выносит мозг тем, кому надо обеспечить возможность работать со старыми fbclient Ну и пожалуй перенос пользователей из 2.5 в 3.0 то же весьма доставляет. Конфигурирование постараюсь описать. Что касается установки на Linux, то тут не всё так просто. Самих линуксов до фига и они разные. Установка может быть из собственных репозитариев или из tar, причём в каждом Linux она чуток да и отличается. Лично я ставил только на CentOS и на Ubuntu. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 11:21 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Симонов Денис2. Часть параметров можно настраивать на уровне БД (databases.conf), что очень удобно Это не очень удобно, поскольку каждую БД надо туда вносить отдельно и параметры ей прописывать отдельно. Вот если бы этот конфиг базировался на регэкспах как у трассировки, это была бы вещь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 12:02 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ну во-первых не стоит забывать, что databases.conf попутно ещё выполняет роль aliases.conf, а во-вторых ты же всё равно занимаешься прикручиванием utf-8 в файлы конфигов, вот и разработай удобный синтаксис и сделай патч. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 12:17 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Во-первых, уже не занимаюсь, всё готово. Во-вторых, формат конфига не имеет ничего общего с его кодировкой, это совершенно отдельная, весьма перспективная фича, поскольку в пределе позволяет вообще выкинуть из клиента распознавание строк подключения и перенести всё в конфиг. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 12:34 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovпоскольку в пределе позволяет вообще выкинуть из клиента распознавание строк подключения Это как и зачем? клиент в любом случае должен как минимум решить по какому протоколу (или каким протоколам) пытаться достучаться до сервера (и до какого) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 14:11 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Ariochклиент в любом случае должен как минимум решить по какому протоколу (или каким протоколам) пытаться достучаться до сервера (и до какого) Нет. Клиент должен решить какие провайдеры он должен попробовать для данной строки подключения. А это как раз и конфигурируется в databases.conf. Например: Код: sql 1. 2. 3. 4. 5.
И всё, клиенту уже ничего не надо распознавать или решать, он просто должен пнуть Remote и скормить ему соответствующий конфиг. А уж что тот будет делать с параметрами из него - клиенту сугубо всё равно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 14:21 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
А если я напишу в databases.conf например: Код: sql 1. 2. 3. 4. 5.
то провайдер INET это сможет отработать? Сомневаюсть. ---- насколько понимаю, тут должен работать single responsibility principle - каждый провайдер сам описывает свои протоколы, или в явной форме (например в DLL Version_Info как NP API v4 плагины в браузерах, или через специальный вызов функции-описания как они же на юниксах), или в неявной (через функцию "CanYouTrySuchAConnectionString(string):boolean"). Если в явной - то ответы можно кэшировать до момента обновления DLLей этих провайдера ( как например сделано в VLC и GIMP ), но вообще говоря в этом мало смысла когда у нас всего три разных провайдера, а не три сотни А в неявной, как я понимаю, это уже сделано - провайдеры просто мгновенно отказываются кушать "не свои" строки соединения. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 14:30 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Кстати, ещё вопросец возникает. Допустим строка подключения - это embedded-подключение к файлу БД ODS этого файла клиенту само собой не известен. Может быть и текущий 12-й, и например будущий 13-й, и унаследованный 11.х или 10.х (предполагая, что плагины поддержки FB2-форматов для FB3 написан) Как может клиент на основании ИСКЛЮЧИТЕЛЬНО регэкспов и databases.conf решить какой из трёх embedded-плагинов (Engine12.dll, Engine13.dll, Engine_FB2_legacy.dll) ему загружать? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 14:35 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Ariochто провайдер INET это сможет отработать? Сомневаюсть. А почему нет? Если его из всего конфига интересуют только параметры Host и Database, то в чём будет проблема-то?.. Ты напишешь в строке соединения xyznet://dbserver/MyDatabase и он получит в Host - dbserver, а в Database - MyDatabase. Соответственно, тупо соединится с хостом dbserver и отправит ему op_attach на MyDatabase. Всё, телемаркет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 14:36 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 14:42 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ну, возможно.... правда я пока в этом преимуществ не вижу. недостатки вижу - лишнее "слабое звено", которое может создать проблемы (если например юзер на клиенте испортит или не создаст database.conf), особеннo учитывая виртуальные файловые пути на Windows если это делать как дополнение к обычным методам - то может быть и полезно кому-то но при этом стандартные строки подключения должны работать и при отсутствии этого файла пока эта фишка выглядит как инструмент для трюков типа #define TRUE FALSE ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 14:42 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Ariochпри этом стандартные строки подключения должны работать и при отсутствии этого файла Для этого и существует умолчательный конфиг, жёстко прошитый в коде. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 14:45 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovдовольно кривые и ненадёжные эвристики. Это да, нынешние унаследованные строки подключения - не сахар. но для того и вводят псевдо-URLы ? псевдо-URL от остальной части пути можно отделить вполне надежно и дальше уже провайдеров запрашивать "а умеете ли вы такой префикс?" не зашивая эту инфу во внешний=ненадёжный текстовик вообще ваш пример можно зашить целиком в провайдера, добавить в него функцию "верни список регэкспов с описаниями групп, которые ты понимаешь" и готово Например, "dddd:eeee" - вполне валидное имя файла на Linux. ...которое скорее всего используют только извращенцы, потому что двоеточием *обычно* на линуксе разделяют список директорий Но фиг ты к нему получишь доступ, поскольку remote сейчас перехватит эту строку и полезет на хост dddd. Псевдо-URLы однако. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 14:48 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ....умолчательный конфиг, который перекроется каким-нибудь "умным" или ушлым админом, и поучим #define inet wnet ....а учитывая виртуальные файлы Windows вообще можем получить что у каждого пользователя будет свой уникальный database.conf в общем - инструмент для самопростреливания ног получается ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 14:50 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Arioch который перекроется каким-нибудь "умным" или ушлым админом Защита от админа в софтине требующей админа это плохая идея. AriochПсевдо-URLы однако. Которых для движка, например, нет. И использовать имя провайдера как левую часть этого самого псевдо-URL "проект" отказался наотрез. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 15:00 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
- Зачем делать #define TRUE FALSE ? - Во-первых это красиво... Для коробочного софта малоопытные админы - это реальность. Поэтому любая лишняя возможность испортить - это мина, ждущая своего часа. Реальная ситуация когда пользователи просто забывают поставить клиентскую часть сервера на уждаленных рабочих местах, а потом "ничего не работает" На одно место, где для FB есть супер-админ ораклового уровня погружения - есть сотни где про FB вообще ничего не слышали. > Которых для движка, например, нет. ...ну так пусть эти маска (или несколько) будет храниться в самом провaйдере, и клиент из установленных провайдеров будет выбирать поддерживаемые ими шаблоны. так и автор нового плагина сможет добавить новые URLы, и не нужно будет плодить раздельные сущности. скопировали/установили новый провайдер - появилась автоматически поддержка новх форматов строки соединения, не нужно дублировать эту информацию в отдельный независимый текстовик ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 15:08 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Код: sql 1.
Кстати, ещё надо будет решить должны ли начало/конец строк прописываться в регэкспе явно, или киент их сам всегда добавлять будет. Потому что вышеприведённый регэксп вполне схватит строку типа MyNewProvider://inet://server/database И поведение уже начнёт зависеть от таких мелочей, как порядок перечисления шаблонов в конфиге ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 15:13 |
|
Книга про разработку приложений для Firebird
|
|||
---|---|---|---|
#18+
Arioch, конфигурирование клиента редко доводит до добра. отсутствие любых конфигов на клиенте всегда было плюсом как ИБ, так и ФБ. Я вполне допускаю, что конфигурирование такого типа возможно для однопользовательских или малопользовательских приложений. Но когда этих клиентов 20 и больше? В таких системах разве что пишут сервис, обращение к которому из приложения дает "адрес БД и все остальное". Ну или кладут "конфиг" типа ini в известную всем приложениям расшаренную папку. Я вот не очень понял - какой категории приложений и разработчиков вот эти новые фишки "конфигов" нужны? Перечислите пожалуйста. Мне так будет проще понять, зачем это надо. AriochДопустим строка подключения - это embedded-подключение к файлу БД ODS этого файла клиенту само собой не известен. господи... я тоже иногда люблю усложнять, типа, перечислять все возможные варианты, но тут, imho перебор. Что это за приложение такое, которое скомпилировано с конкретным embedded, и "кушает" разный ОДС базы? Ну ок, допустим этот, как его, который базы конвертирует туда-сюда, при помощи всех возможных embedded. Но у него и так embedded от ФБ 2.5 и 3.0 вроде нормально существуют. Тогда зачем ему engine11 ? (которого нет и вряд ли будет). И что - все это ради одного приложения, которое базы конвертирует туда-сюда? Вот скажите мне, зачем любому другому обычному прикладному embedded приложению одновременно работать с базами ОДС 11 и 12? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2016, 15:27 |
|
|
start [/forum/topic.php?fid=40&startmsg=39271250&tid=1561881]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 148ms |
0 / 0 |