自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 为什么print语句被Python3遗弃?

早就被列在了不可靠的语言特性列表中,例如 Guido 的“Python 之悔”(Python Regrets)演讲【1】,并计划在 Python 3000 版本移除。因此,本 PEP 的目的并不新鲜,尽管它可能会在 Python 开发人员中引起较大争议。而在 Python 3 中变成了函数。在开发和维护python项目的时候发现经常有print语句报错,原因是python3放弃了print语句。print语句是一个创始人都后悔了的特性...所以在python3之后被改掉了。

2024-06-21 18:23:03 580

原创 php高级之框架源码、宏扩展原理与开发

类的方法不会显示地声明在代码里面,而是通过扩展的形式后续加进去,这么做的好处是可以降低代码的耦合度、保证源码的完整性。我自己看着框架源码实现了这个功能。其实原理就是利用了静态调用的魔术方法与匿名函数的bindTo方法实现了类与方法解藕的效果。以下是test.php,可以清晰的看明白匿名函数bindTo跟bind是怎么用的。在使用框架的时候我们经常会看到如下代码。

2024-06-06 16:35:10 360 1

原创 程序员必备素质

因为我以前因为代码没有注释、频繁提交代码,一个需求没有按照要求去rebase分支被上级挑刺了,一个项目久了,有非常多的人开发过,每个人的思路都不一样,注定会变成一坨屎山,没有清晰的注释真的很难受,并且也是很不负责的行为!我之前面试过java转php的程序员,非常让我火大,人家觉得php简单,java难,觉得php有手就行,所以来面php不敢去面java,结果问一些基本的问题都是一问三不知,这种人就是职业素养有问题,自己能力不行再怎么换泳池都是没用的。不懂的代码反复看,反复思考,总结自己的心得!

2024-06-04 15:07:14 339

原创 程序员应该有什么职业素养?10年经验程序员心得!

因为我以前因为代码没有注释、频繁提交代码,一个需求没有按照要求去rebase分支被上级挑刺了,一个项目久了,有非常多的人开发过,每个人的思路都不一样,注定会变成一坨屎山,没有清晰的注释真的很难受,并且也是很不负责的行为!我之前面试过java转php的程序员,非常让我火大,人家觉得php简单,java难,觉得php有手就行,所以来面php不敢去面java,结果问一些基本的问题都是一问三不知,这种人就是职业素养有问题,自己能力不行再怎么换泳池都是没用的。最高的自律享受孤独!你的工作是否对得起你拿的工资?

2024-06-04 14:59:40 759 1

原创 十年程序生涯心得

程序员改变了世界,这个世界却淘汰了程序员...愿程序员们都能被善待,都能上岸

2024-05-31 11:00:25 561

原创 rabbitmq的交换机类型以及他们的区别

Headers(头交换机):接收到消息后,会根据消息的headers属性来匹配交换机与队列的条件,忽略消息的routing key。Direct(直连交换机):接收到消息后,会将消息发送到与消息的routing key完全匹配的队列上。Topic(主题交换机):接收到消息后,会将消息发送到与消息的routing key匹配的队列上。Fanout(扇形交换机):接收到消息后,会将消息发送到所有与该交换机绑定的队列上,忽略消息的routing key。这四种交换机类型的区别在于消息的路由规则和匹配方式。

2024-05-29 20:38:29 696

原创 成为程序员后我都明白了什么?从入行到弃坑?

作为一个入行近10年的php程序员,真心感觉一切都才刚开始,对计算机,编程语言的理解也好,程序员中年危机也罢,之前都是听别人说的,真的自己到了这个水平,这个年龄才深刻体会到这其中的种种。 我一直觉得自己的水平应该还算可以,10年经验,基本保持自己每天处于学习状态,php方面除了业务代码,我还做过很多封装,运用各种设计模式,而且对于框架我都深入到源码的实现、composer包开发、c语言开发扩展等等。 聊一聊程序员的心路变化吧: 成为程序员

2024-05-25 23:01:59 1436

原创 TIMESTAMP之2038年

的取值范围是 '1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC。不过目前倒是不用担心这个问题,一些大厂都是使用的timestamp,到了2038年mysql软件自己可能会做优化兼容,不过也有可能需要我们自己去改成datetime类型?类型,它在 MySQL 中的取值范围是 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'。类型在不同的数据库系统中有着不同的存储上限。数据类型的存储上限。在 MySQL 中,

2024-05-24 01:00:00 499

原创 golang rune类型解析,与byte,string对比,以及应用

Golang中的rune类型是一个32位的整数类型,它是用来表示Unicode码点的。rune类型的值可以是任何合法的Unicode码点,它通常用来处理字符串中的单个字符。其实unicode与ascii都是字符串对应的计算机码用的,Unicode是为了补充ascii的不足(毕竟ascii码不包含中文)使用单引号表示的字符常量是一个rune类型的值。可以使用内置的len函数获取rune类型切片的长度,该长度表示字符串中的字符数量。需要注意的是,因为rune类型是一个整数类型,所以可以进行算术和逻辑操作。

2024-05-23 15:58:41 1126

原创 No composer.json present in the current directory (./composer.json), this may be the cause of the fo

这个错误表明Composer,PHP的依赖管理工具,正在尝试在当前目录中执行操作,但是没有找到。然后继续执行composer require。文件用于定义项目的依赖关系和其他配置。

2024-05-22 16:54:45 107

原创 go语言中的内存逃逸

内存逃逸(memory escape)是指在编写 Go 代码时,某些变量或数据的生命周期超出了其原始作用域的情况。当变量逃逸到函数外部或持续存在于堆上时,会导致内存分配的开销,从而对程序的性能产生负面影响。Go 编译器会进行逃逸分析,以确定哪些变量需要在堆上分配内存。下面将详细分析 Go 语言中的内存逃逸以及如何进行优化。

2024-05-22 10:27:33 749

原创 linux控制字符输出汇总

例如,要将文本设置为红色,只需要在需要设置的地方插入\033[31m,然后插入\033[0m即可恢复默认文本颜色。要保存和恢复光标位置,可以使用\033[s和\033[u。– \033[30m:设置文本颜色为黑色。– \033[31m:设置文本颜色为红色。– \033[32m:设置文本颜色为绿色。– \033[33m:设置文本颜色为黄色。– \033[34m:设置文本颜色为蓝色。– \033[35m:设置文本颜色为紫色。– \033[36m:设置文本颜色为青色。– \033[37m:设置文本颜色为白色。

2024-05-21 05:30:00 446

原创 go cli模式下覆盖模式输出,原生代码实现进度条功能

想要实现一个进度条效果,但是不希望终端输出的效果是逐行添加的。正常的php的index输出是递增的,

2024-05-20 16:40:10 85

原创 php cli模式下覆盖模式输出,原生代码实现进度条功能

想要实现一个进度条效果,但是不希望终端输出的效果是逐行添加的。正常的php的index输出是递增的,

2024-05-20 16:38:40 313

原创 mysql删除同一个表的重复数据代码示例

在日常工作中我们可能会插入重复数据,(可能是脚本重复执行或者提交没做去重等等原因),有时候我们只需要保留一条数据即可。

2024-05-20 14:37:48 68

原创 raise ImageNotFoundException # Raise PyAutoGUI‘s ImageNotFoundException

raise ImageNotFoundException 是一个自定义的异常抛出语句,通常在Python程序中出现图片未找到的情况时使用。这个异常是由 PyAutoGUI 库抛出的,PyAutoGUI 是一个用于控制鼠标和键盘的 Python 库,在使用其中的图片识别功能时,如果无法找到指定的图片,就会抛出这个异常。1.更新 PyAutoGUI 库。3.检查图片清晰度、尝试更换图片。4.使用try语法捕获异常。

2024-05-18 15:13:16 1019

原创 NotImplementedError: The confidence keyword argument is only available if OpenCV is installed

提示此错误是因为没有按照openCv。

2024-05-18 15:04:18 541

原创 linux根据进程名称杀死进程代码示例

在日常任务中我们需要查看进程、杀死一些不健康的进程,正常杀死进程ps -ef |grep “进程名称”,获取进程信息其中第二列pid(进程id),但是有大量的垃圾进程产生时我们需要批量删除进程,下面是代码示例。

2024-05-16 15:14:57 234

原创 MySQL not in不等于找不到null的数据

在使用MySQL的NOT IN语句时,如果找不到NULL值,可能是因为NULL值在比较中具有特殊性质。NULL值不等于任何其他值,包括它自己。因此,使用NOT IN语句时,如果列表中包含NULL值,则查询不会返回任何结果。解决此问题的方法之一是使用IS NULL或IS NOT NULL运算符来检查NULL值。这样可以确保NULL值被正确地包含或排除在结果中。

2024-05-15 11:17:24 827

原创 解释 RESTful API,以及如何使用它构建 web 应用程序

它将资源和操作以标准的 HTTP 方法和 URI 进行了抽象,使得开发和使用 web 应用程序变得更加简单和可扩展。设计 API:根据资源的 CRUD 操作(创建、读取、更新、删除),设计 API 的端点和方法。例如,使用 GET 方法来获取资源,POST 方法来创建资源,PUT 方法来更新资源,DELETE 方法来删除资源。RESTful API(Representational State Transfer API)是一种基于 HTTP 协议的规范,用于设计和构建 web 应用程序的 API 接口。

2024-05-15 10:14:16 884

原创 php之框架底层中间件模式开发实现、array_reduce的应用

众所周知php框架的中间件核心是通过array_reduce实现的。

2024-05-07 18:00:59 612

原创 php之基于amqp封装rabbitmq消息发送代码示例一对多发送任务消息

​原创的amqp原生封装rabbitmq框架代码示例,一对多发送任务消息,开箱即用、也可以在php框架里面使用可以兼容thinkphp、laravel、ci等任何框架代码使用与学习跳转github地址、打开链接有使用说明!!https。

2024-05-06 16:38:37 281 1

原创 微信JSAPI支付返回 “chooseWXPay:fail, the permission value is offline verifying“

微信开发者工具特有的报错,改用真机测试或者忽略错误。

2024-05-06 16:00:04 541

原创 laravel、tp等框架底层代码config方法实现示例

在php的laravel、tp框架中,普遍采用配置文件直接return数组的方式存放配置信息、日常的代码编写我们并不会这样做,其实核心代码很简单

2024-05-05 19:49:47 165

原创 laravel、tp等框架底层代码config方法实现示例

在php的laravel、tp框架中,普遍采用配置文件直接return数组的方式存放配置信息、日常的代码编写我们并不会这样做,其实核心代码很简单,只需要把include file赋值给变量即可。//调用config目录下的config.php里面的database数组。

2024-05-05 19:48:40 159

原创 laravel、tp等框架底层代码config方法实现示例

在php的laravel、tp框架中,普遍采用配置文件直接return数组的方式存放配置信息、日常的代码编写我们并不会这样做,其实核心代码很简单,只需要把include file赋值给变量即可。

2024-05-05 19:44:10 109

原创 php之基于amqp封装rabbitmq消息发送代码示例

可以兼容thinkphp、laravel、ci等任何框架。原创的amqp封装rabbitmq框架代码示例。

2024-05-04 20:33:33 448 1

原创 docker安装rabbitmq

访问地址http://127.0.0.1:15672。

2024-05-04 20:08:52 384

原创 fatal: fetch-pack: invalid index-pack output

解决方案:git clone --depth=1 要克隆的git地址 下载最近一次提交的代码 其他分支的内容都不下载 这样整体下载体量就变小了。执行命令:git clone --depth 1。

2024-05-04 14:14:46 802

原创 php之鸡肋的goto应用

此处的dump(b)和dump(d), php代码其实绕过了dump(b)和goto WORK2;但是WORK2的代码块又被默认执行了。此处的goto效果其实等与break 3;多层循环跳出goto是个很好的选择。复杂条件的if,else也可以选择用goto优化,代码会比较清晰。看起来高大上、用得好可以提升代码可读性、使代码看起来更加优雅。通过示例代码可以窥探goto的代码运行机制。

2024-05-02 10:12:54 483

原创 PHP ASCII码的字符串用mb_convert_encoding 转utf-8之后不生效

检测数据类型是ascii,转码之后再检测还是utf-8没生效### 1、mb_detect_encoding — 检测字符的编码说明检测字符串 str 的编码。

2024-04-30 18:10:01 1066

原创 使用guzzle上传媒体文件类型数据代码示例

错误1:media data missing hint: [Gb9j4a0839w752]错误2:Invalid resource type: array。php使用guzzle正确上传腾讯上传媒体文件类型数据代码示例。

2024-04-30 15:36:41 209 3

原创 面试经常问到之redis到底有多少数据类型?

10.hyperloglog(基数统计)7.geospatial(地理)9.bitfield(位域)1.string(字符串)5.zset(有序集合)8.bitmap(位图)基础类型5种、扩展五种。6.stream(流)2.hash(哈希)3.list(列表)

2024-04-30 10:48:09 165

原创 php二维数组去重代码

array_unique代码只能一纬数组去重。实际工作中我们经常需要二维数组去重复。以下分享一下二维数组去重代码。

2024-04-30 09:27:41 188

原创 npm install 时出现 “npm ERR! code CERT_HAS_EXPIRED

3.删除系统用户目录下.npmrc和.yarnrc文件,以及修改.vuerc文件(如果有的话——>"useTaobaoRegistry": true)2.修改镜像(管理员运行命令行):npm config set registry https://registry.npmmirror.com。1.清空缓存:npm cache clean --force。官方域名npm.taobao.org弃用。查了有关资料发现是淘宝镜像切换,过期了。4.重新运行:npm install。切换一下npm镜像即可。

2024-04-29 16:33:34 86

原创 微信公众号、微信开发平台踩坑——errcode=61004

微信公众号、微信开发平台踩坑——errcode=61004解决方案。2.微信公众号后台授权第三方应用需要添加对应的白名单配置。1.微信公众号后台开发白名单配置。

2024-04-29 12:30:19 292

原创 Redis之字符串类型深入之SDS底层结构

众所周知c语言获取字符串长度的函数是strlen(char),这个函数的时间复杂度是O(N),本质其实就是一个循环,redis在结构体里定义了字符串长度属性,可以直接获取len,大大提高了效率!这是我网上早的sds最早的原型代码、新版本为了更好的控制内存使用了多种结构体不同的类型来记录数据,并用一个字节的三个位来表示结构体类型,如果大量使用短小字符串的话,节省下来的内存也是比较可观的。sds翻译过来就是动态扩容、先看一下最早版本redis的sds结构体。sds结构体的生命包含了free、len,

2024-04-29 09:47:04 452

原创 使用nginx的rewrite做一个镜像网站

老板需求想搞一个官网、然后有目标的抄袭网站、正常的做法需要迁移的东西非常的多,使用nginx的rewrite功能可以迅速的做一个静态网站的镜像**

2024-04-28 11:35:06 224

原创 mac自定义快捷键打开系统应用

最终效果是达成alt+t打开item2。

2024-04-28 09:40:58 383

原创 Redis之“不靠谱“的hyperLogLog,误差实测,实战中碰到的BUG深度解析

这段代码收集2000个用户从最开始的半天到后面需要5天,问题开始变得明显了,于是排查代码怀疑是HyperLogLog的问题,去redis的cli执行一下相关命令发现果然是hll的问题。可见hll的pfadd并不会每次增加uv都返回成功,因为pfadd到一定的基数才会去改变整个hll的近似基数,从而保证整体的hll的误差概率在0.83%比如我pfcount可能到达了10万,但是10万的0.83%就是830,这个时候我需要pfadd 831个才有可能返回true,从而改变整体的基数近似值。

2024-04-26 13:06:15 2025 1

空空如也

空空如也

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

TA关注的人

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