低代码开源项目Joget的研究——基本概念和Joget7社区版应用

大纲

  • 1. 基本概念
    • 1.1 Form
      • 1.1.1 Form
        • 1.1.1.1 概述
        • 1.1.1.2 主要特点和用途
        • 1.1.1.3 创建和使用 Form
        • 1.1.1.4 示例
      • 1.1.2 Section
        • 1.1.2.1 概述
        • 1.1.2.2 主要特点和用途
        • 1.1.2.3 示例
      • 1.1.3 Column
      • 1.1.4 Field
      • 1.1.5 示例
    • 1.2 Datalist
      • 1.2.1 Datalist
        • 1.2.1.1 主要特点和用途
        • 1.2.1.2 创建和使用 DataList
        • 1.2.1.3 示例
      • 1.2.2 Design
        • 1.2.2.1 设计概念
        • 1.2.2.2 设计步骤
        • 1.2.2.3 示例
    • 1.3 UserView
      • 1.3.1 主要概念
      • 1.3.2 设计步骤
      • 1.3.3 示例
    • 1.4 Binder
      • 1.4.1 主要概念
      • 1.4.2 常见的 Binder 类型
      • 1.4.3 示例
  • 2. 登录
  • 3. 应用
    • 3.1 创建App
    • 3.2 创建Form
      • 3.2.1 创建Section
        • 3.2.1.1 创建Column
          • 3.2.1.1.1 创建Field
      • 3.2.2 提交
    • 3.3 创建Datalists
      • 3.3.1 选择绑定器
      • 3.3.2 设计
      • 3.3.3 提交
    • 3.4 创建Userview
    • 3.5 发布App
    • 3.6 查看

1. 基本概念

1.1 Form

1.1.1 Form

1.1.1.1 概述
  • 概念: Form 是用于收集和管理用户输入数据的界面组件。它是 Joget 应用程序中的一个核心部分。
  • 用途: 用于创建、编辑和查看数据记录,并且可以与 Joget 的工作流和数据管理功能集成。
  • 组成: Form 由多个 Section 组成,每个 Section 可以包含多个 Column 和 Field。
1.1.1.2 主要特点和用途
  • 数据收集: Form 用于收集用户输入的数据,可以包含各种类型的字段,如文本框、下拉列表、复选框、日期选择器等。
  • 数据验证: Form 可以设置数据验证规则,确保用户输入的数据符合预期格式和要求。
  • 动态行为: Form 支持动态行为,可以根据用户输入的值动态显示或隐藏字段、设置字段的可编辑性等。
  • 集成工作流: Form 可以与 Joget 的工作流引擎集成,用于在工作流的不同阶段收集和处理数据。
  • 数据存储: Form 可以将用户输入的数据存储到 Joget 的数据库中,便于后续查询和分析。
1.1.1.3 创建和使用 Form
  1. 设计表单: 在 Joget 的表单设计器中,可以通过拖放各种表单字段和组件来设计表单。
  2. 配置字段: 配置每个字段的属性,如标签、默认值、验证规则等。
  3. 设置动态行为: 配置表单的动态行为,如条件显示、字段依赖等。
  4. 发布表单: 将设计好的表单发布到 Joget 系统中,供用户使用。
  5. 集成工作流: 将表单与工作流集成,在工作流的不同阶段使用表单收集和处理数据。
1.1.1.4 示例

假设你需要创建一个员工信息表单,可以包含以下字段:

  • 姓名: 文本框,用于输入员工姓名。
  • 电子邮件: 文本框,用于输入员工电子邮件地址。
  • 电话号码: 文本框,用于输入员工电话号码。
  • 部门: 下拉列表,用于选择员工所属部门。
  • 入职日期: 日期选择器,用于选择员工的入职日期。

1.1.2 Section

1.1.2.1 概述
  • 概念: Section 是 Form 中的一个分组容器,用于将相关的表单字段组织在一起。
  • 用途:
    • 逻辑分组: 将相关的字段分组在一起,使表单更加有序和易于理解。
    • 布局管理: 帮助管理表单的布局,使表单看起来更加整齐和美观。
    • 条件显示: 可以设置条件显示规则,根据用户输入动态显示或隐藏特定的部分。
  • 组成: Section 由多个 Column 组成,每个 Column 可以包含多个 Field。
1.1.2.2 主要特点和用途
  • 分组字段: Section 可以将相关的表单字段分组在一起,便于用户填写和理解。
  • 布局管理: Section 可以用于管理表单的布局,使表单看起来更加整齐和有序。
  • 条件显示: Section 可以设置条件显示规则,根据用户输入动态显示或隐藏特定的部分。
  • 样式和设计: Section 可以应用特定的样式和设计,使表单更加美观和符合品牌要求。
1.1.2.3 示例

假设你有一个用户注册表单,你可以使用 Section 来分组不同类型的信息:

  • 个人信息: 包含姓名、电子邮件、电话号码等字段。
  • 地址信息: 包含街道地址、城市、邮政编码等字段。
  • 账户信息: 包含用户名、密码等字段。

1.1.3 Column

  • 概念: Column 是 Section 中的一个布局容器,用于在同一行中排列多个表单字段。
  • 用途:
    • 行内布局: 在一个 Column 中放置多个 Field,可以实现行内布局,使表单更加紧凑和美观。
    • 分组显示: 将相关的 Field 放在同一个 Column 中,可以使表单内容更加有序和易于理解。
    • 响应式设计: 在响应式设计中,可以根据屏幕大小调整 Column 中 Field 的显示方式。
  • 组成: Column 包含多个 Field。

1.1.4 Field

  • 概念: Field 是表单中用于收集用户输入的基本元素。每个 Field 代表一个输入控件,如文本框、下拉列表、复选框等。
  • 用途:
    • 数据输入: Field 用于收集用户输入的数据。
    • 数据验证: 可以设置验证规则,确保用户输入的数据符合预期格式和要求。
    • 动态行为: 可以根据用户输入的值动态显示或隐藏、启用或禁用 Field。
  • 类型: 常见的 Field 类型包括文本框(Text Field)、下拉列表(Dropdown Field)、复选框(Checkbox Field)、日期选择器(Date Picker Field)等。

1.1.5 示例

假设你有一个用户注册表单,可以如下组织:

  • Form: 用户注册表单
    • Section 1: 个人信息
      • Column 1:
        • 姓名 (Text Field)
        • 电子邮件 (Email Field)
      • Column 2:
        • 电话号码 (Text Field)
    • Section 2: 地址信息
      • Column 1:
        • 街道地址 (Text Field)
        • 城市 (Text Field)
        • 邮政编码 (Text Field)

1.2 Datalist

DataList 是用于显示和管理数据记录的组件。它提供了一种灵活的方式来展示数据库中的数据,并允许用户进行各种操作,如查看、编辑、删除和导出数据。DataList 是 Joget 应用程序中的一个核心部分,广泛用于数据管理和报告。

1.2.1 Datalist

1.2.1.1 主要特点和用途
  • 数据展示:
    • 表格视图: DataList 以表格形式展示数据记录,每行代表一条记录,每列代表一个字段。
    • 分页: 支持分页功能,可以处理大量数据记录,用户可以通过分页导航查看不同页的数据
  • 数据操作:
    • 查看: 用户可以查看数据记录的详细信息。
    • 编辑: 用户可以编辑数据记录。
    • 删除: 用户可以删除数据记录。
    • 导出: 支持将数据导出为 CSV 或 Excel 格式,便于数据分析和共享。
  • 过滤和排序:
    • 过滤: 支持根据特定条件过滤数据记录,用户可以通过设置过滤条件来查看特定的数据子集。
    • 排序: 支持对数据记录进行排序,用户可以根据需要对数据进行升序或降序排列。
  • 自定义列:
    • 列选择: 用户可以选择显示哪些列,隐藏不需要的列。
    • 列格式化: 支持自定义列的显示格式,如日期格式、数值格式等。
  • 集成工作流:
    • 工作流任务: DataList 可以与 Joget 的工作流引擎集成,显示与工作流任务相关的数据记录。
    • 操作按钮: 可以在 DataList 中添加自定义操作按钮,触发特定的工作流操作或自定义脚本。
1.2.1.2 创建和使用 DataList
  1. 创建 DataList: 在 Joget 的 DataList Builder 中创建一个新的 DataList。
  2. 选择数据源: 选择 DataList 的数据源,可以是数据库表、视图或自定义查询。
  3. 配置列: 配置 DataList 的列,选择要显示的字段,并设置列的显示格式和排序方式。
  4. 设置过滤和排序: 配置 DataList 的过滤和排序选项,允许用户根据特定条件过滤和排序数据记录。
  5. 添加操作按钮: 在 DataList 中添加操作按钮,允许用户进行查看、编辑、删除和导出等操作。
  6. 发布 DataList: 将配置好的 DataList 发布到 Joget 系统中,供用户使用。
1.2.1.3 示例

假设你有一个员工信息管理系统,可以创建一个 DataList 来展示员工信息:

  • 列:
    • 员工编号
    • 姓名
    • 部门
    • 职位
    • 入职日期
  • 操作:
    • 查看详细信息
    • 编辑员工信息
    • 删除员工记录
    • 导出员工数据

1.2.2 Design

DataList 的设计(Design)概念涉及到如何定义和配置 DataList,以便在应用程序中显示和操作数据。

1.2.2.1 设计概念
  • Columns): 定义 DataList 中显示的列。每一列对应数据源中的一个字段,可以配置列的标签、类型、格式等。
  • 数据绑定Binder): 定义 DataList 如何从数据源中获取数据。Binder 负责处理数据的获取、过滤、排序和分页等操作。常见的 Binder 类型包括 SQL Binder、Bean Binder、JSON Binder 和 LDAP Binder。
  • 过滤器Filters): 定义用户可以用来过滤 DataList 数据的条件。过滤器可以是文本框、下拉列表、日期选择器等。
  • 操作Actions): 定义用户可以对 DataList 中的数据执行的操作。操作可以是查看、编辑、删除、导出等。
  • 样式和布局Style and Layout): 定义 DataList 的外观和布局,包括表格样式、分页样式等。
1.2.2.2 设计步骤
  1. 定义列: 在 <columns> 标签中定义 DataList 中显示的列。每一列使用 <column> 标签定义,包含列名和标签。
  2. 配置数据绑定: 在 <binder> 标签中配置数据绑定。选择合适的 Binder 类型,并配置数据源和查询参数。
  3. 添加过滤器: 在 <filters> 标签中添加过滤器。每一个过滤器使用 标签定义,包含过滤器的名称、标签和类型。
  4. 定义操作: 在 <actions> 标签中定义用户可以执行的操作。每一个操作使用 <action> 标签定义,包含操作的名称、标签、类型和 URL。
  5. 设置样式和布局: 根据需要设置 DataList 的样式和布局,以确保 DataList 的外观和用户体验符合要求。
1.2.2.3 示例

以下是一个 DataList 配置示例,展示了如何设计一个 DataList

<datalist>
    <id>exampleDatalist</id>
    <name>Example DataList</name>
    <binder>
        <className>org.joget.apps.datalist.lib.SqlDatalistBinder</className>
        <properties>
            <property>
                <name>dataSource</name>
                <value>jdbc/joget</value>
            </property>
            <property>
                <name>sql</name>
                <value>SELECT id, name, email FROM users WHERE name LIKE ? ORDER BY name</value>
            </property>
            <property>
                <name>params</name>
                <value>%${filter_name}%</value>
            </property>
        </properties>
    </binder>
    <columns>
        <column>
            <name>id</name>
            <label>ID</label>
        </column>
        <column>
            <name>name</name>
            <label>Name</label>
        </column>
        <column>
            <name>email</name>
            <label>Email</label>
        </column>
    </columns>
    <filters>
        <filter>
            <name>filter_name</name>
            <label>Name</label>
            <type>TextField</type>
        </filter>
    </filters>
    <actions>
        <action>
            <name>view</name>
            <label>View</label>
            <type>Hyperlink</type>
            <url>/view?id=${id}</url>
        </action>
        <action>
            <name>edit</name>
            <label>Edit</label>
            <type>Hyperlink</type>
            <url>/edit?id=${id}</url>
        </action>
    </actions>
</datalist>

1.3 UserView

Userview 是一个用于定义和管理用户界面的组件。Userview 允许您创建自定义的用户界面,以便用户可以访问和操作应用程序中的数据和功能。Userview 是 Joget 应用程序的重要组成部分,它提供了一个灵活的方式来组织和展示应用程序的内容。

1.3.1 主要概念

  • 页面Pages): Userview 由多个页面组成,每个页面可以包含不同的内容和功能。页面可以是表单、数据列表、HTML 内容、链接等。
  • 菜单Menus): Userview 中的每个页面通常通过菜单项来访问。菜单项定义了页面的类型和内容,并提供导航功能。
  • 权限Permissions): Userview 可以配置权限,以控制哪些用户或用户组可以访问特定的页面或菜单项。
  • 主题Themes): Userview 支持自定义主题,以改变用户界面的外观和风格。主题可以定义颜色、字体、布局等。
  • 国际化Localization): Userview 支持多语言,可以根据用户的语言偏好显示不同的语言内容。

1.3.2 设计步骤

  1. 定义 Userview: 在 标签中定义 Userview 的基本信息,如 ID、名称和描述。
  2. 添加菜单项: 在 <menus> 标签中添加菜单项。每个菜单项使用 <menu> 标签定义,包含菜单项的 ID、名称、类型和属性。
  3. 配置权限: 根据需要配置 Userview 的权限,以控制哪些用户或用户组可以访问特定的页面或菜单项。
  4. 设置主题: 在 标签中设置 Userview 的主题,以定义用户界面的外观和风格。
  5. 国际化: 根据需要配置 Userview 的多语言支持,以便根据用户的语言偏好显示不同的语言内容。

1.3.3 示例

以下是一个 Userview 配置示例,展示了如何定义一个简单的 Userview:

<userview>
    <id>exampleUserview</id>
    <name>Example Userview</name>
    <description>This is an example userview.</description>
    <menus>
        <menu>
            <id>home</id>
            <name>Home</name>
            <type>HtmlPage</type>
            <properties>
                <property>
                    <name>content</name>
                    <value>Welcome to the example userview!</value>
                </property>
            </properties>
        </menu>
        <menu>
            <id>form</id>
            <name>Form</name>
            <type>Form</type>
            <properties>
                <property>
                    <name>formId</name>
                    <value>exampleForm</value>
                </property>
            </properties>
        </menu>
        <menu>
            <id>datalist</id>
            <name>DataList</name>
            <type>DataList</type>
            <properties>
                <property>
                    <name>datalistId</name>
                    <value>exampleDatalist</value>
                </property>
            </properties>
        </menu>
    </menus>
    <theme>
        <className>org.joget.apps.userview.lib.DefaultTheme</className>
    </theme>
</userview>

在这个示例中,Userview 定义了三个菜单项:一个 HTML 页面、一个表单和一个数据列表。每个菜单项都有自己的类型和属性。

1.4 Binder

Binder 是 Joget Workflow 中用于从数据源中提取数据并将其绑定到特定组件的组件。它负责处理数据的获取、过滤、排序和分页操作,确保组件显示正确的数据。常见的 Binder 类型包括 SQL Binder、Bean Binder、JSON Binder 和 LDAP Binder。通过使用 Binder,Joget 可以动态地显示和处理数据,使得应用程序更加灵活和强大。

1.4.1 主要概念

  • 数据源: Binder 从特定的数据源中提取数据。数据源可以是数据库、Web 服务、文件系统等。
  • 数据获取: Binder 负责从数据源中获取数据,并将其转换为 Joget 组件可以显示的格式。
  • 过滤: Binder 可以根据用户输入的过滤条件,从数据源中提取符合条件的数据。
  • 排序: Binder 可以根据用户指定的排序条件,对数据进行排序。
  • 分页: Binder 可以处理数据的分页操作,确保组件只显示当前页的数据。

1.4.2 常见的 Binder 类型

  • SQL Binder: 从数据库中提取数据,使用 SQL 查询语句。
  • Bean Binder: 从 Java Bean 中提取数据,通常用于从自定义 Java 类中获取数据。
  • JSON Binder: 从 JSON 数据源中提取数据,通常用于从 Web 服务或 API 中获取数据。
  • LDAP Binder: 从 LDAP 目录中提取数据,通常用于从目录服务中获取用户或组信息。

1.4.3 示例

以下是一个使用 SQL Binder 的 DataList 配置示例:

<datalist>
    <id>exampleDatalist</id>
    <name>Example DataList</name>
    <binder>
        <className>org.joget.apps.datalist.lib.SqlDatalistBinder</className>
        <properties>
            <property>
                <name>dataSource</name>
                <value>jdbc/joget</value>
            </property>
            <property>
                <name>sql</name>
                <value>SELECT id, name, email FROM users WHERE name LIKE ? ORDER BY name</value>
            </property>
            <property>
                <name>params</name>
                <value>%${filter_name}%</value>
            </property>
        </properties>
    </binder>
    <columns>
        <column>
            <name>id</name>
            <label>ID</label>
        </column>
        <column>
            <name>name</name>
            <label>Name</label>
        </column>
        <column>
            <name>email</name>
            <label>Email</label>
        </column>
    </columns>
</datalist>

2. 登录

在这里插入图片描述
用户名和密码都是admin
在这里插入图片描述

登录成功后,可以在右下角看到Admin Bar的收缩按钮
在这里插入图片描述

展开Admin Bar按钮,可以看到管理员菜单栏
在这里插入图片描述

3. 应用

我们创建一个雇员(employee)信息的应用。

3.1 创建App

点击Design New App按钮,我们输入employee作为App ID和App Name。这两个值都要求保持唯一性(todo:在实现层是如何使用这两个值的?理论上来说App ID唯一就行了)

Please enter a unique ID and name for the App. Both fields are required.

在这里插入图片描述

3.2 创建Form

Design and manage forms to display and capture information from users.

Form 是用于创建和管理用户输入的界面组件。它是 Joget 工作流管理系统中的一个核心部分,用于收集和处理用户输入的数据。Form 通常用于创建、编辑和查看数据记录,并且可以与 Joget 的工作流和数据管理功能集成。

创建一个Form,用于保存雇员的基础信息
在这里插入图片描述

3.2.1 创建Section

Section 是 Form 中的一个分组容器,用于将相关的表单字段组织在一起。
创建多个Section,分别用于存储唯一ID、姓名和年龄。
新创建的Section需要编辑,可以通过Section右侧的Edit Section来进行。
在这里插入图片描述
在这里插入图片描述

3.2.1.1 创建Column

Column 是 Section 中的一个布局容器,用于在同一行中排列多个表单字段。

  • ID Section下我们新建一个Column,取名也叫ID。

在这里插入图片描述

  • NamesAndAge Section下新增两个Column
    在这里插入图片描述
    在这里插入图片描述
    然后修改Column名称为Names和Age
    在这里插入图片描述
    在这里插入图片描述
3.2.1.1.1 创建Field

Field 是表单中用于收集用户输入的基本元素。每个 Field 代表一个输入控件,如文本框、下拉列表、复选框等。

  • 给Label为ID的Column拖入ID Generator Field控件
    在这里插入图片描述

将其ID修改为employee_id;Label修改为Employee ID

  • 给Label为Names的Column拖入两个Text Field控件
    在这里插入图片描述

并修改它们的ID和Label为

IDLabels
first_nameFirst Name
last_nameLast Name
  • 给Label为Age的Column拖入一个Text Field控件
    在这里插入图片描述

将其ID修改为age;Label修改为Age

3.2.2 提交

在这里插入图片描述

3.3 创建Datalists

Design and manage Datalists to display data in a tabular format with support for linking, paging, sorting and filtering.

创建一个ID为basic_data_list,Name为Basic Data List的DataList。
在这里插入图片描述

3.3.1 选择绑定器

我们需要选择数据源绑定器(Form Data Binder)
在这里插入图片描述

然后选择之前创建的Form作为数据源
在这里插入图片描述

过滤条件先不填写

3.3.2 设计

设计分为4个区域:

  • 全局筛选(Filters)字段
  • 列(Columns)名称
  • 每行(Row)行为(Actions)
  • 全局行为(Actions)

我们如下图配置
在这里插入图片描述

给DeleteAction(本例2个)设置
在这里插入图片描述

3.3.3 提交

在这里插入图片描述

3.4 创建Userview

Design and manage Userviews to provide a user interface (UI) to end-users. An App may contain multiple Userviews to cater to different types of users.

创建ID为basic_userview,Name为Basic Userview的UserView
在这里插入图片描述
在这里插入图片描述

从右侧拖入Form,并编辑该组件,设置其Form为之前创建的basic
在这里插入图片描述

从右侧拖入List,并编辑该组件,设置其List为之前创建的Basic Data List
在这里插入图片描述
最后提交设置
在这里插入图片描述

3.5 发布App

Before end-users are able to access the App, it needs to be published first. Click on the Version link to select the App version to publish.

回到Design App页面,点击发布按钮
在这里插入图片描述
在这里插入图片描述

这样该App进入“发布状态”。
在这里插入图片描述

3.6 查看

通过App Center功能键查看所有发布的应用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过上面一步的新增数据,我们可以在List中看到DataList设置的界面和数据。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/944696.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安装winserver2008R2虚拟机步骤

一、服务器系统介绍 1.1什么是服务器&#xff1f; 服务器英文名称为“Server”&#xff0c;指的是网络环境下为客户机(Client)提供某种服务的专用计算机&#xff0c;服务器安装有网络操作系统(如Windows 2000 Server、Linux、Unix等)和各种服务器应用系统软件(如Web服务、电子…

在开发嵌入式系统时,尤其是处理大数时,会遇到取值范围的问题。51单片机通常没有内建大整数支持,因此我们需要采用不同的方法来解决这一问题

00 两种可行方法分别是&#xff1a; 使用数组存储每一位数据并进行进位运算&#xff1a;通过将大数按位拆分成数组&#xff0c;然后实现逐位加法、进位等操作。使用符号变量进行计算&#xff1a;将数值分成低位和高位&#xff0c;分别用符号变量进行计算。 01&#xff1a;使用…

uniapp通过v-if进行判断时,会出现闪屏?【已解决】

1.问题&#xff1a;按钮切换时&#xff0c;通过v-if来判断&#xff0c;会出现闪烁情况&#xff0c;影响用户体验 2.v-if 闪烁问题可能的原因 ‌条件切换频繁‌&#xff1a;如果 v-if 指令的条件在短时间内频繁切换&#xff0c;会导致元素不断被销毁和重新创建&#xff0c;从而…

FME教程:一键批量调换图斑X、Y坐标,解决因为坐标弄反了,导致GIS弹窗提示“范围不一致”警告问题

目录 一、实现效果 二、实现过程 1.读取数据 2.提取坐标 3.调换图斑的X、Y坐标 4.输出成果 5.模板的使用 三、总结 在工作中有时候会出现因为失误导致图斑的X、Y坐标弄反&#xff0c;在GIS中打开是会提示“范围不一致”警告的弹窗警告&#xff0c;如果重做工作量非常大…

MySQL数据库——索引结构之B+树

本文先介绍数据结构中树的演化过程&#xff0c;之后介绍为什么MySQL数据库选择了B树作为索引结构。 文章目录 树的演化为什么其他树结构不行&#xff1f;为什么不使用二叉查找树&#xff08;BST&#xff09;&#xff1f;为什么不使用平衡二叉树&#xff08;AVL树&#xff09;&a…

探索贝叶斯魔法和误差的秘密

引言 今天我们要一起学习两个神秘的魔法概念&#xff1a;贝叶斯魔法和误差的秘密。这些概念听起来可能有点复杂&#xff0c;但别担心&#xff0c;我会用最简单的方式来解释它们。 一、贝叶斯魔法 贝叶斯魔法是一种预测的魔法&#xff0c;它帮助我们理解在不确定的情况下事情…

FFmpeg:详细安装教程与环境配置指南

FFmpeg 部署完整教程 在本篇博客中&#xff0c;我们将详细介绍如何下载并安装 FFmpeg&#xff0c;并将其添加到系统的环境变量中&#xff0c;以便在终端或命令行工具中直接调用。无论你是新手还是有一定基础的用户&#xff0c;这篇教程都能帮助你轻松完成 FFmpeg 的部署。 一、…

BGP特性实验

实验拓扑 实验需求及解法 本实验模拟大规模BGP网络部署&#xff0c;使用4字节AS号&#xff0c;传递IPv6路由。 预配说明&#xff1a; sysname R1 ospfv3 1router-id 1.1.1.1 # firewall zone Localpriority 15 # interface Serial1/0/0link-protocol pppipv6 enable ipv6 ad…

【Rust自学】7.6. 将模块拆分为不同文件

喜欢的话别忘了点赞、收藏加关注哦&#xff08;加关注即可阅读全文&#xff09;&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 7.6.1. 将模块的内容移动到其他文件 如果在模块定义时模块名后边跟的是;而不是代码块&#…

Dockerfile构建SpringBoot镜像并推送到docker公共镜像仓库Docker-hub

&#x1f485; 写在前面 前期准备工作主要有&#xff1a;准备好必要的环境&#xff0c;确保安装了docker&#xff0c;以及有一个Spring boot项目。 tips&#xff1a;本文所有操作均在宿主机上的 VMware (centos 7)中进行.&#x1f63d; 使用Dockerfile构建SpringBoot镜像 ⭐…

基于Spring Boot + Vue3实现的在线商品竞拍管理系统源码+文档

前言 基于Spring Boot Vue3实现的在线商品竞拍管理系统是一种现代化的前后端分离架构的应用程序&#xff0c;它结合了Java后端框架Spring Boot和JavaScript前端框架Vue.js的最新版本&#xff08;Vue 3&#xff09;。该系统允许用户在线参与商品竞拍&#xff0c;并提供管理后台…

一文大白话讲清楚CSS盒子模型和块级格式化上下文(BFC)

一文大白话讲清楚CSS盒子模型和块级格式化上下文&#xff08;BFC&#xff09; 1.啥是个CSS盒子 鞋盒你家总有吧&#xff0c;方方正正&#xff0c;有长度有高度。css盒子跟这个八九不离十当我们编写html页面时&#xff0c;写了很多的元素&#xff0c;比如"div",&quo…

【VulnOSv2靶场渗透】

文章目录 一、基础信息 二、信息收集 三、漏洞探测 四、提权 一、基础信息 Kali IP: 192.168.20.146 靶机IP&#xff1a;192.168.20.152 二、信息收集 nmap -sS -sV -p- -A 192.168.20.152 开放了22、80、6667等端口 22端口&#xff1a;openssh 6.6.1p1 80端口&…

java项目中使用swagger生成接口文档

1、导入依赖 <!-- swagger2 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox<…

【潜意识Java】深入详细理解分析Java中的toString()方法重写完整笔记总结,超级详细。

目录 一、toString() 方法是啥&#xff1f; &#xff08;一&#xff09;默认的 toString() 方法 &#xff08;二&#xff09;toString() 方法的作用 二、为啥要重写 toString() 方法&#xff1f; &#xff08;一&#xff09;提高代码的可读性 &#xff08;二&#xff09;…

AWS Certified AI Practitioner 自学考试心得

学习目标&#xff1a; 考取 AWS Certified AI Practitioner 那什么是 AWS Certified AI Practitioner 认证 是基础级的认证 比较简单 — 学习内容&#xff1a; 1. AWS网站自学网站 极客时间免费课程&#xff1a;http://gk.link/a/12sJL 配合极客时间课程的章节测试检验自…

Python 爬虫

一、创建项目 1.双击打开pycharm&#xff0c;点击新建项目 2.项目设置- 勾选[继承全局站点软件包]- 勾选[可用于所有项目]- 取消勾选[创建main.py欢迎脚本]- 点击创建 3.项目名称右键--新建--python文件 4.输入文件名--回车二、编辑代码 # 导入请求模块 import requests # 如…

瑞芯微全新芯片平台RK3506优势详解,高集成低功耗,为工业而生 触觉智能测评

RK3506是瑞芯微Rockchip在2024年第四季度全新推出的Arm嵌入式芯片平台&#xff0c;三核Cortex-A7单核Cortex-M0多核异构设计&#xff0c;CPU频率达1.5Ghz, M0 MCU为200Mhz。 而RK3506芯片平台下的工业级芯片型号RK3506J&#xff0c;具备-40-85℃的工业宽温性能、发热量小&#…

HarmonyOS NEXT应用开发实战:一分钟写一个网络接口,JsonFormat插件推荐

在开发鸿蒙操作系统应用时&#xff0c;网络接口的实现往往是一个繁琐且重复的过程。为了提高开发效率&#xff0c;坚果派(nutpi.net)特别推出了一个非常实用的插件——JsonFormat。这款插件的主要功能是将JSON格式的数据直接转换为arkts的结构定义&#xff0c;让我们在编写接口…

Unity-Editor扩展显示文件夹大小修复版 FileCapacity.cs

实战中是这样的,大项目, 容易定位美术大资产 (原版的代码有问题,每次点运行都会卡顿,大项目20S) //但其实获整个项目内容,1G都没有,有够省的(10年前的中型项目,一直有出DLC) using System; using System.Collections; using System.Collections.Generic; using Sy…