当前位置: 首页 > news >正文

Immich图库本地部署与远程管理:打造你的专属照片云服务

文章目录

    • 前言
    • 1.关于Immich
    • 2.安装Docker
    • 3.本地部署Immich
    • 4.Immich体验
    • 5.安装cpolar内网穿透
    • 6.创建远程链接公网地址
    • 7.使用固定公网地址远程访问

前言

小伙伴们,你们好呀!今天要给大家带来一个超炫的技能——让你家的电脑秒变私人云相册,并且借助 Cpolar 实现随时随地、想看就看。是不是觉得特别酷呢?想象一下,无论你身处何方,只要手机、平板或电脑连上网,就能随时上传和查看你的专属相册!这不仅让生活变得更加便利,还能让你的珍贵回忆得到最安全的保护。

Immich 是一款超酷的照片和视频管理神器,它让你可以在自己的服务器上存放、管理和分享各种媒体文件。这款软件的设计灵感来源于 Google Photos 和 iCloud,但最大的亮点在于——你才是真正的主人!这意味着你可以随心所欲地处理自己的照片和视频,再也不用担心被别人窥探啦。

那么问题来了:为什么一定要自己托管呢?首先当然是为了保护隐私嘛!在这个信息泄露频发的时代,自托管能够确保你的私人资料不会落入他人之手。其次,拥有数据的完全控制权也是个大大的优势——你可以随时备份、迁移文件,再也不用担心被第三方服务‘卡脖子’了。

接下来,就让我们一步步教你如何轻松搭建 Immich,并通过 Cpolar 实现公网远程访问吧!无论你是新手小白还是技术老司机,这篇教程都能让你快速上手。废话不多说,咱们开始吧~

在这里插入图片描述

【视频教程】

轻松搭建个人云相册,告别存储焦虑!

1.关于Immich

Immich的主要特点包括:

自托管:所有数据都存储在用户自己的服务器上。
照片和视频备份:提供自动的媒体文件备份功能。
易于访问:通过Web界面和移动应用,用户可以轻松访问、管理和分享他们的媒体库。
数据控制:用户完全拥有和控制自己的数据,而不是存储在第三方的云服务中。
隐私保护:由于是自托管解决方案,用户的照片和视频不会被未经授权的第三方访问。
Immich通常通过Docker容器化部署,使得安装和维护变得简单。项目在GitHub上开源,社区驱动,不断更新和改进。

Github官方地址:GitHub - immich-app/immich: High performance self-hosted photo and video management solution.

使用Immich,用户需要具备一定的技术背景,特别是关于如何部署和维护自托管服务的知识。但对于希望提高个人数据隐私和安全性的用户来说,Immich提供了一个很好的解决方案。

2.安装Docker

本教程操作环境为Linux Ubuntu系统,在开始之前,我们需要先安装Docker

如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

最后我们在docker容器中运行下 hello world 看一下是否安装成功

sudo docker container run hello-world

可以看到出现了hello world,也就是说明我们已经安装docker成功,那么接下来就可以直接拉取Answer镜像了。

image-20240910145208138

3.本地部署Immich

打开一个新的终端,输入下方命令安装脚本

curl -o- https://raw.githubusercontent.com/immich-app/immich/main/install.sh | sudo bash

该脚本将执行以下操作:

①.从存储库的main分支下载docker-compose.yml和.env文件。

②.启动容器。

image-20240920153208643

运行完命令后,打开一个浏览器输入localhost:2283或者直接复制红框里面的链接,就可以进入到Immich首页了。下面的api结尾的链接是可以复制到手机或者平板上打开浏览器访问。

image-20240920153250645

4.Immich体验

现在我们就成功在Ubuntu系统本地搭建了Immich,点击中间的Getting Started登录或注册自己的账号,就可以拥有属于自己的相册啦~

image-20240920154528454

进入到相册,整个界面非常简洁,功能简单明了,也都比较实用。

总体分为7大功能:图片、探索、地图、分享、收藏、相册、归档和回收站。

小结

Immich 安装相对简单,体验下来,简单易用,能满足基本的需求,尤其是照片归类功能比较实用,将所有人物识别到统一相册内,也方便查找,一个简洁云盘非常香!但如果想实现不在同一个局域网下,也能随时随地上传或查看自己储存在本地的图片,就需要借助cpolar内网穿透工具来实现公网访问了~下面我将介绍一下如何安装cpolar内网穿透,并实现无公网IP访问本地Immich!

5.安装cpolar内网穿透

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

image-20240924094847716

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

6.创建远程链接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:Immich注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:2283
  • 域名类型:选择随机域名
  • 地区:选择China VIP

image-20240924095148740

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址(可在高级设置中配置只生成http或https一条公网地址):

image-20240924095335565

然后就可以在其他电脑或手机平板(异地)上,使用上边任选其一的公网地址在浏览器中访问即可。

image-20240924095459152

可以看到成功实现使用公网地址异地远程本地部署的Immich照片管理器!重新登录自己的账号就可以玩转Immich啦~

小结

为了方便演示,我们在上边的操作过程中使用了cpolar生成的公网地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时远程测试时使用。

如果有长期远程访问本地Immich或者其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来远程访问。

7.使用固定公网地址远程访问

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称,这里我填写的是Immich,大家也可以自定义喜欢的名称。

image-20240924100206237

保留成功后复制保留成功的二级子域名的名称:Immich,返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道Immich,点击右侧的编辑:

image-20240924100320518

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名:Immich
  • 地区:选择China VIP

点击更新(注意,点击一次更新即可,不需要重复提交)

image-20240924100401904

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名:

image-20240924100517791

接着使用这个固定公网地址在浏览器访问,可以看到访问成功啦~这样即使不在同一个局域网下也可以随时随地用这个网址来远程访问本地部署的Immich来管理照片了!

image-20240924100653083

今天的分享是不是既简单又有趣呢?在这个数据安全越来越重要的时代,自托管不仅是一种技术选择,更是一种超酷的生活态度!希望这篇教程能帮助你更好地管理和保护自己的珍贵回忆。从此以后,无论走到哪里,你的私人相册都像贴身小秘书一样随时待命,是不是感觉特别有安全感呀~ 快动起手来试试吧,让 Immich 成为你的专属照片管理神器,享受科技带来的便利和安心吧!别忘了分享给你的小伙伴们,让他们也一起加入自托管的行列哦~

相关文章:

Immich图库本地部署与远程管理:打造你的专属照片云服务

文章目录 前言1.关于Immich2.安装Docker3.本地部署Immich4.Immich体验5.安装cpolar内网穿透6.创建远程链接公网地址7.使用固定公网地址远程访问 前言 小伙伴们,你们好呀!今天要给大家带来一个超炫的技能——让你家的电脑秒变私人云相册,并且…...

OpenShift AI + DeepSeek+IBM CP4BA:实现AI业务自动化中台

一、OpenShift AI DeepSeek 1、什么是 OpenShift AI? OpenShift AI(前身为 Red Hat Open Data Hub)是 Red Hat OpenShift 平台上的一套 AI/ML 工具集,基于 Kubernetes,为企业提供可扩展的机器学习平台,可…...

游戏引擎学习第229天

仓库:https://gitee.com/mrxiao_com/2d_game_5 回顾上次内容并介绍今天的主题 上次留下的是一个非常简单的任务,至少第一步是非常简单的。我们需要在渲染器中加入排序功能,这样我们的精灵(sprites)才能以正确的顺序显示。为此我…...

genhtml 工具使用说明

genhtml 工具使用说明 简介 genhtml 是一个用于生成 HTML 格式代码覆盖率报告的工具,基于 lcov 生成的覆盖数据文件(如 lcov.info)生成交互式 HTML 报告。它支持多种自定义选项,可控制报告内容、样式、输出格式等。 基本用法 ge…...

C++11_2

文章目录 前言一、新的类功能——新的默认成员函数1. 编译器默认生成的移动构造与移动赋值2. 手动提供移动构造或移动赋值的影响 二、可变参数模板1. 多参数1. 可变参数模板的基础 2. 可变参数模板的展开(1)递归展开参数包(2)使用…...

HTML语义化与无障碍设计

HTML 语义化与无障碍设计&#xff1a;构建包容且高效的网页体验 引言 在我的前端开发学习旅程中&#xff0c;起初将 HTML 仅视为页面布局的工具&#xff0c;大量使用无语义的 <div> 和 <span>。直到在一篇技术博客当中了解到&#xff0c;作者在一次团队项目中&am…...

Ubuntu多用户VNC远程桌面环境搭建:从零开始的完整指南

引言: 在当今远程工作盛行的时代,搭建一个安全、高效的多用户远程桌面环境变得越来越重要。本文将为您提供一个从零开始的完整指南,教您如何在Ubuntu系统上搭建多用户VNC远程桌面环境。无论您是系统管理员、开发团队负责人,还是想要为家庭成员提供远程访问的技术爱好者,这…...

Electron 中引入MessageChannel 大大缩短不同渲染进程和 Webview 各组件 1o1的通信链路

背景 在 electron 开发中&#xff0c;也不可避免地遇到端到端的通信问题&#xff0c;Electron 已经内置一些通信 API&#xff0c;但是实际用下来会发现&#xff0c;在引入 Webview 之后&#xff0c;通信链路会很长&#xff0c;参考 利用本地 Express Web 服务解决复杂的 Elec…...

Vscode开发Vue项目NodeJs启动报错处理

文章目录 背景一、npm启动报错报错信息定位原因处理方案第一步、下载安装高版本 二、node 无法识别报错信息处理方案定位原因第一步、检测环境变量第二步、重新开启界面 背景 使用Vscode开发Vue项目&#xff0c;使用到NodeJs&#xff0c;记录出现的问题及处理方案&#xff0c;…...

AI agents系列之AI工作流和AI智能体对比

在人工智能(AI)快速发展的今天,理解AI工作流和AI智能体之间的区别对于有效利用这些技术至关重要。本文将深入探讨AI工作流的类型,解析AI智能体的概念,并重点比较二者的关键差异。 1. 智能体 vs 工作流 关于“智能体”的定义众说纷纭。有些客户将其视为完全自主的系统,能…...

如何恢复极狐GitLab?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 恢复极狐GitLab (BASIC SELF) 极狐GitLab 提供了一个命令行界面来恢复整个安装&#xff0c;足够灵活以满足您的需求。 恢复…...

基于X86/Nvidia+FPGA大模型具身智能机器人控制器解决方案,同时拥有算力与实时的便利

2025年成为人形机器人产业化元年&#xff0c;行业已突破早期实验室研发阶段&#xff0c;进入"场景验证量产爬坡"新周期&#xff0c;预计2031年具身智能市场规模有望突破万亿元。这一进程的背后&#xff0c;是硬件算力、实时控制、环境适应等底层技术的系统性突破——…...

MATLAB项目实战(一)

题目&#xff1a; 某公司有6个建筑工地要开工&#xff0c;每个工地的位置&#xff08;用平面坐标系a&#xff0c;b表示&#xff0c;距离单位&#xff1a;km&#xff09;及水泥日用量d(t)由下表给出&#xff0e;目前有两个临时料场位于A(5,1)&#xff0c;B(2,7)&#xff0c;日储…...

PyCharm Flask 使用 Tailwind CSS 配置

使用 Tailwind CSS 步骤 1&#xff1a;初始化项目 在 PyCharm 终端运行&#xff1a;npm init -y安装 Tailwind CSS&#xff1a;npm install -D tailwindcss postcss autoprefixer初始化 Tailwind 配置文件&#xff1a;npx tailwindcss init这会生成 tailwind.config.js。 步…...

Mybtis和Mybatis-Plus区别

MyBatis 和 MyBatis-Plus 是 Java 中常用的持久层框架&#xff0c;MyBatis-Plus 是在 MyBatis 基础上增强的工具包&#xff0c;让开发更便捷、高效。下面是两者主要的区别&#xff1a; ✅ 核心区别总结&#xff1a; 特性MyBatisMyBatis-Plus配置复杂度需要手写大量 XML 或注解…...

《Learning Langchain》阅读笔记2-基于 Gemini 的 Langchain PromptTemplate 实现方式

本文将使用Gemini实现《Learning Langchain》中的PromptTemplate 实现方式&#xff0c;替代书中的调用openai API&#xff0c;白嫖太香了&#xff01; 调试步骤 我们首先还是先在本地调试是否可以调用Gemini API&#xff1a; import getpass import osif "GOOGLE_API_K…...

LVS+keepalived搭建高可用架构

背景&#xff1a;最近在搭建LVSkeepalived的高可用架构&#xff0c;中间遇到了一些坑比较让人头疼&#xff0c;此处重要就安装部署的步骤进行记录&#xff0c;特别是遇到坑进行说明&#xff0c;希望能对有需要的同学提供给帮助&#xff01; 坑点1: 在部署LVSkeepalived并且使用…...

【天梯赛练习】L2-035 完全二叉树的层序遍历

后序遍历转层序遍历 后序遍历&#xff1a;左——右——根层序遍历&#xff1a;数组形式存储的完全二叉树的顺序遍历序列其实就正好是其层序遍历序列。 子树根若是 i d id id&#xff0c;左子树 i d ∗ 2 id*2 id∗2&#xff0c;右子树 2 ∗ i d 1 2*id1 2∗id1 所以就是dfs递…...

2025.4.20机器学习笔记:文献阅读

2025.4.20周报 题目信息摘要创新点网络架构实验生成性能对比预测性能对比 结论不足以及展望 题目信息 题目&#xff1a; A novel flood forecasting model based on TimeGAN for data-sparse basins期刊&#xff1a; Stochastic Environmental Research and Risk Assessment作…...

Leetcode 3359. 查找最大元素不超过 K 的有序子矩阵【Plus题】

1.题目基本信息 1.1.题目描述 给定一个大小为 m x n 的二维矩阵 grid。同时给定一个 非负整数 k。 返回满足下列条件的 grid 的子矩阵数量&#xff1a; 子矩阵中最大的元素 小于等于 k。 子矩阵的每一行都以 非递增 顺序排序。 矩阵的子矩阵 (x1, y1, x2, y2) 是通过选择…...

Redis面试——事务

一、Redis原子性是什么&#xff1f; &#xff08;1&#xff09;单个命令的原子性 原子性是指一组操作&#xff0c;要么全部执行成功&#xff0c;要么全部失败。Redis 中的单个命令是天然原子性的&#xff0c;因为 Redis 的命令执行采用单线程模型&#xff0c;同一时间只会执行…...

【远程管理绿联NAS】家庭云存储无公网IP解决方案:绿联NAS安装内网穿透

文章目录 前言1. 开启ssh服务2. ssh连接3. 安装cpolar内网穿透4. 配置绿联NAS公网地址 前言 大家好&#xff0c;今天要带给大家一个超级酷炫的技能——如何让绿联NAS秒变‘千里眼’&#xff0c;通过简单的几步操作就能轻松实现内网穿透。想象一下&#xff0c;无论你身处何地&a…...

AI写程序:用 AI 实现一个递归批量转化 GBK/GB2312 转 UTF-8 工具:轻松解决文本编码转换难题

用 AI 实现一个递归批量转化 GBK/GB2312 转 UTF-8 工具 在处理历史文件或与不同系统交互时&#xff0c;我们经常会遇到 GBK 或 GB2312 编码的文本文件。虽然现在 UTF-8 是主流&#xff0c;但手动转换这些旧编码文件既繁琐又容易出错。为了解决这个问题&#xff0c;我开发了一个…...

首席人工智能官(Chief Artificial Intelligence Officer,CAIO)的详细解析

以下是**首席人工智能官&#xff08;Chief Artificial Intelligence Officer&#xff0c;CAIO&#xff09;**的详细解析&#xff1a; 1. 职责与核心职能 制定AI战略 制定公司AI技术的长期战略&#xff0c;明确AI在业务中的应用场景和优先级&#xff0c;推动AI与核心业务的深度…...

uview1.0 tabs组件放到u-popup中在微信小程序中滑块样式错乱

解决思路 重新计算布局信息&#xff1a;在弹窗显示后重新调用 init 方法来计算组件的布局信息。使用 nextTick&#xff1a;保证在视图更新之后再进行布局信息的计算。 <u-tabs ref"tabsRef" ></u-tabs> makeClick(){this.makeShowtruethis.$nextTick…...

私人笔记:动手学大模型应用开发llm-universe项目环境创建

项目代码&#xff1a;datawhalechina/llm-universe: 本项目是一个面向小白开发者的大模型应用开发教程&#xff0c;在线阅读地址&#xff1a;https://datawhalechina.github.io/llm-universe/ 项目书&#xff1a;动手学大模型应用开发 一、初始化项目 uv init llm-universe-te…...

基于Django框架的图书索引智能排序系统设计与实现(源码+lw+部署文档+讲解),源码可白嫖!

摘要 时代在飞速进步&#xff0c;每个行业都在努力发展现在先进技术&#xff0c;通过这些先进的技术来提高自己的水平和优势&#xff0c;图书管理系统当然不能排除在外。图书索引智能排序系统是在实际应用和软件工程的开发原理之上&#xff0c;运用Python语言以及Django框架进…...

网络类型学习

网络类型的分类依据-----基于二层&#xff08;数据链路层&#xff09;使用的协议不同而导致数据包的封装方式不同&#xff0c;工作方式也不同。 OSPF协议根据链路层协议类型将网络分为四种类型&#xff1a;广播型网络&#xff08;BMA&#xff09;、非广播多路访问&#xff08;…...

ubuntu24.04离线安装deb格式的mysql-community-8.4.4

1&#xff0c;下载解压 参考&#xff1a; https://blog.csdn.net/2202_76101487/article/details/145967039 下载&#xff1a; wget https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-server_8.4.4-1ubuntu24.04_amd64.deb-bundle.tar 建议个目录mysql8然后把安装包移过去&…...

电控---printf重定向输出

在嵌入式系统开发中&#xff0c;printf 重定向输出是将标准输出&#xff08;stdout&#xff09;从默认设备&#xff08;如主机终端&#xff09;重新映射到嵌入式设备的特定硬件接口&#xff08;如串口、LCD、USB等&#xff09;的过程。 一、核心原理&#xff1a;标准IO库的底层…...

uniapp使用createSelectorQuery,boundingClientRect获取宽度和高度不准确的可用的解决方案

场景展示&#xff1a; uniapp使用createSelectorQuery,boundingClientRect获取宽度和高度不准确的可用的解决方案&#xff0c;正常来说&#xff0c;使用下面的代码是可以正确获得宽高的&#xff0c;但是里面含有图片&#xff0c;在图片没有加载完的情况下&#xff0c;我们可以…...

DSO:牛津大学推出的物理一致性3D模型优化框架

在数字内容创作和制造领域,将2D图像转换为高质量、物理上稳定的3D模型一直是一个挑战。传统的3D建模方法往往需要大量的手动调整以确保生成的物体不仅美观而且符合物理定律,能够在现实世界中稳定存在。牛津大学近期推出了一款名为DSO(Direct Sparse Odometry)的项目,它不仅…...

Delphi Ini文件对UTF8支持不爽的极简替代方案

如题&#xff0c;没太多废话&#xff0c;直接复制走即可。 unit uConfig;interfaceuses classes, Sysutils;typeTConfig class privateFFileName: String;FConfig:TStringList; protectedpublicconstructor Create(ConfigFile:String);destructor Destroy;property FileName…...

Windows平台使用Docker部署Neo4j

✅ Docker 安装 Neo4j 前提条件&#xff1a;安装docker 打开docker desktop docker run \--name neo4j \-p7474:7474 -p7687:7687 \-d \-e NEO4J_AUTHneo4j/password123 \neo4j:5默认用户名是 neo4j&#xff0c;密码是你设置的&#xff0c;比如上面是 password123 ✅用 Pyt…...

FreeRTOS二值信号量详解与实战教程

FreeRTOS二值信号量详解与实战教程 &#x1f4da; 作者推荐&#xff1a;想系统学习FreeRTOS嵌入式开发&#xff1f;请访问我的FreeRTOS开源学习库&#xff0c;内含从入门到精通的完整教程和实例代码&#xff01; 1. 二值信号量核心概念解析 二值信号量(Binary Semaphore)是Fre…...

数据结构与算法[零基础]---6.算法概况

六、算法概述 (一)算法的概述 任何解决问题的过程都是由一定的步骤组成的&#xff0c;把解决问题的方法和有限的步骤称作算法 &#xff08;二&#xff09;算法的基本特征 1.有穷性 算法必须在执行有限个操作之后终止&#xff0c;且每一步都可在有限时间内完成。 2.确定性 算…...

STL简介(了解)

1.什么是STL STL(standard template libaray)是标准模板库&#xff0c;它是C标准库的一部分。C标准库中还有一些其它东西&#xff0c;比如之前用的IO流。它主要是数据结构和算法的库。 2.STL的版本 C3.0出来后就有了模板&#xff0c;此时大家已经深受没有数据结构算法库的痛苦…...

使用 Oh My Posh 自定义 PowerShell 提示符

使用 Oh My Posh 自定义 PowerShell 提示符 由于ai生图&#xff0c;ai视频这方面mac太差了&#xff0c;买N卡&#xff0c;转windows了&#xff0c;这里也记录一下 PowerShell 配置Oh My Posh 先上效果图 一、下载 PowerShell7 默认的 PowerShell5 太差了&#xff0c;下载地…...

4月17号

//1.编码 String str "ai你哟"; byte[] bytes1 str.getBytes(); System.out.println(Arrays.toString(bytes1)); byte[] bytes2 str.getBytes(charsetName: "GBK"); System.out.println(Arrays.toString(bytes2));//2.解码 String str2 new String(byt…...

react-native搭建开发环境过程记录

主要参考&#xff1a;官网的教程 https://reactnative.cn/docs/environment-setup 环境介绍&#xff1a;macos ios npm - 已装node18 - 已装&#xff0c;通过nvm进行版本控制Homebrew- 已装yarn - 已装ruby - macos系统自带的2.2版本。watchman - 正常安装Xcode - 正常安装和…...

自然语言处理(NLP)技术。

自然语言处理&#xff08;NLP&#xff09;技术可以应用于多个领域&#xff0c;以下是一些示例&#xff1a; 情感分析&#xff1a;NLP可以用来分析文本中包含的情感&#xff0c;帮助企业了解用户对他们产品或服务的感受。例如&#xff0c;社交媒体平台可以利用情感分析技术来监测…...

Ubuntu 安装WPS Office

文章目录 Ubuntu 安装WPS Office下载安装文件安装WPS问题1.下载缺失字体文件2.安装缺失字体 Ubuntu 安装WPS Office 下载安装文件 需要到 WPS官网 下载最新软件&#xff0c;比如wps-office_12.1.0.17900_amd64.deb 安装WPS 执行命令进行安装 sudo dpkg -i wps-office_12.1…...

【WPF】 自定义控件的自定义属性

文章目录 前言一、自定义控件部分二、在页面中使用总结 前言 在一个页面&#xff0c;重复用到同一个自定义控件时&#xff0c;该如何对控件分别进行数据绑定呢&#xff1f;这时候可以赋予控件一个自定义的属性&#xff0c;来完成此操作。 一、自定义控件部分 为自定以控件设置…...

Unity URP Moblie AR示例工程,真机打包出来,没阴影

效果&#xff1a; unity ar示例演示 现象&#xff1a; 真机打包测试私活没有阴影 Unity版本&#xff1a;2022.3.4f1c1 分析原因&#xff1a; Prefab &#xff1a;ARFeatheredPlane中也有材质&#xff0c;一个用于环境遮挡&#xff0c;一个用于阴影接受。 按理说有啊。 urp …...

如何删除word中的长横线(由三个减号---自动生成/由三个等号===自动生成/由三个###自动生成)_word三个减号回车的横线怎么删除-CSDN博客

方法1、选中前后行ctrlX剪切掉 方法2&#xff1a;如果文件中没有表格就非常简单&#xff0c;直接CtrlA全选整个文档&#xff0c;然后在表格边框里面选择“无框线”OK&#xff0c;如果有表格的话&#xff0c;就从横线的下行开始向上随意选取一部分&#xff0c;同样在表格边框中选…...

函数返回const引用,使用const修饰变量接收

函数返回const引用&#xff0c;使用const修饰变量接收 1、背景 想获取红绿灯时长数组并添加新的值。有个函数是返回红绿灯时长数组的。函数返回类型为const引用&#xff0c;我使用无修饰的变量接收。但是感觉有些问题&#xff0c;并且之前看到const变量变成非const还需要使用…...

在激烈竞争下B端HMI设计怎样打造独特用户体验?

在当今数字化高度发展的时代&#xff0c;B 端市场竞争愈发激烈。对于 B 端 HMI&#xff08;人机界面&#xff09;设计而言&#xff0c;打造独特的用户体验已成为在竞争中脱颖而出的关键因素。B 端用户在复杂的工作场景中&#xff0c;对 HMI 设计有着独特的需求和期望&#xff0…...

数理逻辑(Mathematical Logic)综论与跨学科应用

李升伟 整理 数理逻辑&#xff08;Mathematical Logic&#xff09;是现代逻辑学与数学交叉的核心学科&#xff0c;以严格的数学方法研究逻辑推理的形式与规律。其发展深刻影响了数学基础、计算机科学、语言哲学等领域。以下从多个维度综论数理逻辑&#xff1a; 1. 核心分支 命…...

4.17---实现商铺和缓存与数据库双写一致以及宕机处理

实现商铺和缓存与数据库双写一致&#xff08;以及强双写一致策略&#xff09; redis点评项目采用的是延时双删策略 双删&#xff1a; 我们更新完数据库之后删除缓存&#xff0c;这样即使有线程并发进来查询&#xff0c;会发现缓存中没有数据&#xff0c;从而会去mysql中查找…...

qt与html通信

**Cef视图&#xff08;CefView&#xff09;**是指在使用Chromium Embedded Framework&#xff08;CEF&#xff09;时&#xff0c;嵌入到应用程序中的浏览器视图。CEF是一个开源项目&#xff0c;它基于Google的Chromium浏览器&#xff0c;允许开发者将Web浏览器功能嵌入到自己的…...