证书生成 生成CA证书密钥 openssl genrsa -out ca.key 2048 生成CA证书证书 openssl req -new -x509 -days 3650 -key ca.key -out ca.pem 生成服务器证书密钥 openssl genrsa -out server.key 2048 生成服务器证书请求文件 open…
椭圆曲线 $$ y^2=x^3+ax+b $$ 运算规则 在椭圆曲线上取两点A,B并作过这两点直线交椭圆曲线为点 C' 再过 C' 作 垂线交椭圆曲线为点 C 则定义 C=A+B 特殊的若A,B两点重合,则作A点切线,此时定义 C=2A 若取B点为A关于x轴对称的点,并且定义为-A,则此时该直线交曲线为无穷原点处 D=3A 所以已知x,求xA点并不…
什么是IO? I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。在POSIX兼容的系统上,例如Linux系统 [1] ,I/O操作可以有多种方式,比如DIO(Direct I/O),AIO(Asynchronous I/O,异步I/O),Memory-Mapped I/O(内存映射I/O)等,不同的I/O方式有不同的实现…
Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。 相关代码 func Floyd(data [][]float64) { n := len(data) for k := 0; k…
二叉树(Binary tree) 二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分...二叉树百度百科 golang中二叉树定义 type…
首先我们看下面的代码 package main import ( "fmt" "runtime" ) func main() { v := struct{}{} a := make(map[int]struct{}) printMemStats("After Map Make", a) for i := 0; i < 10000; i++ {…
[alert icon="flag" color="indigo"]文章还在施工和完善呢![/alert] 前言 目前IOTQQ框架挺多的,许多功能也挺强大的,但我想要的是一个完全异步,自带队列,而且可以编译出二进制文件的框架,所以就有了这个项目 ...
Google 验证码接入 前言 为了区分访问者是否为机器人,我们常添加验证码来达到此目的。这里我们使用Google的reCaptchaV3和reCaptchaV2结合来做认证。同时也可以起到CSRF防御的功能! 申请令牌 谷歌官网 需要某些特殊方法才能访问哟 配置前端 这里我们前端使用的是VUE #前期我们需要把V2的验证方法给隐藏起来,使用V3来…
双向链表实现 双向链表 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。 代码 package algorithm import ( "fmt" "sync" ) // 节点数据 type Dou…
PiPanel 目前暂定为这个名字吧,其实是为了自己的能力有一个新的进步才写的一个程序吧。目前只实现了基本的文件管理,用户管理,服务器仪表盘的功能。其实初心是为了给自己的树莓派添加一个面板管理的功能,似乎其他平台也可以使用。 技术栈 Golang & iris 作为后端框架 Vue & Quasar 作为前端框架 数据库 支持MySql,Postg…