Создайте для себя платформу с низким кодом!

задняя часть внешний интерфейс
Создайте для себя платформу с низким кодом!

После Фестиваля середины осени снова будет Национальный день. Во время праздника я обменялся технологиями (чедан) с несколькими приятелями, которые также являются программистами. Много упоминается low-code. Основные вовлеченные low-code платформы: jeecg-boot и front-end low-code.Платформа амис, я также нашел хорошую low-code платформу Erupt в процессе обучения.Спасибо этим разработчикам платформы.


предисловие

Возможно, многие программисты не используют low-code платформы в своей работе, но лично я считаю, что играя с low-code платформой и изучая стек технологий low-code платформы, можно планомерно улучшать свои технические резервы. 1. Платформы с низким кодом обычно предоставляют полный набор решений, включая рабочий процесс, отчеты, внешние и внутренние среды и развертывание, промежуточную часть данных, распределенные блокировки, мобильные платежи, доступ к платформам кодов проверки SMS и т. д. Это очень хороший выбор - рассматривать платформу с низким кодом как платформу для технического обучения и практического применения; 2. Изучить расширенное применение платформы с низким кодом к языкам программирования; 3. Полный дизайн таблицы и генерация кода шаблона, предоставляемые платформа с низким кодом также может помочь нам уменьшить дублирование работы.


Концепции и особенности

Платформа разработки с низким кодом (LCDP) — это платформа разработки, которая может быстро генерировать приложения без кодирования (код 0) или с небольшим объемом кода. Визуальный подход к разработке приложений, который позволяет разработчикам с разным уровнем опыта создавать веб-приложения и мобильные приложения с использованием компонентов перетаскивания и логики на основе моделей через графический пользовательский интерфейс. Официальное название платформы разработки с низким кодом (LCDP) не было официально определено до июня 2014 года, но всю область разработки с низким кодом можно проследить до четвертого поколения языков программирования и инструментов быстрой разработки приложений ранее. (из энциклопедии Baidu)


Благодаря интерпретации введения энциклопедии Baidu платформа с низким кодом должна иметь следующие характеристики:

  • 0 или небольшое количество кода для быстрой генерации приложений
  • Обеспечьте визуальный интерфейс для разработки программы
  • Используйте перетаскивание и другие операции для реализации конструкции клиента.

По вышеприведенным характеристикам мы можем понять состав low-code платформы, а также узнать, что может low-code. Если отбросить слово платформа, mybatis-plus, который очень популярен в нашей разработке, можно назвать фреймворком сохраняемости с низким кодом, потому что фреймворк помогает нам уменьшить количество кода. Учитывая популярность платформ с низким кодом, если фреймворк может помочь нам сократить объем кода, это можно рассматривать как одно из преимуществ фреймворка, поэтому многие платформы с низким кодом ссылаются на такие фреймворки, как mybatis-plus и lombok. .

JEECG-BOOT Руководство по ступенчатой ​​яме

официальный сайт ЕЭКГ документация по разработке

В приведенной выше ссылке я приложил официальную документацию по разработке, предоставленную jeecg-boot.Документация очень подробная, включая подготовку среды, создание, развертывание и использование.Однако на практике все равно будут небольшие проблемы.Конечно , это не jeecg.-boot сам по себе проблема, но мы используем окружение по умолчанию.

проблема

Ошибка инициализации скрипта базы данных

  • Согласно официальному процессу, мы вытаскиваем код, связанный с jeecg-boot, устанавливаем базу данных (я использую mysql5.7.20) и устанавливаем докер.

Набор символов, используемый базой данных jeecg-boot, — uft8mb4, который поддерживает сохранение выражений эмодзи, а utf8, сохраняющий эмодзи, сообщит об ошибке Учащиеся, которые не понимают этого аспекта, могут расширить свои знания.

  • Выполните первоначальный сценарий инициализации базы данных (jeecgboot-mysql-5.7)

image.pngИспользуйте Navicat для выполнения сценария инициализации и остановите выполнение после выполнения элементов 1084. Обычно в этом случае мы можем проверить, есть ли какие-либо проблемы со сценарием sql.После проверки сценария, который сообщил об ошибке, можно скопируйте его и выполните в лоб, поэтому после различных расследований (Baidu) выясняется, что mysql ограничивает размер скрипта выполнения, по умолчанию 2M, а размер этого скрипта mysql 6M

  • информация о скрипте

image.png

Решение

  • Разделите этот сценарий на несколько сценариев размером менее 2 М и выполняйте их последовательно. Будьте осторожны, чтобы не разбить их на середину оператора.
  • Измените конфигурацию базы данных и увеличьте предельный размер сценария.

Метод модификации немного отличается в зависимости от метода развертывания.Нам нужно изменить элемент конфигурации max_allowed_packet.После модификации удалите данные, сгенерированные ошибкой, которая была выполнена ранее, и снова выполните скрипт.Ниже приведена команда для изменения этого элемент конфигурации в mysql под докером

1.进入mysql容器
docker exec -it mysql bash
2.进入配置文件所在文件夹
cd /etc/mysql/mysql.conf.d/
3.修改配置文件
vi mysqld.cnf
4.在文件中[mysqld]下面另起一行 添加配置信息
max_allowed_packet=200M
5.保存
esc :wq
6.退出容器 exit
7.重启mysql服务docker restart mysql

В контейнере нет vim.Вим нужно установить.Рекомендуется настроить для ускорения работы,иначе будет очень медленно.

ошибка запуска

Выполните инициализацию базы данных, измените адрес базы данных в файле конфигурации в соответствии с официальной документацией, настройте Redis, а затем запустите службу jeecg-boot и сообщите об ошибке.

image.png

Решение

Сообщение об ошибке означает, что таблица QRTZ_LOCKS не существует, мы проверяем базу данных, таблица существует, но имя таблицы в нижнем регистре, проблема обнаружена, имя таблицы mysql по умолчанию чувствительно к регистру, в sql, сгенерированном jeecg -boot Имена таблиц все в верхнем регистре.Решение этой проблемы заключается в изменении чувствительного к регистру элемента конфигурации lower_case_table_names=1 для имени таблицы mysql.Для конкретных операций см. изменение элемента конфигурации выше.

Базовая служба запущена

После решения этих двух проблем сервер jeecg-boot может запуститься без проблем! ! !

внешний интерфейс

Интерфейсной службе нужно только изменить соответствующую конфигурацию в соответствии с официальной документацией веб-сайта и запустить ее после сборки.

Минималистское развертывание Docker

Чтобы облегчить развертывание среды обучения, я следую официальной рекомендацииМинималистское решение для развертыванияПоместите внешний код в каталог /src/main/resources/static проекта внутренней службы jeecg-boot-module-system, а затем используйтеРешение для развертывания JARПревратите серверную службу в пакет jar, затем загрузите пакет jar в хост-среду Docker и создайте образ Docker для развертывания.Подробные операции приведены ниже:


  • Измените конфигурацию внешнего интерфейса (см. официальную документацию — минималистское решение для развертывания).

image.png

  • После изменения файла конфигурации внешнего интерфейса выполнитеМинималистское решение для развертыванияТретий шаг и следующие шаги для работы
  • Внешний и внутренний код готовы, измените конфигурацию mysql и redis в файле внутренней конфигурации и измените его на соответствующее имя службы в контейнере докера, например mysql:3306.... Обратите внимание, что изменен файл yaml с суффиксом prod.

image.png

image.png

  • Согласно официальной документацииРешение для развертывания JARЧетвертый шаг и следующие шаги для работы
  • Пакет jar готов, имя изменено на jeecg.jar, и узел докера использует команду rz для его загрузки на сервер.
  • Создайте Dockerfile в каталоге, где находится jar-файл сервера, со следующим содержимым.
FROM frolvlad/alpine-java
COPY jeecg.jar /app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
  • Выполните команду для создания образа в текущем каталоге docker build -t jeecg.
  • Запустите службу docker run -d --name jeecg -p 8080:8080 --link redis --link mysql jeecg
  • Я использую --link, потому что я не добавлял контейнер в ту же сеть, когда создавал другие контейнеры, поэтому мне нужно использовать --link для обеспечения связи между mysql и redis. статьяСсылка на сайт
  • Служба запущена

Сводка по развертыванию

Поскольку развертывание докера в официальном документе требует использования докера для Windows, я больше привык использовать виртуальные машины для развертывания Ubuntu, чтобы установить докер для развертывания некоторых моих собственных сред разработки и обучения, поэтому в сочетании с официальным руководством, докер сделано минималистское развертывание, которое подходит для новичков, чтобы строить на своих компьютерах. В среде разработки одновременно узнайте о докере. Студенты, которые не знают докер, могут узнать об автономной среде докера. Это относительно просто.

использовать

Официальная документация по использованию low-code платформы jeecg-boot имеет подробное введение.Из-за отсутствия понимания всего бизнеса платформы в использовании я добавил сгенерированный код фронтенда и бэкенда в сервис после использования кода создание, но страница не отображалась.Позже я обнаружил, что для добавления меню требуются разрешения на настройку, поэтому рекомендуется, чтобы после настройки среды обучения вы полностью понимали бизнес-дизайн всей платформы перед ее использованием, чтобы не воспринимайте нормальный бизнес как проблему, потому что вы его не понимаете.

Erupt (легкая платформа с низким кодом)

Официальный сайт извержения

По сравнению с JEECG-BOOT, Erupt более легкий и более удобный для чистых внутренних программистов (нет необходимости в фундаменте, связанном с внешним интерфейсом), нужно только добавить соответствующие зависимости maven в проект springboot2.x, официальный быстрый start manual Таким образом, вы можете успешно завершить сборку платформы.Я также нашел проблемы и решения в официальных документах.Для справкиСсылка на сайтВот и все.

Суммировать

Существует много платформ с низким кодом.Как программист, помимо кодирования, необходимо понимать использование и построение некоторых основных платформ с низким кодом.На этот раз мы в основном познакомим вас с тем, как начать работу с jeecg-boot и решения проблем. Если вы столкнетесь с какими-либо проблемами окружающей среды, вы можете быстро приступить к работе. Рекомендуется, чтобы каждый мог развернуть и изучить.

Нажмите, чтобы узнать об оптимизации индекса монго