- 博客(23)
- 收藏
- 关注
原创 Golang 中的大顶堆或小顶堆
Golang 中没有提供可直接使用的大顶堆或小顶堆,需要自己去实现 container/heap 包中的 heap.Interface 接口才能实现,具体如下。package mainimport ( "container/heap" "fmt")type IntHeap []intfunc (h IntHeap) Len() int { return len(h) }func (h IntHeap) Swap(i, j int) { h[i]
2022-05-21 17:53:12
842
原创 Golang 生成压缩包
package mainimport ( "archive/zip" "fmt" "io/ioutil" "os")func main() { //创建zip文件 fZip, _ := os.Create("myzip.zip") zipWriter := zip.NewWriter(fZip) defer zipWriter.Close() //在压缩包中创建一个文件 fileOnZip, err := zipWr
2022-05-12 18:09:02
529
原创 PHP实现排序算法
一、冒泡排序/** * 冒泡排序 * @param array $arr */function bubbleSort(array &$arr){ $len = count($arr); for ($i = 0; $i < $len - 1; $i++) { for ($j = 0; $j < $len - $i - 1; $j++) { if ($arr[$j] > $arr[$j + 1]) {
2021-09-02 17:45:18
129
原创 通过实例来理解MySQL事务隔离级别
文章目录一、事务(Transaction)二、事务管理(ACID)1. 原子性(Atomicity)2. 一致性(Consistency)3. 隔离性(Isolation)4. 持久性(Durability)三、事务的并发问题1. 脏读(Dirty Read)2. 不可重复读(Unrepeatable Read)3. 幻读(Phantom Problem)四、事务隔离级别1. 读未提交(Read Uncommitted)2. 读已提交(Read Committed)2. 可重复读(Repeatable Re
2021-08-31 16:21:53
369
原创 Nginx图片防盗链
Nginx图片防盗链文章目录Nginx图片防盗链防盗链概念通过Referer实现图片防盗链防盗链概念某网站的图片等资源只有指定一些站点或者IP可以访问,不允许其它站点访问。通过Referer实现图片防盗链打开nginx.conf,配置location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${ valid_referers none blocked server_names test.com; if ($invalid_referer){ r
2021-04-05 22:23:52
893
4
原创 PHPStorm 的动态模板
PHPStorm 的动态模板概述PHPStorm 中有个功能叫 Live templates ,翻译成中文就叫做动态模板或实时模板。这个功能 PHPer 们肯定或多或少都用过,只是不知道而已。接下来我给大家讲一讲动态模板是什么,以及如何自定义动态模板。动态模板可以让你快速的插入常用或自定义代码结构到你的代码文件中,也就是能够让你输入几个关键字,就能出来整个代码结构。如何使用?动态模板的设置位置在File -> Settings -> Editor -> Live Templat
2021-03-28 22:39:51
1003
原创 三种方法解决最长公共前缀问题
最长公共前缀问题来自力扣:https://leetcode-cn.com/problems/longest-common-prefix/最大最小字符串法按照字典序给整个数组排序,最大字符串和最小字符串的公共前缀就是整个数组的公共前缀。/** * 最大最小字符串法 * @param String[] $strs * @return String */function longestCommonPrefix1($strs){ //有一个元素是空字符串 foreach ($s
2020-09-25 00:49:26
838
原创 PHP 生成器 yield 读取大文件
有一个有100多万行的文本文件,大小1.15 MB。使用 file_get_contents 一次性读取文件到内存echo memory_get_usage() . PHP_EOL;$txt = file_get_contents("./1.txt");echo memory_get_usage() . PHP_EOL;输出:$ php 1.php4011681617824备注:memory_get_usage方法返回当前分配给你的 PHP 脚本的内存量,单位是字节(byte)。
2020-09-24 15:45:07
772
原创 PHP实现二分查找
/** * @param array $nums * @param int $target * @return int */function binarySearch(array $nums, int $target){ $len = count($nums); if ($len) return -1; $left = 0; $right = $len - 1; while ($left <= $right) { $mid = int
2020-09-21 22:20:48
149
原创 在 Laravel 中使用 Redis 锁解决缓存击穿问题
缓存击穿是开发中可能会遇到的问题:缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。Redis锁是解决缓存击穿问题的一个很好的办法。Laravel 7 中自带有 \Illuminate\Cache\RedisLock Redis锁类,直接使用就行,用起来也很方便。RedisLock 的构造函数如下:/** * @param \Illuminate\Redis\Connec
2020-09-13 18:24:03
1694
原创 JS点击复制文字
JS点击复制文字<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>JS点击复制文字Demo</title> <script> function copyText(message) { ...
2020-04-11 15:38:22
167
原创 PHP生成缩略图
PHP生成缩略图/** * 生成缩略图 * * @author wenyu * @param string 源图绝对完整地址{带文件名及后缀名} * @param string 目标图绝对完整地址{带文件名及后缀名} * @param int 缩略图宽{值设为0时目标高度不能为0,目标宽度为源图宽*(目标高度/源图高)} * @param...
2020-04-07 18:30:42
194
原创 PHP实现快速排序
<?php/** * 快速排序 * @param array $arr 待排序数组 * @param int $left 待排序数组的最左边的下标 * @param int $right 待排序数组的最右边的下标 */function quickSort(&$arr,$left,$right){ if($left<$right){ $ind...
2020-03-29 23:19:02
117
原创 PHP中文转拼音
PHP中文转拼音<?phpclass Pinyin{ protected $pinyin = array( "A" => array(59371, 41648, 50400, 33157, 41392, 18661, 47599), "Ai" => array(19697, 32178, 35504, 36856, 20712, 25...
2020-03-12 14:13:05
2124
原创 PHP递归删除一个文件夹以及里面的所有文件
PHP删除一个文件夹以及里面的文件/** * 删除一个文件夹以及里面的文件 * * @param string|array $path 需要删除的文件夹路径,可以用一个数组存储多个路径 * @param boolean $delDir 是否需要删除文件夹 * @return boolean 是否删除成功 */function actionDelDirAndFile($path, ...
2020-03-06 15:20:48
201
原创 PHP用自己服务器代理显示一张网络图片
PHP用自己服务器代理显示一张网络图片在自己服务器显示一张别人服务器上的图片的时候,经常会出现跨域问题或者别人服务器设置了防盗链,导致图片不能正常显示,可以用以下函数显示一张网络图片,加上referer防止防盗链。/** * 用自己服务器代理显示一张网络图片 * @param string $url 图片的地址,该url是否经过urlcode编码均可 * @return binary 图...
2020-02-27 11:03:02
840
原创 优雅地使用GET和POST请求方法
PHP封装GET和POST请求方法在做PHP爬虫时经常会用上GET和POST请求方法,使用封装好的方法会方便很多。/** * GET请求方法 * @param string $url 请求的url * @param string $header 请求头数据 * @param string $cookie 请求cookies * @param string $returnCookie...
2020-02-27 11:01:38
856
原创 PHP获取一张图片的主要颜色
获取一张图片的主要颜色<?phpecho getMainColor('https://cn.bing.com/th?id=OHR.AbuSimbelSunFest_EN-CN8625936842_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp');//输出rgb(103, 54, 12)echo getMainColor...
2020-02-23 22:31:36
1015
原创 PHP获取数组的值的函数 getValue 避免Notice
PHP获取数组的值函数 getValue 避免Notice在写代码过程中,经常会遇到取了一个数组的不存在的下标的值的情况,例如下列代码:<?$array = [ 'foo' => [ 'bar' => new User(), ]];$value = $array['a'];会产生如下的Notice:Notice: Undefined...
2020-01-15 12:57:35
1052
原创 PHP压缩图片到指定的KB
PHP压缩图片到指定的KB原理:用到的主要是imagejpeg()方法,官方文档:https://www.php.net/manual/en/function.imagejpeg.phpfunction imagejpeg($image, $filename = null, $quality = null) { }参数:image由图象创建函数(例如imagecreatetrueco...
2020-01-12 22:07:18
2887
原创 Python3.7.2使用web.py报错解决办法
python3.7.2使用web.py报错解决办法首先请确保使用pip install web.py==0.40-dev1安装web.py。运行官网实例:import web urls = ( '/(.*)', 'hello')app = web.application(urls, globals())class hello: ...
2019-01-10 12:02:37
4479
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人