自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(129)
  • 收藏
  • 关注

原创 CentOS7下的ElasticSearch部署

选择 Java 11 对应的编号(通常为 /usr/lib/jvm/java-11-openjdk-*/bin/java)修改后需重启服务:sudo systemctl restart elasticsearch。应返回包含用户信息的 JSON 响应。按提示交互式设置新密码。

2025-07-18 19:29:59 637

原创 curl命令使用

输出目标 URL 的内容到终端2. 保存文件到本地HTTP 请求方法1. GET 请求(默认)2. POST 请求3. PUT 请求4. DELETE 请求5. GET 请求处理 HTTP 头部1. 添加自定义请求头2. 查看响应头文件上传与下载1. 上传文件2. 断点续传主要目的是从指定的 URL 下载文件。当下载过程因各种原因(如网络中断、系统崩溃等)中断后,再次使用该命令时,-C - 选项可以让 curl 尝试从上次中断的位置继续下载文件,实现断点

2025-07-15 19:31:56 337

原创 lua中检查静态常量是否正确引用

因在项目开发中会出现引用了不存在的常量,为了方便检查这种情况,所以想着添加针对性脚本check。

2025-07-11 10:57:47 264

原创 基于vmstat和ps的进程cpu-mem指标分析脚本

最近因项目中,需要对集群服务进行进程级别的压测,所以添加了基于vmstat和ps -aux指令的进程性能指标分析脚本,支持设置监测的起始时间戳与持续时长,以及监测频次,其中基于ps的监控脚本可支持设置目标进程,可进行常见场景下的压测,用于分析性能瓶颈15990324 K total memory 系统物理内存总量8829904 K used memory 已使用的物理内存11871544 K active memory 活跃内存2284688 K inactive memory 非活跃内存。

2025-06-27 14:50:58 790

原创 skynet源码学习-socket_server相关模块

主要分析文件:socket_buffer.h、socket_epoll.h、socket_info.h、socket_kqueue.h、socket_poll.h、socket_server.h、socket_server.c。

2025-06-23 10:58:57 713

原创 skynet源码学习-skynet_server服务管理模块

【代码】skynet源码学习-skynet_server服务管理模块。

2025-06-19 10:53:06 1172

原创 skynet源码学习-skynet_main入口

【代码】skynet源码学习-skynet_main入口。

2025-06-18 12:22:08 366

原创 skynet源码学习-skynet_env守护进程

的全局配置存储,支持在C层和Lua层之间共享配置信息。功能:初始化环境变量系统。功能:获取环境变量值。

2025-06-17 19:47:21 840

原创 skynet源码学习-skynet_daemon守护进程

参数:pidfile - PID文件路径。功能:写入并锁定PID文件。功能:初始化守护进程。

2025-06-17 18:07:38 660

原创 skynet源码学习-skynet_monitor监控

检测服务间消息处理是否陷入死循环或长时间阻塞。

2025-06-16 19:48:15 1026

原创 skynet源码学习-skynet_malloc/malloc_hook内存分配模块

skynet的内存分配模块,它主要由三部分文件组成:malloc_hook.c、malloc_hook.h和skynet_malloc.h。这个模块的主要功能是提供内存分配函数,并跟踪每个服务(由handle标识)的内存使用情况。同时,它集成了jemalloc来提升内存分配性能。

2025-06-16 17:56:06 1038

原创 skynet源码学习-skynet_mq队列

设计要点:全局队列是服务队列的链表。参数:handle - 服务句柄。功能:将服务队列加入全局队列。功能:创建服务私有消息队列。

2025-06-13 11:03:41 1045

原创 skynet源码学习-skynet_handle服务句柄管理

1. handle_name 结构2. handle_storage 结构(核心管理结构)1. void skynet_handle_init(int harbor)2. uint32_t skynet_handle_register(struct skynet_context *ctx)3. int skynet_handle_retire(uint32_t handle)4. void skynet_handle_retireall()

2025-06-12 11:15:38 780

原创 skynet源码学习-skynet_timer定时器

时间轮分为5个数组:- near: 一个大小为256的数组,表示最近256个单位时间(10ms)内将要触发的定时器1. skynet_timer_init()2. skynet_timeout(handle, time, session)3. timer_add(T, arg, sz, time)4. add_node(T, arg, sz, time)5. timer_shift(T)6. timer_execute(T)7. dispatch_list(current)

2025-06-10 14:03:25 707

原创 shell中与>和<相关的数据流重定向操作符整理

在Shell中,< 和 > 相关的操作符主要用于输入输出重定向,输出重定向操作符 > 作用:将命令的标准输出覆盖写入到指定文件中,如果文件不存在,则创建该文件;如果文件已存在,则会清空文件内容后再写入(错误信息不会输入进去)>>>2>2>>&> 或 >&&>><<<<<<2> /dev/null

2025-05-30 18:20:06 844

原创 docker安装部署学习

Docker 是一种开源的容器化平台,用于将应用程序及其依赖打包成轻量级、可移植的容器,容器是一种标准化的软件单元,可以在任何支持 Docker 的环境中快速部署和运行,简单来说,Docker 解决了开发、测试和部署过程中 “环境不一致” 的难题。

2025-03-18 11:56:09 1086

原创 什么是session与token

Session是服务器为每个用户创建的临时身份凭证,用于跟踪用户在服务器端的活动状态,例如玩家登录后,服务器生成唯一Session ID(如a1b2c3d4),并在服务端存储对应的玩家数据(如用户ID、登录时间、角色属性等)

2025-03-13 12:24:51 1064

原创 TCP连接过程图解

TCP(传输控制协议)是一种面向连接、可靠传输的通信协议,属于互联网协议套件(TCP/IP)的核心协议之一,工作于传输层

2025-03-11 16:05:06 339

原创 linux下的网络抓包(tcpdump)介绍

抓包原理抓包工具通过将网络接口设置为混杂模式(Promiscuous Mode)来工作,在混杂模式下,网络接口会接收所有经过它的数据包,而不仅仅是目标地址为本机的数据包,抓包工具会捕获这些数据包,并将其存储或显示出来,以便后续分析数据包结构数据包通常由头部和数据两部分组成,头部包含了源地址、目的地址、协议类型、端口号等信息,而数据部分则是实际传输的内容,不同的协议有不同的头部结构,了解这些结构有助于分析数据包协议分析常见的网络协议如。

2025-03-11 12:33:08 1697

原创 centos中使用svn整理

上述命令会将 svn://localhost/svnrepo 仓库中的内容检出到 ~/myproject 目录。-m 参数用于添加提交说明,描述本次提交所做的更改。

2025-03-07 10:58:44 897

原创 MongoDB Compass 使用说明

功能:顾名思义,用于新增一个MongoDB的连接My Queries 通常是数据库管理工具(如 MongoDB Compass)中的一个功能模块,可保存、管理和复用自定义的查询语句,通过将常用的查询保存到 My Queries 中,用户可以避免每次使用相同查询时都重新输入,提高查询效率,同时也方便对查询进行组织和管理: 新增一个数据库refresh:刷新view:切换视图展示方式Sort by: 设置数据库/集合以什么方式排序↑/↓:设置正序或倒序(存储大小),(集合数量),indexes。

2025-03-06 12:13:09 3550

原创 MongoDB Compass中MONGOSH常用查询整理

MongoDB Compass 是一款可视化的 MongoDB 数据库管理工具,其中的 MongoSH(MongoDB Shell)提供了丰富的指令用于查找数据。

2025-02-28 19:41:01 1215

原创 linux命令行操作mongo整理

如果集合中的文档数量非常多,一次性显示所有文档可能不太方便,可以使用 skip() 和 limit() 方法进行分页查看。在 MongoDB 中,没有“表”的概念,与之对应的是“集合(collection)”,例如 global.users 中 global。若 MongoDB 启用了身份验证,需要在执行查询操作之前先进行身份验证。表明 MongoDB 启用了身份验证机制,而当前的会话没有提供有效的身份凭证,因此没有权限执行查询操作。若身份验证成功,db.auth() 方法会返回 1;

2025-02-28 17:44:40 1462

原创 DeepSeek本地化部署-windows版

Ollama 是一个开源的 AI 聊天机器人框架,它是一个通用、可扩展和灵活的平台,允许开发者构建复杂且高度定制化的智能系统主要特点通用性:Ollama 可以被集成到各种应用场景中,从简单的对话服务到复杂的 AI 应用可扩展性:开发者可以根据需求添加各种功能和模块,支持多种语言的交互灵活性:支持多种数据源(如文本、图像、音频等),能够生成多样的内容主要用途自然语言处理 (NLP) 应用编程自动化工具智能客服系统内容生成工具数据分析和预测官网地址。

2025-02-05 14:53:06 1232

原创 rust学习-rust中的保留字

保留字是语言中预定义的标识符,不能用作变量名、函数名或其他自定义标识符,Rust的保留字大致可以分为两类:已使用的保留字和未来可能使用的保留字。

2025-01-24 10:19:42 658

原创 rust学习-所有权

Rust 的所有权系统是其最大的特色之一,也是 Rust确保内存安全和避免空指针、数据竞争等错误的关键机制,所有权系统的核心概念包括所有权、引用和生命周期。

2025-01-22 17:33:10 1068

原创 rust学习-宏的定义与使用

过程宏需要一个特殊的 crate 类型,并且需要使用 proc_macro 库,常见的过程宏有:属性宏(attribute-like macros)、函数宏(function-like macros)和派生宏(derive macros)

2025-01-22 10:18:44 573

原创 rust学习-rust中的格式化打印

可以通过实现 std::fmt::Display 和 std::fmt::Debug trait 来为自定义类型定义格式化行为x: i32,y: i32,write!println!}", p);Display trait 用于定义类型的字符串表示,适用于用户友好的输出Debug trait 用于调试目的,提供详细的内部结构信息。

2025-01-21 12:07:47 1163 2

原创 rust学习-rust中的常量与变量

在Rust中,变量默认是不可变的(immutable),但可以通过关键字 mut 将其声明为可变的(mutable)常量是不可变的值,通常用于定义全局不变的数据,常量的生命周期是整个程序运行期间。Rust 可在声明变量时不立即初始化,但使用未初始化的变量会导致编译错误。Rust 支持类型推断,因此可以省略变量的类型声明。不可变变量一旦初始化,其值就无法再被修改。可变变量可在程序运行时修改其值。常量的作用域可以是全局或局部的。

2025-01-20 18:23:21 536

原创 rust学习-函数的定义与使用

println!");fn:定义函数的关键字say_hello:函数的名字():函数的参数列表,当前函数没有参数{}:函数体,包含了函数执行的代码。

2025-01-20 11:06:20 1148

原创 python中数据可视化库(Matplotlib)

Matplotlib可自定义图表的各种样式,包括线条颜色、线型、标记样式等plt.legend()#显示图例plt.grid(True)#显示网格线plt.show()

2025-01-17 18:10:00 587

原创 编写python代码的一些注意事项

1. 遵循 PEP 8:2. 使用注释:3. 有意义的命名:1. 模块化:2. 避免全局变量:3. 函数和类的设计:1. 使用 try-except 块:2. 合理使用 finally:3. 自定义异常:1. 避免不必要的计算:2. 使用内置函数和库:3. 使用生成器:4. 并行和并发:1. 编写单元测试:2. 代码调试:1. 输入验证:2. 加密敏感数据:3. 避免硬编码敏感信息:1. 使用版本控制系统:2. 代码审查:1. 编写文档:2. 注释和 docstrings:1. 避免过度工程:2. 代码复用

2025-01-13 19:26:45 610

原创 Python中的requests库介绍

定义头信息# 发送带自定义头的 GET 请求# 输出响应内容。

2025-01-07 09:22:10 495

原创 python中装饰器介绍

装饰器本质上是一个函数,它接受另一个函数作为参数,并在不改变原函数代码的情况下,扩展或修改它的行为,装饰器返回一个新的函数,这个新函数通常是对原函数的包装@decoratorpasspass。

2025-01-06 15:46:54 760

原创 Python中的OS库

在Python中os模块提供了许多与操作系统进行交互的功能,如文件和目录操作、环境变量访问、进程管理等。它是Python标准库的一部分,无需额外安装即可使用。

2025-01-04 21:34:19 2241

原创 python对redis的增删查改

在使用 redis-py 之前,需连接到 Redis 服务器,可使用 Redis 类来创建一个连接实例。集合中的元素是唯一的,不能直接更新,如果需要更新,可以先删除再插入。有序集合中的元素也可以通过修改分数来更新。

2025-01-04 20:49:18 524

原创 python对mongodb的增删查改

MongoDB 中的文档是 JSON 风格的 BSON(Binary JSON)格式,可以使用 insert_one() 和 insert_many() 方法插入单个或多个文档。MongoDB 提供了 update_one() 和 update_many() 方法来更新文档。MongoDB 提供了丰富的查询功能,可以使用 find_one() 和 find() 方法进行查询。MongoDB 支持复杂的查询操作符,如 $or, $and, $in, $gt, $lt 等。MongoDB 支持嵌套文档的查询。

2025-01-03 16:43:32 892

原创 python中常用的内置函数介绍

ord() 返回字符的 Unicode 码点,chr() 返回给定 Unicode 码点的字符。对可迭代对象中的每个元素应用一个函数,返回一个迭代器。将多个可迭代对象中的元素配对,返回一个元组的迭代器。返回容器(如列表、元组、字符串、字典等)的长度。将其他类型转换为列表、元组、集合、字典。过滤可迭代对象中的元素,返回一个迭代器。检查可迭代对象中的元素是否满足条件。返回模块、类、对象的属性和方法列表。返回一个可迭代对象中所有元素的和。返回可迭代对象中的最大值和最小值。从标准输入读取一行文本。

2025-01-02 18:40:14 1573

原创 python文件操作相关(csv)

在 Python 中,操作 CSV文件通常使用 csv 模块和 pandas 库,这两个工具提供了丰富的功能,可以方便地读取、写入和处理CSV 文件。

2025-01-01 22:19:11 638

原创 rust学习-初识rust

Rust 是一种系统编程语言,由 Mozilla 研究院开发并于 2012年首次发布。它旨在提供内存安全、并发安全和零成本抽象的特性,同时保持高性能。Rust 的设计目标是替代 C++在系统编程中的地位,特别是在需要高性能和安全性的场景中Cargo 是 Rust 的包管理器和构建系统。它负责管理项目的依赖、编译代码、运行测试以及发布包。Cargo 使得 Rust项目的管理变得更加简单和高效Rustup 是 Rust 的官方工具链管理工具。

2025-01-01 00:12:01 1335

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除