11 2020 档案

摘要:go闭包 go闭包遇到循环 参考资料 go闭包 在go语言中,函数是“一等公民”,所谓“一等公民”是指函数可以作为类型,函数对象可以像普通对象那样用来赋值,作为参数传递,作为返回值返回。 而go的闭包则是函数的高阶应用,所谓闭包是指引用了自由变量的匿名函数,被引用的自由变量和匿名函数对象一同存在,即 阅读全文
posted @ 2020-11-29 22:15 HachikoT 阅读(160) 评论(0) 推荐(0) 编辑
摘要:go map map初始化 增加数据 遍历数据 判断kv是否存在 go map map是一种无序的键值对的集合,可以通过key来快速检索数据,map是无序的,我们无法决定它的返回顺序,这是因为map是使用hash表来实现的。 map中的key类型必须是comparable的,所以golang中的bo 阅读全文
posted @ 2020-11-29 15:40 HachikoT 阅读(288) 评论(0) 推荐(0) 编辑
摘要:C++ 线程池 基于C++11语法实现的简易线程池: /** * 线程池(C++简单实现) * @file: ThreadPool.h * @author: rancheng <rc4work@163.com> * @date: 2020-11-23 */ #pragma once #include 阅读全文
posted @ 2020-11-23 20:57 HachikoT 阅读(522) 评论(0) 推荐(0) 编辑
摘要:RAFT简介 Raft(Replication and Fault Tolerant)是一个允许网络分区(Partition Tolerant)的一致性协议,它保证了在一个由N个节点构成的系统中有$(N+1)/2$(向上取整)个节点正常工作的情况下的系统的一致性,比如在一个5个节点的系统中允许2个节 阅读全文
posted @ 2020-11-22 16:12 HachikoT 阅读(94) 评论(0) 推荐(0) 编辑
摘要:最大子序列和 给定一个整数数组$A[1\cdots n]$,找到一个具有最大和的连续子数组,返回其和: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组[4,-1,2,1]的和最大,为6 动态规划解法 令$d[i]$表示以$A[i]$结尾的最大子序列和,若$d[ 阅读全文
posted @ 2020-11-21 20:13 HachikoT 阅读(126) 评论(0) 推荐(0) 编辑
摘要:TCP SYN FLOOD 攻击方式: 攻击者向目标计算机发送一个TCP SYN报文。 目标计算机收到这个报文后,建立TCP连接控制结构(TCB),放入半连接的队列中,并回应一个SYN+ACK,等待发起者的回应。 而发起者则不向目标计算机回应ACK报文,这样导致目标计算机一直处于等待状态。 防御手段 阅读全文
posted @ 2020-11-20 14:14 HachikoT 阅读(341) 评论(0) 推荐(0) 编辑
摘要:定义函数指针类型 using用来定义类型别名是C++11引入的新语法,相比于typedef使用起来更优雅,尤其是函数指针这块,下面是对比: // 普通函数 typedef void (*FP) (int, const std::string&); using FP = void (*) (int, 阅读全文
posted @ 2020-11-19 11:41 HachikoT 阅读(213) 评论(0) 推荐(0) 编辑
摘要:typename和class 在模板类的声明中,我们有两种方式: template <class T> template <typename T> 在这里,class和typename是相同的。但是当你需要使用模板类中定义的内部类型的时候,那么就必须使用typename: template <cla 阅读全文
posted @ 2020-11-19 11:23 HachikoT 阅读(341) 评论(0) 推荐(0) 编辑
摘要:noexcept函数抛出异常 原本设计函数的时候明确该函数不会抛出异常,所以给函数加上了noexcept属性,但修改代码之后需要抛出异常,比如: void func() noexcept { ... throw except(); } 即使像这种很明显的语法矛盾,有的编译器的版本并不会发出警告,于是 阅读全文
posted @ 2020-11-19 09:17 HachikoT 阅读(117) 评论(0) 推荐(0) 编辑
摘要:在一次http请求中,经历的过程 浏览器从url中解析出服务器的域名; 浏览器将服务器的域名转换成服务器的的ip地址; 浏览器将端口号(如果有的话)从url中解析出来; 浏览器建立一条与web服务器的tcp连接; 浏览器向服务器发送一条http请求报文; 服务器向浏览器回送一条http响应报文; 关 阅读全文
posted @ 2020-11-17 23:11 HachikoT 阅读(51) 评论(0) 推荐(0) 编辑
摘要:tcp报文结构 初始化序号(ISN)为什么要随机生成 三次握手 四次挥手 服务端listen的参数backlog TIME_WAIT状态为什么要持续2MSL tcp选项 最大段大小(MSS) 选择确认(SACK) 窗口缩放(WSOPT) 滑动窗口 拥塞控制 参考资料 tcp报文结构 Source P 阅读全文
posted @ 2020-11-17 17:06 HachikoT 阅读(187) 评论(0) 推荐(0) 编辑
摘要:文件,目录操作 cat:cat -n显示行号,cat -b只有非空行显示行号 wc:wc -w统计单词数,wc -l统计行数 head:head -n 100显示前100行数据 tail:tail -n 100显示后100行数据,tail -n +100从第100行开始显示 find:find . 阅读全文
posted @ 2020-11-12 12:42 HachikoT 阅读(80) 评论(0) 推荐(0) 编辑
摘要:data和c_str data()和c_str()都是用来获取底层字符串的首地址的,但是在C98中规定的是data()返回的字符串不保证有结尾\0,但是c_str()返回的字符串保证有结尾\0,也就是C98标准在设计字符串的时候是想抛弃C风格的字符串语法的,但是在实际应用中,往往需要将C++的str 阅读全文
posted @ 2020-11-11 19:26 HachikoT 阅读(6767) 评论(0) 推荐(2) 编辑
摘要:gossip协议 gossip是流言,绯闻的意思,起这个名字就是因为算法的流程就类似于流言的传播,利用一种随机、带有传染性的方式,将信息传播到整个网络中,最终整个网络的状态达到一致。 gossip分为两种: anti-entropy(反熵):只要数据不同步,就开始同步数据 rumor mongeri 阅读全文
posted @ 2020-11-10 19:58 HachikoT 阅读(405) 评论(0) 推荐(0) 编辑
摘要:go字符串 和[]byte相互转换 包含中文的时候字符计数 遍历字符串 截取字符串 字符串拼接优化 不区分大小写操作 分割字符串 参考资料 go字符串 go中字符串是一个不可改变的utf-8字符序列,类型为string。 有两点值得注意: string可以为空(长度为0),但不会是nil。 stri 阅读全文
posted @ 2020-11-10 15:01 HachikoT 阅读(235) 评论(0) 推荐(0) 编辑
摘要:拓扑排序 对于一个有向无环图(DAG Directed Acyclic Graph)——$G(V,E)$来说,其拓扑排序是G中所有结点的一种线性次序,该次序满足如下条件:若图$G$包含边$(u,v)$,则结点$u$排在结点$v$前面,若图$G$中包含环路,则不可能排出一种线性次序。 举个栗子 在实际 阅读全文
posted @ 2020-11-09 15:40 HachikoT 阅读(75) 评论(0) 推荐(0) 编辑
摘要:布隆过滤器 布隆过滤器(Bloom Filter)是由布隆( Burton Howard Bloom)在1970年提出的算法:是由一个很长的二进制向量和一系列随机映射函数组成,布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率(假 阅读全文
posted @ 2020-11-09 13:56 HachikoT 阅读(84) 评论(0) 推荐(0) 编辑
摘要:libmicrohttpd libmicrohttpd 是 GUN 下开源的一个小型的 HTTP 库,能够方便的嵌入到系统中。 安装步骤 --disable-messages是关闭MHD的错误日志功能,MHD的错误日志是直接输出到屏幕的 --enable-https开启https支持需要依赖库gnu 阅读全文
posted @ 2020-11-09 13:41 HachikoT 阅读(1433) 评论(0) 推荐(0) 编辑
摘要:RSA RSA公私钥生成步骤 RSA加解密步骤 RSA安全性 参考资料 RSA 1977年,三位数学家Rivest、Shamir和Adleman设计了一种算法,可以实现非对称加密。算法用他们三个人的名字命名,叫做RSA算法。 RSA算法的安全性是基于判断一个数是否为质数很简单,但是要对一个数进行质因 阅读全文
posted @ 2020-11-08 18:02 HachikoT 阅读(329) 评论(0) 推荐(0) 编辑
摘要:算法描述 快速排序采用了分治的思想: **分解:**数组$A[p\ldots r]$被划分为两个子数组$A[p\ldots q-1]$和$A[q+1\ldots r]$,使得$A[p\ldots q-1]$中的元素小于等于$A[q]$,$A[q+1\ldots r]$中的元素大于等于$A[q]$ * 阅读全文
posted @ 2020-11-07 21:58 HachikoT 阅读(105) 评论(0) 推荐(0) 编辑
摘要:目录结构 . |-- cmake | |-- CompilerSettings.cmake | |-- Options.cmake | |-- ProjectBoost.cmake | `-- UseOpenSSL.cmake |-- CMakeLists.txt `-- hello-cpp |-- 阅读全文
posted @ 2020-11-07 15:06 HachikoT 阅读(1385) 评论(0) 推荐(0) 编辑
摘要:algorithm boost中将一些小的算法集中到该库,主要是一些字符串处理算法,字符串的方法需引入#include <boost/algorithm/string.hpp> 大小写转换 小写跟大写一样,就不写了: template<typename WritableRangeT> inline 阅读全文
posted @ 2020-11-06 16:45 HachikoT 阅读(201) 评论(0) 推荐(0) 编辑
摘要:gz 压缩:tar -czf xxx.tar.gz xxx,-c表示打包,-z表示用gzip进行压缩/解压缩,-f指定文件名 解压:tar -xzf xxx.tar.gz,-x表示解压 bz2 -j会调用bzip2命令来进行压缩/解压,centos7默认没有安装,需要自己先安装yum install 阅读全文
posted @ 2020-11-05 19:53 HachikoT 阅读(66) 评论(0) 推荐(0) 编辑
摘要:欧拉定理 如果正整数$n$和整数$a$互质,那么就有 \(a^{\varphi(n)}\equiv 1\,mod\,n\) 其中$\varphi(n)$是欧拉函数 证明: 令$\Phi={x_1,x_2,\cdots,x_{\varphi(n)}}$表示小于数$n$且与$n$互质的数的集合 那么集合 阅读全文
posted @ 2020-11-03 21:16 HachikoT 阅读(260) 评论(0) 推荐(0) 编辑
摘要:Solidity——特殊变量与函数 特殊变量与函数 类型 含义 对应字节码 说明 block.number uint 当前区块编号 NUMBER block.difficulty uint 当前区块难度 DIFFICULTY block.coinbase address 当前区块矿工地址 COINB 阅读全文
posted @ 2020-11-03 14:47 HachikoT 阅读(117) 评论(0) 推荐(0) 编辑
摘要:斯特林公式(Stirling formula) 斯特林公式用来求阶乘$n!$的通项公式,一般来说,当n很大的时候,n阶乘的计算量十分大,所以斯特林公式十分好用,而且,即使在n很小的时候,斯特林公式的取值已经十分准确。 \(n!=\sqrt{2\pi n}\left(\frac{n}{e}\right 阅读全文
posted @ 2020-11-02 22:12 HachikoT 阅读(1029) 评论(0) 推荐(0) 编辑
摘要:定义结构体 type struct_variable_type struct { member definition member definition ... member definition } 比如 type person struct { name string age uint } 访问 阅读全文
posted @ 2020-11-02 17:33 HachikoT 阅读(77) 评论(0) 推荐(0) 编辑
摘要:欧拉函数 对于任意的正整数$n$,求在小于等于$n$的正整数之中,与$n$互质的数的个数,记作$\varphi(n)$,若有质因子分解为$n=p_1^p_2^\cdots p_r^$,则其通项公式为: \(\varphi(n)=n\prod_{i=1}^{r}{\left(1-\frac{1}{p_ 阅读全文
posted @ 2020-11-01 20:04 HachikoT 阅读(89) 评论(0) 推荐(0) 编辑
摘要:中国剩余定理(chinese remainder theorem) 若整数$m_1,m_2,\cdots,m_n$两两互质,且$M=m_1m_2\cdots m_n$,那么对于任意整数$a_1,a_2,\cdots,a_n$,关于$x$的同余方程组 $$\begin x\equiv a_1,mod, 阅读全文
posted @ 2020-11-01 17:58 HachikoT 阅读(90) 评论(0) 推荐(0) 编辑