- 博客(86)
- 资源 (5)
- 收藏
- 关注
原创 Web GIS 瓦片金字塔模型
Web GIS瓦片金字塔模型采用多分辨率四叉树结构组织全球瓦片,核心是层级缩放与按需加载。金字塔从第0层(全球1张瓦片)向下逐级分裂为4个子瓦片,共约20-22级。瓦片采用{z}/{x}/{y}寻址,其中y轴正方向朝下。四叉树管理2D瓦片,八叉树扩展为3D数据管理。瓦片定位基于Web墨卡托投影,图层按底图、地形、矢量、3D模型、标注自下而上渲染。计算相邻瓦片时,经度方向循环处理,纬度方向边界越界则返回空值。该模型支撑了Google Maps等高并发地图服务的运行。
2026-06-07 22:57:46
300
原创 Prometheus 静态元数据存储实践
Prometheus运维中存储静态元数据的标准方案是使用"Gauge+固定值1"模式。本文将静态元数据存储问题拆解为两个核心点:首先明确Prometheus作为时序数据库不适合直接存储纯静态元数据,但通过将元数据存入标签并用固定值1的Gauge指标伪装成时序数据,可以实现标准化存储;其次详细分析了该方案的两种应用场景(系统级和自定义元数据)及其实现方式,并解答了开发者关心的周期性抓取和存储开销问题。文章指出,虽然该方案会周期性抓取数据,但得益于Prometheus的时序压缩算法,百万次抓
2026-03-26 00:47:04
341
原创 Prometheus从零实现自定义Exporter
本文介绍了如何使用Python的prometheus_client库实现系统监控指标采集和暴露。主要内容包括:1)环境准备(安装prometheus-client和psutil);2)四种核心指标类型(Gauge、Counter、Histogram、Summary)的特点与适用场景;3)基础API使用示例;4)简单实操案例展示CPU和内存监控;5)进阶案例展示封装类实现多指标采集(CPU、内存、磁盘、网络)。通过HTTP接口暴露指标,可被Prometheus采集,快速构建类似node_exporter的系统
2026-03-24 23:38:18
464
原创 UV 项目管理指南
UV 操作指南摘要 UV 是一个基于 Rust 开发的超快 Python 包管理工具,比 pip 快 10-100 倍。主要功能包括: 项目管理:支持项目初始化、依赖管理(add/remove/sync)、虚拟环境创建 依赖管理:自动处理生产/开发依赖,生成锁文件,可视化依赖树 Python 版本管理:安装/切换不同 Python 解释器 构建发布:支持打包和发布到 PyPI 兼容 pip:提供 pip 命令的加速替代方案 安装简单,支持 Linux/macOS/Windows 平台,是现代化 Python
2026-01-14 10:49:03
1054
2
原创 Linux软链接应用详解:从原理到实战案例
为了更好地理解软链接的应用,我们可以通过一个简单的脚本模拟一个多功能程序。该程序根据调用名称的不同执行不同的逻辑。软链接是Linux系统中一个简单却强大的特性,它通过“名字标签”机制为程序提供了灵活的多功能入口。通过本文的案例和原理讲解,相信读者已经对软链接的应用有了更深入的理解。无论是自定义脚本还是开源工具,软链接都能帮助我们实现更高效、更灵活的系统管理。
2025-12-29 10:57:17
607
原创 Python项目从零到PyPI发布完整实战
一个完整的Python包开发实战教程,从项目创建、编码实现、单元测试到PyPI发布的全流程详解本文通过一个简单的(poorcal)示例,手把手带你走完Python包开发的完整生命周期,适合Python初学者和想要发布自己第一个PyPI包的开发者。
2025-12-16 01:46:33
642
原创 Uvicorn实操教程
摘要: Uvicorn是一款高性能ASGI服务器,支持HTTP/1.1、WebSocket等协议,兼容FastAPI等异步框架。本文介绍其核心特性、安装方法、常用参数配置及实战应用。开发时可使用--reload热重载,生产环境建议多进程部署(workers=CPU核心数*2+1)。通过示例演示原生ASGI应用和FastAPI集成,提供命令行与代码内两种启动方式,并详细说明日志、并发等关键参数优化技巧。
2025-12-14 02:22:20
961
原创 Gunicorn生产实践
Gunicorn生产实践摘要 Gunicorn是Python Web应用的进程管理服务器,核心功能包括多进程管控、Worker崩溃自动重启和平滑重启。它适配WSGI/ASGI应用,常与Uvicorn搭配使用管理异步进程,保障生产环境稳定性。 关键点: 生产环境异步应用推荐组合:Gunicorn(进程管理)+Uvicorn(请求处理) 同步应用可单独使用Gunicorn 开发环境建议仅用Uvicorn 核心优势: 进程容错:Worker崩溃后自动重建 日志聚合:统一访问日志和错误日志 平滑重启:代码更新无需中
2025-12-13 22:49:18
974
原创 Serilog日志框架
Serilog是 .NET应用程序的诊断日志记录库。它易于设置,具有干净的 API,并且可以在所有最新的 .NET 平台上运行。虽然它即使在最简单的应用程序中也很有用,但 Serilog 对结构化日志记录的支持在检测复杂、分布式和异步应用程序和系统时大放异彩。
2024-03-27 22:22:15
1809
原创 SQL执行后台脚本
借助于nohup,在后台执行sql命令/脚本,解决经常遇到数据导入等耗时SQL操作,避免因MySQL客户端或SSH终端关闭,导致SQL执行中断。
2024-03-04 11:30:21
1298
1
转载 NVM使用教程
因为nvm可以管理多个版本的node,如果每次添加一个node版本都要安装一堆的包很麻烦,如果有一个npm可以让各个版本的node共用,就不会这么麻烦了。想更新全局的npm的话首先删除全局路径(就是上一行命令的地址,可以使用npm config ls查看)下的npm,再执行一次这个命令即可。如果你已经安装了node,那么你需要先卸载node,如果你没有安装那直接跳过这一步到下一步。1.在安装nvm的时候没有卸载node,导致使用nvm安装完之后,node和npm都不可用。选择nodejs的安装路径。
2023-12-18 09:10:35
438
原创 PHP8.2 环境搭建
是 PHP语言的重大更新,它包含许多新功能,包括只读类、作为独立类型的 null、false 和 true、已弃用的动态属性、性能改进等,具体可参考。MacOS 已经集成了系统版本的 PHP,可以通过 Homebrew 方式进行安装和升级。,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。来查看你的 ThinkPHP 应用了。
2023-07-12 21:02:12
3196
1
原创 Docker安装SQLServer
SQLServer的要求是至少8位且需要由大写字母、小写字母、数字、符号中的至少3种组成。SQLServer中的语句需要使用。
2023-04-24 01:33:07
2077
原创 Git Flow最佳实践
同时,其它开发人员可以基于Develop分支新建Feature (记住:一旦打了Release分支之后不要从Develop分支上合并新的改动到Release分支)发布Release分支时,合并Release到Master和Develop, 同时在Master分支上打个Tag记住Release版本号,然后可以删除Release分支了。也就是我们经常使用的Master分支,这个分支最近发布到生产环境的代码,最近发布的Release, 这个分支只能从其他分支合并,不能在这个分支直接修改。在2010年提出来的。..
2022-08-09 01:53:46
450
原创 BIOS里面的DMI信息是什么
DMI()就是帮助收集电脑系统信息的管理系统。DMI充当了管理工具和系统层之间接口的角色。它建立了标准的可管理系统更加方便了电脑厂商和用户对系统的了解。DMI的主要组成部分是ManagementInformationFormat(MIF)数据库。这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。......
2022-07-29 09:40:35
8302
原创 Glang单元测试与基准测试
一. 测试概要1.1 测试分类Go语言的测试文件须以_test.go结尾,包含示例函数、单元测试函数、基准测试函数和主测函数四种类型。类型格式作用示例函数ExampleFoo()提供示例文档测试函数TestFoo(t *testing.T)测试程序的一些逻辑行为是否正确基准函数BenchmarkFoo(b *testing.B)测试函数的性能主测函数TestMain(m *testing.M)引导一个单元测试1.2 测试命令命令格式:g
2022-01-28 01:47:06
810
原创 经典基础编程练习题(Golang版)-2
文章目录1.分解质因数2.求公约数3.统计字符4.数字累加5.查找完数6.猴子吃桃7.求解方程8.打印棱形9. 求解数列10.计算阶乘1.分解质因数题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。分析:1. 对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:2. 如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。3. 如果n&l...
2022-01-07 17:25:08
965
原创 经典基础编程练习题(Golang版)-3
文章目录1.递归求阶乘2.递归倒序3.求解方程4.求回文数5.判断星期6.寻找素数7.求解矩阵8.序列插队9.数组倒序10.打印圆形11.打印椭圆12.打印直线13.杨辉三角14.报数游戏15.求解方程16.统计字符1.递归求阶乘题目:利用递归方法求5!。#include "stdio.h"#include "conio.h"main(){ int i; int fact(...
2022-01-07 17:24:45
1562
原创 什么是URI、URL和URN
相关概念URI:Uniform Resource Identifier,即统一资源标志符,用来唯一的标识一个资源。URL:Uniform Resource Locator,统一资源定位符。即URL可以用来标识一个资源。URN:Uniform Resource Name,统一资源命名。即通过名字来表示资源的。URI是以一种抽象的,高层次概念定义统一资源标识;而URL和URN则是具体的资源标识的方式。URL和URN都是一种URI。什么是URI服务器资源名被统称为统一资源标识符;就像邮政地址
2021-12-31 15:03:44
5111
原创 Systemd系统服务管理
Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。创建Servicevim /lib/systemd/system/demo.service[Unit]Description=Demo Service # 服务描述Documentation=https://doc.xxx.com # 文档地址After=network.target # 其中network.target代表有网路,network-online.target代表一个连通着的网络.
2021-12-03 19:01:15
1684
原创 交集并集差集补集
1. 并集对于两个给定集合A、B,由两个集合所有元素构成的集合,叫做A和B的并集。记作:AUB 读作“A并B”例:{3,5}U{2,3,4,6}= {2,3,4,5,6}2. 交集对于两个给定集合A、B,由属于A又属于B的所有元素构成的集合,叫做A和B的交集。记作: A∩B 读作“A交B”例:A={1,2,3,4,5},B={3,4,5,6,8},A∩B={3,4,5}3. 差集记A,B是两个集合,则所有属于A且不属于B的元素构成的集合,叫做集合A减集合B(或集合A与集合B之差),.
2021-08-23 20:26:52
33602
2
原创 Homebrew安装与配置
文章目录一. Homebrew介绍二. 安装Homebrew三. 更换镜像四. Brew命令一. Homebrew介绍Homebrew是一款macOS(或 Linux)软件包的管理工具。主要有四个部分组成: brew、homebrew-core 、homebrew-cask、homebrew-bottles。名称说明brewHomebrew 源代码仓库homebrew-coreHomebrew 核心源homebrew-cask提供 macOS 应用和大型二进制文件
2021-07-29 16:24:38
818
原创 VMWare Fusion12虚拟机设置固定IP
一、版本信息MACmacOS Big Sur/版本11.5.1VMWare Fusion12.1.2CentOS7.6二、创建子网进入子网配置界面:VMware Fusion > 偏好设置 > 网络。根据自己喜好,划分一个子网:A类保留地址:10.0.0.0 ~ 10.255.255.255B类保留地址:172.16.0.0 ~ 172.31.255.255C类保留地址: 192.168.0.0 ~192.168.255.255查看子网
2021-07-29 02:26:57
1308
原创 03.Nginx基本配置2
文章目录一. 正向代理二. 反向代理三. 负载均衡一. 正向代理正向代理是一种客户端代理,即代理完成客户端请求的工作,一般是安装在客户终端的代理服务或浏览器插件,对用户可感知,正向代理不是本文的重点。二. 反向代理反向代理是服务端代理,即代理服务端完成响应处理的工作,对用户来说是无感知的。代理协议类型:http #属于七层的应用层 代理 超文本传输协议https #代理 http/https协议TCP #属于四层传输层,代理tcp/
2020-05-23 15:33:04
320
原创 Golang toml完全解析示例
配置管理基于TOML v0.4.0的配置管理Toml语法可查看Toml官方文档或中文文档。GO客户端:https://github.com/BurntSushi/toml,这里是官方使用示例。安装Go-toml# 安装toml-go客户端go get github.com/BurntSushi/toml# 验证toml语法go get github.com/BurntSushi/toml/cmd/tomlvtomlv some-toml-file.toml示例1example.
2020-05-13 11:43:17
9129
原创 搭建Zookeeper服务
文章目录一. Zookeeper要点二. 安装Java环境三. ZK单机部署四. ZK单机伪集群五. ZK客户端命令一. Zookeeper要点zookeeper开放源码的分布式协调服务框架 ;zookeeper功能包括:配置维护、域名服务、分布式锁、组服务等;zookeeper由java开发,需要有Jdk 1.6以上的运行环境支持;zookeeper集群一般需要一、三、五等奇数台服...
2020-02-15 23:16:49
741
原创 Redis实现主从复制
文章目录一. 配置主从概述二. 配置主从复制三. 配置主从原理1. 全量复制2. 部分复制四. 配置主从问题1. 读写分离2. 主从配置不一致3. 规避全量复制4.规避复制风暴一. 配置主从概述主从复制(Replication):也叫主从同步,它是将Redis主服务器的数据同步到任意数量的从服务器上,同步使用的是发布/订阅机制。Redis的持久化功能,只能保障在宕机等情况下恢复大部分数据 ,但...
2020-02-10 15:35:42
302
原创 Dockerfile详解
文章目录一. 基础命令:二. 构建镜像三. 忽略文件一. 基础命令:1. FROM:基础镜像# 注释部分FROM ubuntu:14.04MAINTAINER Hollson "hollson@qq.com"RUN apt-get updateRUN apt-get install -y nginxEXPOSE 802. MAINTAINER:作者信息MAINTAINER H...
2020-01-15 02:21:12
318
原创 05.Nginx日志管理
文章目录一. 访问日志二. 错误日志三. 日志切割四. 日志统计1. IP统计2. 页面统计3. 按时统计4. 性能分析5. 爬虫统计6. 连接统计一. 访问日志变量说明:名称说明$remote_addr客户端地址$remote_user客户端用户名称$time_local访问时间和时区$request请求的URI和HTTP协议$http_...
2020-01-15 02:06:48
361
Mycat分表分库项目示例.zip
2020-01-15
mycat分库分表示例
2019-11-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅