字母
原创
2022-11-22 11:46:22
168阅读
目录JWT什么是JWT为什么要用JWT传统Session认证的弊端JWT认证的优势JWT结构1.Header2.Payload3.SignatureJWT的种类1.nonsecure JWT2.JWSGo的运用structmap生成解析token JWT什么是JWT在介绍JWT之前,我们先来回顾一下利用token进行用户身份验证的流程:客户端使用用户名和密码请求登录服务端收到请求,验证用户名和密
转载
2023-08-16 05:12:59
0阅读
在Kubernetes(K8S)中,使用Go语言编写规则引擎是一种常见的做法。规则引擎可以帮助我们在K8S集群中实现各种自定义规则和策略,以满足不同的业务需求。在本文中,我将详细介绍如何使用Go语言实现一个简单的规则引擎,并且逐步指导新手开发者完成该过程。
整体流程如下所示:
| 步骤 | 操作内容 |
|-
原创
2024-05-30 10:36:45
204阅读
# 实现 golang javascript 引擎
## 简介
在本文中,我将指导你如何使用 Golang 实现一个 JavaScript 引擎。请按照以下步骤进行操作:
### 流程图
```mermaid
journey
title 实现 golang javascript 引擎
section 步骤一: 设置开发环境
小白->>开发者: 寻求帮助
原创
2023-09-04 18:36:59
402阅读
抄录一些例子 package main import ( "bytes" "fmt" "regexp" ) func main() { //是否匹配字符串 // .匹配任意一个字符 ,*匹配零个或多个 ,优先匹配更多(贪婪) match, _ := regexp.MatchString("H(.*) ...
转载
2021-09-22 16:56:00
390阅读
2评论
[TOC] 课程学习地址: https://www.bilibili.com/video/BV1Nt411H7sP/?p=12 手册地址: https://studygolang.com/pkgdoc 主要使用 包 http://www.topgoer.com/%E5%B9%B6%E5%8F%91%
原创
2021-08-07 14:25:48
1219阅读
本文受 golang面试经典讲解的[Go工具库]B 站新一代 golang 规则引擎gengine启示, 文中的基本用法和作者的细节都基本提到了,大家关心的可以去看下设计文档及作者对比的gopher_lua的对比关注 vx golang技术实验室,获取更多golang、rust好文本文主要掩饰下作者的几个案例和用法Part1基本使用package main
import (
"fmt"
"g
转载
2024-08-26 13:27:56
149阅读
gengine是一款基于golang和AST(抽象语法树)开发的规则引擎,使用一套自定义的简单语法来定义规则来实现语言无关,并且还执行规则执行的各种模式,功能也很强大。核心API对于gengine的使用,我们先掌握几个核心的API。
DataContext:用于注入规则中需要使用的数据或者API。
RuleBuilder:接收DataContext作为参数,并将用户传入的字符串构建出可执行的代码。
转载
2023-09-13 12:48:02
300阅读
## 实现JavaScript正则引擎的步骤
为了帮助你理解如何实现JavaScript正则引擎,我准备了以下步骤表格来展示整个过程:
| 步骤 | 描述 |
| --- | --- |
| 1 | 解析正则表达式 |
| 2 | 将正则表达式转换为NFA(非确定有限状态自动机) |
| 3 | 将NFA转换为DFA(确定有限状态自动机) |
| 4 | 最小化DFA |
| 5 | 将最小化
原创
2024-01-22 04:46:16
15阅读
0. 前言最近用到了 regexp 包,下面整理下正则表达式相关用法参考 基础知识 - Golang 中的正则表达式 和 Golang regexp包中的函数和方法 做了汇总1. 正则表达式1.1 单一字符. 匹配任意一个字符,如果设置 s = true,则可以匹配换行符
[字符类]
转载
2023-09-07 21:07:19
345阅读
主要是学习一个golang 的mustache模版引擎 cbroglie/mustache 是一个很不错的golang mustache 模版引擎,支持的功能还是比较多的, 以下是一个简单的使用 参考代码 go.mod module demoapp go 1.15 require ( git
原创
2021-07-18 15:45:02
610阅读
摘要在上一篇文章中,我们聊了聊在Golang中怎么实现一个Http服务器。但是在最后我们可以发现,固然DefaultServeMux可以做路由分发的功能,但是他的功能同样是不完善的。由DefaultServeMux做路由分发,是不能实现RESTful风格的API的,我们没有办法定义请求所需的方法,也没有办法在API路径中query参数。其次,我们也希望可以让路由查找的效率更高。所以在这篇文章中
转载
2024-04-24 23:32:19
20阅读
需求实现一个正则表达式的引擎,完成如下需求:字面值:字符:val("a"),匹配字符"a";字符串:val("abc"),匹配字符串"abc";字符集:one_of("abc"),匹配abc中的任意字符;any: 匹配任意一个字符;拼接操作:sequence(val("abc"), val("def")),匹配abcdef;选择操作:alternative(val("abc"), val("def
关键字"你 好",注意中间有空格。材料,"先生,你好。你的手表好漂亮。你啦啦啦你好啦啦啦好"。第一次,找到"你好",并去掉它。剩下材料,"先生,。你的手表好漂亮。你啦啦啦啦啦啦好"。第二次,找到"你xxx好",找到第一个满足,就返回。就是"你的手表好","你啦啦啦啦啦啦好" 。关键字"你 好 吗",材料,"你好吗,你真的好吗,你好啰嗦吗,你的手表很好是吗"。第一次,找到"你好吗",并去掉。剩下材料
转载
2012-11-10 11:46:00
51阅读
2评论
# Go语言的正则表达式性能优于Java
在现代编程语言中,正则表达式是用于匹配字符串的强大工具。无论是数据验证、文本处理还是网络爬虫,正则表达式几乎无处不在。在多种编程语言中,Go和Java都是相对流行的选择,但在处理正则表达式时,Go语言的性能通常优于Java。本文将讨论这一现象的原因,并通过实际代码示例加以说明。
## 正则表达式的基本概念
正则表达式(Regular Expressi
我们会比较简单的 GraphQL 实现和纯 REST 替代方案,在一种普通场景(呈现博客文章页面)下对比它们的实现复杂性和效率。 -- Alexandru Topliceanu 摘要 GraphQL 在生产环境中似乎难以使用:虽然对于建模功能来说图接口非常灵活,但是并不适用于关系型存储,不管是在实现还是性能方面。 在这篇博客中,我们会设计并实现一个简单的博客引擎 API,它支持以下功能:
转载
2023-09-05 21:55:44
517阅读
本篇较长较枯燥,请保持耐心看完。前面两章介绍了一下倒排索引以及倒排索引字典的两种存储结构,分别是跳跃表和哈希表,本篇我们介绍另一种数据结构,他也被大量使用在信息检索领域,我在github上实现的搜索引擎的词典也是用的这个数据结构,它就是B+树。首先,我们看看什么是树,树是程序设计中一个非常基础的数据结构,记得大学时候的数据结构课,链表,栈,队列,然后就是树了,虽然那时候想必大家都被前序遍历,中序遍
转载
2024-06-20 04:51:25
51阅读
"""
为什么需要正则?
1、文本处理已经成为计算机常见的工作之一
2、对文本内容进行快速搜索定位,提取是比较繁琐和复杂的
3、为了解决这个问题,产生正则表达式
作用:
可以称之为文本的高级匹配模式,提供搜索、替换、查找等功能,
本质是由一系列特殊符号和字符组成的字符串
转载
2023-11-25 07:19:03
42阅读
Fastflow 是什么?用一句话来定义它:一个 基于golang协程、支持水平扩容的分布式高性能工作流框架。
它具有以下特点:易用性:工作流模型基于 DAG 来定义,同时还提供开箱即用的 API,你可以随时通过 API 创建、运行、暂停工作流等,在开发新的原子能力时还提供了开箱即用的分布式锁功能高性能:得益于 golang 的协程 与 channel 技术,fastflow 可以在单实例上并行执
转载
2023-08-12 14:11:35
255阅读
提到用正则表达式匹配汉字,很容易搜到这个[\u4e00-\u9fa5],但是它不算全面,不包含一些生僻汉字。本文对此问题做一个梳理。 以下是比较全面的汉字Unicode分布,参考Unicode 10.0标准(2017年6月发布):区块范围实际汉字个数/备注正则式CJK统一汉字4E00-62FF, 6300-77FF,7800-8CFF, 8D00-9FFF.20,971常见[\u4E00
转载
2024-01-08 23:17:30
58阅读