自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(257)
  • 收藏
  • 关注

原创 常用地址收集

1、get\post区别https://www.zhihu.com/question/285867912、一文搞定 UDP 和 TCP 高频面试题https://mp.weixin.qq.com/s/Hda0LCYAKTvwfUMMm_i4Ng

2020-03-07 12:57:48 790

原创 怎样提升go中的RSA解密速度2~3倍

go rsa boring 如何提升go解密rsa速度

2023-01-02 08:09:27 814 5

原创 GPM解释

字符串:两个字符串比较,必须总是使用equals()方法。要忽略大小写比较,使用equalsIgnoreCase()方法。

2022-11-26 10:27:53 1233

原创 小的代码段

package mainimport ( "bufio" "fmt" "os")func main() { r := bufio.NewReader(os.Stdin) result, err := r.ReadString('\n') if err != nil { fmt.Println(err) } fmt.Println(result)}package mainimport ( "fmt" "os")func main() { //v.

2022-03-20 10:33:36 453

原创 vim 查看文件编码

使用vim打开文件,:set fileencoding 查看编码格式。所以使用:set fileencoding=utf-8 进行编码转换。

2022-02-14 20:08:25 2724

原创 记一次load过高的问题追踪

前言:本次追踪没保存截图。因此只能文字描述下了。运维通过内部沟通软件发来消息,有个消费挤压太厉害已经超过1000w。收到消息后打开监控,发现消费能力于之前下降了50%。由于是春节期间,考虑量上来的可能性大。所以认为只是偶尔消费挤压之后便会恢复,但第二天依然是这种问题。于是登上其中一台机器。发现1,5,15分钟load均在82,观察一小时左右仍居高不下。于是下定决心排查问题。首先我们用top命令,把正在跑的进程动态列出来,-c一下看看cpu的使用情况。这时发现一个问题。cpu使用率很高,并且sys

2022-02-13 17:53:57 891

原创 UnmarshalJSON的使用方法

在写go的过程中,上游总是很随意的传递过来任意类型的数据。这样会导致我们小go这种有洁癖的语言在解析参数时因为数据类型不对而报错。因此UnmarshalJSON的应用就产生了具体使用:package mainimport ( "encoding/json" "fmt")type App struct { Boottime String `json:"boottime"` //这里是我们接收时自定义的参数类型String}type String stringfunc main

2022-02-01 10:23:28 896

原创 go pack和unpack

package mainimport ( "bytes" "encoding/binary" "fmt" "log" "math" "strconv" "strings")type Protocol struct { Format []string}func main() { str := "693a0210afc541528457ac135a3fca38" p := &Protocol{} s2 := p.HexStringToByte(str) s1 :.

2021-09-10 10:16:31 1332

原创 mysql不常用的几个命令

1、查看B+数的高度SELECT b.name, a.name, index_id, type, a.space, a.PAGE_NOFROM information_schema.INNODB_SYS_INDEXES a,information_schema.INNODB_SYS_TABLES bWHERE a.table_id = b.table_id AND a.space <> 0;其中PAGE_NO就是树的高度。2、对数据页压缩ALTER TABLE

2021-05-26 19:45:44 91

原创 redis的client list在实际中的应用

文章目录

2021-05-11 10:53:04 385 2

原创 20亿redis数据迁移总结

mark

2021-04-28 20:01:39 195

原创 十年杂想

不经意间来帝都进入第11个年头了,记录下这十年间自己还能想起来的事。时间一:2011年5月第一次来北京,与其他打工人无任何差异,一个编织袋囊括了所有的用品乘坐T76到了帝都,从西站北广场出,找了下朋友事先说好的公交车抵达清华大学站,然后转乘365到大牛坊,开启了真正的帝都生活。第二天就去了事先联系好的四家公司进行面试,分别在东直门、西直门、宣武门、高碑店。第一次乘坐地铁是在西二旗,那时候还不是程序员的集中营,面试的第一家是西直门中坤大厦的做保健品公司,面试主管很好,当时感觉自己什么都不会,薪资要

2021-04-24 22:43:06 224 1

原创 php涨知识的点

这里写目录标题一、fastcgi_finish_request()二、ArrayObject()三、父类与子类相互使用的问题四、实例化对象作为参数传递一、fastcgi_finish_request()这个函数比较牛皮,可以在执行返回客户端后,继续执行操作。需要注意两点:1、必须时通过fpm的方式来才能有效2、数据客户端后本进程仍然在执行,并未退出3、如果处理时间较长需要设置set_time_limit(0);<?phpecho time();fastcgi_finish_reques

2021-03-27 10:32:44 126

原创 分享解决的问题

本周总结Linux问题yum安装时的找不到mirrorlist.txtLinux设置多网卡Linux问题范德萨发顺丰yum安装时的找不到mirrorlist.txtLinux设置多网卡在使用yum安装包的时候会遇到removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt,需要做以下处理...

2021-03-27 09:20:31 1445 1

原创 rsa与aes

2021-03-22 11:24:56 87

原创 go常用的判断

var str string 字符串初始化为""只能通过len(str)而不能通过nil判断var i int int初始化为0 ,只能通过i == 0,而不能通过nil判断var b bool 初始化为false,只能通过b == true ,而不能通过nil判断var bb []byte 初始化为[],可以用len(bb) 或bb == nil ,而不能通过bb == ""判断var c [1] int 初始化为[0]填充了默认值0,可以用len(c)或cap(c),而不能用 c=...

2021-03-20 22:06:20 223

原创 go的可变参数

可变函数条件: 1、最后一个参数使用... 2、如果把可变参数放在参数前面会把所有的参数都作为可变参数,编译也会报错syntax error: cannot use … with non-final parameter 3、可变参数需要用 range来循环 4、可变参数其实是个切片[] slice运行原理: 1、首先会把可变参数转为相应类型的slice 2、再把这个切片传递给函数可变参数vs切片 1、提高阅读性 2、每次调用函数都需要创建...

2021-03-17 10:28:24 255

原创 常见错误每日一练01

1、defer和panic的使用package mainimport "fmt"func main() { //该题主要是考defer和panic //defer是函数执行完成之后,panic执行之前打印,故而打印顺序 //打印后 //打印中 //打印前 //panic: 出发异常 defer_call()}func defer_call() { defer func () { fmt.Println("打印前") }() defer func () { fm

2021-03-16 10:15:34 120

原创 谈谈go的结构体struct

一直以为struct是存储数据用的,直到今天在写代码的时候,goland给出来的提示f就是我们平常说的fieldm就是method。想想我们平常写类,不就是类吗?只是god的封装用的是首字母大小写而已。<?phpclass A { protected $a; public function aaa(){ }}?>...

2021-02-23 15:12:44 222

原创 redis潜在的瓶颈

Redis单线程处理IO请求性能瓶颈1、任意一个请求在server中一旦发生耗时,都会影响整个server的性能,也就是说后面的请求都要等前面这个耗时请求处理完成,自己才能被处理到。耗时的操作包括以下几种:a、操作bigkey:写入一个bigkey在分配内存时需要消耗更多的时间,同样,删除bigkey释放内存同样会产生耗时;b、使用复杂度过高的命令:例如SORT/SUNION/ZUNIONSTORE,或者O(N)命令,但是N很大,例如lrange key 0 -1一次查询全量数据;c、大量key集中

2020-12-13 17:04:37 696

原创 swoole进程模型图

总感觉swoole中关系梳理不清,网上找了这张图。感觉还是比较好的。记录下

2020-12-06 11:06:59 164

原创 mysql总结

1、mysql索引有哪些 主键索引 他必须是primary key 每个表只能有一个索引 普通索引也就是二级索引,加速查找 唯一索引: 主键索引:primary key :加速查找+约束(不为空且唯一) 唯一索引:unique:加速查找+约束 (唯一) 联合索引: 遵循做前缀原则 全文索引: 用于搜索很长一篇文章的时候,效果最好。2、聚簇索引和非聚簇索引 聚集索引与非聚集...

2020-11-01 12:49:02 126 1

原创 kafka再均衡

https://www.cnblogs.com/haojia/p/12404182.html值得看下

2020-10-02 15:53:57 1103

原创 kafka安装

kafka学习 1、kafka一主多从,从是用来提高容灾能力,并无其他用处,每次都是从拉取主获取数据 2、AR(所有副本) = ISR(从副本in-sync,在一定的滞后范围之内)+ OSR(从副本out-sync 滞后范围之外的副本) kafka安装 1、安装zookeeper wget -P /home/tools/ http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.14/zook...

2020-09-13 21:23:30 165

原创 一篇与技术无关的文章

最近还是换了工作,在之前的公司呆了近5年,对于程序员这行业来讲,5年不短。其实也不知道该写什么,但又想写点什么来纪念2015.12~2020.7。

2020-08-02 20:11:48 275

原创 力扣120题-三角形最小路径之和

地址:https://leetcode-cn.com/problems/triangle/给出的数组:[ [2], [3,4], [6,5,7], [4,1,8,3]]这道题主要是查找从上到下最短的路径只和,注意是【和】,那么我们是不是可以自顶向下或者自下而上的对n层中对每个元素与n+1层的元素求和,然后取最小赋值给n的那个元素即可。class Solution { /** * @param Integer[][] $triangle

2020-07-15 09:02:20 206

原创 提供dubbo服务

近来对java比较痴迷,研究了下dubbo的创建到发布这个生命周期,在java友人的帮助下搞定,特此记录下(主要看过程,具体的按照自己项目设置)1、提供dubbo服务,我们需要做什么一般来讲dubbo对外服务,都会放到api下,我们现在来创建一个api,这样基本module创建好了,然后在该module下创建包在根pom.xml下加 <module>bbs-api</module>在api目录下的pom.xml中加上,来确定你要推的仓库

2020-07-13 19:55:19 376

原创 力扣-112题-路径之和

地址:https://leetcode-cn.com/problems/path-sum/java版/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { publi

2020-07-07 20:14:31 207

原创 leetcode-108题-将有序数组转换为二叉搜索树

https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree/<?php class TreeNode { public $val = null; public $left = null; public $right = null; function __construct($value) { $this->val = $value; } }.

2020-07-04 11:28:23 98

原创 leetcode-590、589题

https://leetcode-cn.com/problems/n-ary-tree-postorder-traversal/submissions/在构造数据上花费了功夫。<?phpclass Node{ public $val = null; public $children = null; function __construct($val = 0){ $this->val = $val; $this->children = array(); }}

2020-07-04 10:50:46 153

原创 tcp握手优化(转)

本小结主要介绍了关于优化 TCP 三次握手的几个 TCP 参数。客户端的优化当客户端发起 SYN 包时,可以通过 tcp_syn_retries 控制其重传的次数。服务端的优化当服务端 SYN 半连接队列溢出后,会导致后续连接被丢弃,可以通过 netstat -s 观察半连接队列溢出的情况,如果 SYN 半连接队列溢出情况比较严重,可以通过 tcp_max_syn_backlog、somaxconn、backlog 参数来调整 SYN 半连接队列的大小。服务端回复 SYN+ACK 的重传次数由

2020-06-17 09:07:22 282

原创 Kong网关安装

我是在centos上搭建的环境,各位最好也是如此。下载Kongwget https://bintray.com/kong/kong-community-edition-rpm/download_file?file_path=centos/7/kong-community-edition-1.0.2.el7.noarch.rpm 下载后重命名:mv download_file\?file_path\=centos%2F7%2Fkong-community-edition-1.0.2.el7.noarc

2020-06-16 19:18:00 540

原创 java之核心类

字符串两个字符串比较,必须总是使用equals()方法。要忽略大小写比较,使用equalsIgnoreCase()方法。要把任意基本类型或引用类型转换为字符串,可以使用静态方法valueOf()

2020-06-16 14:01:40 156

原创 java之面向对象

方法:一个类包含多个方法和实例字段构造方法public class Main { public static void main(String[] args) { Person p = new Person("Xiao Ming", 15); System.out.println(p.getName()); System.out.println(p.getAge()); }}/*** Person类* 类名相同的方法是.

2020-06-15 09:06:03 129

原创 一张券先按照金额排序,金额相同的再按照时间排序

<?phpclass Discount{ public $money; public $time; function __construct($money, $time) { $this->money = $money; $this->time = $time; }}$discounts = [];for ($i = 0; $i < 10; $i++) { $discount = new.

2020-06-08 19:34:17 291

原创 算法收集整理

在这里插入图片描述

2020-05-25 08:08:18 98

原创 Redis之Cluster(集群)

上文书说到了sentinel,本次来介绍下cluster,这是个分布式的方案,通过分片(sharding)来共享数据,并且支持故障转移,放在当前是流弊的。节点: 通常是指一台服务器,也有可能一台机器上部署多个redis,就叫多个节点或多个实例。多个节点如:127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002,三个节点要相互通信可以线登陆到7000上,通过cluster meet 127.0.0.1:7001 来进行握手,加入到大家庭中。在握手的过程中,...

2020-05-23 13:44:33 179

原创 Redis之sentinel

sentinel是redis 高可用的一种架构,主要是由多个sentinel组成监视系统,可以监视多个主从服务器,在他们下线的时候 进行自动切换升级。sentinel启动的时候和启动主从并无特别大的区别sentinel 每隔10秒向主服务器发送心跳,通过命令监视返回主服务器的INFO信息,主要由两个作用:1、监控master是否存活2、解析返回的INFO信息,并且把其中有关slave的信息存到sentinel的字典中。当sentinel发现主服务器中有新的从服务器的时候,会为这个

2020-05-23 10:26:58 434

原创 go为什么快

参考文献:https://studygolang.com/articles/26879?fr=sidebargo快的主要原因:1、上下文切换代价小: Goroutine 上下文切换只涉及到三个寄存器(PC / SP / DX)的值修改; 而对比线程的上下文切换则需要涉及模式切换(从用户态切换到内核态)、以及 16 个寄存器、PC、SP…等寄存器的刷新;因为在核心上交换线程会花费很多时间。上下文切换的延迟取决于不同的因素,大概在在 50 到 100 纳秒之间。考虑到硬件平均在每个核心上每...

2020-05-23 09:08:50 322

原创 getimagesize引发线上问题之我所思

写篇博文平复下我的心情。在我的经验里,总认为php代码写的再烂也不会烂到那,今天社区的上线颠覆了我的想法。事情是这样的。社区二期上线后,服务器负载突然增高,接口频繁报错,在上线之前,对代码块的语义做了再三的核对。并没发现异常。打开日志查看。不停的去进行请求网站的图片,以为有人在刷接口(现在想想真傻,很明摆是自己刷),联合运维查了半下午。最终进行代码回滚。居然好了(真是打脸,我一直反对回滚,认为代码没有问题)。接着对比代码,以为是配置的问题,发现配置也没问题。最终在比较代码的时候发现有个循环从文章里把图片

2020-05-19 23:34:39 419

空空如也

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

TA关注的人

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