828华为云征文|部署个人文档管理系统 Docspell

news2024/12/26 13:50:13

828华为云征文|部署个人文档管理系统 Docspell

  • 一、Flexus云服务器X实例介绍
  • 二、Flexus云服务器X实例配置
    • 2.1 重置密码
    • 2.2 服务器连接
    • 2.3 安全组配置
    • 2.4 Docker 环境搭建
  • 三、Flexus云服务器X实例部署 Docspell
    • 3.1 Docspell 介绍
    • 3.2 Docspell 部署
    • 3.3 Docspell 使用
  • 四、总结

一、Flexus云服务器X实例介绍

云服务器是现代科技的杰作。它以强大的计算能力和高可靠性,为各类业务提供坚实支撑。可远程管理,轻松实现资源调配。具有高度的灵活性和扩展性,适应不同规模需求。安全防护严密,让你的数据放心存储。选择云服务器,开启高效便捷的云端之旅。

华为云下一代云服务器Flexus X实例焕新上线,新产品基于用户业务负载动态和内存峰值画像,动态推荐规格,减少算力浪费,提升资源利用率,按照算力规格变化,精准计算用量,按需灵活计费,搭配智能推介,始终确保成本更优,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景。

在这里插入图片描述

Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。

在这里插入图片描述
本次测评使用的规格是:4核12G-100G-3M规格的Flexus X实例基础模式

在这里插入图片描述

二、Flexus云服务器X实例配置

2.1 重置密码

购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网IP地址和用户名,首先打开你的服务器控制台,选择重置密码

在这里插入图片描述

勾选自动重启,点击确定即可

在这里插入图片描述

2.2 服务器连接

华为云服务器提供了多种链接方式,如使用控制台提供的VNC方式登录、使用Linux/Mac OS系统主机登录Linux弹性云服务器(即ssh root@192.168.48.78命令)或者使用Putty、Xshell等工具登录Linux弹性云服务器。

我个人习惯使用 MobaXterm 这款软件,添加SSH连接,输出公网IP、用户名和端口(默认22),连接即可。

在这里插入图片描述

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组

在这里插入图片描述

主要需要填写优先级(默认填1即可)、协议端口(协议一般为TCPUDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

在这里插入图片描述

如果还不清楚可以参考文档:安全组配置示例

2.4 Docker 环境搭建

本次服务器环境是ubuntu系统镜像,需要自己安装docker环境

服务器类别系统镜像内网IP地址Docker版本操作系统版本
Flexus云服务器X实例Ubuntu192.168.0.16827.2.0Ubuntu 22.04.4 LTS

使用apt-get命令安装docker及其配置

# 安装必要工具包
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 配置仓库源
$ sudo add-apt-repository \
      "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
      $(lsb_release -cs) \
      stable"	

# 更新apt包索引
$ sudo apt-get update

# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json

{
    "registry-mirrors": [
        "https://ustc-edu-cn.mirror.aliyuncs.com/",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
        "https://ccr.ccs.tencentyun.com/",
        "https://docker.m.daocloud.io/",
        "https://dockerproxy.com",
    ]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

测试docker安装是否成功

root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```

检查docker服务状态

root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socket
       Docs: https://docs.docker.com
   Main PID: 24912 (dockerd)
      Tasks: 13
     Memory: 24.7M
        CPU: 3.778s
     CGroup: /system.slice/docker.service
             `-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查docker compose版本

root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2

三、Flexus云服务器X实例部署 Docspell

3.1 Docspell 介绍

Docspell 是一款个人文档管理器。有时也被称为“文档管理系统”(DMS)。您需要一台扫描仪将文件转换为文件,然后 Docspell 可以帮助您整理由此产生的杂乱,它可以将您从扫描仪、电子邮件和其他来源获取的文件统一起来。Docspell可以关联标签、设置对应项以及许多其他预定义和自定义元数据。还可以对文档运行 OCR(如果需要),提供全文搜索,并且具有出色的电子邮件集成功能。

  • 使用 OCR 提取文本
    从所有文件中提取文本。对于扫描的文档/图像,使用 Tesseract 进行 OCR。文本经过分析,可用于全文搜索。

  • 文本分析
    使用 ML 算法分析提取的文本,以找到可以自动注释到文档的属性。

  • 支持多种文件
    Docspell 可以读取多种文件类型。可以提取 ZIP 和 EML(电子邮件文件格式)文件并导入其内容。

  • 转换为 PDF
    所有文件都转换为 PDF。不必担心原件。原始文件也会被存储,并且可以原封不动地下载。从图像数据(通常由扫描仪返回)创建 PDF 时,生成的 PDF 包含提取的文本并且可以搜索。

  • 全文搜索
    所有文件的提取文本和一些属性(如名称和注释)都可用于全文搜索。全文搜索还可用于进一步限制搜索菜单的结果,您可以按标签、通讯员等进行搜索。

在这里插入图片描述

Docspell定位于一款简单的文档整理工具,其目标是帮助用户以最小的精力轻松管理手头的电子文档。用户可将来自多种来源的文档,如扫描件和电子邮件,上传到Docspell,系统将自主地对其进行解析和管理。Docspell的设计初衷便是通过自动化技术减少人工干预,优化归档和检索流程,尤其适合那些处理大量文档的用户群体。

  • 官网:https://docspell.org/
  • Github:https://github.com/eikek/docspell

3.2 Docspell 部署

  • 创建 docker-compose.yml
version: '3.5'
services:

  # The restserver and joex containers defined here are configured
  # using env variables. Both must connect to the same database and
  # solr instance. More information on configuring can be found here:
  # https://docspell.org/docs/configure
  #
  # Please replace the values of the following with a custom secret
  # string:
  #
  # - DOCSPELL_SERVER_ADMIN__ENDPOINT_SECRET
  # - DOCSPELL_SERVER_AUTH_SERVER__SECRET
  # - DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER__VALUE
  #   (use the same value at the consumedir container!)
  #
  # After creating an account, you may want to set signup mode to
  # "closed" or to "invite". When using invite, you must also set
  # DOCSPELL_SERVER_BACKEND_SIGNUP_NEW__INVITE__PASSWORD to some
  # secret.
  restserver:
    image: docspell/restserver:latest
    container_name: docspell-restserver
    restart: unless-stopped
    ports:
      - "7880:7880"
    environment:
      - TZ=Europe/Berlin
      - DOCSPELL_SERVER_INTERNAL__URL=http://docspell-restserver:7880
      - DOCSPELL_SERVER_ADMIN__ENDPOINT_SECRET=admin123
      - DOCSPELL_SERVER_AUTH_SERVER__SECRET=
      - DOCSPELL_SERVER_BACKEND_JDBC_PASSWORD=dbpass
      - DOCSPELL_SERVER_BACKEND_JDBC_URL=jdbc:postgresql://db:5432/dbname
      - DOCSPELL_SERVER_BACKEND_JDBC_USER=dbuser
      - DOCSPELL_SERVER_BIND_ADDRESS=0.0.0.0
      - DOCSPELL_SERVER_FULL__TEXT__SEARCH_ENABLED=true
      - DOCSPELL_SERVER_FULL__TEXT__SEARCH_SOLR_URL=http://docspell-solr:8983/solr/docspell
      - DOCSPELL_SERVER_INTEGRATION__ENDPOINT_ENABLED=true
      - DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_ENABLED=true
      - DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER__VALUE=integration-password123
      - DOCSPELL_SERVER_BACKEND_SIGNUP_MODE=open
      - DOCSPELL_SERVER_BACKEND_SIGNUP_NEW__INVITE__PASSWORD=
      - DOCSPELL_SERVER_BACKEND_ADDONS_ENABLED=false
    depends_on:
      - solr
      - db

  joex:
    image: docspell/joex:latest
    container_name: docspell-joex
    ## For more memory add corresponding arguments, like below. Also see
    ## https://docspell.org/docs/configure/#jvm-options
    # command:
    #   - -J-Xmx3G
    restart: unless-stopped
    environment:
      - TZ=Europe/Berlin
      - DOCSPELL_JOEX_APP__ID=joex1
      - DOCSPELL_JOEX_PERIODIC__SCHEDULER_NAME=joex1
      - DOCSPELL_JOEX_SCHEDULER_NAME=joex1
      - DOCSPELL_JOEX_BASE__URL=http://docspell-joex:7878
      - DOCSPELL_JOEX_BIND_ADDRESS=0.0.0.0
      - DOCSPELL_JOEX_FULL__TEXT__SEARCH_ENABLED=true
      - DOCSPELL_JOEX_FULL__TEXT__SEARCH_SOLR_URL=http://docspell-solr:8983/solr/docspell
      - DOCSPELL_JOEX_JDBC_PASSWORD=dbpass
      - DOCSPELL_JOEX_JDBC_URL=jdbc:postgresql://db:5432/dbname
      - DOCSPELL_JOEX_JDBC_USER=dbuser
      - DOCSPELL_JOEX_ADDONS_EXECUTOR__CONFIG_RUNNER=docker,trivial
      - DOCSPELL_JOEX_CONVERT_HTML__CONVERTER=weasyprint
    ports:
      - "7878:7878"
    depends_on:
      - solr
      - db
    ## Uncomment when using the "docker" runner with addons
    # volumes:
    #   - /var/run/docker.sock:/var/run/docker.sock
    #   - /tmp:/tmp

  # The consumedir container watches a directory for files to upload
  # to docspell restserver. This uses the `dsc` tool. For information
  # on the available options, see `dsc --help`.
  # https://github.com/docspell/dsc
  #
  # The value after `Docspell-Integration` must match the secret
  # specified at the restserver via
  # DOCSPELL_SERVER_INTEGRATION__ENDPOINT_HTTP__HEADER_HEADER__VALUE.
  #
  # The --not-matches "**/.*" option is to exclude hidden files.
  consumedir:
    image: docspell/dsc:latest
    container_name: docspell-consumedir
    command:
      - dsc
      - "-d"
      - "http://docspell-restserver:7880"
      - "watch"
      - "--delete"
      - "-ir"
      - "--not-matches"
      - "**/.*"
      - "--header"
      - "Docspell-Integration:integration-password123"
      - "/opt/docs"
    restart: unless-stopped
    volumes:
      - ./docs:/opt/docs
    depends_on:
      - restserver

  db:
    image: postgres:17.0
    container_name: postgres_db
    restart: unless-stopped
    volumes:
      - docspell-postgres_data:/var/lib/postgresql/data/
    environment:
      - POSTGRES_USER=dbuser
      - POSTGRES_PASSWORD=dbpass
      - POSTGRES_DB=dbname

  solr:
    image: solr:9
    container_name: docspell-solr
    restart: unless-stopped
    volumes:
      - docspell-solr_data:/var/solr
    command:
      - bash
      - -c
      - 'precreate-core docspell; exec solr -f -Dsolr.modules=analysis-extras'
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8983/solr/docspell/admin/ping"]
      interval: 1m
      timeout: 10s
      retries: 2
      #start_period: 30s

volumes:
  docspell-postgres_data:
  docspell-solr_data:
  • ports: 映射主机的 7880 端口到容器的 7880 端口
  • volumes: 将主机目录挂载到容器目录

如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d 即可自动拉取 Docspell 镜像,并创建并启动一个容器。 up 表示启动服务,-d 表示在后台执行。docker-compose down 命令用于停止和清理由 docker-compose up 启动的服务。

  • 启动服务

进入项目目录,执行docker-compose up -d启动命令,会自动拉取容器并运行

从 Dockerhub 拉取 Docspell 镜像,地址:https://hub.docker.com/r/docspell/restserver

root@flexusx-c6b3:~/docspell# docker-compose up -d
Creating network "docspell_default" with the default driver
Creating volume "docspell_docspell-solr_data" with default driver
Creating volume "docspell_docspell-postgres_data" with default driver
Pulling solr (solr:9)...
9: Pulling from library/solr
7478e0ac0f23: Pull complete
90a925ab929a: Pull complete
7d9a34308537: Pull complete
80338217a4ab: Pull complete
1a5fd5c7e184: Pull complete
5b1aa583d1ef: Pull complete
350cf53fd52a: Pull complete
b317c36e5a10: Pull complete
edf7dd409191: Pull complete
b24483e35971: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:4267344d8d37c5982894f8424e923a66e21461fc2d61602d935837d5d464182b
Status: Downloaded newer image for solr:9
Pulling db (postgres:17.0)...
17.0: Pulling from library/postgres
Digest: sha256:4ec37d2a07a0067f176fdcc9d4bb633a5724d2cc4f892c7a2046d054bb6939e5
Status: Downloaded newer image for postgres:17.0
Pulling restserver (docspell/restserver:latest)...
latest: Pulling from docspell/restserver
c6a83fedfae6: Already exists
b10665a8e334: Pull complete
4f4fb700ef54: Pull complete
0c4bd9809776: Pull complete
Digest: sha256:7184e723dcdd5241f02372748ad0aab6caca0722478abc892dc63c663e399f2d
Status: Downloaded newer image for docspell/restserver:latest
Pulling consumedir (docspell/dsc:latest)...
latest: Pulling from docspell/dsc
4abcf2066143: Already exists
4f4fb700ef54: Pull complete
d574edd180f4: Pull complete
bdf75d862256: Pull complete
Digest: sha256:9b7e0410737446b1409ce609061096a06281dcb3e03250443e96511583197865
Status: Downloaded newer image for docspell/dsc:latest
Pulling joex (docspell/joex:latest)...
latest: Pulling from docspell/joex
c6a83fedfae6: Already exists
56f69f5c011e: Pull complete
d46286f6b8c5: Pull complete
4f4fb700ef54: Pull complete
b3df55396b51: Pull complete
6e868de79f50: Pull complete
35510b35eae3: Pull complete
c3a0e85725ae: Pull complete
Digest: sha256:b21d2285e49c0869d827dcba631ff10d574c673eb8df2ebf7fc1f326d0afd581
Status: Downloaded newer image for docspell/joex:latest
Creating docspell-joex ... 
Creating docspell-restserver ... 
Creating docspell-joex
Creating docspell-restserver ... done
Creating docspell-consumedir ... 
Creating docspell-consumedir ... done
  • 配置安全组

在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听7880端口,所以添加安全组为TCP:7880协议端口。

在这里插入图片描述

  • 检查容器状态

检查 Docspell 容器状态,确保容器正常启动

root@flexusx-c6b3:~/docspell# docker ps
CONTAINER ID   IMAGE                                COMMAND                  CREATED          STATUS                   PORTS                                       NAMES
f4b65aae420b   docspell/dsc:latest                  "dsc -d http://docsp…"   3 minutes ago    Up 3 minutes                                                         docspell-consumedir
55a2021c9b2a   docspell/restserver:latest           "/opt/docspell-rests…"   3 minutes ago    Up 3 minutes (healthy)   0.0.0.0:7880->7880/tcp, :::7880->7880/tcp   docspell-restserver
14d19ff6af95   docspell/joex:latest                 "/opt/joex-entrypoin…"   3 minutes ago    Up 3 minutes (healthy)   0.0.0.0:7878->7878/tcp, :::7878->7878/tcp   docspell-joex
ec67e91edc8e   postgres:17.0                        "docker-entrypoint.s…"   17 minutes ago   Up 3 minutes             5432/tcp                                    postgres_db
1f2f3fa23a36   solr:9                               "docker-entrypoint.s…"   17 minutes ago   Up 3 minutes (healthy)   8983/tcp                                    docspell-solr
  • 访问地址

内网:http://localhost:7880
外网:http://公网IP:7880

  • 访问结果

在这里插入图片描述

若出现此页面,则部署 docspell server 成功。

3.3 Docspell 使用

没有帐号需要先注册,注册时,为集体和用户选择相同的名称,然后使用此名称和密码登录

在这里插入图片描述

输出刚刚注册的帐号和密码进行登录,确保Collection IDUser Login 一致

在这里插入图片描述

登录成功后进入首页仪表盘,左侧是功能菜单选项,包括仪表盘、项目搜索、上传文件,设置部分:Webhook、定期查询、来源、分享,管理模块:组织、人员、设备、标签和文件夹,最后还有官方文档说明的链接,右上角有用户设置设置

在这里插入图片描述

点击用户图标,可以查看组织资料、用户资料、主题切换、退出登录

在这里插入图片描述

用户资料里,有很多设置项,比如UI设置(默认不支持中文),通知设置、邮箱设置和修改密码

在这里插入图片描述

点击设置图标,可以查看项目搜索、管理数据、上传文件、处理队列

在这里插入图片描述

选择文件,出现选择文件列表,点击提交即可开启上传任务

在这里插入图片描述

所有文件已上传成功后有提示,并且告知现在正在处理中,稍后查看项目页面,文件最终将到达该页面,或者转到处理页面查看当前处理状态,对中文的支持不是很好都乱码了,文件名称为中文的可能需要修改为英文才好看些

在这里插入图片描述

查看文件处理页面

在这里插入图片描述

查看项目搜索页

在这里插入图片描述

点击文件封面,查看文件预览页

在这里插入图片描述

在现代企业和家庭生活中,处理和管理大量数字化文档是不可避免的。随着各类型信息越来越多地以数码化形式出现,它们带来的存储和分类问题也越来越复杂。Docspell 提供了一种能够高效管理种类繁多的数字文件的解决方案,文件的上传和整理流程就是上诉操作,目前的缺点是没有中文支持,导致乱码问题,还有更多有趣的设置和功能就需要自行探索了。

四、总结

随着Docspell的出现,数字文件管理不再是件头疼的事。它通过技术的力量简单化了复杂的问题,使个人和企业均能轻松管理自己的电子数据,让您专注于更重要的创造性任务。此次使用的Flexus X实例配置还是很高的4核12G-100G-3M规格基础模式,文件上传和元数据获取处理都很快,整理文件可修改的信息配置很多,项目整体运行稳定流畅,使用体验很好。

体验华为云服务器的卓越性能,现正值828 B2B企业节,助力企业轻松上云!无论是初创公司还是大型企业,都能享受高效、安全的计算服务。立即注册 ,享受专属优惠,快速部署,提升业务效率。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PostgreSQL的学习心得和知识总结(一百五十二)|transaction_timeout:达到事务超时时终止会话

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…

影刀---如何进行自动化操作

本文不是广告,没有人给我宣传费,只是单纯的觉得这个软件很好用 感谢大家的多多支持哦 本文 1.基本概念与操作(非标准下拉框和上传下载)非标准对话框的操作上传对话框、下载的对话框、提示的对话框 2.综合案例3.找不到元素怎么办&a…

从AR眼镜到智能巡检:XR技术的演变与未来潜力

XR,即扩展现实(Extended Reality),是一个涵盖了增强现实(AR)、虚拟现实(VR)和混合现实(MR)的广泛概念。 从我们最初接触到的手机应用到Hololens,…

(作业)第三期书生·浦语大模型实战营(十一卷王场)--书生入门岛通关第1关Linux 基础知识

关卡任务 闯关任务需要在关键步骤中截图: 任务描述 完成所需时间 闯关任务 完成SSH连接与端口映射并运行hello_world.py 10min 可选任务 1 将Linux基础命令在开发机上完成一遍 10min 可选任务 2 使用 VSCODE 远程连接开发机并创建一个conda环境 10min 可选任务 3 创…

图片体积在线压缩神器 可自由设置图片的压缩大小 带完整的安装代码包以及搭建部署教程

系统概述 随着互联网的快速发展,图片作为网页内容的重要组成部分,其优化需求日益迫切。传统的图片压缩方法往往需要在牺牲一定质量的前提下减小体积,而“图片体积在线压缩神器”则致力于在保持图片质量的同时,实现体积的最小化。…

Arthas perfcounter(查看当前 JVM 的 Perf Counter 信息)

文章目录 二、命令列表2.1 jvm相关命令2.1.13 perfcounter(查看当前 JVM 的 Perf Counter 信息)举例1:查看当前 JVM 的 Perf Counter 信息举例2:可以用-d参数打印更多信息 本人其他相关文章链接 二、命令列表 2.1 jvm相关命令 2…

SpringCloud-pom创建Eureka

<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0 https://…

通过Ideal和gitbash共同实现分支合并

文章目录 背景描述&#xff1a;演示jy_20240704_develop分支同步到jy_dev分支方式一方式二 背景描述&#xff1a; 目前项目里有四个分支&#xff0c;分别是master、jy_20240704_develop、jy_dev、jy_qas。 其中master是主分支&#xff0c;其他三个分支都是根据master来创建的…

海陆钻井自动化作业机器人比例阀放大器

海陆钻井自动化作业机器人是现代海洋石油勘探与钻井领域的关键装备&#xff0c;它通过自动化和无人化技术显著提高了钻井效率和安全性。海陆钻井自动化作业机器人主要用于在海上和陆地的钻井平台上进行自动化、无人化的一体化作业。这种设备能够自动切换钻杆&#xff0c;极大地…

解决Ubuntu无法找到python3.7的包的问题 E: Couldn‘t find any package by glob ‘python3.7‘

该问题可能是由于默认的 Ubuntu 存储库中没有 Python 3.7 相关的包或系统配置的问题。可以尝试以下方法解决问题&#xff1a; 1. 使用 deadsnakes PPA 添加 Python 3.7 支持 deadsnakes PPA 是一个第三方存储库&#xff0c;提供多版本的 Python 支持&#xff0c;包括 Python …

外卖点餐小程序源码系统 单店多门店自助切换 带完整的安装代码包以及搭建部署教程

系统概述 本外卖点餐小程序源码系统旨在帮助餐饮企业和商家快速搭建一个功能完善的在线外卖平台。系统支持单店与多门店的灵活切换&#xff0c;方便商家根据自身业务需求进行管理和运营。同时&#xff0c;系统还提供了丰富的营销工具和数据分析功能&#xff0c;助力商家实现精…

管理层“建行化”弊端显现?增收不增利,海外业务亦“不争气”

撰稿|芋圆 曾经&#xff0c;上海银行&#xff08;SH:601229&#xff09;在城商行中无论是规模还是盈利均排在前位&#xff0c;仅次于北京银行&#xff08;SH:601169&#xff09;。而近些年&#xff0c;该行的增长态势大不如前&#xff0c;在城商行中的排位持续下滑&#xff0c…

unity3D雨雪等粒子特效不穿透房屋效果实现(粒子不穿透模型)

做项目有时候会做天气模拟,模拟雨雪天气等等。但是容易忽略一个问题,就是房屋内不应该下雨或者下雪,这样不就穿帮了嘛。 下面就粒子穿透物体问题做一个demo。 正常下雨下雪在室内的话,你可以看到,粒子是穿透建筑的。 那要怎么模拟真实的雨雪天气,不让粒子穿透房屋建筑呢…

pdf文档翻译成英文很简单?搞定复杂的外语文献文档就靠它

转眼间又是一年国庆&#xff0c;怎么样&#xff0c;大一新生们适应得还好吗&#xff1f; 没事&#xff0c;刚到陌生的校园环境中&#xff0c;分分钟都在想家&#xff0c;还没适应集体宿舍生活很正常的...... 什么&#xff1f;已经有同学在着手准备写论文了&#xff1f;而且需要…

诗画紫砂壶

大家详细解答一首网络上流传的顺口溜&#xff0c;其中包含了很多的紫砂壶型。 // 紫砂壶型 // 秦权汉瓦唐羽仙&#xff0c;西施文旦美人肩。 逸公德钟对却月&#xff0c;仿鼓虚扁望方山。东坡提梁卧井栏&#xff0c;供春提璧看柿圆。荷花海棠吹松段。掇只君乐奏合欢&#xff…

【高中数学/对数/指数】已知函数f(x)=e^x-ln(x+m),求证m<=2时,证明f(x)>0

【问题】 已知函数f(x)e^x-ln(xm),求证m<2时&#xff0c;证明f(x)>0 &#xff08;2013年高考全国卷II理科第21题&#xff09; 【出处】 《高中数学解题思维策略》P30 例2-11 杨林军编著 【解答】 对于ye^x,总有e^x>x1 (x0时去等) 对于yln(xm),总有yxm-1>ln(…

Hbase要点简记

Hbase要点简记 Hbase1、底层架构2、表逻辑结构 Hbase HBase是一个分布式的、列式的、实时查询的、非关系型数据库&#xff0c;可以处理PB级别的数据&#xff0c;吞吐量可以到的百万查询/每秒。主要应用于接口等实时数据应用需求&#xff0c;针对具体需求&#xff0c;设计高效率…

A Learning-Based Approach to Static Program Slicing —— 论文笔记

A Learning-Based Approach to Static Program Slicing OOPLSA’2024 文章目录 A Learning-Based Approach to Static Program Slicing1. Abstract2. Motivation(1) 为什么需要能处理不完整代码(2) 现有方法局限性(3) 验证局限性: 初步实验研究实验设计何为不完整代码实验结果…

【Vite】项目中scss 保存后 文件编译成了wxss,已解决

文章目录 前言一、在 vscode 中安装 easy sass 扩展二、在微信开发者工具导入 vscode 安装的 easy sass 扩展三、修改 easy sass 配置 前言 最近学习使用vite,在vite中使用sass 的时候每次保存都把scss文件编译成wxss文件。众所周知&#xff0c;wxss文件是微信小程序的样式。当…

开放式蓝牙耳机推荐性价比?开放式耳机性价比排行榜!

耳机在日常生活中几乎成了大多数人的必备伴侣&#xff0c;无论是听音乐、玩游戏还是追剧&#xff0c;都扮演着不可或缺的角色。但是&#xff0c;面对市场上众多的耳机品牌和款式&#xff0c;要找到一款真正符合个人需求的产品并不容易。尤其是考虑到传统入耳式耳机可能在长时间…