четвер, 13 лютого 2020 р.

Перші кроки розробки

Усім привіт.
В попередній публікації я описав концепцію універсальної системи збору та аналізу інформації, а сьогодні хочу почати поетапний опис конкретних модулів та особливості їх розробки.
Отже, самий перший і основний модуль - це адмінка, за допомогою якої можна налаштовувати підключення до БД, адмініструвати користувачів та керувати встановленням інших модулів системи. Як я вже згадував, в якості сервера БД планую використання Firebird 3, а середовище розробки - CodeTyphon Studio.
Оскільки система планується модульною, кожен модуль буде представлений окремим проектом в середовищі розробки. Також Typhon IDE має дуже зручну функцію - мультипроект, який дозволяє одночасно працювати з групою проектів. Це дозволяє вести розробку кожного проекту як окремо, так і збирати одночасно усі проекти групи не відкриваючи кожен з них окремо.
З допоміжних інструментів я використовую FlameRobin - програма, яка призначена для адміністрування БД Firebird, доступна в різних дистрибутивах Linux, а також є версії і для Windows та MacOS X. Інший корисний інструмент - універсальна адмінка різних БД DBeaver, яка також доступна для різних ОС та розповсюджується у двох редакціях - безкоштовна Community та комерційна Enterprise. Я використовую DBeaver Community. Також безумовно найкращою адмінкою БД Firebird для Windows вважається IBexpert - комерційний продукт, але також існує безкоштовна версія для персонального використання,потрібно лише зареєструватись на офіційному сайті та отримати код активації на електронну пошту.
Щодо компонентів, які будуть використовуватись в середовищі розробки для доступу та роботи з БД, в більшості випадків мене влаштовують стандартні компоненти на вкладках "Data Access", "Data Controls", "SQL DB". Проте для адміністрування БД, керування користувачами та інших специфічних для Firebird функцій я встановив додаткові компоненти IBX for Lazarus, які спочатку конвертував для сумісності з CodeTyphon IDE спеціальною утилітою.
Оскільки переважну частину процесу розробки я проводжу в ОС Linux (відповідно сервер БД в мене теж розгорнуто та налаштовано на спеціально виділеному комп'ютері під керуванням ОС Ubuntu Server). Для організації зовнішнього доступу до БД в мене виділена постійна IP-адреса та прокинуто потрібні порти в роутері. Розробку я веду на ноутбуці Lenovo Ideapad 330 (Intel(R) Pentium(R) Silver N5000 CPU @ 1600MHz, 8 Гб ОЗУ DDR4, SSD 128Gb+HDD 500Gb) під ОС Linux Mint 19.3 з додатковим монітором, на який розширено робочий стіл.
Для того, щоб можна було працювати з БД, необхідно встановити бібліотеки для розробки. Це робиться командою
sudo apt-get install firebird-dev
Після цього можна запускати середовище розробки та приступати безпосередньо до програмування.
Ще один момент, як у мене реалізовано структуру проекту в файловій системі:

Папка проекту
-bin
--i386-win32
--i386-linux
--x86_64-win64
--x86_64-linux
-lib
--i386-win32
--i386-linux
--x86_64-win64
--x86_64-linux
-src
--admin
--updater
--sheduler
...папки з сирцями інших модулів
--forall
-res
-doc

Спробую трошки пояснити що і для чого використовується.

  • тека bin - містить вкладені підтеки для запису готових виконуваних файлів під відповідну платформу;
  •  тека lib аналогічно містить вкладені підтеки для проміжних файлів компіляції під відповідні платформи;
  • тека src містить підтеки з сирцями окремих модулів системи, а у вкладеній теці forall я виніс сніпети коду та бібліотеки, які використовуються в різних модулях системи;
  • тека res містить файли ресурсів, які використовуються в різних модулях проекту;
  • тека doc містить документацію по розробці та опис системи, а також що потрібно зробити та логи розробки.
Також в теці src зберігається файл мультипроекту для автоматизації збирання усіх модулів системи та налаштування середовища розробки при роботі з двома моніторами.
Сирці системи та скрипти структури БД буду викладати на Github по мірі розробки, також буду використовувати вже готові напрацювання, пристосовуючи їх до цього проекту.
Залишилось придумати назву такої системи, може, є якість пропозиції? Пишіть в коментарях, буду вдячний!

Немає коментарів:

Дописати коментар

Реставрація ну ду-у-уже староко комп'ютера. Чи можливе нове життя?

  Минулого року мені дістався дуже старий комп'ютер, якому понад 20 років. На відео я зробив перше включення і огляд нутрощів цього &quo...