自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

科比不来it

。10年开发老兵,酷爱编程,痴迷技术。资深软件设计师一枚,关注我,不迷路

  • 博客(409)
  • 资源 (10)
  • 问答 (1)
  • 收藏
  • 关注

转载 大型LNMP架构(企业综合项目)

需求分析:网站每天的日PV量100万左右,由于以前的LNMP架构都是交给外包公司在管理.所使用的服务器以及所有的东西都承包出去了,现在由于公司业务扩展需要,需要把所有的LNMP架构全部迁移回公司,LNMP需要重新构架。此任务由公司新建立的运维团队负责完成此任务.①开发语言为:PHP②堡垒机器:iptabels③负责均衡: LVS+keepalived④WEB容器1为:Nginx⑤WEB容...

2019-07-03 09:39:22 963

原创 golang 如何防止内存逃逸

在Go语言中,内存逃逸是指在函数中分配的变量在函数结束后仍然被引用,从而导致变量的生命周期延长,被分配在堆上而不是栈上。使用值接收者而不是指针接收者: 在类型的方法中,如果不需要修改接收者的值,使用值接收者而不是指针接收者,可以避免创建指向结构体的指针,减少内存逃逸。使用 sync.Pool: 在一些场景下,使用 sync.Pool 可以减少内存逃逸,通过对象池来重用对象,减少频繁分配和释放内存的开销。避免返回局部变量的指针: 在函数中创建的局部变量,如果返回其指针,可能导致内存逃逸。

2024-02-20 20:56:56 432

原创 golang 的内存分配

内存分配器:Go运行时包含一个内存分配器,它负责在堆上分配和释放内存。分配器使用一种称为“大小分级”的技术,根据请求的内存块大小使用不同的分配策略。在Go语言中,内存管理是由垃圾收集器(GC)自动处理的,开发者通常不需要手动管理内存。Go的内存分配和垃圾回收是语言运行时(runtime)的一部分,对性能有重要影响。内存安全:Go的内存分配器确保了在并发环境中分配和释放内存的安全性。性能调优:开发者可以通过调整Go的运行时参数来优化内存分配和垃圾收集的性能。例如,可以调整垃圾收集的频率、内存分配器的参数等。

2024-02-20 18:32:05 400

原创 Go的异常处理

【代码】Go的异常处理。

2024-02-20 18:28:00 339

原创 10个IT从业者必备神器

这是一个国外的网站,提供的免费工具太多了,几乎所有的格式都可以转。根据描述的意思,可以快速匹配想要的词句,说话卡壳的时候必备神器。只要会打字就能生成视频,而且生成的画面和脚本还能完全匹配。只需要输入PPT基本框架,AI就会帮你快速排版。做图表不需要office,直接套用模版就可以了。9、voidtools,即everything。只需要轻轻一抹,视频中对应的元素就会被擦除。专门借出网页禁止复印的神器。主要用于电脑文件的快速搜索。我愿称之为国产最强录屏神器。

2023-10-12 19:57:23 156

原创 金山wps golang面试题总结

简单自我介绍如果多个协程并发写map 会导致什么问题如何解决(sync.map,互斥锁,信号量)chan 什么时候会发生阻塞如果 chan 缓冲区满了是阻塞还是丢弃还是panicchan 什么时候会 panic描述一下 goroutine 的调度机制goroutine 什么时候会被回收是否可以无限创建 goroutine什么情况会出现 goroutine 泄漏如何定位 goroutine 泄漏切片的空间是如何分配的,如何扩容的平时写切片的时候需要注意哪些点mysql innodb

2023-10-11 17:18:36 365

原创 lua 中比较常用到且有坑的知识点总结

定义变量记得local声明,否则为全局变量,会引发变量污染sql使用需做预处理查询,非直接拼接for 循环中对table做遍历时,变量是引用形式,遍历后可能会修改table的值

2023-10-11 17:14:07 91

原创 lua知识点总结

iparis只会遍历数字索引,并在遇到第一个非数字索引时终止。paris则会遍历所有。

2023-08-10 19:46:18 68

原创 lua ipairs pairs

iparis只会遍历数字索引,并在遇到第一个非数字索引时终止。paris则会遍历所有。

2023-08-10 17:16:54 545

原创 git个人使用经验总结

【代码】git个人使用总结。

2023-08-10 09:50:39 66

原创 TCP四次握手为什么客户端等待的时间是2MSL

MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。总而言之,客户端在发送完ACK报文段之后,继续等待2MSL时间,如果发给服务端的ACK报文段丢失了,服务端重发的FIN报文段在也一定能在这个时间内到达客户端。

2023-07-29 16:07:19 771

转载 Go学习总结之GPM模型

场景 3:当调用一些系统方法的时候,如果系统方法调用的时候发生阻塞,这种情况下,网络轮询器(NetPoller)无法使用,而进行系统调用的 Goroutine 将阻塞当前 M。我们知道,现实情况有的 Goroutine 运行的快,有的慢,那么势必肯定会带来的问题就是,忙的忙死,闲的闲死,Go 肯定不允许摸鱼的 P 存在,势必要充分利用好计算资源。调度器循环的机制大致是从各种队列、P 的本地队列中获取 G,切换到 G 的执行栈上并执行 G 的函数,调用 Goexit 做清理工作并回到 M,如此反复。

2023-07-12 11:43:23 124

转载 kafka和rabbitmq以及rocketmq的区别

消息的可靠性保证:Kafka和RocketMQ都支持消息的可靠性保证,包括数据备份、数据同步等机制,而RabbitMQ则提供了多种消息传递的保证机制,如消息确认和事务机制。社区和生态系统:Kafka和RabbitMQ都有较大的社区和丰富的插件生态系统,RocketMQ在国内有很大的用户群体,但国际上的用户群体相对较小。数据存储方式:Kafka使用磁盘存储,RabbitMQ和RocketMQ使用内存存储。总之,这些消息队列系统都有各自的特点和优缺点,选择哪一个取决于你的具体需求和应用场景。

2023-07-05 10:18:44 405

转载 PHP的opcache应该如何使用

opcache.file_cache_fallbackboolean 在 Windows 平台上,当一个进程无法附加到共享内存的时候, 使用基于文件的缓存,也即:opcache.file_cache_only=1。依据PHP字节码缓存的场景,OPCache的内存管理设计非常简单,快速读写,不释放内存,过期数据置为Wasted。其实步骤2)、3)生成的语法树和opcode,同一个PHP脚本每次运行的结果都是一样的,在PHP-FPM模式下,每次请求都要处理一遍,是对系统资源极大的浪费,那么有没有办法优化呢?

2023-04-07 14:01:49 458

原创 开发中经常会使用到的golang高级语法总结

忙碌了两个月,这次开发终于要结束了,今天下午公司在重组集群机器,也没办法干活儿了,就写一些东西,相当于,留住一些东西,来纪念这辛苦的两个月吧。在这次开发中,学习了不少Golang的高级特性,并且付诸于实现,也踩了不少坑,留下这篇文字,也是方便其他人能够查看,或者借鉴,如果帮到你,那么我也会很开心你。我前阵子写过一篇文章,是Golang 调用 s3对象存储的,使用指定的api可以获取其中的item,但是人家限定100条,估摸着怕撑爆内存,但是如果我们想要获取到所有的item,这个该怎么做呢?

2023-04-07 13:52:40 553

转载 LINUX如何解决服务器TCP连接TIMEOUT过长

net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。net.ipv4.tcp_fin_timeout 修改系統默认的 TIMEOUT 时间。

2023-01-11 15:07:51 2981

原创 Linux 文件句柄导致系统压力测试时出现错误率

最近,在对一个golang写的获取商品详情信息的接口做压力测试时,tps 单机可以达到1400多,但是发现每当压力测试开始2分钟多时就会出现502或504 错误,整体的错误率在0.5%左右。对代码做了一次次的桌前检查,认为不是代码的问题,怀疑是服务器文件句柄开的过低,紧接着就是一波一波的排查。Linux中所有的事物或资源都是以文件的形式存在,比如消息、共享内存、连接等,句柄可以理解为指向这些文件的指针。),在生产环境系统中这是远远不够的,所以很多应用都需要解除文件句柄数的限制。永久修改单个进程句柄数。

2023-01-11 14:40:15 632

转载 GitHub上本月最受欢迎的Go语言项目有哪些?

在GitHub上猎奇,除了看推荐之外,就是热榜了,能上热榜的项目,一般都不会太差(刷榜的除外)。这篇文章呢,主要是介绍下本月最受欢迎的Go语言项目,我们可以知道Go语言的趋势,研究这些项目,可以学到很多。https://github.com/gwuhaolin/livego 。这是一个使用Go语言写的直播服务器,支持HLS、RTMP、HTTP-FLV协议,编码常用的H264都支持。视频封装通过FLV和TS,使用也非常简单。https://github.com/photoprism/photop

2022-03-19 20:37:57 623

原创 php7版本开启强类型模式校验提升项目代码可读性

PHP是世界上最好的语言,开发快是它最大的优点,凡事有利必有弊。php众所周知,PHP是弱类型语言,在传递参数时,不会检查变量的类型,再加上动态语言的特性,若是写代码不注意,很容易形成类型不符,自动转换类型,而且程序不会报错,形成数据错误和不完整。在PHP7以后,经过在文件开头用 declare(strict_types = 1) 定义强类型检验后,当函数传参类型不符时,将会抛出错误。我们加入强类型模式来看一下输出结果,代码如下:<?phpdeclare(strict_types=1);//

2022-01-23 17:13:18 545

原创 架构和性能优化的核心原则

2022-01-22 13:18:27 1687

原创 PHP 使用非对称加密算法(RSA)代码演示

加密的类型:在日常设计及开发中,为确保数据传输和数据存储的安全,可通过特定的算法,将数据明文加密成复杂的密文。目前主流加密手段大致可分为单向加密和双向加密。单向加密:通过对数据进行摘要计算生成密文,密文不可逆推还原。算法代表:Base64,MD5,SHA;双向加密:与单向加密相反,可以把密文逆推还原成明文,双向加密又分为对称加密和非对称加密。对称加密:指数据使用者必须拥有相同的密钥才可以进行加密解密,就像彼此约定的一串暗号。算法代表:DES,3DES,AES,IDEA,RC4,RC5;非对称加密:

2021-10-21 15:29:29 262

转载 MySQL索引原理及慢查询优化

MySQL索引原理及慢查询优化

2021-10-11 17:05:40 99

转载 常见性能优化策略的总结(美团技术团队)

常见性能优化策略的总结

2021-10-11 16:37:13 212

原创 PHP常用设计模式(5)装饰器模式

模式定义通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生对应的子类来扩展,抑或是使用对象组合的方式。显然,直接修改对应的类这种方式并不可取。在面向对象的设计中,我们也应该尽量使用对象组合,而不是对象继承来扩展和复用功能。装饰器模式就是基于对象组合的方式,可以很灵活的给对象添加所需要的功能。装饰器模式的本质就是动态组合。动态是手段,组合才是目的。装饰这两个字,我们暂且把他变成化妆。首先你得有一张脸,然后打底,然后上妆,可以早上来个淡妆上班,也可以下班的时候补成浓妆出去嗨。当然,码农们下班的时间

2021-09-02 17:10:13 144

原创 PHP常用设计模式(4)抽象工厂模式

PHP常用设计模式(3)抽象工厂模式

2021-08-31 14:34:08 168

原创 PHP常用设计模式(3)工厂方法模式

1、模式定义定义一个创建对象的接口,但是让子类去实例化具体类。工厂方法模式让类的实例化延迟到子类中。2、问题引出框架需要为多个应用提供标准化的架构模型,同时也要允许独立应用定义自己的域对象并对其进行实例化。3、解决办法工厂方法以模板方法的方式创建对象来解决上述问题。父类定义所有标准通用行为,然后将创建细节放到子类中实现并输出给客户端。 人们通常使用工厂模式作为创建对象的标准方式,但是在这些情况下不必使用工厂方法:实例化的类永远不会改变;或者实例化发生在子类可以轻易覆盖的操作中(比如初始化)。4、

2021-08-31 12:47:10 213

原创 PHP常用设计模式(2)简单工厂模式

PHP常用设计模式(2)简单工厂模式工厂模式,工厂方法或者类生成对象,而不是在代码中直接new。使用工厂模式,可以避免当改变某个类的名字或者方法之后,在调用这个类的所有的代码中都修改它的名字或者参数。如果某个类在很多的文件中都new ClassName(),那么万一这个类的名字发生变更或者参数发生变化,如果不使用工厂模式,就需要修改每一个PHP代码,使用了工厂模式之后,只需要修改工厂类或者方法就可以了先从简单工厂入门,不管是面试还是被他人面试,在问到设计模式的时候,大多数人都会提到工厂模式。毫

2021-08-31 12:23:54 97

原创 PHP命名空间和类的自动载入

PHP命名空间可以更好地组织代码,与Java中的包类似。Test1.php<?phpnamespace Test1;//命名空间Test1function test(){ echo __FILE__;}Test2.php<?phpnamespace Test2; //命名空间Test2function test(){ echo __FILE__;//打印当前文件所在的绝对路径。}Test.php<?phprequire 'Test1.php';

2021-08-31 11:02:23 189

翻译 深入php模式与对象第五版

参考文献:深入php模式与对象第五版

2021-08-23 15:14:51 283

转载 字符编码笔记:ASCII,Unicode 和 UTF-8

字符编码笔记:ASCII,Unicode 和 UTF-8

2021-08-18 18:13:40 98

原创 Golang Slice与数组的区别

array 类型array是固定长度的数组,使用前必须确定数组长度golang array 特点:golang中的数组是值类型,也就是说,如果你将一个数组赋值给另外一个数组,那么,实际上就是整个数组拷贝了一份如果golang中的数组作为函数的参数,那么实际传递的参数是一份数组的拷贝,而不是数组的指针array的长度也是Type的一部分,这样就说明[10]int和[20]int是不一样的。slice类型slice是一个引用类型,是一个动态的指向数组切片的指针。slice是一个不定长的,总是指向

2021-07-05 15:33:46 372

原创 php实现简单的二分查找

<?php// 待查找区间$arr = [1, 3, 7, 9, 11, 57, 63,55, 99];// 非递归查找57所在的位置$find_key = binary_search($arr,0,count($arr),3);echo('要查找的数索引位置是'.$find_key).PHP_EOL;echo('值是'.$arr[$find_key]);function binary_search($l,$a,$b,$x){ if($a>$b) reurn -

2021-05-28 20:43:47 407

原创 git如何恢复到指定版本和删除中间某次提交的内容

git 如何恢复到指定版本查看git的提交版本和id 拿到需要恢复的版本号    命令:git log     2. 恢复到指定版本    命令:git reset --hard 44f994dd8fc1e10c9ed557824cae50d1586d0cb3 //后面这一大串44f994dd8fc1e10c9ed557824cae50d1586d0cb3就是版本id   3. 强制push   命令:git push -f origin mastergit 删除某个中

2021-05-25 11:06:46 729

转载 不用crontab实现php 原生代码执行定时任务

<?php/*** * 不用crontab实现php 原生代码执行定时任务 * /usr/local/php/bin/php test.php * Class Timer */class Timer extends SplMinHeap{ /** * 比较根节点和新插入节点大小 * @param mixed $value1 * @param mixed $value2 * @return int */ protected

2021-05-17 18:05:22 216

原创 用脑要张弛有度,才能让大脑更高效地运转

你是否遇到过这种情况:看书学习到深夜,不住地打哈欠,勉强地支撑下去,可是到了第二天,怎么也回忆不起书上那些具体情节;连续训练几个小时,结果学习效率还是很低,甚至连基本的动作都没有学会……这说明你的大脑累了,它不想继续工作,你应该让脑子有劳有逸,有张有弛,学会有效地调节它。 怎么调节呢?比如,充分的睡眠,课间、课外的体育锻炼,娱乐活动都能使大脑得到休息和调节。切不要因为这些活动占了学习时间而舍不得,其实这样做提高了大脑的功率,使它高速、高效地运转,它会使你花一小时学习,取得两小时的学习效果。

2021-03-28 19:06:54 285 1

原创 善于改变思维方式的人,才更容易走向成功

随着年龄和阅历的增长,以及近来一直思考关于工作、学习、人生方面的问题,我渐渐从过往表面的一些理解中,发现人与人之间最本质的差别,其实是思维方式。 下面,我想结合自身的一些经历,谈谈看法。 **学习不是拼命蛮干,需要讲究策略和方法** 学习是一件需要天赋和努力的事,天赋因人而异,不可掌控,但努力的程度却是自己可以把握的。从小受到家人和老师的灌输、以及书本上各种“头悬梁、锥刺股”、“凿壁借光”等励志故事的宣传,我本人便深受这种思维模式影响的人,在学习上表现出十足的干劲,这种学习

2021-03-28 19:02:20 398

原创 大脑的四个黄金记忆时间段

心理学研究发现,一天当中,人通常有4个记忆的“黄金时段”,正在求学或是工作的朋友更应该知道大脑记忆的这些最佳时期,以便使你在学习或工作上取得事半功倍的效果。大脑记忆的第一黄金时段:6-7点钟这段时间,血压升高,心跳加快,体温上升,肾上腺皮质激素分泌开始增加,此时机体已经苏醒,想睡也睡不安稳了,此时是第一次最佳记忆时期。7点钟左右,肾上腺皮质激素的分泌进人高潮,体温上升,血液加速流动,免疫功能加强,因为大脑经过了一夜的休息,正处于工作效率的高峰。利用这一段时间学习一些难记但是又必须记住的东西比较适宜。

2021-03-28 18:56:14 1075

原创 计算机基础

二进制每8比特(即8位)构成一个字节,对于单字节的ASCII字符来说,8比特二进制值就能代表一个字符。而对于汉字这样的多字节字符,需要将其按字节切分,每个字节分别用8比特来表示。然而,多字节字符又涉及到不同的字符集编码,例如Unicode、UTF-8、GB18030等,不同的字符集对同一个多字节字符的编码可能不同,并且对其编码的字节数也可能不同。例如“中”字,Unicode使用4字节表示,UTF-8使用3字节,GB18030则使用2字节不同的编码表示。所以在汉字与二进制转换中需要考虑到字符的编码,通常,按照

2021-03-13 23:15:52 126

转载 位运算在 PHP 实际项目当中的运用

来回顾一下这些基础知识,同时也会讲位运算在 PHP 实际项目当中的高级技巧。一、位运算知识回顾PHP 手册当中,专门对位运算及位运算符进行了使用介绍。https://www.php.net/manual/zh/language.operators.bitwise.php按位与运算符:&之所以称为位运算,指的是在运算过程中,我们会把两组需要位运算的数值进行二进制化,然后两组二进制的数字从低位向左对齐。这里的位指的是二进制数字的位置。而按位与运算符指的是两组数值每一位相与,同为 1 则 结果

2021-02-20 17:30:44 186

原创 mysql 正则表达式 REGEXP匹配详解

# 类似select中Or功能, 匹配含有人一个字符的行SELECT goods_name,shop_price,goods_sn FROM goods WHERE shop_price REGEXP '58|68|20.00'; #匹配范围,匹配从5到8SELECT goods_id,goods_name,shop_price FROM goods WHERE goods_name REGEXP '[5-8]00';#匹配特殊字符,必须用\\前导SELECT goods_id,goods_na

2021-02-16 11:14:32 526

Lua代码规范-代码书写规范

本文仅描述了Lua程序代码开发中的有关规则,用于规范编程过程中的命名和代码书写规范。

2023-10-19

软考中级软件设计师错题整理.docx

已通过考试,来自个人手打总结,软考中级软件设计师错题整理

2021-08-27

wordpress在线客服插件

免费wordpress在线客服插件,插件地址:https://www.admin122.com/3715.html

2021-08-27

经济学基础知识大全.pdf

个人平时学习经济知识,推荐想投资的兄弟多看看

2021-08-27

DIVI主题wordpress整站带演示数据打包 自适应 拖拽式修改 大气企业外贸网站源码

演示地址:http://divi.admin122.com 某宝上价值10元的资源分享,DIVI主题wordpress整站带演示数据打包 自适应 拖拽式修改 大气企业外贸网站源码。

2020-09-09

php通过jquery 实现点击加载更多的实例代码

本人亲自测试过,直接可以用在项目中的

2017-06-29

php报名系统(界面不错哦)

php制作的在线报名系统,稍加修改就能用哈,感觉很不错。

2015-04-02

CodeIgniter2.1.4中文手册HTML离线版

CodeIgniter2.1.4中文手册HTML离线版,是目前最新版本的,本人亲测,完美使用。

2014-05-08

css完全参考手册3.0

css完全参考手册3.0

2014-03-23

2013年最新搜索引擎免费提交入口

2013年最新搜索引擎免费提交入口,做seo的朋友必备的东西。

2013-08-15

实现选项卡的css代码

实现选项卡的css代码,是作者本人这几年积累的好资源,欢迎童鞋们下载。

2013-08-15

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

TA关注的人

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