自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (4)
  • 收藏
  • 关注

原创 PHPSpreadsheet自封装类库讲解文档2.0

还记得《PHPSpreadsheet自封装类库讲解文档》这篇文章吗?近些日子笔者为了满足公司项目需求,将“PHPSpreadsheet自封装类库2.0”做出来啦,在对导出excel功能进行完善外,着重点放在导入excel(获取excel表格数据上)大致功能如下:1. 读取上传/本地文件2. 数据列名格式化3. 筛选特定格式单元格数据4. 修改器 formatter(含内置转换功能)5. 多种获取数据方法

2020-09-27 17:14:17 1336

原创 查询无限级/三级分销的简单易用SQL

三级分销已是一个越来越常见的需求。如何去获取到分销商的下级?如何去获取上级分销商?这里提供几条sql语句,无需创建存储过程/函数,简单易用。

2020-07-13 15:36:25 5435 3

原创 PHPSpreadsheet自封装类库讲解文档

数据导出到excel是日常开发最常见的功能了,如果每一个数据导出都要写一堆难看的代码,那未免太耗时耗力。这里本人封装了一个导出数据到excel的类库,支持大数据导出、多种样式简单实用,写法简单,类库在composer中。这里主要进行使用及文档讲解。

2020-07-09 15:59:48 2548

原创 grpc+http服务器搭建

《[grpc-gateway使用教程](https://www.cnblogs.com/cxt618/p/15647316.html)》中已有现成的grpc+https服务器搭建教程&源码,但基于爱搞事情的心态,就是不想用TLS,应该怎么处理?详见本文

2022-02-27 13:57:09 2820 2

原创 HTTP如何“自加S“来安全传输数据?

怎么保证数据在HTTP下的传输保证安全?虽然本文所讲的安全通信实践并不完善,但也好过裸奔,有兴趣的话就来看看吧~可用场景:n个客户端对某些固定服务端的HTTP安全通信

2021-09-13 00:10:51 1076

原创 浏览器调用服务端传输的js脚本

index.html内容如下:<html lang="HTML5"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Run JavaScript Server</title> <script type="text/javascript"> //请求服务端的test.php,执行

2021-09-12 21:38:55 385

原创 PhpStorm插件推荐——个人觉得还不赖

推荐几款实用的PhpStorm插件,拒绝花里胡哨,从提高生产率开始

2021-08-02 22:26:11 11390 3

转载 5 个不常提及的 HTML 技巧

Web开发人员都在广泛的使用HTML。无论你使用什么框架或者选择哪个后端语言,框架在变,但是HTML始终如一。尽管被广泛使用,但还是有一些标签或者属性是大部分开发者不熟知的。虽然现在有很多的模版引擎供我们使用,但是我们还是需要尽可能的熟练掌握HTML内容,就像CSS一样。在我看来,最好尽可能使用HTML特性来实现我们的功能,而不是使用JavaScript实现相同的功能,尽管我承认编写HTML可能会是重复的和无聊的。尽管许多开发人员每天都在使用HTML,但他们并没有尝试改进自己的项目,也没有真正利用HTM

2021-07-15 23:45:13 62

原创 踩坑原生php函数imagecreatefromstring

原生php函数`imagecreatefromstring`竟然还有这种“坑”

2021-06-27 15:01:07 2116 2

原创 Go切片多重排序

使用sort库的Slice方法,可根据切片内的元素的类型/结构对其进行自定义排序

2021-04-10 11:54:18 976

原创 TP5自定义解析属性的几种方式

使用TP5开发时,如果要获取列表中的数据,而又需要根据某些字段来变化查询出的结果时,如获取用户的性别,但又不想暴露原先的字段内容。使用TP5的常见解决方法有以下几种

2021-04-05 21:28:04 448

原创 TP5如何实现yii2的filterWhere

为什么要filterWhere使用TP5开发时,当遇到获取数据库数据,需要筛选前端传输的筛选项时,你的代码会不会类似下面这样?$searchId = Request::get('id', null); //用户ID$searchName = Request::get('name', ''); //用户名称$searchSexArr = Request::get('sex', [0, .

2021-03-28 22:58:32 332

原创 Go使用内嵌类型实现额外保护——以防盗门示例

Go语言支持用户自定义类型,而自定义类型中还可以再嵌入其他自定义的类型,被嵌入的类型被称为“内嵌类型/内部类型”,而嵌入内部类型的就被成为“外部类型”。通过嵌入类型,与内部类型相关的字段、方法、标识符等都会被外部类型所拥有,就像外部类型自己的一样,这样就达到了代码快捷复用组合的目的。然而 内嵌类型的存在,也让 共享pkg包中某个类型值,但禁止对该类型值进行复制(创建新地址、重新指向),仅以共享的方式传递 成为可能。 这句总结可以说是十分抽象。下面将防盗门的使用这一常见场景来进行示例讲解:一、需求分析

2021-02-10 12:04:15 267

原创 怎样选择适合你的MySQL事务隔离级别

事务隔离是指一个事务所做的修改,对另一个事务的可见性。如果事务与事务之间不进行隔离,那么就会导致数据读取中的一些问题:脏读、不可重复读、幻读。mysql的四种事务隔离级别,帮助你理解和解决遇到这一些问题,来看看适合你业务的事务隔离级别是什么吧!

2020-10-28 22:06:26 802

原创 图片自适应平铺

显示图片是一个前端最常见的功能,但是总是写图片适应大小好烦人哦,使用下面的样式,记录留底。

2020-10-16 14:15:58 1104 1

原创 原生PHP获取.env文件的值

羡慕TP、Laravel等框架简单的获取.env环境配置参数?原生PHP框架获取麻烦?教你composer简单解决!

2020-10-15 16:59:41 3034 1

原创 Docker部署RabbitMQ+PHP配置使用

本文提供docker部署rabbitMQ的简易教程,同时包含rabbitMQ在PHP中的配置使用方法

2020-10-10 15:35:16 884

转载 RabbitMQ+PHP入门教程

RabbitMQ是一个消息代理器:它接受和转发消息。你可以把它当作一个邮局:当你把邮件放在信箱里时,你可以肯定邮差先生最终会把邮件送到你的收件人那里。在这个比喻中,RabbitMQ就是这里的邮箱,邮局和邮差。

2020-10-10 15:02:11 1864 1

原创 Go数组切片小知识解析

Go Lang中,数组并不难理解,但切片却不仅仅只是一个数组片段,你知道它隐藏的功能吗?切片和数组之前到底有什么关系呢?打基础小知识,实践出真理。

2020-09-09 16:11:23 1239 2

原创 制作并发布属于你的 Composer 包

Composer 是 PHP 用来管理依赖关系的重要工具。一个合格的程序员肯定得学会使用别人提供的包,但也应掌握制作和分享自己的软件包的方法,下文将详细讲述如何创建一个自己的 Composer 包。

2020-09-08 14:30:30 1638 2

原创 Fiddler抓取https失败443-CONNECT连接解决方法

使用模拟器时利用Fiddler进行抓包,之前http请求都好好的没有丝毫问题,结果一遇到https请求,就连接失败了。本文从三个方面分析原因,并提供完整的解决方法

2020-08-26 14:17:26 22349 1

原创 每日算法-13 猜数字游戏

题目:你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下:你写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个提示,告诉他的猜测数字中有多少位属于数字和确切位置都猜对了(称为“Bulls”, 公牛),有多少位属于数字猜对了但是位置不对(称为“Cows”, 奶牛)。朋友根据提示继续猜,直到猜出秘密数字。请写出一个根据秘密数字和朋友的猜测数返回提示的函数,返回字符串的格式为 xAyB ,x 和 y 都是数字,A 表示公牛,用 B 表示奶牛。xA 表示

2020-08-24 09:48:27 2747

原创 每日算法-12 单词规律

题目:给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = “abba”, str = “dog cat cat dog”输出: true示例 2:输入:pattern = “abba”, str = “dog cat cat fish”输出: false示例 3:输入: pattern = “

2020-08-24 09:46:11 118

原创 浏览器调试css后,如何快速保存自己的修改?

有时候样式不合心意,想要直接在浏览器中调试一下,直接看清效果。调试是方便了,可是刚才改了哪些样式?东找找西找找,是不是还有什么遗漏的?下面来提供一种方便保存自己修改css的内容,告别记忆时代

2020-08-05 14:53:11 8710

原创 十大经典排序算法解析及优化

在上篇文章《十大经典排序算法(动图演示)》中,已经能够了解各种排序算法的思想逻辑,虽然其中提供了代码,但对其解析却并不够全面,而且使用的是js来进行编写演示。本人根据其上代码转换为PHP,并对其代码进行深入解析,并提供相应的优化方法/思路。因此,本文中重点看的不是内容不是代码,而是代码注释。希望能够帮助大家更好地理解各排序算法的编码思路,掌握算法的各种基本方法。

2020-08-05 11:53:52 1655

转载 十大经典排序算法(动图演示)

0、算法概述0.1 算法分类十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。0.2 算法复杂度0.3 相关概念稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。不稳定:如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面。

2020-08-03 10:58:07 261

转载 让你的yum加速起来

很多时候,linux从yum上安装源总是无比的慢,没办法,因为都是国外的。这里讲一个配置国内 yum (网易163)源的简单方式。

2020-07-24 16:16:32 2299 1

原创 每日算法-11 杨辉三角II

问题给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]进阶:你可以优化你的算法到 O(k) 空间复杂度吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/pascals-triangle-ii分析这道题跟昨天做的题“每日算法-10 杨辉三角”差异其实不大,区别在于:index为0时,取的是第1行数据[1],index

2020-07-21 11:53:25 280 1

原创 GROUP BY获得各组中时间最大的记录集 - 辟谣亲测版

总有那些个需求,想要group by分组数据,但又想规定获取其中某个条件最大/最小的数据。这里提供网上整理得出的一种方法, 亲测有效!

2020-07-20 16:20:58 1776 2

原创 每日算法-10 杨辉三角

问题给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/pascals-triangle分析首先,第一行和第二行,可以直接返回结果,规律从第3行开始如果i=3,那么第[0]个元素肯定是1,

2020-07-20 15:19:25 260

原创 前后端分离交互安全-非对称秘钥实现的理解总结

看到大神的一篇博文,对其动态密钥的获取的描述存在一些迷惑,理解总结后,记录下这篇博文。

2020-07-15 18:09:07 1023 2

原创 每日算法-9 环形列表

问题给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:true解释:链表中有一个环,其尾部连接到第一个节点。示例 3:输入:head = [1], pos =

2020-07-13 11:43:50 805

原创 每日算法-8 最大子序和

问题给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-subarray解法:贪心算法解析:按照顺序,数进行累加,而如果累加之后的当前数小于0,负数的加入必将导致和不是最大,那么直接将之前

2020-07-10 16:17:34 253

原创 每日算法-7 爬楼梯

爬楼梯(类斐波那契数列)题型,这里记录总结4种解法:1. 递归法2. 动态规划法3. 矩阵法4. 通项公式法

2020-07-03 17:12:27 4470 1

原创 第二高的薪水 & 第N高的薪水

问题一:编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。Employee 表IdSalary110022003300例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。查询结果:SecondHighestSalary200来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble

2020-07-02 17:12:21 1480

原创 每日算法-6 外观数列

问题给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。注意:整数序列中的每一项将表示为一个字符串。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:第n项外观数列说明11第一项是数字 1211描述前一项,这个数是 1 即 “一个 1 ”,记作 11321描述前一项,这个数是 11 即 “两个 1 ” ,记作 2141211描述前一项,这个数是 21 即 “一个 2 一个 1 ” ,记

2020-07-02 16:38:28 295

原创 每日算法-5 有效的括号

问题:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)]”输出: false示例 5:输入: “{[]}”输出: true来源:力扣(LeetCo

2020-06-29 15:09:26 182

原创 每日算法-4 最长公共前缀

问题:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-common-prefix解法:一、纵

2020-06-28 11:05:23 190

转载 为什么Mongodb索引用B树,而MySQL用B+树?

以下文章来源于孤独烟 ,作者孤独烟孤独烟说java,用来分享行业内的java技术和架构!引言今天讲的这个主题,是《面试官:谈谈你对mysql索引的认识》,里头提到的一个坑。也就是说,如果面试官问的是,为什么Mysql中Innodb的索引结构采取B+树?这个问题时,给自己留一条后路,不要把B树喷的一文不值。因为网上有些答案是说,B树不适合做文件存储系统的索引结构。如果按照那种答法,自己就给自己挖了一个坑,很难收场。因此,就有了这篇文章的诞生~正文这里的Mysql指的是Innodb的存储引擎下的.

2020-06-24 17:40:55 223

原创 每日算法-3 罗马数字转整数

问题:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I1V5X10L50C100D500M1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数

2020-06-24 14:44:32 279

rabbitmq+PHP教程代码.rar

rabbitmq+PHP教程代码,学习rabbitMQ第一步,添加友好注释,方便学习,实际代码巩固所学知识

2020-10-10

bootstrap3插件-时间范围自定义选择器DateRangePicker.zip

基于bootstrap3的时间范围选择插件,长得还挺好看的,可以自定义左侧时间范围选择,方便使用,内有demo

2020-07-21

fast_verify.rar

图片验证码好用吗?睁大眼睛都看不清?快来试试滑动验证码吧,只要把滑块挪到相应位置,即可快捷登录!而且安全有保障!

2020-07-17

dropbox.css

当前Typora中的dropbox主题下载地址为空,这里为执着的小伙伴提供一个免费下载路径。下载完成后,将文件放置在Typora的themes目录(C:\Users\用户名\AppData\Roaming\Typora\themes)下即可。

2020-06-16

空空如也

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

TA关注的人

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