【Microi吾码】开源低代码平台-Microi吾码-一键安装使用(CentOS一键安装MySql+Redis+MinIO+MongoDB+Watchtower脚本)

OSDU(Open Subsurface Data Universe,开放地下数据空间 / 开源地下数据生态系统) OSDU是由油气行业与云厂商共建的开源、云原生数据平台规范,旨在解决勘探开发领域数据孤岛、格式不统一、应用绑定等问题。其核心是“数据与应用解耦”,通过统一元数据模型、API及权限体系,实现跨云、跨项目的数据互通。平台支持地震、井筒、储层等专业数据管理,配套OpenVDS、ETP等标准,适配PB级体数据,支撑AI训练与数字孪生。虽为参考实现,非即用系统,但已成国际油气数字化底座趋势,国内三桶油正推进试点与国产化适配。 阅读详情

📕作者简介:热爱跑步的恒川,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐、摄影的一位博主。
📗本文收录于Microi吾码系列专栏,大家有兴趣的可以看一看
📘相关专栏C语言初阶、C语言进阶系列、恒川的日常汇报系列等,大家有兴趣的可以看一看
📙Python零基础入门系列,Java入门篇系列、docker技术篇系列、Apollo的学习录系列正在发展中,喜欢Python、Java、docker的朋友们可以关注一下

Microi吾码是一个开源的低代码平台,旨在通过简化应用程序开发过程,帮助开发者和非开发者快速创建和部署应用。低代码平台通过可视化界面、拖拽操作、预设模板等方式,降低了编程的复杂度,让用户能够以更少的编码工作完成应用开发。

前言

有小伙伴提出他并不想在本地编译代码、打包镜像、上传镜像、安装服务器环境、安装docker容器等一系列繁琐的操作,见文章【开源低代码平台-Microi吾码-Docker部署】
因此博主编写了一键安装【mysql+redis+minio+mongodb+watchtower+低代码平台程序】脚本

CentOS7一键安装脚本

url=https://static.itdos.com/install/install-microi-centos.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install-microi-centos.sh $url;fi;bash install-microi-centos.sh

注意事项:

  • 执行上面脚本时,会提示【输入 g 以公网IP安装,输入 n 以内网IP安装】,请根据实际情况输入g或n
  • 如果服务器没有docker环境,也会提示是否按y安装,虽然博主建议使用1Panel、宝塔之类的面板工具来管理服务器并安装docker,但如果您想快速开始就直接键入y吧
  • 安装成功后,必需开放microi-api端口、前端传统界面端口、前端Web操作系统端口、MinIO端口
  • 脚本安装mysql默认为4G内存服务器的性能配置,2G内存服务器建议下载脚本去掉性能配置再运行脚本
  • 重复执行一键脚本前会提示先删除所有已安装容器,这将导致所有数据丢失:
docker ps -a --format "{{.Names}}" | grep "^microi-install-" | xargs -r docker rm -f

安装成功预览图

在这里插入图片描述

安装过程图

在这里插入图片描述

安装结果docker

在这里插入图片描述

脚本代码【有点东西:)】

目前更新于2024-11-24 11:47,后续可能会经常更新

#!/bin/bash

echo 'Microi:当前一键脚本版本:2024-11-24 11:47'
# 获取局域网IP
LAN_IP=$(hostname -I | awk '{print $1}')
echo 'Microi:获取局域网IP: '$LAN_IP

# 获取公网IP
PUBLIC_IP=$(curl -s ifconfig.me)
echo 'Microi:获取公网IP: '$PUBLIC_IP

# 询问用户安装类型
echo 'Microi:您是想在公网访问系统还是内网访问?公网请提前做好端口开放。'
echo 'Microi:输入 g 以公网IP安装,输入 n 以内网IP安装:'
read -r install_type

if [ "$install_type" == "g" ]; then
  ACCESS_IP=$PUBLIC_IP
  echo 'Microi:将以公网IP安装。'
elif [ "$install_type" == "n" ]; then
  ACCESS_IP=$LAN_IP
  echo 'Microi:将以内网IP安装。'
else
  echo 'Microi:无效的输入,脚本退出。'
  exit 1
fi

# 检查Docker是否安装
if ! [ -x "$(command -v docker)" ]; then
  echo 'Microi:您未安装docker,推荐使用1Panel、宝塔等面板工具来安装docker并管理您的服务器!'
  echo 'Microi:是否立即安装Docker?(y/n)'
  read -r answer
  if [ "$answer" != "y" ]; then
    echo 'Microi:安装取消,脚本退出。'
    exit 1
  fi

  # 安装Docker
  echo 'Microi:开始安装Docker...'
  sudo yum update -y
  sudo yum install -y yum-utils
  sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  sudo yum install -y docker-ce docker-ce-cli containerd.io
  sudo systemctl start docker
  sudo systemctl enable docker
  echo 'Microi:Docker已成功安装。'
fi

# 配置Docker镜像加速器(现在太难找了,如果报错timeout就去阿里云申请一个自己私有的加速地址)
DOCKER_ACCELERATOR="https://mirrors.aliyun.com/docker-ce/"
echo 'Microi:配置Docker镜像加速器'
sudo tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["${DOCKER_ACCELERATOR}"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

# 生成随机端口和密码函数
echo 'Microi:生成随机端口和密码函数'
generate_random_port() {
  shuf -i 17777-65535 -n 1
}

generate_random_password() {
  openssl rand -base64 12 | tr -dc 'A-Za-z0-9' | head -c16
}

# 生成随机数据目录
generate_random_data_dir() {
  local container_name="$1"
  local dir="/home/data-${container_name}-$(openssl rand -hex 4)"
  mkdir -p "${dir}"
  echo "${dir}"
}

# 检查并提示用户手动删除已有容器
echo 'Microi:检查并提示用户手动删除已有容器'
if docker ps -a --format '{{.Names}}' | grep -q '^microi-install-'; then
  echo 'Microi:脚本重复运行前,需要先通过命令【docker ps -a --format "{{.Names}}" | grep "^microi-install-" | xargs -r docker rm -f】删除所有相关容器后再重新运行,注意此操作将会删除数据库、MinIO文件,请谨慎操作'
  exit 1
fi

# 检查并安装unzip
if ! [ -x "$(command -v unzip)" ]; then
  echo 'Microi:您未安装unzip,正在为您安装...'
  sudo yum install -y unzip
  if [ $? -ne 0 ]; then
    echo 'Microi:unzip安装失败,脚本退出。'
    exit 1
  fi
  echo 'Microi:unzip已成功安装。'
else
  echo 'Microi:unzip已安装。'
fi

# 创建 MySQL 配置文件
MYSQL_CONF_FILE="/tmp/my_microi.cnf"
echo '[mysqld]' > ${MYSQL_CONF_FILE}
echo 'lower_case_table_names = 1' >> ${MYSQL_CONF_FILE}
echo 'max_connections = 500' >> ${MYSQL_CONF_FILE}
echo 'key_buffer_size = 268435456' >> ${MYSQL_CONF_FILE}
echo 'query_cache_size = 268435456' >> ${MYSQL_CONF_FILE}
echo 'tmp_table_size = 268435456' >> ${MYSQL_CONF_FILE}
echo 'innodb_buffer_pool_size = 536870912' >> ${MYSQL_CONF_FILE}
echo 'innodb_log_buffer_size = 268435456' >> ${MYSQL_CONF_FILE}
echo 'sort_buffer_size = 1048576' >> ${MYSQL_CONF_FILE}
echo 'read_buffer_size = 2097152' >> ${MYSQL_CONF_FILE}
echo 'read_rnd_buffer_size = 1048576' >> ${MYSQL_CONF_FILE}
echo 'join_buffer_size = 2097152' >> ${MYSQL_CONF_FILE}
echo 'thread_stack = 393216' >> ${MYSQL_CONF_FILE}
echo 'binlog_cache_size = 196608' >> ${MYSQL_CONF_FILE}
echo 'thread_cache_size = 192' >> ${MYSQL_CONF_FILE}
echo 'table_open_cache = 1024' >> ${MYSQL_CONF_FILE}
echo 'character_set_server=utf8mb4' >> ${MYSQL_CONF_FILE}
echo 'collation_server=utf8mb4_unicode_ci' >> ${MYSQL_CONF_FILE}

# 安装MySQL 5.6
MYSQL_PORT=$(generate_random_port)
MYSQL_ROOT_PASSWORD=$(generate_random_password)
MYSQL_DATA_DIR=$(generate_random_data_dir "mysql")
echo 'Microi:MySQL 将在端口 '${MYSQL_PORT}' 上安装,root 密码: '${MYSQL_ROOT_PASSWORD},数据目录: ${MYSQL_DATA_DIR}
docker pull registry.cn-hangzhou.aliyuncs.com/microios/mysql5.6:latest
docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \
  --name microi-install-mysql56 -p ${MYSQL_PORT}:3306 \
  -v ${MYSQL_DATA_DIR}:/var/lib/mysql \
  -v ${MYSQL_CONF_FILE}:/etc/mysql/conf.d/my_microi.cnf \
  -e MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} \
  -e MYSQL_TIME_ZONE=Asia/Shanghai \
  -d registry.cn-hangzhou.aliyuncs.com/microios/mysql5.6:latest

# 安装Redis 6.2
REDIS_PORT=$(generate_random_port)
REDIS_PASSWORD=$(generate_random_password)
echo 'Microi:Redis 将在端口 '${REDIS_PORT}' 上安装,密码: '${REDIS_PASSWORD}
docker pull registry.cn-hangzhou.aliyuncs.com/microios/redis6.2:latest
docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \
  --name microi-install-redis -p ${REDIS_PORT}:6379 \
  -e REDIS_PASSWORD=${REDIS_PASSWORD} \
  -d registry.cn-hangzhou.aliyuncs.com/microios/redis6.2:latest redis-server --requirepass ${REDIS_PASSWORD}

# 等待MySQL容器启动
echo 'Microi:等待MySQL容器启动...'
sleep 5 # 等待5秒,可根据实际情况调整

# 检查MySQL是否可以连接
echo 'Microi:检查MySQL是否可以连接...'
for i in {1..10}; do
  docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "SELECT 1" > /dev/null 2>&1 && break
  sleep 1
done

# 如果MySQL服务启动失败,则退出脚本
if [ $i -eq 60 ]; then
  echo 'Microi:MySQL服务启动失败,脚本退出。'
  exit 1
fi

# 允许root用户从任意主机连接
echo 'Microi:允许root用户从任意主机连接'
docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "USE mysql; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '${MYSQL_ROOT_PASSWORD}' WITH GRANT OPTION;"
docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "FLUSH PRIVILEGES;"

# 下载并解压MySQL数据库备份
SQL_ZIP_URL="https://static.itdos.com/download/microi/file/mysql5.6.50-bak-latest.sql.zip"
SQL_ZIP_FILE="/tmp/mysql_backup.zip"
SQL_DIR="/tmp/mysql_backup"
SQL_FILE="${SQL_DIR}/microi_demo.sql"

# 创建目录
mkdir -p ${SQL_DIR}
echo 'Microi:创建目录: '${SQL_DIR}

# 下载ZIP文件
curl -o ${SQL_ZIP_FILE} ${SQL_ZIP_URL}
echo 'Microi:下载ZIP文件: '${SQL_ZIP_FILE}

# 解压ZIP文件并覆盖现有文件
unzip -o -d ${SQL_DIR} ${SQL_ZIP_FILE}
echo 'Microi:解压ZIP文件到: '${SQL_DIR}

# 创建数据库
echo 'Microi:创建数据库 microi_demo'
docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "CREATE DATABASE IF NOT EXISTS microi_demo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

# 还原MySQL数据库备份
echo 'Microi:还原MySQL数据库备份: '${SQL_FILE}
docker exec -i microi-install-mysql56 mysql -uroot -p${MYSQL_ROOT_PASSWORD} microi_demo < ${SQL_FILE}

# 安装MongoDB
MONGO_PORT=$(generate_random_port)
MONGO_ROOT_PASSWORD=$(generate_random_password)
MONGO_DATA_DIR=$(generate_random_data_dir "mongodb")
echo 'Microi:MongoDB 将在端口 '${MONGO_PORT}' 上安装,root 密码: '${MONGO_ROOT_PASSWORD},数据目录: ${MONGO_DATA_DIR}
docker pull registry.cn-hangzhou.aliyuncs.com/microios/mongo:latest
docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \
  --name microi-install-mongodb -p ${MONGO_PORT}:27017 \
  -v ${MONGO_DATA_DIR}:/data/db \
  -e MONGO_INITDB_ROOT_USERNAME=root \
  -e MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD} \
  -d registry.cn-hangzhou.aliyuncs.com/microios/mongo:latest

# 安装MinIO
MINIO_PORT=$(generate_random_port)
MINIO_CONSOLE_PORT=$(generate_random_port)
MINIO_ACCESS_KEY=$(generate_random_password)
MINIO_SECRET_KEY=$(generate_random_password)
MINIO_DATA_DIR=$(generate_random_data_dir "minio")
echo 'Microi:MinIO 将在端口 '${MINIO_PORT}' 和控制台端口 '${MINIO_CONSOLE_PORT}' 上安装,access key: '${MINIO_ACCESS_KEY}',secret key: '${MINIO_SECRET_KEY},数据目录: ${MINIO_DATA_DIR}
docker pull registry.cn-hangzhou.aliyuncs.com/microios/minio:latest
docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \
  --name microi-install-minio -p ${MINIO_PORT}:9000 -p ${MINIO_CONSOLE_PORT}:9001 \
  -v ${MINIO_DATA_DIR}:/data \
  -v ${MINIO_DATA_DIR}/config:/root/.minio \
  -e "MINIO_ROOT_USER=${MINIO_ACCESS_KEY}" \
  -e "MINIO_ROOT_PASSWORD=${MINIO_SECRET_KEY}" \
  -d registry.cn-hangzhou.aliyuncs.com/microios/minio:latest server /data --console-address ":9001"

# 拉取并安装后端microi-api接口系统
API_PORT=$(generate_random_port)
API_IMAGE="registry.cn-hangzhou.aliyuncs.com/microios/microi-api:latest"
API_CONTAINER_NAME="microi-install-api"
OS_CLIENT_DB_CONN="Data Source=${LAN_IP};Database=microi_demo;User Id=root;Password=${MYSQL_ROOT_PASSWORD};Port=${MYSQL_PORT};Convert Zero Datetime=True;Allow Zero Datetime=True;Charset=utf8mb4;Max Pool Size=500;sslmode=None;"
echo 'Microi:拉取并安装后端microi-api接口系统: '${API_IMAGE}
docker pull ${API_IMAGE}
docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \
  --name ${API_CONTAINER_NAME} -p ${API_PORT}:80 \
  -e "OsClient=iTdos" \
  -e "OsClientType=Product" \
  -e "OsClientNetwork=Internal" \
  -e "OsClientDbConn=${OS_CLIENT_DB_CONN}" \
  -e "OsClientRedisHost=${LAN_IP}" \
  -e "OsClientRedisPort=${REDIS_PORT}" \
  -e "OsClientRedisPwd=${REDIS_PASSWORD}" \
  -e "AuthServer=http://${LAN_IP}:${API_PORT}" \
  -v /etc/localtime:/etc/localtime \
  -v /usr/share/fonts:/usr/share/fonts \
  -d ${API_IMAGE}

# 拉取并安装前端传统界面
VUE_PORT=$(generate_random_port)
VUE_IMAGE="registry.cn-hangzhou.aliyuncs.com/microios/microi-client:latest"
VUE_CONTAINER_NAME="microi-install-client"
echo 'Microi:拉取并安装前端传统界面: '${VUE_IMAGE}
docker pull ${VUE_IMAGE}
docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \
  --name ${VUE_CONTAINER_NAME} -p ${VUE_PORT}:80 \
  -e "OsClient=iTdos" \
  -e "ApiBase=http://${ACCESS_IP}:${API_PORT}" \
  -v /etc/localtime:/etc/localtime \
  -v /usr/share/fonts:/usr/share/fonts \
  -d ${VUE_IMAGE}

# 拉取并安装前端WebOS操作系统
WEBOS_PORT=$(generate_random_port)
WEBOS_IMAGE="registry.cn-hangzhou.aliyuncs.com/microios/microi-os:latest"
WEBOS_CONTAINER_NAME="microi-install-os"
echo 'Microi:拉取并安装前端WebOS操作系统: '${WEBOS_IMAGE}
docker pull ${WEBOS_IMAGE}
docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \
  --name ${WEBOS_CONTAINER_NAME} -p ${WEBOS_PORT}:80 \
  -e "OsClient=iTdos" \
  -e "ApiBase=http://${ACCESS_IP}:${API_PORT}" \
  -v /etc/localtime:/etc/localtime \
  -v /usr/share/fonts:/usr/share/fonts \
  -d ${WEBOS_IMAGE}

# 安装Watchtower
WATCHTOWER_CONTAINER_NAME="microi-install-watchtower"
echo 'Microi:安装Watchtower以自动更新API、Vue和WebOS容器'
docker pull registry.cn-hangzhou.aliyuncs.com/microios/watchtower:latest
docker run -itd --restart=always --log-opt max-size=10m --log-opt max-file=10 --privileged=true \
  --name ${WATCHTOWER_CONTAINER_NAME} -v /var/run/docker.sock:/var/run/docker.sock \
  registry.cn-hangzhou.aliyuncs.com/microios/watchtower:latest ${API_CONTAINER_NAME} ${VUE_CONTAINER_NAME} ${WEBOS_CONTAINER_NAME}

# 输出所有服务的信息
echo -e "=================================================================="
echo 'Microi:所有服务已成功安装。'
echo 'Microi:前端传统界面访问地址: http://'$ACCESS_IP':'$VUE_PORT',账号: admin,密码: demo123456'
echo 'Microi:前端WebOS操作系统访问地址: http://'$ACCESS_IP':'$WEBOS_PORT',账号: admin,密码: demo123456'
echo 'Microi:Redis: 容器名称 microi-install-redis, 端口 '${REDIS_PORT}', 密码: '${REDIS_PASSWORD}
echo 'Microi:MySQL: 容器名称 microi-install-mysql56, 端口 '${MYSQL_PORT}', Root 密码: '${MYSQL_ROOT_PASSWORD}
echo 'Microi:MongoDB: 容器名称 microi-install-mongodb, 端口 '${MONGO_PORT}', Root 密码: '${MONGO_ROOT_PASSWORD}
echo 'Microi:MinIO: 容器名称 microi-install-minio, 端口 '${MINIO_PORT}', 控制台端口 '${MINIO_CONSOLE_PORT}', Access Key: '${MINIO_ACCESS_KEY}, Secret Key: ${MINIO_SECRET_KEY}
echo 'Microi:后端microi-api接口系统: 容器名称 '${API_CONTAINER_NAME}', 端口 '${API_PORT}', 镜像: '${API_IMAGE}', 局域网IP: '${LAN_IP}
echo 'Microi:前端传统界面: 容器名称 '${VUE_CONTAINER_NAME}', 端口 '${VUE_PORT}', 镜像: '${VUE_IMAGE}', API URL: http://'${ACCESS_IP}':'${API_PORT}
echo 'Microi:前端WebOS操作系统: 容器名称 '${WEBOS_CONTAINER_NAME}', 端口 '${WEBOS_PORT}', 镜像: '${WEBOS_IMAGE}', API URL: http://'${ACCESS_IP}':'${API_PORT}
echo 'Microi:Watchtower: 容器名称 '${WATCHTOWER_CONTAINER_NAME}', 已安装以自动更新API、Vue和WebOS容器'
echo -e "=================================================================="

踩过的坑

  • 有些服务器走不了任何docker加速源,因此博主将redis、mysql、mongodb、minio、watchtower全部跟程序一样打包上传到容器镜像服务。相关文章【记录将服务器上已安装好的mysql、redis等docker容器镜像发布到自己的阿里云容器镜像服务】
  • mysql指定表名不区分大小写(lower_case_table_names=1)不支持环境变量,采用特殊办法实现
  • mysql性能处理
  • mysql自动创建数据库、还原数据库、设置root权限
  • mysql、minio等数据映射目录加入随机目录机制
  • 所有环境加入随机端口、随机帐号密码机制
  • 脚本语法上的一些处理
  • 必须让用户手动确认公网IP安装或内网IP安装,懂的自然懂:)

Microi吾码 - 系列文档

目前我已经是吾码合伙人,如果想购买Microi吾码开源框架会员版,可以在合伙人优惠码那里填写 【a_hengchuan】即可享受大额减免优惠。
原文地址:https://microi.blog.youkuaiyun.com/article/details/143832680(防止抄袭,原文地址不可删除)


  如果这份博客对大家有帮助,希望各位给恒川一个免费的点赞👍作为鼓励,并评论收藏一下⭐,谢谢大家!!!
  制作不易,如果大家有什么疑问或给恒川的意见,欢迎评论区留言。

简易背单词系统C/C++ #include&lt;stdio.h&gt; #include&lt;string.h&gt; int F=20,N=100,k=0; int score[100]; int count=0; void hello(); void add(); void preview(); void mdelete(); void etc(); void cte(); void mscore(); void... 阅读详情

相关推荐

SoC设计中的RDC陷阱:如何避免异步复位导致的亚稳态问题

本文深入探讨了SoC设计中由异步复位引发的复位域交叉(RDC)陷阱及其导致的亚稳态风险。通过分析实际案例,文章系统性地提出了以同步复位优先、异步复位同步释放为核心的设计原则,并介绍了电路级加固与验证策略,为构建稳健的SoC复位架构提供了实用指南。

weixin_29280657的博客 419

米柚AI搜索(MiYo.AI):实时智能搜索聚合平台开源推荐

米柚AI搜索(MiYo.AI)是一个智能搜索聚合平台,结合实时网页抓取(Playwright)与LLM意图识别技术,提供结构化摘要和流式输出。采用分层架构设计(Vue前端/FastAPI后端/Elasticsearch存储),支持多源聚合和本地一键部署(Docker)。适用于新闻、股票等时效性强的场景,具有LLM深度处理、零配置启动和易扩展等特点。项目开源并欢迎社区共建,可用于构建联网AI工具链或微服务实践。

chenxuezhi1986的专栏 1145

MCGS触摸屏数据记录与U盘导出配置全解析

在工业自动化现场,数据记录是设备运行状态分析与故障追溯的基础。HMI触摸屏作为人机交互核心,不仅承担实时监控任务,还负责过程数据的存储与导出。理解数据采集周期、存盘机制与存储介质的匹配原理,能帮助工程师高效配置数据记录功能。合理运用定时存盘、存盘组与U盘导出,可支撑设备趋势分析、报表生成及事故排查。本文以MCGS触摸屏为例,详解数据记录的完整组态流程,并汇总常见配置陷阱与排查思路,为现场调试与长期运维提供可落地的技术参考。

weixin_34253126的博客 456

解锁 Microi 吾码:快速开发业务系统的秘诀

在所有事件中,可访问一些内置函数。Microi 吾码平台始于 2014 年,最初基于 Avalon.js 开发,历经发展,在 2018 年进行了重大重构,使用 Vue 技术,使得平台在用户界面和交互体验上有了显著提升。Microi 吾码:采用.NET8 + Redis + MySql/SqlServer/Oracle + Vue2/3 + Element-UI/Element-Plus 的技术架构,支持跨平台、跨数据库、分布式部署,并集成了消息队列、搜索引擎、MongoDB 等组件,提供强大的后端支持。

开源低代码平台-Microi吾码-框架C#.NET8 + Vue3 1016

CTFShow萌新区全攻略:从密码破解到Web渗透的实战解析

本文为CTFShow萌新区新手提供从密码破解到Web渗透的完整实战攻略。文章深入解析了密码学、隐写术、杂项和Web安全四大核心方向,分享了实用的解题工具、思维方法和绕过技巧,旨在帮助初学者建立系统的安全竞赛解题体系,而不仅仅是提供一份题解(WP)。

weixin_29216957的博客 296

避开这些坑!baostock获取股票数据时最容易犯的5个错误(Python实战)

本文针对使用Python和baostock库获取股票历史数据时常见的五大陷阱,提供了实战解决方案。重点剖析了登录状态验证、参数配置、数据解析、批量操作效率及数据一致性校验等关键环节,帮助开发者构建稳健高效的数据获取流程,避免因细节疏忽导致的数据错误或性能瓶颈。

websocket5live的博客 1431

AI搜索神器推荐

秘塔AI搜索天工AI助手Meta AI搜索引擎

chenxuezhi1986的专栏 572

关于MII、RMII、GMII、RGMII、PHY、网络变压器、RJ45的硬件总结

文章目录前言一、网络传输结构及原理1.以太网的工作原理2.TCP/IP协议3.数据链路层(MAC)二、介质独立接口MII,RMII,GMII,RGMII1.MII(Media Independent interface)2.RMII(Reduced Media Independent Interface)3.GMII(Gigabit Medium Independent)4.RGMII(Reduced Gigabit Media Independent Interface)三、物理层芯片(PHY)二、使用步

weixin_44415816的博客 3万+

Microi吾码低代码平台的Docker部署实践指南

在开始部署前需要确保具备Docker环境,推荐使用Docker Desktop进行本地开发测试。构建时需要分别为前后端创建Dockerfile文件,配置正确的运行时环境和依赖项。MinIO部署时需要注意区分公有和私有存储桶的配置,确保文件访问权限设置正确。提供了常用的Docker管理命令,包括容器启停、日志查看、进入容器等操作指引。平台的一键部署功能特别适合中小团队快速搭建开发环境,省去了手动配置各种依赖的麻烦。实际测试发现,其可视化操作界面让配置过程变得非常直观,特别是对不熟悉命令行操作的用户很友好。

BlueTiger92的博客 415

手把手教你玩转CPU微架构--​第三章:乱序执行的“魔法”——如何让指令“插队”提升效率​​3.4 动手实验:用Gem5模拟器分析乱序执行对IPC的提升(对比顺序执行)

摘要:本章通过Gem5模拟器对比乱序执行(O3CPU)和顺序执行的性能差异,实验采用SPECCPU2017和PARSEC3.0基准测试,配置7级流水线、4指令/周期发射宽度及多级缓存。结果显示,乱序执行平均提升IPC超过100%,关键因素包括动态指令调度、缓存命中率提升(L1达92%)和TAGE分支预测(准确率95%)。优化方向包括增大指令缓存和发射队列深度。实验验证了乱序执行在减少流水线停顿和提升吞吐量方面的显著优势。

MHD0815的博客 165

流体动力学仿真软件:CFX_(10).案例实践:复杂流场分析

在“Phases”选项卡中,定义参与仿真的不同相。例如,如果您要分析气液两相流,可以定义“Air”和“Water”两个相。

kkchenjj的博客 1682

群晖NAS-Docker中搭建YAO-低代码应用引擎

系统介绍: Yao 是一款 Go 语言驱动的低代码应用引擎,通过编写 JSON 描述即可快速制作 API 接口,数据管理系统 ,命令行工具等应用程序,应用可以运行在本地、云端和物联网设备上。 环境准备: 1.产品型号:群晖 DS918+ 2.系统版本:DSM 6.2.3-25426 演示中仅为个人系统环境,请提前安装docker套件,请务必举一反三 操作步骤: 1.新增共享文件夹 在docker目录下新建文件夹,名为YAO 右击YAO文件夹属性,授权所有用户读写权限,且勾选应用到子文件夹 2.镜

薛定谔の丸 2782

深度学习实战35-图卷积神经网络GCN模型的搭建与应用

大家好,我是微学AI,今天给大家介绍一下深度学习实战35-图卷积神经网络GCN模型的搭建与应用,GCN是一种用于处理图结构数据的深度学习模型,它可以捕捉节点之间的拓扑关系和局部特征,并进行图级别的预测和分类任务。下面将介绍如何搭建并应用GCN模型。

微学AI的博客 2223

开源低代码平台-Microi吾码-一键安装使用(CentOS一键安装MySql+Redis+MinIO+MongoDB+Watchtower脚本)

有小伙伴提出他并不想在本地编译代码、打包镜像、上传镜像、安装服务器环境、安装docker容器等一系列繁琐的操作,见文章【开源低代码平台-Microi吾码-Docker部署因此博主编写了一键安装【mysql+redis+minio+mongodb+watchtower+低代码平台程序】脚本。

开源低代码平台-Microi吾码-框架C#.NET8 + Vue3 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LowCodeEngine基础教程

复制自定义组件中的packages和components信息。根目录\build\lowcode\assets-prod.json追加到本地demo项目中根目录\src\services\assets.json,将上述packages和components信息追加到对应的属性中。再次启动本地demo项目,可以看到新增了一个【默认分组】方式 1:在 DEMO 中直接新增插件方式 2:在新的仓库下开发插件初始化pnpm i。

IT飞牛 3626

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

MiyoAI数参首发体验——不止于监控,更是你的智能决策参谋

《MiyoAI数参:AI驱动的舆情分析利器》摘要 这款全新发布的桌面端工具MiyoAI数参(Win/Mac)是信息时代的"情报军火库",通过AI技术实现7×24小时全网舆情监控。核心功能包括:智能关键词追踪、AI情感分析、可视化报表生成和危机预警推送。相比传统手动搜索,它能自动抓取竞品动态、行业热词和负面评价,并深度分析舆情趋势。特别适合自媒体创作者、电商运营者和投资人士使用,帮助用户在海量信息中快速获取关键情报,抢占市场先机。目前1.0版本免费开放,填补了企业级SaaS工具的市场空白。

chenxuezhi1986的专栏 894

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

从零实现一套低代码(保姆级教程)【后端服务】 --- 【16】初始化后端项目

在前面的实现过程中,我们的低代码平台,在前端已经有一定的构建页面的能力了。但是对于我们实现一个平台,肯定要支持用户对页面进行保存等功能,包括后面我们运行时的设计,都要依赖于后端的能力所以,现在我们需要考虑开始使用数据存储了。那因为博主平时的工作主要都是前端开发,所以后端框架选择了比较贴合前端的。我们低代码来讲,通常是对协议的保存以及修改,所以我们的数据库使用,当然,如果读者有一定的后端开发经验,可以自行选择后端框架和数据库。

weixin_46726346的博客 1810

4 款开源 Bot 实测对比:Rakazo、OpenMausBot、Open Duet、OpenBot

对于绝大多数想自己折腾一套“AI 员工”的个人玩家,目前最省心、链路最完整的就是Rakazo。如果执着于复用本机已经登好的命令行工具,再去考虑。不管最后选哪个,动手部署前一定得想清楚:让服务器上的 AI 具备操作电脑、读写文件、敲命令行的能力,就等于把钥匙交出去了。别一上来就把宿主机权限和重要目录敞开给它,先在低权限的隔离沙盒里跑顺了,再一点点放权。

zx950401的博客 541

【QT入门到晋级】用开源的自定义控件开发

直接点击mainwindow.ui文件是看不到quc控件的,关键步骤是右键点击mainwindow.ui,右键菜单选择【Qt Designer】,在UI设计器中才能找到“Quc Widget”。注意:以上是前端调用自定义控件的方式,需要编译动态库等操作,相对要麻烦一些。如果有自定义控件的源码.h和.cpp文件,直接加入到现有qt项目中,以后台方式直接调用即可,以下是我分享过一个手搓的自定义控件类【QT自定义2D控件】QGraphics绘制仪表盘_qt仪表盘控件-优快云博客。

ocy的博客 168

2026年11月01日AI行业日报|可灵AI198亿融资落地、DeepSeek开源超级智能体、Anthropic取消Ultra时长限制

DeepSeek Super-agent、智谱十万卡RSI工程,代表智能体从单轮调用走向常驻、跨会话、集群自主调度的方向。另一边,算力内存瓶颈、算子自动生成、文档轻量模型持续迭代;合规侧版权争议、水印绕过、数据训练授权、AI恶意应用等问题同步浮出水面,AI安全和治理的节奏持续追赶技术落地速度。快手可灵AI完成198亿大额融资;小米轻量文档OCR模型开源、Anthropic放开Ultra套餐时长锁。同时还有算子自动优化、国产智驾芯片、大模型统一训练论文、AI安全漏洞、版权合规等多条资讯同步更新。

Smoothly_Lu的AI博客空间 1560

【FDE知识库】(4):企业知识库怎么选型,开源知识库分享几个,选择开源协议友好的版本,开发wiki-go项目

本文介绍企业内部搭建Wiki的主流开源项目,涵盖现代化(如Wiki.js、BookStack)、轻量级(MM-Wiki)、经典老牌(DokuWiki、XWiki、MediaWiki)及基于Git的文档即代码方案(Docusaurus等)。重点推荐将BookStack核心功能迁移至Go语言的Wiki Go项目,采用GoFrame框架实现单二进制部署,支持SQLite与本地文件存储,保留“书-章-页”结构与权限体系,架构清晰可扩展,适合中小团队快速私有化部署。

freewebsys的专栏 158

中小团队如何选模型中转方案:自建、开源还是第三方?

随着 AI 应用进入规模化落地阶段,中小团队普遍面临多模型接入、成本管控、流量调度等工程化难题。中国信通院《人工智能赋能中小企业高质量发展研究报告 (2025 年)》指出,68% 的中小企业在 AI 落地中遭遇技术人才不足、多厂商适配成本高、试错风险大等痛点中国信通院。模型中转服务作为业务层与模型厂商之间的中间层,正是解决上述问题的核心基础设施。模型中转服务。

starverseai的博客 353

Dify vs Coze开源版:企业级AI应用平台对比

提供Dify企业版订阅、私有化部署、迁移升级、智能体定制和企业培训。字节跳动开源了Coze之后,很多团队在Dify和Coze之间犹豫。两个都是低代码AI应用开发平台,但定位和能力差异不小。本文从企业使用角度做个客观对比。

Kari11的博客 156

二十分之一的压缩比:Spatial Vivid 1.0 把 3DGS 全链路参考实现按 MIT 开源了

一个高斯点携带的属性是固定的:位置 3 个 float,不透明度 1 个,三个轴的尺度 3 个,旋转四元数 4 个,剩下全是球谐系数。MIT 覆盖的是这次公布的参考工具,标准文本本身和可能存在的必要专利,授权条件不在这次公告的范围内。主论坛上宣布的事,到 11 月 2 日才由 IT之家 的报道扩散开来:Spatial Vivid 1.0(空间菁彩影像)标准的参考工具开源,包括 EGSC 编解码工具、Web 渲染器工具、封装解封装工具在内的全链路参考实现,以 MIT 协议面向全球开发者开放。

weixin_43043455的博客 214

开源的分布式任务调度平台:XXL-Job

定期刷新缓存、清理过期数据、更新状态机——这些"维护类"定时任务,XXL-Job 集中管理,运维一目了然。XXL-Job 是"整栋楼的中央广播"——否则"到点没跑、你还不知道",比"跑了重复的"更可怕。这种"分布式定时任务"的混乱,就是程序员心中又一个"至暗时刻"。有了 XXL-Job,那些"到点就乱跑"的任务,终于有了一个。:XXL-Job 是"任务调度"的一把好手,但如果你要的是。

y_14725836912345的博客 203

Orama:一个把全文搜索做成艺术品的开源搜索引擎

oramasearch/orama 在 GitHub 上已经累积到 10.4K Star。这是个让我有点意外的项目。搜索引擎这东西,行业内其实早有定论,Elasticsearch 那套基础设施早就把市场占满了,能再做出个有竞争力的开源搜索引擎,本身就不太容易。但 Orama 偏要做,而且做到了。它解决的核心问题就一个:在浏览器或者 Node 里跑搜索,又要全文检索,又要向量检索,还要混合检索。这事在以前是要拼凑好几个库才能干的,Orama 把它们压成了一个。我个人觉得 Orama 真正有意思的点,在于它把搜

matrixcode1的博客 251
上一篇: 【Microi吾码】开源低代码平台-Microi吾码平台简介及预览图、平台亮点、成功案例
下一篇: 云服务运维智能时代:阿里云操作系统控制台
热爱跑步的恒川
热爱跑步的恒川 2023年新星计划导师 2023年新星计划导师
博客等级 码龄4年 2万+粉丝 136原创
评论 99
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热爱跑步的恒川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值