自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(326)
  • 资源 (18)
  • 收藏
  • 关注

原创 linux中浅谈端口占用和开闭管理

背景平时开发或线上运维少不了跟端口打交道,今天我们简单聊聊平时跟端口相关的几个场景首先查看某台主机某个端口服务是否正常比如查看本机 redis服务是否正常telnet127.0.0.16379如果提示如下:Trying127.0.0.1...telnet:connecttoaddress127.0.0.1:Connectionrefused则说明服务没有正常监听端口或者端口没有开放,可以用下面2中方法一一排除查...

2020-05-31 20:06:46 232

原创 如何使用sentry进行异常监控

参考:http://phpmianshi.com/?id=99系统架构中应用程序的监控非常重要。比如你是否遇到过这种问题:当用户向你抛出一个bug(或者说异常),而你却找不到异常出现的原因和时机,也很难去重现这种奇葩的事件,此时你有一种众里寻他千百度,那bug却不知在何处的感觉。所以,利用某种工具去实现系统的异常监控,方便我们及时查看结果,并且作出合理的处理,这对于每个架构师来说都是挺重要的。一、概念理解:1、异常与捕获 异常指的是在程序运行过程中发生的异常事件,通常是由外部问..

2020-05-25 14:38:17 1935

转载 php-fpm进程数优化

参考:http://www.phpmianshi.com/?id=78CGI:是 Web Server 与 Web Application 之间数据交换的一种协议。CGI(Common Gateway Interface)全称是“通用网关接口”,WEB 服务器与PHP应用进行“交谈”的一种工具FastCGI:同 CGI,是一种通信协议,但比 CGI 在效率上做了一些优化。同样,SCGI 协议与 FastCGI 类似。从根本上来说,FastCGI是用来提高CGI程序性能的。类似于CGI..

2020-05-11 20:26:12 296 1

原创 PHP内核分析之GDB使用(一)

1.PHP源码下载和安装https://github.com/php/php-src/releases$ ./configure --prefix=/usr/local/php7 --enable-debug --enable-fpm$ make && sudo make install2.环境工具介绍CENTOS 7.2PHP-7.4.1G...

2019-12-23 11:35:46 772

原创 Mysql中 面试必考

通用规则是:多读少写加缓存,少读多写加队列带事务的不要整体commit,分段commit一、要保证数据库的效率,要做好以下四个方面的工作:① 数据库设计② sql语句优化③ 数据库参数配置④ 恰当的硬件资源和操作系统二、通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式(通俗地理解是够用的理解,并不...

2019-12-19 11:53:33 171

原创 Redis中 面试必考

参考:http://note.youdao.com/noteshare?id=2839dbb376ab21135183dc1603b10379&sub=0B126347AFB347B8ACDD337A5A808D05一. Redis性能如此高的原因纯内存操作,内存的读写速度非常快 单线程,保证了每个操作的原子性,省去了很多上下文切换线程的时间 高效的数据结构,如压缩表,对短数据...

2019-12-19 10:09:18 141

原创 Docker中部署Golang项目

1. 安装docker参考:https://blog.csdn.net/tiancityycf/article/details/1027996462. 默认你已经有一个可以正常运行的golang项目了 比如叫project启动方式 go run main.go参考:https://github.com/tiancityycf/gogin3. cd project &&...

2019-10-29 15:33:51 1189

原创 go单元测试

就像细胞是构成我们身体的基本单位,一个软件程序也是由很多单元组件构成的。上面的命令会将覆盖率相关的信息输出到当前文件夹下面的c.out文件中,然后我们执行go tool cover -html=c.out,使用cover工具来处理生成的记录信息,该命令会打开本地的浏览器窗口生成一个HTML报告。我们的测试出现了问题,仔细看打印的测试失败提示信息:excepted:[枯藤 树昏鸦], got:[ 枯藤 树昏鸦],你会发现[ 枯藤 树昏鸦]中有个不明显的空串,这种情况下十分推荐使用%#v的格式化方式。

2023-07-28 10:30:00 520

原创 go异常处理

2、假如函数F中书写了panic语句,会终止其后要执行的代码,在panic所在函数F内如果存在要执行的defer函数列表,按照defer的逆序执行。3、返回函数F的调用者G,在G中,调用函数F语句之后的代码不会执行,假如函数G中存在要执行的defer函数列表,按照defer的逆序执行。异常的使用场景简单描述:Go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处理。延迟调用中引发的错误,可被后续延迟调用捕获,但仅最后一个错误可被捕获。

2023-07-27 11:15:00 271

原创 go延迟调用defer

通常情况下,出错的时候,返回的内容应为空并且错误会被返回,可当你获得的是一个重定向 error 时, res 的值并不会为 nil ,但其又会将错误返回。因为在这里我们并没有检查我们的请求是否成功执行,当它失败的时候,我们访问了 Body 中的空变量 res ,因此会抛出异常。在上述的代码中,当有错误的时候,err 会被返回,否则当整个函数返回的时候,会关闭 res.Body。这个很自然,后面的语句会依赖前面的资源,因此如果先前面的资源先释放了,后面的语句就没法执行了。因此,可以用来做资源清理。

2023-07-26 15:15:00 311

原创 go压力测试

开发程序其中很重要的一点是测试,我们如何保证代码的质量,如何保证每个函数是可运行,运行结果是正确的,又如何保证写出来的代码性能是好的,我们知道单元测试的重点在于发现程序设计或实现的逻辑错误,使问题及早暴露,便于问题的定位解决,而性能测试的重点在于发现程序设计上的一些问题,让线上的程序能够在高并发的情况下还能保持稳定。上面的输出详细的展示了这个测试的过程,我们看到测试函数1Test_Division_1测试通过,而测试函数2Test_Division_2测试失败了,最后得出结论测试不通过。

2023-07-24 14:02:41 1386

原创 go闭包递归

因为a()执行完后,b()没有被返回给a()的外界,只是被a()所引用,而此时a()也只会被b()引 用,因此函数a()和b()互相引用但又不被外界打扰(被外界引用),函数a和b就会被GC回收。所以直接调用a();在上面的例子中,由于闭包的存在使得函数a()返回后,a中的i始终存在,这样每次执行c(),i都是自加1后的值。从上面可以看出闭包的作用就是在a()执行完并返回后,闭包使得Javascript的垃圾回收机制GC不会收回a()所占用的资源,因为a()的内部函数b()的执行需要依赖a()中的变量i。

2023-07-24 13:52:37 138

原创 go匿名函数

go匿名函数 https://www.phpmianshi.com/?id=570

2023-07-24 13:50:49 257

原创 go语言返回值

https://www.phpmianshi.com/?id=569

2023-07-09 14:00:00 508

原创 go函数定义

https://www.phpmianshi.com/?id=521

2023-07-08 19:30:00 184

原创 golang参数详解

https://www.phpmianshi.com/?id=416

2023-07-07 13:57:11 738

原创 go循环控制Goto、Break、Continue

循环控制语句循环控制语句可以控制循环体内语句的执行过程。

2023-07-07 13:53:53 197

原创 go语言for的三种形式

否则判断 condition 的值为假,不满足条件,就终止for循环,执行循环体外语句。i++ { // 常见的 for 循环,支持初始化语句。fmt.Printf("第 %d 位 x 的值 = %d\n", i, x)println(s[n]) // 替代 for (;for n > 0 { // 替代 while (n > 0) {}fmt.Printf("%d 是素数\n", i)fmt.Printf("a 的值为: %d\n", a)fmt.Printf("a 的值为: %d\n", a)

2023-04-05 19:30:00 840

原创 go循环语句range

Golang range类似迭代器操作,返回 (索引, 值) 或 (键, 值)。for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如下:stringindexs[index]indexs[index]mapkeym[key]channelelement可忽略不想要的返回值,或"_"这个特殊变量。s := "abc"// 忽略 2nd value,支持 string/array/slice/map。// 忽略 index。

2023-04-04 11:33:31 489

原创 go条件语句select

如果没有任意一条语句可以执行(即所有的通道都被阻塞),那么有两种可能的情况: ①如果给出了default语句,那么就会执行default的流程,同时程序的执行会从select语句后的语句中恢复。//假如没有default,那么在以上两个条件都不成立的情况下,就会在此阻塞//一般default会不写在里面,select中的default子句总是可运行的,因为会很消耗CPU资源。如果没有可运行的case语句,且没有default语句,select将阻塞,直到某个case通信可以运行。

2023-04-04 11:16:37 743 1

原创 go语言switch语句用法

switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。Go的switch非常灵活,表达式不必是常量或整数,执行的过程从上至下,直到找到匹配项;fmt.Printf("x 是 bool 或 string 型")fmt.Printf(" x 的类型 :%T\r\n", i)fmt.Printf("x 是 func(int) 型")fmt.Printf("你的等级是 %s\n", grade )fmt.Printf("x 是 int 型")

2023-01-19 14:05:52 1779

原创 go语言if/else语句用法

条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。if 在布尔表达式为 true 时,其后紧跟的语句块执行,如果为 false 则执行 else 语句块。fmt.Printf("a 的值为 100 , b 的值为 200\n")fmt.Printf("a 的值为 : %d\n", a)fmt.Printf("a 的值为 : %d\n", a)fmt.Printf("a 值为 : %d\n", a)

2023-01-06 11:12:12 855

原创 go结构体

1.1.1. 自定义类型在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型,Go语言中可以使用type关键字来定义自定义类型。自定义类型是定义了一个全新的类型。我们可以基于内置的基本类型定义,也可以通过struct定义。例如://将MyInt定义为int类型通过Type关键字的定义,MyInt就是一种新的类型,它具有int的特性。1.1.2. 类型别名类型别名是Go1.9版本添加的新功能。

2023-01-05 20:26:30 777

原创 go-Map实现原理

key,value存储最通俗的话说Map是一种通过key来获取value的一个数据结构,其底层存储方式为数组,在存储时key不能重复,当key重复时,value进行覆盖,我们通过key进行hash运算(可以简单理解为把key转化为一个整形数字)然后对数组的长度取余,得到key存储在数组的哪个下标位置,最后将key和value组装为一个结构体,放入数组下标处,看下图:hash冲突。

2022-12-29 22:00:00 148

原创 go-Map

Go语言中 map的定义语法如下其中,KeyType:表示键的类型。ValueType:表示键对应的值的类型。map类型的变量默认初始值为nil,需要使用make()函数来分配内存。语法为:其中cap表示map的容量,该参数虽然不是必须的,但是我们应该在初始化map的时候就为其指定一个合适的容量。

2022-12-28 21:15:00 86

原创 golang指针

make也是用于内存分配的,区别于new,它只用于slice、map以及chan的内存创建,而且它返回的类型就是这三个类型本身,而不是他们的指针类型,因为这三种类型就是引用类型,所以就没有必要返回他们的指针了。Go语言中的函数传参都是值拷贝,当我们想要修改某个变量的时候,我们可以创建一个指向该变量地址的指针变量。new函数不太常用,使用new函数得到的是一个类型的指针,并且该指针对应的值为该类型的零值。3.而new用于类型的内存分配,并且内存对应的值为类型零值,返回的是指向类型的指针。

2022-12-27 10:30:00 891 4

原创 go切片slice底层实现

切片是 Go 中的一种基本的数据结构,使用这种结构可以用来管理数据集合。切片的设计想法是由动态数组概念而来,为了开发者可以更加方便的使一个数据结构可以自动增加和减少。但是切片本身并不是动态数据或者数组指针。切片常见的操作有 reslice、append、copy。与此同时,切片还具有可索引,可迭代的优秀特性。

2022-12-26 15:32:35 170

原创 go切片slice

go切片slice

2022-12-01 10:30:00 118

原创 go数组array

go数组array

2022-11-30 11:01:46 920

原创 go基本类型

go基本类型

2022-11-19 15:45:00 318

原创 go变量和常量

https://www.phpmianshi.com/?id=366

2022-11-18 15:15:00 220 1

原创 go下划线

go下划线 www.phpmianshi.com

2022-11-17 16:00:00 162

原创 golang中的go命令

golang中的go命令 www.phpmianshi.com

2022-11-12 18:30:00 276

原创 go运算符

golang中go运算符 www.phpmianshi.com

2022-11-11 14:50:17 123

原创 Init函数和main函数

golang中Init函数和main函数 www.phpmianshi.com

2022-11-11 14:42:06 99

原创 Golang内置类型和函数

Golang内置类型和函数

2022-11-10 15:20:18 152

原创 Redis官方可视化工具RedisInsight功能强大

背景最近逛了一下Redis官方网站,发现Redis不仅推出了很多新特性,而且还发布了一款可视化工具RedisInsight。试用了一下感觉非常不错,最关键的是能支持RedisJSON之类的新特性,这是第三方工具无法比拟的。今天带大家体验一下RedisInsight,确实非常好用!RedisInsight简介RedisInsight是Redis官方出品的可视化管理工具,可用于设计、开发、优化你的Redis应用。支持深色和浅色两种主题,界面非常炫酷!可支持String、Hash、Set、List

2022-03-24 20:04:06 2379

原创 深入理解GC原理

垃圾定位算法(1)引用计数法 (Reference Counting)。 如 python php 通常C++通过指针引用计数来回收对象,但是这不能处理循环引用,原理是在每个对象内部维护一个引用计数,当对象被引用时引用计数加一,当对象不被引用时引用计数减一。当引用计数为 0 时,自动销毁对象。 例如:谁想用驴干活的时候,就在驴身上画个圈圈,用一次画一个,用完了把代表本次使用的圈圈擦掉。当这头驴身上没圈圈的时候,就可以卸磨杀驴了,身上有圈圈的驴不能杀。 这...

2022-03-11 15:29:55 535

原创 面试必备(背)--Go语言八股文系列

1. 垃圾回收垃圾回收就是对程序中不再使用的内存资源进行自动回收的操作。1.1 常见的垃圾回收算法: 引用计数:每个对象维护一个引用计数,当被引用对象被创建或被赋值给其他对象时引用计数自动加 +1;如果这个对象被销毁,则计数 -1 ,当计数为 0 时,回收该对象。 优点:对象可以很快被回收,不会出现内存耗尽或到达阀值才回收。 缺点:不能很好的处理循环引用 标记-清除:从根变量开始遍历所有引用的对象,引用的对象标记“被引用”,没有被标记的则进

2022-02-23 20:20:04 6733 5

原创 nginx location配置详细解释

语法详解语法规则: location [=|~|~*|^~] /uri/ { … }=开头表示精确匹配^~开头表示uri以某个常规字符串开头,理解为匹配url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~/static//aa匹配到(注意是空格)。以xx开头~开头表示区分大小写的正则匹配以xx结尾~*开头表示不区分大小写的正则匹配...

2022-02-22 19:27:22 1288

jmeter.zip

jmeter全套软件和测试例子

2021-01-27

TexturePacker-3.1.2 for mac 破解版

这个是最新版本的TexturePacker破解版,由网友破解,TexturePacker确实是一个很好用的图片工具, 直接安装即可,无需注册,for mac,测试过可用!

2016-07-20

e*trade 金融 financial

e*trade 金融 financial e*trade 金融 financial

2015-11-26

mysql-udf-http下载

mysql-udf-http下载 发现很多链接都是链接到谷歌 在这里csdn传一份,方便大家国内下载 谢谢

2014-09-02

android_stutio 下载地址

android_stutio 下载地址

2013-05-16

cmmao仿hao123名站导航源码(纯静态)

cmmao仿hao123名站导航源码(纯静态)

2012-09-08

cmmao淘宝精品店铺推荐源码(纯静态)

cmmao淘宝精品店铺推荐源码,淘宝导购,网址导航

2012-09-08

jquery1.4.4.chm手册(新全)

jquery1.4.4.chm手册 jquery1.4.4.chm手册

2011-09-09

PHP+高手之路.doc

PHP+高手之路.docPHP+高手之路.doc

2010-03-20

PHP高级程序设计.pdf

PHP高级程序设计.pdfPHP高级程序设计.pdfPHP高级程序设计.pdf

2010-03-20

SQL 参考手册.chm

SQL 参考手册.chmSQL 参考手册.chmSQL 参考手册.chmSQL 参考手册.chm

2010-03-20

extJS中文手册 extJS中文手册

extJS中文手册extJS中文手册extJS中文手册extJS中文手册extJS中文手册extJS中文手册extJS中文手册extJS中文手册extJS中文手册extJS中文手册extJS中文手册

2010-03-20

php个人网站 啊啊啊啊

php个人网站 php个人网站 啊啊啊啊 php个人网站 啊啊啊啊

2009-09-02

配送中心 模块 我的项目

配送中心 模块 我的项目 配送中心 模块 我的项目 配送中心 模块 我的项目 配送中心 模块 我的项目

2008-12-19

iBATIS-SqlMaps-1_cn.pdf

iBATIS-SqlMaps-1_cn.pdf

2008-11-23

iBATIS-SqlMaps-2_cn.pdf

iBATIS-SqlMaps-2_cn.pdf iBATIS-SqlMaps-2_cn.pdf

2008-11-23

购物车程序 有很多功能哦

java购物车 购物车程序 有很多功能哦 购物车程序 有很多功能哦

2008-11-23

空空如也

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

TA关注的人

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