CentOS7 相关命令 2025-01-08 09:32 | 1 minute read centOS7 安装yum 查看端口 netstat -anp |grep 80 安装wget yum install wget systemctl的所有service配置文件目录为/usr/lib/systemd/system watch 命令监听 watch -d -n 2 监听执行某个命令,每2秒刷新一次 top 命令实时查看CPU内存 // 查看内存,每2秒刷新一次 free -m -s 2
clickhouse 数据库使用 2025-01-08 09:32 | 1 minute read clickhouse 安装搭建 server配置 路径 /etc/clickhouse-server 用户配置 user.xml user.d/ server配置 config.xml config.d/ 设置用户名密码 vim users.xml,找到 users –> default –> 标签下的password修改成password_sha256_hex,并把密文填进去 <password_sha256_hex>密码密文</password_sha256_hex> 设置远程可访问 vim config.xml 找到 listen_host 标签,修改为以下: <listen_host>0.0.0.0</listen_host> 启动 访问 clickhouse-client -h ip地址 -d default -m -u default --password 密码明文 注意参数--password不能简写为-p 基本操作CURD
gis 空间数据特征 2025-01-08 09:32 | 1 minute read Gis 空间数据 空间数据基本特征 空间特征 空间实体的位置或现在所处的地理位置及拓扑关系和几何特征 属性特征 主要指的是专题属性,也是非定位数据,指实体所具有的各种性质,如房屋的结构、高度、层数、使用的主要建筑材料、功能等。专题属性通常以数字、符号、文本和图像等方式表示。专题属性的表示方式主要有表格和图形(或图像)两种。 表格 通过囿定的表格格式详细列出空间实体的参数和描述数据。一般情况下,表格数据精确、明了、易于理解 图形或图像 无论是通过矢量还是栅格表示地理空间中的实体,如果属性特征是通过属性值的级别来表示的,就可以在同一级别的空间范围内充填一定的颜色或图例符号。例如,在绘制或显示某一城市的污染专题图时,任意级别的污染区域可以通过颜色来加以表示。以图形图像表示的属性数据具有隐含的性质,必须通过图例或有关技术规范才能加以理解。 时间特征 指现象或物体随时间的变化,其变化的周期有超短期的、短期的、中期的、长期的和超长期的。 空间特征数据和属性特征数据常常呈相互独立的变化,即在不同的时间,空间位置不变,但属性数据可能发也变化,或者相反。 对于现有的大量GIS系统,由于它们并非是时态GIS系统,所以把专题属性和时间特征数据统称为属性数据。
Go 依赖注入之 wire 库 2025-01-08 09:32 | 2 minute read Go 依赖注入之 wire 库 PS: 若不了解控制反转和依赖注入,可参考博文:https://blog.csdn.net/qq_38269333/article/details/139300610?spm=1001.2014.3001.5501 简介 wire 库是管理和解析依赖关系的。 随着项目规模的增长,手动管理依赖关系变得越来越困难,容易导致代码的复杂性和耦合度增加。为了解决这一问题,Google 开发了一个名为 wire 的依赖注入工具,它可以自动生成依赖注入代码,帮助开发者管理依赖关系,提高代码的清晰度和可维护性。 GitHub 地址:https://github.com/google/wire 安装命令 go get github.com/google/wire/cmd/wire 使用示例 以常见的 controller、service、model 模式为例,示例如下: 代码片段 user.go package main import ( "database/sql" "net/http" ) // User 是用户模型 type User struct { ID int Name string Email string } // UserRepository 是用户存储库 type UserRepository struct { DB *Database } // UserService 是用户服务 type UserService struct { Repo *UserRepository } // UserController 是用户控制器 type UserController struct { Service *UserService } // GetUserByID 处理获取用户的HTTP请求 func (controller *UserController) GetUserByID(w http.
gRPC 介绍 2025-01-08 09:32 | 1 minute read gRPC 四种模式及应用场景 在 gRPC 中,RPC 调用模式有四种,每种模式适用于不同的业务场景。下面将详细分析这四种模式及其对应的应用场景。 参考官方文档概念:https://grpc.io/docs/what-is-grpc/core-concepts 1. 简单 RPC (Unary RPC) 模式描述 客户端发送一个请求,服务端返回一个响应。双方的通信都是一次性的。 类似于传统的 HTTP 请求-响应模型。 应用场景 查询服务:客户端请求一些数据,服务端根据请求参数返回一个结果。比如获取用户信息、查询订单状态等。 简单的计算服务:客户端传入参数,服务端执行计算后返回结果,比如加法、减法、获取某个 ID 的计算结果等。 无需复杂交互的任务:单次请求即能获得结果的场景,如调用支付接口、获取天气数据等。 示例 rpc GetUserInfo(UserRequest) returns (UserResponse); 2. 服务端流式 RPC (Server Streaming RPC) 模式描述 客户端发送一个请求,服务端返回一个响应流。客户端接收服务端的多个响应数据,直到服务端发送完所有数据。 应用场景 分页或批量获取数据:客户端需要从服务端获取大量数据时,通过流的方式接收数据,不需要一次性加载完所有数据,比如数据导出或查询日志。 实时数据推送:适合服务端需要不断推送数据给客户端的场景,比如股票行情、实时天气更新、监控数据等。 文件下载:客户端请求文件,服务端以数据块形式流式返回文件内容。 示例 rpc GetLogStream(LogRequest) returns (stream LogEntry); 3. 客户端流式 RPC (Client Streaming RPC) 模式描述 客户端发送一个流请求,服务端接收所有请求后返回一个响应。客户端可以分批次将数据流发送到服务端。 应用场景 批量数据上传: 客户端分批次发送数据到服务端,如文件分块上传、日志批量上传等。 传感器数据采集: 客户端持续收集传感器的数据,并将其流式发送至服务端进行处理。 数据聚合: 客户端发送多个值,服务端处理后返回汇总结果,如计算平均值、订单总金额等。 示例 rpc UploadLogStream(stream LogEntry) returns (UploadStatus); 4. 双向流式 RPC (Bidirectional Streaming RPC) 模式描述 客户端和服务端都可以通过流的方式不断发送和接收消息。双方可以并发地发送和接收消息,且不需要等待对方完成发送。
Http 之 jsonp 2025-01-08 09:32 | 1 minute read Http jsonp 概念:浏览器通过script标签中src属性向服务端发送执行函数的名字,服务端根据函数名、服务端数据,拼接成一个函数调用的字符串给客户端script标签执行,这称之为JSONP 特点: 不属于axios请求,因为没有使用XMLHttpRequest对象 仅支持get请求,不支持post、put、delete
pg 之空间数据 postgis 插件 2025-01-08 09:32 | 1 minute read postgis 安装扩展 先查找最新postgis插件版本号 sudo apt-cache search postgis 找到当前已安装postgreSQL版本对应的postgis版本 ps:查看postgreSQL版本 select version() sudo apt-get install postgresql-14-postgis-3 赋予某个库空间数据库的能力 CREATE EXTENSION postgis; postgis_topology支持拓扑 CREATE EXTENSION postgis_topology; pgrouting 提供了对路网的分析支持,包括双向Dijkstra最短路径等10多种功能,是postgis的插件,需要额外安装
ssh 连接过程 2025-01-08 09:32 | 1 minute read 用户密码方式验证登入过程分析 客户端ssh向服务器发送连接请求,传递用户名及ip端口 服务端接收到请求,检查用户名是否存在,不存在则拒绝。反之,会将公钥及指纹(公钥对应的sha256值)发送给客户端 若客户端是第一次请求连接,则会提醒用户确认该指纹是否来自目的服务器,若用户输入yes确认则会将指纹存放到known_host中,下次再连接时,当发现服务器传过来的指纹与已存入到known_host中的指纹一致,则服务器身份直接验证通过,无需提醒确认。反之会发出警告:提醒说该公钥和指纹可能是由于中间人拦截而被篡改的或者可能是服务器更新了新的公私钥对。 客户端完成公钥接收及指纹对比后,需要输入密码,将密码使用服务器公钥进行加密发送到服务器,服务器私钥解密验证成功则允许登入。 公钥身份验证登入过程分析 客户端在本地生成一对密钥,包括一个公钥和一个私钥。且将自己的公钥放到到服务器上的 ~/.ssh/authorized_keys 文件中 客户端ssh向服务器发送连接请求 服务端检查用户名存在后,生成一个随机串返给客户端 客户端自己的私钥对随机串进行签名并发送给服务器 服务器使用已存入authorized_keys 中的公钥进行验签,若验签通过则客户端身份认证成功
ubuntu 上安装部分开发软件 2025-01-08 09:32 | 2 minute read ubuntu20.04安装部分软件 安装docker 1、卸载可能存在的或者为安装成功的Docker版本 sudo apt-``get` `remove docker docker-engine docker-ce docker.io 2、添加阿里云的GPG密钥 curl -fsSL http:``//mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - 3、使用以下命令设置存储库 sudo add-apt-repository ``"deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" 4、安装最新版本的Docker sudo apt-``get` `update sudo apt-``get` `install docker-ce docker-ce-cli containerd.io docker-compose-plugin 5、验证Docker是否安装成功 -- 查看docker 版本 docker version 二、安装postgresql 1、Add Postgre SQL 13 repository sudo apt update sudo apt install curl gpg gnupg2 software-properties-common apt-transport-https lsb-release ca-certificates add the APT repository,importing GPG key curl -fsSL https://www.
博客建设网站之 hexo 2025-01-08 09:32 | 1 minute read Hexo framework based on node.js 官网: https://hexo.io doc:https://hexo.io/docs/ 简单教程: 【bilibii】 https://b23.tv/xyiGVIV 安装 npm install -g hexo-cli 创建自己的blog项目 hexo init blog 博客文件存放路径 source/_posts,将自己平时的md文件放入其中即可 设置主题 默认的主题比较单调,可官网查找合适主题安装 doc: https://hexo.io/themes/ 主题存放路径 themes/ 使主题生效 修改_config.yml文件,设置theme为你的主题名称(下载在themes目录下的目录名,具体看主题使用说明) 例如ayer主题的使用说明 https://github.com/Shen-Yu/hexo-theme-ayer