摘要: 重要备注 本文皆为个人的闲言碎语,不具备任何价值,大家不必放在心上,如果浪费了大家时间,大可骂我几句即可,就别打了我。 这篇随笔目的只是记录一下个人正在做的事情,当前时间节点上我为什么做这个事情,些许会掺杂一些技术想法,最核心其实只是通过随笔文字去与自我对话,清理掉繁杂的贪嗔痴。 因缘 相信有许多同 阅读全文
posted @ 2020-07-11 12:40 victor.x.qu 阅读(165) 评论(0) 推荐(2) 编辑
摘要: 缘由写该系列缘由是因为之前在国庆无聊实现了一个对象验证的小库,并希望博客园内的大神能批评教育一下我的这个库,让我能成长一些。但是估计由于我没有介绍库的内容以及我的思路,只是给出了代码,大神们对此没太大的兴趣,所以最近开始我会写一个几篇简单介绍性文章的系列来阐述该库的内容。希望有幸能被大神们看见并给予... 阅读全文
posted @ 2015-10-19 17:50 victor.x.qu 阅读(981) 评论(5) 推荐(2) 编辑
摘要: ReadOnlySpan<T> 可以说现在高性能操作的重要基石 其原理有兴趣的同学可以看 2018 的介绍Span<T>文章 其为了保障大家安全使用做了相应的限制 那么有没方法绕过呢? 在class中持有 ReadOnlySpan 直接持有是不可能的,本身为 ref struct 就保障了大家写不出 阅读全文
posted @ 2024-02-29 11:56 victor.x.qu 阅读(516) 评论(5) 推荐(4) 编辑
摘要: 篇幅较长,所以首先列举结果,也就是我们的目的 核心目的为探索特定场景对不同类型数据进行统一抽象,并达到足够高性能,也就是一份代码实现,对不同类型数据依然高性能 以下为结果,也就是我们的目的: 对1w行 csv 数据的string进行 RFC4180 csv标准进行解析, string 类型 csv 阅读全文
posted @ 2024-02-27 23:04 victor.x.qu 阅读(324) 评论(1) 推荐(5) 编辑
摘要: 上一篇 用 HexColor 作为示例,可能过于简单 这里再补充一个 ini 解析的示例 由于实在写不动用其他库解析 ini 了, 春节都要过完了,累了,写不动了, 所以随意找了一份解析ini的库, 仅供参考,对比不准确,毕竟完整库包含了更多功能 先看看结果 BenchmarkDotNet v0.1 阅读全文
posted @ 2024-02-15 17:06 victor.x.qu 阅读(213) 评论(0) 推荐(1) 编辑
摘要: 前因 在春节前了解到 Rust语言有一个叫 nom 的解析库 它可以让你创建安全的解析器,而不会占用内存或影响性能。 它依靠 Rust 强大的类型系统和内存安全来生成既正确又高效的解析器,并使用函数,宏和特征来抽象出容易出错的管道。 nom 核心是解析器组合器,而解析器组合器是高阶函数,可以接受多个 阅读全文
posted @ 2024-02-13 21:57 victor.x.qu 阅读(753) 评论(2) 推荐(3) 编辑
摘要: Ulid ULID :Universally Unique Lexicographically Sortable Identifier(通用唯一词典分类标识符) c# 实现库 : https://github.com/Cysharp/Ulid ULID特性 ulid() # 01ARZ3NDEKTS 阅读全文
posted @ 2023-11-10 13:12 victor.x.qu 阅读(1294) 评论(2) 推荐(6) 编辑
摘要: openresty 中如何使用 wasm WASM 是什么? WebAssembly是一种运行在现代网络浏览器中的新型代码,并且提供新的性能特性和效果。它设计的目的不是为了手写代码而是为诸如C、C++和Rust等低级源语言提供一个高效的编译目标。 对于网络平台而言,这具有巨大的意义——这为客户端ap 阅读全文
posted @ 2023-02-14 16:56 victor.x.qu 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 如何给openresty打patch 由于很多功能实现的限制,我们不得不修改openresty,但我们又不一定能持续维护一个 openresty 分支,所有有了patch 这一操作。 patch是怎么补“漏洞”的? patch 中文含义为补丁,给大家的感觉就像在原来的基础上修复漏洞,就像小时候旧衣服 阅读全文
posted @ 2023-02-11 11:05 victor.x.qu 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 动态插件 之前已经拆解细点逐个介绍了 tcp 、http 代理相关核心点,现在介绍一个让 api gateway 变得很灵活的功能实现: 动态插件。 由于 lua 的动态语言特点,我们可以比较方便做到动态插件机制。 首先我们来了解这一切的基石:lua 模块加载机制。 lua 模块加载机制 一个模块是 阅读全文
posted @ 2023-02-10 10:10 victor.x.qu 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 配置中心 在之前 tcp的yaml配置 介绍了如何监听yaml文件变化然后更新配置。 当然假如我们有很多实例,那么yaml改动将是非常痛苦的事情,那么如何做到配置文件统一管理,实时更新呢? 我们可以引入配置中心,从而达到这样的效果。 业界已经有非常多配置中心了,这里为了简化内容,将选用etcd作为配 阅读全文
posted @ 2023-02-09 17:33 victor.x.qu 阅读(361) 评论(0) 推荐(0) 编辑
摘要: Healthcheck 由于服务无法保证永远不会下线,而且下线时不一定能有人员能及时发现, 所以api gateway 一般会引入一个监工 Healthcheck, 像大家每年体检一样定时确认服务是否存活。 这样就可以在上游节点发生故障或者迁移时,将请求代理到健康的节点上,最大程度避免服务不可用的问 阅读全文
posted @ 2023-02-09 10:59 victor.x.qu 阅读(362) 评论(0) 推荐(1) 编辑