使用NAS开启无纸化办公,Docker部署开源文档管理系统『Paperless-ngx』
使用NAS开启无纸化办公,Docker部署开源文档管理系统『Paperless-ngx』
哈喽小伙伴们好,我是Stark-C~
对于文案类的办公场景来说,手头堆放最多的可能就是各种文档文件,以及各种用过的打印废纸。
这么多年来,不管是领导还是员工,都希望能够使用数字化管理做到无纸化办公,抛开环保不谈,更重要的是它能节约成本开支,便于管理与提高效率。这种管理工具市面上不多,并且基本还是收费的。
今天为大家分享的这个项目『Paperless-ngx』就是一款非常不错的无纸化办公管理工具,可以轻松管理我们日常常见的各类文档,最重要的是,它还是免费开源,支持本地私有化部署也保障了文档的安全性。
关于Paperless-ngx
🔺当我们看到Paperless-ngx标识的时候,第一眼看到的绿叶就说明它的功能亮点:绿色环保(也就是它倡导的“无纸化”),实时上它对于很多职场人士来说,确实可以做到无纸化办公。简单谈说,它其实就是帮助用户实现无纸化办公和文档数字化管理工具,其核心功能包括:
文档的组织与索引:通过标签、对应者、类型等多种方式组织扫描文档。
OCR文本识别:对文档进行光学字符识别,使包含图像的扫描文档也能搜索和选择文本。
多语言支持:利用开源的Tesseract引擎,支持100多种语言。
长期存储格式:文档以PDF/A格式保存,设计用于长期存储。
智能标签与分类:使用机器学习自动添加标签、对应者和文档类型。
广泛的文件支持:支持PDF文档、图像、纯文本文件、Office文档等。
定制化的文件管理:Paperless-ngx管理文件名和文件夹,支持不同的配置。
现代化的网页应用:定制仪表板、过滤器、批量编辑、拖放上传、自定义视图、共享链接等。
全文搜索:自动完成、相关性排序、高亮显示匹配查询的部分。
电子邮件处理:从电子邮件账户导入文档,配置多个账户和规则。
多用户权限系统:内置健壮的多用户权限系统。
多核系统优化:并行处理多个文档。
然后引用下其他网友总结出来的几个较为常见且实用的使用场景:
• 个人文件管理:无论是家庭账单、保险合同还是医疗报告,Paperless-ngx 都能帮你把纸质文件变成可搜索的电子文件,告别纸质文件的烦恼。
• 企业档案管理:对于企业来说,文件量庞大且分类复杂,而Paperless-ngx 的OCR和标签功能让档案的整理和查找都更有效率。特别适合中小企业,降低文件管理成本。
• 教育与研究:对于学术机构或研究人员来说,海量的研究报告、会议纪要和参考资料都可以借助 Paperless-ngx 进行存档和检索,为学术研究提供支持。
它还提供了演示Demo,有兴趣的小伙伴可以先体验再部署:https://demo.paperless-ngx.com/
Paperless-ngx部署
部署前的准备:
需要说明的是,今天的这个项目需要多大5个容器同时联动和配合,所以我们可以简单的使用Docker Compose即可轻松部署,而在极空间上使用Docker Compose,最简单的方案莫过于Portainer了。
🔺极空间自从上次更新上线SSH功能以后,可玩性和功能性大大增强。我也是第一时间给大家分享了它的一些基本玩法和注意事项,其中就包括Portainer的部署:
按照文中教程,部署好Portainer以及了解它的基本用法还是没有问题的。
我这里再次多嘴提醒下绝大多数的普通用户:如果你只是为了使用命令部署Docker,就和我一样在部署好Portainer之后关掉极空间的SSH功能,一个是因为安全问题,另一个是防止自己误删极空间的系统文件导致系统问题。在Portainer中支持所有容器的命令和图像化部署,哪怕不是Compose命令,大家也可以通过【composerize】官网在线转换,非常方便!
另外就是Portainer是在使用命令部署容器的时候也是需要拉取Docker镜像,所以必要的代理和网络还是少不了的,要不然也会失败,这里就不讨论了~
🔺然后在极空间的Docker目录下新建一个“paperlessngx”的文件夹,在paperlessngx文件夹下面在新建 consume、data、db、export、media、redis、trash总共7个子文件夹。
开始部署:
🔺完成准备工作之后打开Portainer,选择“堆栈--添加堆栈”。
🔺名称随意,在Web编辑器中输入以下命令(直接复制粘贴即可,注意格式很重要):
services:redis:image: redis:7command:- /bin/sh- -c- redis-server --requirepass redispasscontainer_name: PaperlessNGX-REDIShostname: paper-redismem_limit: 512mmem_reservation: 256mcpu_shares: 768security_opt:- no-new-privileges:trueread_only: trueuser: 0:0 # 用户UID和GID,极空间用户不用改,其它NAS用户请自行修改healthcheck:test: ["CMD-SHELL", "redis-cli ping || exit 1"]volumes:- ./Docker/paperlessngx/redis:/data:rw # 映射redis文件夹实际路径environment:TZ: Asia/Shanghairestart: unless-stopped db:image: postgres:17container_name: PaperlessNGX-DBhostname: paper-dbmem_limit: 1gcpu_shares: 768security_opt:- no-new-privileges:truehealthcheck:test: ["CMD", "pg_isready", "-q", "-d", "paperless", "-U", "paperlessuser"]timeout: 45sinterval: 10sretries: 10volumes:- ./Docker/paperlessngx/db:/var/lib/postgresql/data # 映射db文件夹实际路径environment:POSTGRES_DB: paperlessPOSTGRES_USER: paperlessuserPOSTGRES_PASSWORD: paperlesspassrestart: unless-stopped gotenberg:image: gotenberg/gotenberg:latestcontainer_name: PaperlessNGX-GOTENBERGhostname: gotenbergsecurity_opt:- no-new-privileges:trueuser: 0:0 # 用户UID和GID,极空间用户不用改,其它NAS用户请自行修改command:- "gotenberg"- "--chromium-disable-javascript=true"- "--chromium-allow-list=file:///tmp/.*"restart: unless-stopped tika:image: ghcr.io/paperless-ngx/tika:latestcontainer_name: PaperlessNGX-TIKAhostname: tikasecurity_opt:- no-new-privileges:trueuser: 0:0 # 用户UID和GID,极空间用户不用改,其它NAS用户请自行修改restart: unless-stopped paperless:image: ghcr.io/paperless-ngx/paperless-ngx:latestcontainer_name: PaperlessNGXhostname: paperless-ngxmem_limit: 6gcpu_shares: 1024security_opt:- no-new-privileges:truehealthcheck:test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]interval: 30stimeout: 10sretries: 5ports:- 8000:8000 # 项目打开端口,冒号前面请勿和本地冲突volumes:- ./Docker/paperlessngx/data:/usr/src/paperless/data # 映射data文件夹实际路径- ./Docker/paperlessngx/media :/usr/src/paperless/media # 映射media文件夹实际路径- ./Docker/paperlessngx/export:/usr/src/paperless/export # 映射export文件夹实际路径- ./Docker/paperlessngx/consume:/usr/src/paperless/consume # 映射consume文件夹实际路径- ./Docker/paperlessngx/trash:/usr/src/paperless/trash # 映射trash文件夹实际路径environment:PAPERLESS_REDIS: redis://:redispass@paper-redis:6379PAPERLESS_DBENGINE: postgresqlPAPERLESS_DBHOST: paper-dbPAPERLESS_DBNAME: paperlessPAPERLESS_DBUSER: paperlessuserPAPERLESS_DBPASS: paperlesspassPAPERLESS_EMPTY_TRASH_DIR: ../trashPAPERLESS_FILENAME_FORMAT: '{{ created_year }}/{{ correspondent }}/{{ document_type }}/{{ title }}'PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD: 6PAPERLESS_TASK_WORKERS: 1USERMAP_UID: 0 # 用户UID,极空间用户不用改,其它NAS用户请自行修改USERMAP_GID: 0 # 用户GID,极空间用户不用改,其它NAS用户请自行修改PAPERLESS_TIME_ZONE: Asia/ShanghaiPAPERLESS_ADMIN_USER: stark-c # 默认管理员用户名PAPERLESS_ADMIN_PASSWORD: 123456 # 默认管理员密码PAPERLESS_OCR_LANGUAGES: chi-sim chi-traPAPERLESS_OCR_LANGUAGE: eng+chi_simPAPERLESS_TIKA_ENABLED: 1PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000PAPERLESS_TIKA_ENDPOINT: http://tika:9998restart: unless-stoppeddepends_on:db:condition: service_healthyredis:condition: service_healthytika:condition: service_startedgotenberg:condition: service_started
以上代码需要根据注释自行修改,其它没有注释的如果不懂请不要乱动。
🔺修改好之后点击页面底部的“部署堆栈”。
🔺等待的时间稍长,如果不出意外,就能看到这个项目中的5个容器都在正常运行。
Paperless-ngx体验
🔺打开方式依然是常规的【极空间本地IP:端口号】即可,首次打开需要输入用户名和密码,也就是我们部署容器时环境变量中自己设置的账户密码。
🔺登录进来之后就可以看到它默认显示的就是我们部署时候的用户名信息,并且原生都是中文显示。
🔺我这里尝试先上传一个Word文档,直接在首页(仪表盘)这里点击上传,或者拖拽都可以。
🔺几秒钟的时间,文件就会出现在“文档”菜单。
🔺点开可以直接查看,同时还能OCR识别。可以看到它对文字类的OCR识别可以说是做到了准确率极高,几乎没有漏掉和错误。
🔺多用户还能方便在这里编辑权限。
🔺同样的方法,我上传了一张照片并打开。
🔺可以看到照片中的文字也被成功识别。
🔺不过稍微复杂的图片文字就少点意思了,并且明显英文的识别率要高于中文很多。
🔺对于TXT格式的文档支持的也非常不错,比如说我这里上传的一段Docker Compose.yaml代码,夹杂着中文注释,它都是完美支持。
🔺最后看看对于PDF的支持,依然没任何问题,并且OCR识别同样准确率很高。
🔺它还有一个很好的功能就是智能搜索,给出关键字,很快就能找到我们保存在上面的文档。
🔺有点遗憾的是它目前不支持我写文章的Markdown格式,如果后期支持那就太合我意了!
最后
今天分享的这个项目还是非常实用了,它可以让我们更好地管理他们的文档,提高生产力,减少纸张使用,不管是对企业还是个人都是一个实用的解决方案,有兴趣的小伙伴可以整起来了!
最近正逢极空间双十一感恩回馈大促销活动,极空间的多款产品都有好价。如果你近期有入手NAS的计划,不妨关注下极空间。
好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,咱们下期再见!谢谢大家~
相关文章:
使用NAS开启无纸化办公,Docker部署开源文档管理系统『Paperless-ngx』
使用NAS开启无纸化办公,Docker部署开源文档管理系统『Paperless-ngx』 哈喽小伙伴们好,我是Stark-C~ 对于文案类的办公场景来说,手头堆放最多的可能就是各种文档文件,以及各种用过的打印废纸。 这么多年来,不管是领…...
docker安装mysql
1.拉取mysql镜像 docker pull mysql:5.7 2.启动mysql容器 docker run -d -e MYSQL_ROOT_PASSWORD123456 -e MYSQL_TCP_PORT3307 -p 3307:3307 -v /SDXL/wjz/docker_mysql_log:/var/log/mysql -v /SDXL/wjz/docker_mysql_data:/var/lib/mysql -v /SDXL/wjz/docker_mysql_conf:/e…...
9、深入剖析PyTorch的nn.Sequential及ModuleList源码
文章目录 1. train&eval2. 求导数3. 参数更新4. ModuleList,Sequential5. Parameter&Parameter_List&ParmeterDict 1. train&eval train 模式:表示的是神经网络的训练模式,能够进行样本学习,通过样本来更新权重weighteval 模…...
idea初始化设置
下载idea: https://www.jetbrains.com/idea/ 安装idea 安装插件: Rainbow BracketsLombokMybatisXSonarLintMaven HelperCodeGeeX(国内AI插件可用) 设置idea注释模板: 设置代码注释模板: https://blo…...
【C/C++】内存管理详解:从new/delete到智能指针的全面解析
文章目录 更多文章C/C中的传统内存管理方式new和delete运算符malloc和free函数传统内存管理的弊端 智能指针的崛起智能指针的定义与作用C11引入的标准智能指针 详解C标准智能指针std::unique_ptr特点使用方法适用场景 std::shared_ptr特点使用方法适用场景 std::weak_ptr特点使…...
Vue.Draggable使用nested-with-vmodel进行拖拽
Vue.Draggable使用nested-with-vmodel进行拖拽 1. 介绍 draggable是一个基于Sortable.js的Vue组件,用于实现拖拽功能。它支持触摸设备、拖拽和选择文本、智能滚动、不同列表之间的拖拽等功能,并且与Vue的视图模型同步刷新,兼容Vue2的过…...
MySQL 中的乐观锁与悲观锁
文章目录 MySQL 中的乐观锁与悲观锁一、引言二、乐观锁(一)原理(二)应用场景(三)示例代码 三、悲观锁(一)原理(二)应用场景(三)示例代…...
面试题分享(一)
实习的项目 成员规模 用到过哪些设计模式? 策略、单例、工厂、代理 责任链模式了解吗? 责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,目的是为了避免请求的发送者与接收者之间的耦合关系。通…...
用天翼云搭建一个HivisionIDPhoto证件照处理网站
世人不必记我,我不记世人。 HivisionIDPhoto证件照处理网站 世人不必记我,我不记世人。项目地址项目搭建与修改前端后端遇到的坑 成果图 前段时间工作需要频繁处理证件照,当时同事推荐一个证件照小程序(要看广告)&…...
Conda环境迁移到内网
文章目录 一、conda是什么? conda环境迁移 二、迁移方法 1.docker方式 2.conda包方式 3.conda指定目录创建环境 4.pip方式 5.单个包安装 总结 前言 搞Python,使用conda是避免不了的,利用conda可以方便的管理多个不同的虚拟环境&…...
React Hooks中use的细节
文档 useState useState如果是以函数作为参数,那要求是一个纯函数,不接受任何参数,同时需要一个任意类型的返回值作为初始值。 useState可以传入任何类型的参数作为初始值,当以一个函数作为参数进行传入的时候需要注意ÿ…...
Android 16 开发者预览版抢先使用
Android 16 开发者预览版 获取 Android 16在 Google Pixel 设备上获取 Android 16设置 Android 模拟器 设置 Android 16 SDK获取 Android Studio安装 SDK更新应用的 build 配置 获取 Android 16 你可以通过以下任一方式获取 Android 16 在 Google Pixel 设备上获取 Android 1…...
蓝桥杯c++算法秒杀【6】之动态规划【上】(数字三角形、砝码称重(背包问题)、括号序列、组合数问题:::非常典型的必刷例题!!!)
下将以括号序列、组合数问题超级吧难的题为例子讲解动态规划 别忘了请点个赞收藏关注支持一下博主喵!!!! ! ! ! ! 关注博主,更多蓝桥杯nice题目静待更新:) 动态规划 一、数字三角形 【问题描述】 上图给出了…...
c#:winform引入bartender
1、vs新建项目 ①选择Windows窗体应用(.NET Framework) 2、将bartender引入vs中 ①找到bartender的安装目录,复制Seagull.BarTender.Print.dll文件 ②粘贴到项目->bin->Debug文件,并可创建Model文件夹:为了存放…...
Zabbix 模板翻译自动化教程
在企业 IT 运维管理中,Zabbix 作为一款强大的开源监控平台被广泛应用。而 Zabbix 模板作为监控配置的重要组成部分,用来定义监控项、触发器、图形等。随着国际化的需求增加,Zabbix 模板的翻译工作变得日益重要,特别是在需要为不同…...
HarmonyOS开发:DevEco Studio的Beta3(5.0.5.200)新增和增强特性
新增特性 DevEco Studio支持开发API 13工程。DevEco Profiler Frame模板新增Lost Frames和Hitch Time泳道,用于识别和优化卡顿和丢帧现象。具体请参考Frame分析。hvigor-config.json5中properties下新增ohos.arkCompile.noEmitJs字段,用于指定ArkTS编译…...
macOS安装nvm node
macOS安装nvm macOS安装nvm创建 nvm 工作目录配置环境变量使用 nvm查看可用的 Node.js 版本安装特定版本 macOS安装nvm brew install nvm创建 nvm 工作目录 mkdir ~/.nvm配置环境变量 vim ~/.zshrc# nvm export NVM_DIR"$HOME/.nvm" [ -s "/opt/homebrew/opt…...
SpringBoot 集成MQTT实现消息订阅
1、引入依赖 <!--MQTT start--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-integration</artifactId></dependency><dependency><groupId>org.springframework.integrat…...
VM+Ubuntu18.04+XSHELL+VSCode环境配置
前段时间换了新电脑,准备安装Linux学习环境:VM虚拟机、Ubuntu18.04操作系统、XSHELL、XFTP远程连接软件、VSCode编辑器等,打算把安装过程记录一下。 1. 虚拟机介绍 为什么要用虚拟机? 想学习Linux操作系统,一般有3种…...
C#上机练习66-70
66.数组x中存有20个四位整数,请编制函数,求出正整数的个数tn。以及各位数字之和是偶数的数的个数tc,以及满足条件的这些数的算术平均ta.,将tn,tc,ta在控制台输出。 67.数组x中存有20个四位整数,请编制函数…...
pip 与当前python环境版本不匹配, pyenv, pipenv, conda
目录 pip 与当前python环境不匹配解决pip版本不一致 CondaPyenv pip 与当前python环境不匹配 电脑中安装了多个python虚拟环境, 有anaconda创建的虚拟环境,也有pyenv创建的虚拟环境,但是环境变量配置的是anaconda的路径 从而导致在vscode中选择的python版本是3.8.10,而pip却是…...
HAProxy面试题及参考答案(精选80道面试题)
目录 什么是 HAProxy? HAProxy 主要有哪些功能? HAProxy 的关键特性有哪些? HAProxy 的主要功能是什么? HAProxy 的作用是什么? 解释 HAProxy 在网络架构中的作用。 HAProxy 与负载均衡器之间的关系是什么? HAProxy 是如何实现负载均衡的? 阐述 HAProxy 的四层…...
ElasticSearch为什么不能在query阶段直接返回_id,从而避免fetch?
整理自Github的一个issue,也正好解答了我的疑惑 https://github.com/elastic/elasticsearch/issues/17159 提问 是否可以避免搜索的fetch阶段并仅返回文档ID?查询阶段结束时是否有_id,这样当我只需要_id时,fetch就多余了?可以通过…...
任意文件读取漏洞(CVE-2024-7928)修复
验证CVE-2024-7928问题是否存在可以使用如下方法: https://域名/index/ajax/lang?lang..//..//目录名/文件名(不带后缀) 目录名是该项目的一个目录,这里目录位置为nginx设置站点目录为基准,网上两层目录。 文件名…...
07 初始 Oracle 优化器
查询优化器,简称优化器,是数据库最核心的组件之一。我们在这个系列的第一篇文章中已经给大家介绍了,优化器会参与到SQL语句的解析过程中,用来生成SQL语句的执行计划,直接决定SQL语句执行性能的优劣。 什么是执行计划 …...
深入理解React Hooks:使用useState和useEffect
引言 React Hooks是React 16.8引入的一项强大功能,它使函数组件能够使用状态和其他React特性。本文将深入探讨两个最常用的Hooks:useState和useEffect,并通过实际代码示例展示它们的使用方法。 1. 什么是React Hooks? React Ho…...
深入浅出剖析典型文生图产品Midjourney
2022年7月,一个小团队推出了公测的 Midjourney,打破了 AIGC 领域的大厂垄断。作为一个精调生成模型,以聊天机器人方式部署在 Discord,它创作的《太空歌剧院》作品,甚至获得了美国「数字艺术/数码摄影」竞赛单元一等奖。 这一事件展示了 AI 在绘画领域惊人的创造力,让人们…...
大数据学习18之Spark-SQL
1.概述 1.1.简介 Spark SQL 是 Apache Spark 用于处理结构化数据的模块。 1.2.历史 1.2.1.Shark Hadoop诞生初期,Hive是唯一在Hadoop上运行的SQL-on-Hadoop工具,MR的中间计算过程产生了大量的磁盘落地操作,消耗了大量的I/O,降低…...
Flink开发入门简单案例--统计实时流订单
Flink开发入门简单案例 0.简介1.订单数据生成器1.1 新建工程TestFlink1.2 在pom.xml中引入Flink依赖包1.3 订单数据生成类订单类(Item)订单生成数据流类测试订单生成类 2.订单统计2.1 仅统计订单中商品的件数 2.2 同时统计商品数量和金额 0.简介 本案例…...
Scala身份证上的秘密以及Map的遍历
object test {def main(args: Array[String]): Unit {val id "42032220080903332x"//1.生日是?//字符串截取val birthday id.substring(10,14) //不包括终点下标println(birthday)val year id.substring(6,10) //println(year)//性别:倒数第…...
RabbitMQ
交换机 Fanout:广播Direct:定向路由Topic:匹配符 声明队列和交换机 基于Bean基于注解 消息转换器 JSON序列化...
全景图像(Panorama Image)向透视图像(Perspective Image)的跨视图转化(Cross-view)
一、概念讲解 全景图像到透视图像的转化是一个复杂的图像处理过程,它涉及到将一个360度的全景图像转换为一个具有透视效果的图像,这种图像更接近于人眼观察世界的方式。全景图像通常是一个矩形图像,它通过将球面图像映射到平面上得到…...
matlab 实现混沌麻雀搜索算法的光伏MPPT控制仿真
1、内容简介 略 103-可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...
【设计模式】【行为型模式(Behavioral Patterns)】之策略模式(Strategy Pattern)
1. 设计模式原理说明 策略模式(Strategy Pattern) 是一种行为设计模式,它允许你定义一系列算法,并将每个算法封装起来,使它们可以互换。策略模式让算法的变化独立于使用算法的客户。通过这种方式,客户端可…...
深度学习笔记之BERT(三)RoBERTa
深度学习笔记之RoBERTa 引言回顾:BERT的预训练策略RoBERTa训练过程分析静态掩码与动态掩码的比较模型输入模式与下一句预测使用大批量进行训练使用Byte-pair Encoding作为子词词元化算法更大的数据集和更多的训练步骤 RoBERTa配置 引言 本节将介绍一种基于 BERT \t…...
windows docker 入门
这个教程将指导你如何安装Docker、运行第一个容器以及理解一些基本概念。 第一步:安装Docker Desktop for Windows 系统要求: Windows 10 64位版本(专业版、企业版或教育版)。启用Hyper-V和Windows Subsystem for Linux (WSL 2)。…...
【软考速通笔记】系统架构设计师③——信息安全技术基础知识
文章目录 一、前言二、信息安全基础知识2.1 信息安全的基本要求2.2 信息安全的范围2.3 网络安全表现2.4 安全措施包括 三、信息安全系统的组成框架3.1 技术体系:3.2 组织机构体系:3.3 管理体系 四、信息加解密技术4.1 对称密钥加密算法4.2 非对称密钥加密…...
Spring Boot整合Redis Stack构建本地向量数据库相似性查询
Spring Boot整合Redis Stack构建本地向量数据库相似性查询 在微服务架构中,数据的高效存储与快速查询是至关重要的。Redis作为一个高性能的内存数据结构存储系统,不仅可以用作缓存、消息代理,还可以扩展为向量数据库,实现高效的相…...
设计模式-装饰者模式
背景 有一个咖啡馆有 单品咖啡:意大利浓咖啡、美式咖啡、无因咖啡 调料:牛奶、巧克力 点单时需要点一个单品咖啡,可以选择加调料或者不加。 最后计算价格。 较好的传统思路: 创建一个抽象的咖啡类,其中有各个调…...
.NetCore 过滤器和拦截器 的区别
Asp.NET Core 中的过滤器(Filter)和拦截器(Interceptor)是两个不同的概念,但它们在某些方面有相似之处,也有明显的区别。 🔑过滤器(Filter) 过滤器是Asp.NET Core中用于…...
uniapp实现APP版本升级
App.vue 直接上代码 <script>export default {methods: {//APP 版本升级Urlupload() {// #ifdef APP-PLUSplus.runtime.getProperty(plus.runtime.appid, (info) > {// 版本号变量持久化存储getApp().globalData.version info.version;this.ToLoadUpdate(info.versi…...
c语言的qsort函数理解与使用
介绍:qsort 函数是 C 标准库中用于排序的快速排序算法函数。它的用法非常灵活,可以对任意类型的元素进行排序,只要提供了比较函数即可。 qsort 函数原型及参数解释: void qsort ( void* base, //指向要排序的数组的首元素…...
k8s集群增加nfs-subdir-external-provisioner存储类
文章目录 前言一、版本信息二、本机安装nfs组件包三、下载nfs-subdir-external-provisioner配置文件并进行配置1.下载文件2.修改配置 三、进行部署备注:关于镜像无法拉取问题的处理 前言 手里的一台服务器搭建一个单点的k8s集群,然后在本机上使用nfs-su…...
IT成长之路-ubuntu驱动篇
历时3天的蹂躏,总结驱动安装全面教程。 步骤一、安装gcc、g和make包 #脚本更新 sudo apt-get update #编译gcc sudo apt-get install gcc #编译g sudo apt-get install g #编译make sudo apt-get install make 注意: gcc、g版本可能会导致显卡驱动安…...
AI大模型如何赋能电商行业,引领变革
目录 1.概述 1.1. 购物推荐系统 1.2. 会员分类与客户细分 1.3. 动态商品定价 1.4. 库存和供应链管理 1.5. 客户服务与体验 1.6. 内容生成与管理 2.AI技术在电商中的创新应用 2.1.淘宝 2.2.京东 2.3.华为 2.4.小米 3.AI技术在提高电商平台销售效率方面发挥的作用 …...
QT6学习第四天 感受QT的文件编译
QT6学习第四天 感受QT的文件编译 使用纯代码编写程序新建工程 使用其他编辑器纯代码编写程序并在命令行运行使用 .ui 表单文件生成界面使用自定义 C 窗口类使用现成的QT Designer界面类 使用纯代码编写程序 我们知道QT Creator中可以用拖拽的方式在 .ui 文件上布局,…...
地平线 bev_cft_efficientnetb3 参考算法-v1.2.1
01 概述 在自动驾驶感知算法中 BEV 感知成为热点话题,BEV 感知可以弥补 2D 感知的缺陷构建 3D “世界”,更有利于下游任务和特征融合。 地平线集成了基于 bev 的纯视觉算法,目前已支持 ipm-based 、lss-based、 transformer-basedÿ…...
【linux】shell脚本
文章目录 1. jar包启动脚本1.1 方式一1.2 方式二 2. 进程关闭脚本3. 操作mysql4. impala建表语句提取5. 监控磁盘存量6. 清日志脚本7. 替换tomcat的启动端口8. 将一行数据按照空格依次读取 1. jar包启动脚本 1.1 方式一 #!/bin/sh RESOURCE_NAME/usr/local/applications/scre…...
构建一个去中心化的零售生态参与者的商业模型
在数字化和去中心化技术快速发展的背景下,传统零售行业正迎来革命性的转型。去中心化零售生态不仅让消费者、商家和内容创作者在同一平台上共同参与价值的创造和分配,还推动了零售体验、数据控制和社会互动的彻底变革。本文将探讨如何构建一个去中心化的…...
Spring Boot开发实战:从入门到构建高效应用
Spring Boot 是 Java 开发者构建微服务、Web 应用和后端服务的首选框架之一。其凭借开箱即用的特性、大量的自动化配置和灵活的扩展性,极大简化了开发流程。本文将以实战为核心,从基础到高级,全面探讨 Spring Boot 的应用开发。 一、Spring B…...