TongSearch3.0.4.0安装和使用指引(by lqw)
文章目录
- 安装准备
- 手册说明
- 支持的数据类型
- 安装控制台
- 安装单节点(如需集群请跳过这一节)
- 解压和启动
- 开启X-Pack Security和生成p12证书(之后配置内置密码和ssl要用到)
- 配置内置用户密码
- 配置ssl(先配置内置用户密码再配ssl)
- 配置控制台连接(根据需求配完用户内置密码和ssl后进行操作)
- 安装集群(节点都在不同服务器)
- 解压和启动
- 开启X-Pack Security和生成p12证书(之后配置内置密码和ssl要用到)
- 配置内置用户密码
- 配置ssl(先配置内置用户密码再配ssl)
- 配置控制台连接(根据需求配完用户内置密码和ssl后进行操作)
- 安装集群(节点都在同一台服务器)
- 解压和启动
- 配置控制台
- 查看授权过期时间
- 忘记控制台密码
- 重置内置用户密码(例如tongsearch用户)
安装准备
1.安装和配置好jdk环境变量(本次示范使用的是jdk11,最低要求jdk11)。

也可以使用自带jdk,在tongsearch节点的jdk目录:


2.确认cpu架构(可以使用lscpu查看),上传好相关安装包和授权(请联系销售获取),本次示范x86。


3.确保端口9209,9309不被占用,并放行对应端口(可以的话最好关闭防火墙)。
firewall-cmd --permanent --zone=public --add-port=9200/tcp
firewall-cmd --permanent --zone=public --add-port=9300/tcp
firewall-cmd --reloadsystemctl disable firewalld
4.创建对应使用的普通用户(本次示范创建的是tongsearch)。
useradd tongsearch
passwd tongsearch
5.配置/etc/security/limits.conf
tongsearch hard nproc unlimited
tongsearch soft nproc unlimited
tongsearch - nofile 262144
tongsearch - memlock unlimited
重启服务器,切换用户,输入ulimit -a查看:

配置/etc/sysctl.conf
#在最下面加一行配置vm.max_map_count = 262144
#更新配置
sysctl -p
#輸出
vm.max_map_count = 262144
手册说明

支持的数据类型

备注:最终以产品手册为准。
安装控制台
su root
chown -R tongsearch:tongsearch /home/ts
su tongsearch
cd /home/ts
tar -zvxf tongsearch-console-3.0.4.0-linux-x86_64.tar.gz
如果需要修改端口,修改config.yml即可


注意检查并关闭防火墙
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: active (running) since 二 2025-01-21 14:11:05 CST; 54min agoDocs: man:firewalld(1)Main PID: 736 (firewalld)CGroup: /system.slice/firewalld.service└─736 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid1月 21 14:11:05 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...
1月 21 14:11:05 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.
[root@localhost ~]# systemctl stop firewalld
cd /home/ts/tongsearch-console-3.0.4.0-linux-x86_64/bin
#启动
./tongsearch_console_service.sh start
#停止
./tongsearch_console_service.sh stop
#重启./tongsearch_console_service.sh restart
启动后访问
http://服务器ip:8090/

◦ 用户名:admin
◦ 密码:admin123.com
登录后会显示如下,咱们先不动,把tongsearch节点给安装了

安装单节点(如需集群请跳过这一节)
解压和启动
通过tongsearch用户,解压相关安装包并放入授权:
tar -zvxf tongsearch-3.0.4.0-linux-x86_64.tar.gz
chown -R tongsearch:tongsearch /home/ts


编辑jvm.options,配置以下配置:

这里xmx和xms配置了4g,请根据自身需求配置:

修改tongsearch.yml配置⽂件,在⽂件末尾添加信息如下
cluster.name: tongsearch-cluster
node.name: ts1
transport.tcp.port: 9300
http.port: 9200
cluster.initial_master_nodes: ["ts1"]
network.host: 0.0.0.0
path.data: /home/ts/tongsearch-3.0.4.0/data
path.logs: /home/ts/tongsearch-3.0.4.0/logs
配置后启动服务
su tongsearch
cd /home/ts/tongsearch-3.0.4.0/bin
# 启动./tongsearch -d -p pidcurl http://localhost:9200

如需停止,在 TongSearch 根目录下,执行如下命令,
kill $(cat pid)
开启X-Pack Security和生成p12证书(之后配置内置密码和ssl要用到)
备份好当前的tongsearch目录后,在tongserach节点目录执行
cd /home/ts/tongsearch-3.0.4.0
./bin/tongsearch-certutil ca

之后会生成一个tongsearch-stack-ca.p12文件:

继续执行
cd /home/ts/tongsearch-3.0.4.0
./bin/tongsearch-certutil cert --ca tongsearch-stack-ca.p12

之后会生成tongsearch-stack-ca.p12文件:

在config目录下创建certs目录,并将创建的两个p12文件拷贝过来:
cd /home/ts/tongsearch-3.0.4.0/config
mkdir certs
chmod 755 /home/ts/tongsearch-3.0.4.0/config/certs
cp ../tongsearch-certificates.p12 ./certs
cp ../tongsearch-stack-ca.p12 ./certs
在config目录下的tongsearch.yml最下面添加这一段:
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: certs/tongsearch-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/tongsearch-certificates.p12
之后可以关掉tongsearh后启动tongsearch,测试是否正常运行:
cd /home/ts/tongsearch-3.0.4.0
kill $(cat pid)
cd /home/ts/tongsearch-3.0.4.0/bin
./tongsearch -d -p pid
配置内置用户密码
前提条件:已根据上一节开启X-Pack Security和生成p12证书,并且节点运行正常。
如果没有的话,直接配置会报错,如下图所示:

备份好当前的tongsearch目录后,在tongsearch根目录执行(需保证tongsearch节点正常运行):
cd /home/ts/tongsearch-3.0.4.0./bin/tongsearch-setup-passwords interactive
执行后如下图所示:

输入y,然后依次输入

之后执行:
curl -u tongsearch:你设置的密码 http://localhost:9200

配置ssl(先配置内置用户密码再配ssl)
前提条件:tongsearch单节点运行正常(如果没有配置内置用户密码,需要先配了内置用户密码)。
由于tongsearch-setup-passwords只能用于http,不能用于https,所以建议要是先设置了密码,再去开启ssl。
备份好当前的tongsearch目录后,在tongsearch.yml加入以下配置:
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: certs/tongsearch-certificates.p12
xpack.security.http.ssl.truststore.path: certs/tongsearch-certificates.p12
重启tongsearch
cd /home/ts/tongsearch-3.0.4.0
kill $(cat pid)
cd /home/ts/tongsearch-3.0.4.0/bin
./tongsearch -d -p pid
然后访问https://服务器ip:9200/,在弹窗内输入tongsearch的账号和密码,得到下图所示:

也可以在服务器上执行
curl -k -u tongsearch:设置的密码 https://服务器ip:9200

配置控制台连接(根据需求配完用户内置密码和ssl后进行操作)
启动控制台,输入密码:
◦ 用户名:admin
◦ 密码:admin123.com

填写信息,测试连接(根据节点配的是http还是https来输入集群地址)

没问题后下一步:


修改密码

进去后看看当前集群,有对应节点的信息。

安装集群(节点都在不同服务器)
解压和启动

通过tongsearch用户,每台服务器上解压相关安装包并放入授权:
tar -zvxf tongsearch-3.0.4.0-linux-x86_64.tar.gz
chown -R tongsearch:tongsearch /home/ts


编辑jvm.options,配置以下配置:

这里xmx和xms配置了4g,请根据自身需求配置:

修改tongsearch.yml配置⽂件,在⽂件末尾添加信息如下

每个节点的tongsearch.yaml配置下述信息:
cluster.name: tongsearch-cluster
node.name: ts1
network.host: 192.168.10.113
transport.tcp.port: 9300
http.port: 9200
path.data: /home/ts/tongsearch-3.0.4.0/data
path.logs: /home/ts/tongsearch-3.0.4.0/logs
discovery.seed_hosts: ["192.168.10.113","192.168.10.114","192.168.10.115"]
cluster.initial_master_nodes: ["ts1","ts2","ts3"]
其中
node.name依次为ts1,ts2,ts3,不要重复
network.host为服务器ip,
discovery.seed_hosts为三台服务器ip,例如:
[“192.168.10.113”,“192.168.10.114”,“192.168.10.115”]
备注:
1.data和logs目录要配置好权限,最好就用tongsearch内部自带的。
2.192.168.10.113请替换为自身服务器ip
3.node.name需要改,例如是ts1,ts2,ts3
4.discovery.seed_hosts 需要写入集群ip
5.注意缩进。
编辑jvm.options,配置以下配置:

这里xmx和xms配置了4g,请根据自身需求配置:

修改后启动各个节点(记得检查防火墙有没有关)
cd /home/ts/tongsearch-3.0.4.0/bin
./tongsearch -d -p pid
[root@localhost ~]# curl http://192.168.10.113:9200/_cat/nodes
192.168.10.114 11 63 1 0.00 0.07 0.05 cdfhimrstw * ts2
192.168.10.115 4 63 1 0.13 0.17 0.12 cdfhimrstw - ts3
192.168.10.113 5 63 1 0.14 0.15 0.08 cdfhimrstw - ts1
[root@localhost ~]# curl http://192.168.10.113:9200/_cluster/health?pretty
{"cluster_name" : "tongsearch-cluster","status" : "green","timed_out" : false,"number_of_nodes" : 3,"number_of_data_nodes" : 3,"active_primary_shards" : 2,"active_shards" : 4,"relocating_shards" : 0,"initializing_shards" : 0,"unassigned_shards" : 0,"delayed_unassigned_shards" : 0,"number_of_pending_tasks" : 0,"number_of_in_flight_fetch" : 0,"task_max_waiting_in_queue_millis" : 0,"active_shards_percent_as_number" : 100.0
}
记得把192.168.10.113 替换成实际主节点的服务器ip。
如需停止,在 TongSearch 根目录下,执行如下命令,
kill $(cat pid)
开启X-Pack Security和生成p12证书(之后配置内置密码和ssl要用到)
确认集群没问题后,每个节点都执行以下操作:
tongserach节点目录执行
cd /home/ts/tongsearch-3.0.4.0
./bin/tongsearch-certutil ca

之后会生成一个tongsearch-stack-ca.p12文件:

继续执行
cd /home/ts/tongsearch-3.0.4.0
./bin/tongsearch-certutil cert --ca tongsearch-stack-ca.p12

之后会生成tongsearch-stack-ca.p12文件:

在config目录下创建certs目录,并将创建的两个p12文件拷贝过来:
cd /home/ts/tongsearch-3.0.4.0/config
mkdir certs
chmod 755 /home/ts/tongsearch-3.0.4.0/config/certs
cp ../tongsearch-certificates.p12 ./certs
cp ../tongsearch-stack-ca.p12 ./certs
配置在tongsearch.yml最下面添加这一段(这里的xpack.security.transport.ssl.verification_mode跟单节点的有点不一样):
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: none
xpack.security.transport.ssl.keystore.path: certs/tongsearch-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/tongsearch-certificates.p12
之后可以关掉tongsearh后启动tongsearch,测试是否正常运行:
cd /home/ts/tongsearch-3.0.4.0
kill $(cat pid)
cd /home/ts/tongsearch-3.0.4.0/bin
./tongsearch -d -p pid
配置内置用户密码
前提条件:已根据上一节开启X-Pack Security和生成p12证书,并且节点运行正常。
如果没有的话,直接配置会报错,如下图所示:

备份好当前的tongsearch目录后,在其中一个tongsearch根目录下执行(需保证tongsearch节点正常运行):
cd /home/ts/tongsearch-3.0.4.0./bin/tongsearch-setup-passwords interactive
执行后如下图所示:

输入y,然后依次输入

配置成功后,可以测试一下集群的指令,例如:
curl -k -u tongsearch:配置的密码 http://服务器ip:9200/_cat/nodes
可以看到,虽然只配置了一个节点的内置用户密码,但是集群里的其他节点也可以使用:

也可以在浏览器访问


还可以执行
curl -k -u tongsearch:配置的密码 http://服务器ip:9200/_cluster/health?pretty

配置ssl(先配置内置用户密码再配ssl)
前提条件:tongsearch集群运行正常(如果没有配置内置用户密码,需要先配了内置用户密码)。
由于tongsearch-setup-passwords只能用于http,不能用于https,所以建议要是先设置了密码,再去开启ssl。
备份好当前的tongsearch目录后,在tongsearch.yml加入以下配置:
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: certs/tongsearch-certificates.p12
xpack.security.http.ssl.truststore.path: certs/tongsearch-certificates.p12
重启tongsearch
cd /home/ts/tongsearch-3.0.4.0
kill $(cat pid)
cd /home/ts/tongsearch-3.0.4.0/bin
./tongsearch -d -p pid
然后访问https://服务器ip:9200/_cat/nodes,在弹窗内输入tongsearch的账号和密码,得到下图所示:


也可以在服务器上执行
curl -k -u tongsearch:设置的密码 https://服务器ip:9200/_cat/nodes


配置控制台连接(根据需求配完用户内置密码和ssl后进行操作)
之后可以登录控制台后,输入主节点的ip地址:9200,输入密码
◦ 用户名:admin
◦ 密码:admin123.com
填写信息,点击测试连接:

没问题后下一步:


修改密码

进去后看看当前集群,有对应集群里所有节点的信息。

安装集群(节点都在同一台服务器)
解压和启动
通过tongsearch用户,解压相关安装包并放入授权:
tar -zvxf tongsearch-3.0.4.0-linux-x86_64.tar.gz
chown -R tongsearch:tongsearch /home/ts


编辑jvm.options,配置以下配置:

这里xmx和xms配置了4g,请根据自身需求配置:

修改tongsearch.yml配置⽂件,在⽂件末尾添加信息如下

network.host: 0.0.0.0
discovery.seed_hosts: ["localhost:9300","localhost:9301","localhost:9302"]
cluster.initial_master_nodes: ["ts1","ts2","ts3"]

依次执行指令:
[tongsearch@192 tongsearch-3.0.4.0]$ cd /home/ts/tongsearch-3.0.4.0
[tongsearch@192 tongsearch-3.0.4.0-onenode]$ ./bin/tongsearch -d -Ecluster.name=tongsearch-cluster -Enode.name=ts1 -Etransport.tcp.port=9300 -Ehttp.port=9200 -Epath.data=/home/ts/tongsearch-3.0.4.0/data/data1 -Epath.logs=/home/ts/tongsearch-3.0.4.0/logs/log1 -p pid1
[tongsearch@192 tongsearch-3.0.4.0]$ ./bin/tongsearch -d -Ecluster.name=tongsearch-cluster -Enode.name=ts2 -Etransport.tcp.port=9301 -Ehttp.port=9201 -Epath.data=/home/ts/tongsearch-3.0.4.0/data/data2 -Epath.logs=/home/ts/tongsearch-3.0.4.0/logs/log2 -p pid2
[tongsearch@192 tongsearch-3.0.4.0]$ ./bin/tongsearch -d -Ecluster.name=tongsearch-cluster -Enode.name=ts3 -Etransport.tcp.port=9302 -Ehttp.port=9202 -Epath.data=/home/ts/tongsearch-3.0.4.0/data/data3 -Epath.logs=/home/ts/tongsearch-3.0.4.0/logs/log3 -p pid3

如需停止,在 TongSearch 根目录下,执行如下命令,
kill $(cat pid1)
kill $(cat pid2)
kill $(cat pid3)
之后执行
[tongsearch@192 tongsearch-3.0.4.0]$ curl http://192.168.10.113:9200/_cat/nodes
192.168.10.113 14 98 6 0.46 0.44 0.22 cdfhimrstw * ts1
192.168.10.113 33 98 5 0.46 0.44 0.22 cdfhimrstw - ts2
192.168.10.113 24 98 2 0.46 0.44 0.22 cdfhimrstw - ts3


备注:
1.如果需要配置内置用户密码和ssl,可以参考本帖里的其他章节内容,用法基本一致。
配置控制台
启动控制台,输入密码:
◦ 用户名:admin
◦ 密码:admin123.com

填写信息,测试连接

没问题后下一步:


修改密码

进去后看看当前集群,有对应集群里所有节点的信息。

查看授权过期时间
查看授权过期时间
第一种:没有配置ssl和内置用户:
curl http://localhost:9209/_license/tong

第二种:(配置了内置用户密码)
curl -u tongsearch:你设置的密码 http://localhost:9200/_license/tong

第三种:(配置了内置用户密码和ssl)
curl -k -u tongsearch:设置的密码https://localhost:9200/_license/tong

备注:localhost可换成服务器ip
忘记控制台密码

重置内置用户密码(例如tongsearch用户)
如果已经使用了./bin/tongsearch-setup-passwords interactive配置了一次内置用户的密码,再执行相同指令,会有报错提示:

这是因为这种方式只适合第一次配置内置用户密码,第二次的话,得参考以下形式:


相关文章:
TongSearch3.0.4.0安装和使用指引(by lqw)
文章目录 安装准备手册说明支持的数据类型安装控制台安装单节点(如需集群请跳过这一节)解压和启动开启X-Pack Security和生成p12证书(之后配置内置密码和ssl要用到)配置内置用户密码配置ssl(先配置内置用户密码再配ssl)配置控制台…...
低代码产品表单渲染架构
在React和Vue没有流行起来的时候,低代码产品的表单渲染设计通常会使用操作Dom的方式实现。 下面是一个表单的例子: 产品层 用户通过打开表单,使用不同业务场景业务下的表单页面,中间的Render层就是技术实现。 每一个不同业务的表单…...
windows 剪切板的写入、读取,包括图片,文本内容
介绍 在windows开发过程中,我们可能会需要对系统剪切板进行操作,其中包括读取剪切板数据和将数据写入到剪切板中 设置剪切板内容 /*** brief 设置剪切板内容* param[in] pszData 指向缓冲区的指针* param[in] nDataLen 缓冲区长度* return 成功返回TRU…...
Matplotlib 高级图表绘制与交互式可视化(mpld3)
我们先重新回忆一下它的主要作用: 一、Matplotlib 简介 Matplotlib 是 Python 中一个非常强大的可视化库,广泛用于数据可视化、科学计算和工程领域。它提供了丰富的绘图功能,可以生成各种静态、动态和交互式的图表。以下是 Matplotlib 的主要功能及其详细讲解。 二、基本…...
(9)gdb 笔记(2):查看断点 info b,删除断点 delete 3,回溯 bt,
(11) 查看断点 info b: # info b举例: (12)删除断点 delete 2 或者删除所有断点: # 1. 删除指定的断点 delete 3 # 2. 删除所有断点 delete 回车,之后输入 y 确认删除所有断点 举…...
专业学习|通过案例了解蒙特卡罗模拟实操步骤与含义
一、蒙特卡罗模拟介绍 蒙特卡罗模拟(Monte Carlo Simulation)是一种基于随机采样的数值计算方法,用于解决具有不确定性或复杂概率分布的问题。其核心思想是通过多次随机抽样来逼近系统的行为或目标函数的真实值,进而对系统进行评估…...
云端智慧:创业公司如何以全球视野选择最佳平台,实现业务新高度
2016年8月,一个名叫Bryce Adams的人辞去了自己原本很稳定的工作,开始追逐梦想:为使用WooCommerce(一种开源的WordPress数字商务插件)的公司开发一种能提供各类报表解决方案的应用。为此他成立了Metorik公司ÿ…...
【工具变量】中国省级八批自由贸易试验区设立及自贸区设立数据(2024-2009年)
一、测算方式:参考C刊《中国软科学》任晓怡老师(2022)的做法,使用自由贸易试验区(Treat Post) 表征,Treat为个体不随时间变化的虚拟变量,如果该城市设立自由贸易试验区则赋值为1,反之赋值为0&am…...
猫眼Java开发面试题及参考答案(上)
详细介绍项目,像项目中如何用 Redis,用到 Redis 哪些数据类型,项目中遇到哪些问题,怎么解决的 在我参与的一个电商项目中,Redis 发挥了至关重要的作用。这个电商项目主要是为用户提供商品浏览、购物车管理、订单处理等一系列功能。 在项目中使用 Redis 主要是为了提升系统…...
WSL2中安装的ubuntu开启与关闭探讨
1. PC开机后,查询wsl状态 在cmd或者powersell中输入 wsl -l -vNAME STATE VERSION * Ubuntu Stopped 22. 从windows访问WSL2 wsl -l -vNAME STATE VERSION * Ubuntu Stopped 23. 在ubuntu中打开一个工作区后…...
Linux抢占式内核:技术演进与源码解析
一、引言 Linux内核作为全球广泛使用的开源操作系统核心,其设计和实现一直是计算机科学领域的研究热点。从早期的非抢占式内核到2.6版本引入的抢占式内核,Linux在实时性和响应能力上取得了显著进步。本文将深入探讨Linux抢占式内核的引入背景、技术实现以及与非抢占式内核的…...
【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.28 NumPy+Matplotlib:科学可视化的核心引擎
2.28 NumPyMatplotlib:科学可视化的核心引擎 目录 #mermaid-svg-KTB8Uqiv5DLVJx7r {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-KTB8Uqiv5DLVJx7r .error-icon{fill:#552222;}#mermaid-svg-KTB8Uqiv5…...
C#面试常考随笔12:游戏开发中常用的设计模式【C#面试题(中级篇)补充】
C#面试题(中级篇),详细讲解,帮助你深刻理解,拒绝背话术!-CSDN博客 简单工厂模式 优点: 根据条件有工厂类直接创建具体的产品 客户端无需知道具体的对象名字,可以通过配置文件创建…...
【深度学习入门_机器学习理论】朴素贝叶斯(NaiveBayes)
本部分主要为机器学习理论入门_熟悉朴素贝叶斯算法,书籍参考 “ 统计学习方法(第二版)”。 学习目标: 熟悉条件概率、先验概率、后验概率、全概率,熟悉朴素贝叶斯算法原理与推判断过程;熟悉参数估计&#…...
docker pull Error response from daemon问题
里面填写 里面解决方案就是挂代理。 以虚拟机为例,将宿主机配置端口设置,https/http端口设为7899 配置虚拟机的http代理: vim /etc/systemd/system/docker.service.d/http-proxy.conf里面填写,wq保存 [Service] Environment…...
javaEE-8.JVM(八股文系列)
目录 一.简介 二.JVM中的内存划分 JVM的内存划分图: 堆区:编辑 栈区:编辑 程序计数器:编辑 元数据区:编辑 经典笔试题: 三,JVM的类加载机制 1.加载: 2.验证: 3.准备: 4.解析: 5.初始化: 双亲委派模型 概念: JVM的类加…...
25.02.04 《CLR via C#》 笔记 13
核心机制 第二十章 异常和状态管理 什么是异常:异常指成员没有完成它的名称所宣称的行动;异常是程序运行过程中用来表示错误并处理的机制,错误可以是更广义的,包括程序中未捕获的问题或逻辑缺陷。异常处理机制(try-c…...
git 项目的更新
更新项目 当自己的本地项目与 远程的github 的仓库已经建立远程连接时, 则直接按照下面的步骤, 将本地的项目代码更新到远程仓库。 # Stage the resolved file git add README.md <file1> <file2># To stage all changes: git add .# Comm…...
【Rust自学】17.3. 实现面向对象的设计模式
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 17.3.1. 状态模式 状态模式(state pattern) 是一种面向对象设计模式,指的是一个值拥有的内部状态由数个状态对象(…...
51c视觉~CV~合集10
我自己的原文哦~ https://blog.51cto.com/whaosoft/13241694 一、CV创建自定义图像滤镜 热图滤镜 这组滤镜提供了各种不同的艺术和风格化光学图像捕捉方法。例如,热滤镜会将图像转换为“热图”,而卡通滤镜则提供生动的图像,这些图像看起来…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
