PostgreSQL安装TimescaleDB时序数据库插件
postgresql安装 timescaledb 时序数据库插件。
这里介绍在docker中的postgresql安装timescaledb时序数据库
docker-compose.yml
123456789101112131415161718192021version: '3'services: timescaledb: image: timescale/timescaledb:latest-pg11 depends_on: - postgres environment: POSTGRES_DB: tb POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres ports: - 5433:5432 volumes: # 映射 数据库 文件 - ./timescale_data:/var/lib/postgresql/data networks: - mynetworknetworks: myn ...
Jenkins CI/CD自动部署Vue、SpringBoot项目
Jenkins CI/CD篇
Jenkins是一个流行的开源自动化工具,用于实现持续集成(CI)和持续交付(CD)的目标。它最初是由Hudson项目的分支发展而来,用于帮助开发团队更轻松地构建、测试和部署软件。
Jenkins的主要功能包括:
自动构建: Jenkins可以定期或基于代码提交等事件触发自动构建,以确保代码的新版本可以被成功编译。
测试自动化: Jenkins支持自动化测试,包括单元测试、集成测试和端到端测试,以确保代码质量和稳定性。
持续集成: Jenkins可以集成各种版本控制系统,如Git、Subversion等,以便及时检查代码更改并触发构建。
持续交付: Jenkins可以将构建的结果自动部署到不同的环境,包括开发、测试和生产环境,以实现持续交付的目标。
插件生态系统: Jenkins拥有一个丰富的插件生态系统,允许用户扩展其功能,以满足各种不同的需求。
可扩展性: Jenkins具有高度可扩展性,允许用户根据其团队的需求自定义工作流程和任务。
Jenkins的安装1、**前提条件 **:这里直接使用war方式运行,需要java环境。自行百度安装
2、官网下 ...
PostgreSQL之分区表
分区表是一种将大型表分割为更小、更易管理的片段的技术。每个分区子表都可以有自己的存储设置,索引和约束,从而允许更高效地管理和查询数据。
下面以订单表为例子使用分区表:
1、首先需要创建分区父表
1234567CREATE TABLE sales( order_id serial, -- 订单编号,类型为序列号(理解为自增) order_date date, -- 订单时间,分区字段。 customer_id integer,-- 客户编号 amount numeric, -- 订单金额 PRIMARY KEY (order_date, order_id) -- 主键,分区字段通常作为主键的一部分,否则会报错) PARTITION BY RANGE (order_date); -- 设定分区字段为order_date
2、创建分区表
12345678910-- 创建默认分区子表,接收不在其他分区范围内的数据CREATE TABLE sales_default PARTITION OF sales DEFAULT;-- 创建分区子表,按照需要进行分区CREA ...
将Maven换源成国内源
将Maven换源成国内源要将Maven的源更改为其他镜像源,按照以下步骤进行操作:
打开 Maven 的安装目录,找到 conf 文件夹。
在 conf 文件夹中,你会找到一个名为 settings.xml 的文件,它是 Maven 的配置文件。
使用文本编辑器打开 settings.xml 文件。
在 settings.xml 文件中,你会看到一些注释和示例配置。
找到 <mirrors> 元素的开始标签和结束标签 </mirrors> 之间的部分。如果找不到该元素,你可以在 <settings> 元素内部创建一个新的 <mirrors> 元素。
在 <mirrors> 元素内部,可以将其下面的源复制到 <mirrors> 元素内,根据自己的需要进行修改:
阿里云:http://maven.aliyun.com/
中央仓库:https://repo1.maven.org/maven2/
网易:http://maven.netease.com/repository/public/
华为云:https://rep ...
在 Docker 容器中访问宿主机(localhost)上运行的服务
在 Docker 容器中访问宿主机上运行的服务,可以使用特殊的主机名 host.docker.internal。这个主机名在 Docker 版本 18.03 或更高版本中被引入,它会自动解析为宿主机的 IP 地址。
假设宿主机上运行着一个服务(例如,一个 Web 服务器)并监听在宿主机的某个端口上,可以在 Docker 容器内使用 host.docker.internal 作为主机名来访问该服务。
下面是一个使用 host.docker.internal 访问宿主机服务的示例:
如:我在Docker容器中部署了Nginx,并且想要通过Docker容器内的Nginx代理到在宿主机上的运行Java程序。
在Docker中启动Nginx容器,并将容器的端口映射到主机上的某个端口。例如,将容器的80端口映射到主机的8080端口:
1docker run -d --name nginx-container -p 8080:80 nginx
这将在Docker中启动一个名为nginx-container的Nginx容器,并将容器的80端口映射到主机的8080端口。
在主机上安装和配置Java ...
在windows中使用命令行方式安装IIS(Web服务器)
在windows中使用命令行方式安装IIS(Web服务器)我的Windows Server 2022 Datacenter 没有图形界面,用的是Server Core,可以使用命令行方式来安装和配置 Web 服务(IIS)。以下是使用 Deployment Image Servicing and Management (DISM) 工具的步骤:
1.打开一个以管理员权限运行的命令提示符。
2.运行以下命令来安装 Web 服务器角色(IIS):
1DISM /Online /Enable-Feature /FeatureName:IIS-WebServerRole
3.安装完成后,你可以选择安装额外的功能或模块。例如,如果要安装 ASP.NET 功能,运行以下命令:
1DISM /Online /Enable-Feature /FeatureName:IIS-ASPNET45
4.验证安装并检查 Web 服务器的状态,运行以下命令:
1DISM /Online /Get-Features /Format:Table
该命令将显示已安装的功能列表,其中包括 Web 服务器角色。
注意 ...
在docker中使用Nginx并实现反向代理
使用Nginx反向代理,可以通过不同的子域名访问到不同服务器的端口上下面来介绍怎么在Docker容器中使用Nginx反向代理。
一、在docker中使用Nginx反向代理1.安装Docker 确保你的系统上已经安装了Docker。具体可以Docker官方网站上找到适合你系统的安装指南。
2.创建一个新的Docker容器 首先,创建一个新的Docker容器来运行Nginx。你可以使用以下命令创建一个新的容器:
1docker run --name nginx-proxy -p 80:80 -d nginx
这将创建一个名为nginx-proxy的容器,并将容器的80端口映射到主机的80端口上。
3.配置Nginx反向代理 现在,你需要修改Nginx的配置文件来设置反向代理规则。使用以下命令进入Nginx容器的Shell:
1docker exec -it nginx-proxy bash
在容器中,你可以编辑Nginx的配置文件。默认情况下,Nginx的配置文件路径是/etc/nginx/nginx.conf。
1vi /etc/nginx/nginx.conf
在 ...
react native人脸识别之人脸检测模块集成
前言最近在做一个考勤签到的系统,项目中需要人脸识别来做身份认证。这里来记录一下在react native中人脸检测模块的集成。
首先简单介绍一下项目中使用的到的库:
react-native-vision-camera:React Native Vision Camera 是一个用于构建 React Native 应用程序中与相机相关的功能的库。它提供了一种以高性能和可定制化的方式访问设备相机并捕获图像或视频的方法。该库是基于 iOS 和 Android 的本地相机 API 构建的,并为两个平台提供了统一的 API。它提供了各种功能,如实时图像处理、手动相机控制和自定义取景器叠加层。更多用例访问官网
Frame Processors:Frame Processors(帧处理器)是指对相机捕获的帧进行实时处理的功能模块。在 React Native Vision Camera中,可以使用 Frame Processors 来对相机捕获的帧进行自定义的处理。如:使用帧处理器将视频的每一帧中的人脸来进行检测。
vision-camera-face-detector:vision-cam ...
在 TypeScript 中import type和import的区别
在 TypeScript 中,import type 和 import 有以下区别:
import type 仅仅引入类型信息,而不会引入实际的 JavaScript 对象。这意味着在编译后,import type 引入的代码不会出现在生成的 JavaScript 文件中。而 import 会引入实际的 JavaScript 对象。
import type 只能用于导入类型声明,例如接口、类型别名、枚举等。而 import 可以用于导入值、函数、类等任何东西。
在使用 import type 时,无法使用导入的类型作为值进行实例化或传递给函数。这意味着,你无法使用 import type 导入的类型来创建一个对象或者传递给一个函数作为参数,因为这些类型只存在于编译时。
举个例子:
1234567891011// foo.tsexport interface Foo { bar: string;}// index.tsimport { Foo } from './foo'; // 这里导入了实际的 Foo 接口对象i ...
Java-高德地图根据经纬度计算两坐标之间的直线距离
Java-高德地图根据经纬度计算两坐标之间的直线距离
最近在做毕设项目,项目打卡需要用到高德地图,看了下高德地图计算两坐标距离的方法,官网上提供的开发包中也有相关的方法。
123456789101112131415161718192021222324252627282930313233343536/** * * @author tangyong * @date 2022/12/14 4:15 下午 * @param longitude 位置1经度 * @param latitude 位置1纬度 * @param latitude2 位置2经度 * @param latitude2 位置2纬度 */public float calculateLineDistance(double longitude, double latitude,double longitude2, double latitude2) { double var2 = longitude; double var4 = latitude; double var6 = ...