自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (5)
  • 收藏
  • 关注

原创 Google Perf Tools安装以及使用

Google Performance Tools安装以及使用这边文章都记录在github:https://github.com/NIGHTFIGHTING/gperftools-tutorial一个优化的内存管理算法—tcmalloc性能优于malloc。一个用于CPU profile的工具,用于检测程序的性能热点,这个功能和gprof类似。一个用于堆检查工具,用于检测程序在是够有内存泄露...

2020-03-09 00:40:47 2171

原创 647. 回文子串

https://leetcode-cn.com/problems/palindromic-substrings/class Solution { public: int countSubstrings(string s) { int len = s.size(); int count = 0; vector<vecto...

2020-03-30 22:07:34 94

原创 clientv3 github.com与go.etcd.io冲突 /github.com/coreos/etcd/clientv3/auth.go:166:106: too many errors

编译出现下面错误,github.com/coreos/etcd/clientv3…/github.com/coreos/etcd/clientv3/auth.go:121:72: cannot use auth.callOpts (type []“github.com/coreos/etcd/vendor/google.golang.org/grpc”.CallOption) as type ...

2020-03-30 15:27:35 1030

转载 Linux下安装mysql

Mysql数据库的安装对于开发者来说,是我们必然会面对的问题,它的安装过程其实并不复杂,并且网络上的安装教程也非常多,但是对于新手来说,各种不同形式的安装教程,又给新手们带来了要选择哪种方式进行安装的难题,而且很多时候按照教程也没有能够安装成功,安装过程出现各种各样的错误。下面记录了我在Linux环境下安装Mysql的完整过程,实操记录,绝非水文,如有错误或遗漏,欢迎指正。本文档讲解安装版...

2020-03-25 23:05:22 119

原创 protobuf与protoc-gen-go

一、protobuf安装下载地址 :https://github.com/protocolbuffers/protobuf/releases新直接./configure就行,这个是protobuf 3版本tar zvxf protobuf-all-3.6.1.tar.gzcd protobuf-3.6.1./configure -–prefix=/usr/local/sudo ...

2020-03-25 15:07:39 1616 3

原创 IDEA使用lombok时warn:Generating equals/hashCode implementation but without a call to superclass

Generating equals/hashCode implementation but without a call to superclass1、lombok 警告,没有注入父类的字段当我们给一个继承了父类的子类上使用@Data @ToString @EqualsAndHashCode 注解时,IDE 会警告Generating equals/hashCode implemen...

2020-03-22 21:03:42 19423

原创 4-2 数据模型的生成

4-2 数据模型的生成xorm使用可以查看:https://blog.csdn.net/INGNIGHT/article/details/104957116cdgithub.com/go-xorm/cmd/xormsudo xorm reverse mysql "root:liuqi@tcp(127.0.0.1:3306)/lottery?charset=utf8" te...

2020-03-18 23:39:57 311

原创 使用xorm工具,根据数据库自动生成 go 代码

引入使用 golang 操作数据库的同学都会遇到一个问题 —— 根据数据表结构创建对应的 struct 模型。因为 golang 的使用首字母控制可见范围,我们经常要设计 struct 字段名和数据库字段名的对应关系。久而久之,这是一个非常繁琐的过程。事情变得繁琐了,我们都会想,有没有好的办法自动生成 model 呢?今天,记录一种自动生成代码的方法 —— xorm 工具。关于 xorm...

2020-03-18 23:28:53 1549

原创 mysql for mac

一、下载MySQL这里我们需要下载的是MySQL Community Server 选择适合自己的操作系统,这里我用的是Mac二、安装双击打开pkg文件,一路下一步直到安装成功出现这里切记保存上述信息,上面找到root@localhost: ** 这行,这里的root为默认用户名,localhost:后面的为默认随机密码.保存好后面需要用.如何检测我们是否安装成功呢?...

2020-03-18 22:39:35 246

原创 通过lua操作http请求头

一、如何通过openresty操作http头http头分请求头和,响应头,在nginx的access_by_lua阶段操作请求头,操作请求头涉及两个函数。1、ngx.req.get_headers,第一个参数请求头个数,默认分析100个头,防止恶意攻击,第二个参数默认将头域信息转为小写,如果设置为true会关闭掉。2、ngx.req.set_headers对头的域信息作一些设置操作,并...

2020-03-17 18:05:54 10093

转载 luajit官方性能优化指南和注解

luajit是目前最快的脚本语言之一,不过深入使用就很快会发现,要把这个语言用到像宣称那样高性能,并不是那么容易。实际使用的时候往往会发现,刚开始写的一些小test case性能非常好,经常毫秒级就算完,可是代码复杂度一上去了,动辄几十上百毫秒的情况就会出现,性能表现非常飘忽。为此luajit的mailling list也是有不少人咨询,作者mike pall的一篇比较完整的回答被放在了官方w...

2020-03-17 09:44:00 569

原创 openresty组成和技术特点

一、组成openresty包含4个部分,第一个部分lua-nginx-module,ngx的c module,将lua协程的唤醒和挂起纳入nginx事件驱动模块中,并提供丰富的lua api,使得开发者可以使用lua语言可以完成http层操作第二个部分,测试集,对lua-ngx-module做全面测试,工作量,复杂度高第三部分,resty库,lrucache,beanstalkd,...

2020-03-17 09:25:56 311

原创 Lua语言面向对象之函数闭包的方式面向对象

function People(name) local self = {} local function init() self.name = name end self.sayHi = function () print("Hello "..self.name) end init() return selfend--local p = People("Zhan...

2020-03-15 20:06:00 209

原创 Lua语言面向对象之复制表的方式面向对象

// clone表tablefunction clone(tab) -- 构造一个空table local ins = {} for key, var in pairs(tab) do ins[key] = var end return insendfunction copy(dist,tab) for key, var in pairs(tab) do dis...

2020-03-15 19:28:31 378

原创 lua语言介绍

一、lua简介lua官网:https://www.lua.org/lua下载:https://www.lua.org/download.html下载lua:wgethttps://www.lua.org/ftp/lua-5.3.5.tar.gz;tar -zxvf lua-5.2.5.tar.gz;cdlua-5.3.5;make linux;编译后生成两个可执行文件,lua和...

2020-03-15 12:16:47 312

原创 执行阶段

一、ngx_lua执行顺序下面这个图是 ngx_lua 各个指令的执行顺序。执行阶段说明:set_by_lua*: 流程分支处理判断变量初始化 rewrite_by_lua*: 转发、重定向、缓存等功能(例如特定请求代理到外网) access_by_lua*: IP 准入、接口权限等情况集中处理(例如配合 iptable 完成简单防火墙) content_by_lua*: 内容生...

2020-03-15 00:14:52 360

原创 子查询

一、子查询子查询只是模拟 HTTP 接口的形式, 没有 额外的 HTTP/TCP 流量,也 没有 IPC (进程间通信) 调用。所有工作在内部高效地在 C 语言级别完成。子查询只能在一个location里调用其它 一个或多个 `location。二、captureres = ngx.location.capture(uri, options?)发起子查询 返回一个包含四个元...

2020-03-14 23:11:02 171

原创 FFI和第三方模块

一、FFIFFI是LuaJIT中的一个扩展库,它允许我们使用 Lua 代码调用C语言的数据结构和函数。FFI库在很大程度上避免了在C中编写繁琐的手动Lua/C绑定的需要。无需学习单独的绑定语言 - 它解析普通的C声明!这些可以从C头文件或参考手册中剪切粘贴。如何调用外部C库函数呢?1、加载FFI库。2、为函数添加C声明。3、调用命名的C函数。看一个官方提供的简单示例:...

2020-03-14 21:13:48 717

原创 OpenResty缓存

一、使用 Lua shared dict官方文档:https://github.com/openresty/lua-nginx-module#ngxshareddict使用的话首先需要在 nginx.conf 加上一句:lua_shared_dict my_cache 128m;这个缓存是 Nginx 所有 worker 之间共享的,内部使用的 LRU 算法(最近最少使用)来判...

2020-03-14 00:24:57 1920

原创 连接数据库

连接数据库我们需要使用到ngx_lua的第三方库:lua-resty-redislibrary based on ngx_lua cosocket. lua-resty-mysqllibrary based on ngx_lua cosocket.这两个库都是基于cosocket实现的,特点是异步非阻塞。代码风格是同步的写法。更多第三方库详见:See Also。一、连接Mysql...

2020-03-13 22:54:45 332

原创 ngx lua API介绍

本节主要是带着大家简单的过一下常用的ngx_lua API。一、nginx lua directives和apingx_lua 有60多个指令(Directive),140多个API(截止到2019-3-26)。官方lua文档:https://www.nginx.com/resources/wiki/modules/lua/https://github.com/openres...

2020-03-13 12:21:17 2222

原创 OpenResty入门

一、lua代码:nginx/conf/lua/get_random_string.lua-- 实现随机字符串local args = ngx.req.get_uri_args()local salt = args.saltif not salt then ngx.exit(ngx.HTTP_BAD_REQUEST)endlocal str = ngx.m...

2020-03-13 11:30:28 696

原创 OpenResty HelloWorld

以 CentOS 为例:mkdir -p /opt# download openrestywget https://openresty.org/download/openresty-1.13.6.2.tar.gztar zxvf openresty-1.13.6.2.tar.gzcd openresty-1.13.6.2# configure./configure --pr...

2020-03-12 17:11:57 237

原创 openresty简介

OpenResty 简介OpenResty®是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。OpenResty 基于Nginx开发,可以简单认为是Nginx+lua-nginx-module的组合版。官网:ht...

2020-03-12 16:38:35 452

原创 第3章 系统设计和架构设计【扩胸运动,有容乃大】

2020-03-11 23:09:14 171

原创 2-11 支付宝集福卡_实现分析

2020-03-11 22:17:44 1356

原创 静态库与共享库

一、头文件和库文件1、在使用C语言和其他语言进行程序设计的时候,我们需要头文件来提供对常数的定义和对系统及库函数调用的声明。2、库文件是一些预先编译好的函数集合,那些函数都是按照可重用原则编写的。它们通常由一组互相关联的用来完成某项常见工作的函数构成。比如用来处理屏幕显示情况的函数(ncurses库)和数据库访问例程(dbm库)等。二、头文件与库文件位置1、usr/include及...

2020-03-09 22:14:38 260

原创 02-05 从c到c++

1. bool布尔类型变量true表示1;但是把string(4字节)转化为bool(1字节),会截断,举个例子:bool result = true;print result;(答案:1)bool result = true;result = 100;print result;(答案: 1,因为截断只保留1字节)2. constconst定义时,常量必须初...

2020-03-07 14:48:38 140

原创 2-6 刮刮乐和双色球

代码:https://github.com/NIGHTFIGHTING/lottery/tree/master/src/ticket

2020-03-01 14:19:48 256

原创 2-7 微信摇一摇_实现分析

代码:https://github.com/NIGHTFIGHTING/lottery/tree/master/src/wechatShake

2020-03-01 14:18:28 371

1.6 Golang在阿里巴巴调度系统Sigma中的实践.pdf

1.6 Golang在阿里巴巴调度系统Sigma中的实践。

2020-04-19

栈和队列.rar

栈队列,两个栈实现队列,两个队列实现栈,栈和队列的一些简单应用

2016-01-14

深度优先搜索

哈理工几道深度优先搜索例题,泉水下山

2015-08-15

排序树 变成双向链表

排序树 变成双向链表排序树

2014-09-14

排序树 双向 循环链表

排序树 双向 循环链表

2014-08-31

空空如也

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

TA关注的人

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