自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FishTail

一条鱼尾巴

  • 博客(23)
  • 收藏
  • 关注

原创 C语言 Socket Demo

C语言 Socket Demo

2022-11-12 11:53:35 461 1

原创 ImGo Golang 图片处理库

ImGo Golang 图片处理

2022-06-21 17:11:44 1421 1

原创 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 749

原创 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 486

原创 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 90

原创 通过实例来理解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 331

原创 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 792 4

原创 PHPStorm 的动态模板

PHPStorm 的动态模板概述PHPStorm 中有个功能叫 Live templates ,翻译成中文就叫做动态模板或实时模板。这个功能 PHPer 们肯定或多或少都用过,只是不知道而已。接下来我给大家讲一讲动态模板是什么,以及如何自定义动态模板。动态模板可以让你快速的插入常用或自定义代码结构到你的代码文件中,也就是能够让你输入几个关键字,就能出来整个代码结构。如何使用?动态模板的设置位置在File -> Settings -> Editor -> Live Templat

2021-03-28 22:39:51 812

原创 三种方法解决最长公共前缀问题

最长公共前缀问题来自力扣:https://leetcode-cn.com/problems/longest-common-prefix/最大最小字符串法按照字典序给整个数组排序,最大字符串和最小字符串的公共前缀就是整个数组的公共前缀。/** * 最大最小字符串法 * @param String[] $strs * @return String */function longestCommonPrefix1($strs){ //有一个元素是空字符串 foreach ($s

2020-09-25 00:49:26 779

原创 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 707

原创 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 119

原创 在 Laravel 中使用 Redis 锁解决缓存击穿问题

缓存击穿是开发中可能会遇到的问题:缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。Redis锁是解决缓存击穿问题的一个很好的办法。Laravel 7 中自带有 \Illuminate\Cache\RedisLock Redis锁类,直接使用就行,用起来也很方便。RedisLock 的构造函数如下:/** * @param \Illuminate\Redis\Connec

2020-09-13 18:24:03 1564

原创 JS点击复制文字

JS点击复制文字<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>JS点击复制文字Demo</title> <script> function copyText(message) { ...

2020-04-11 15:38:22 134

原创 PHP生成缩略图

PHP生成缩略图/** * 生成缩略图 * * @author wenyu * @param string 源图绝对完整地址{带文件名及后缀名} * @param string 目标图绝对完整地址{带文件名及后缀名} * @param int 缩略图宽{值设为0时目标高度不能为0,目标宽度为源图宽*(目标高度/源图高)} * @param...

2020-04-07 18:30:42 155

原创 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 96

原创 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 1341

原创 PHP递归删除一个文件夹以及里面的所有文件

PHP删除一个文件夹以及里面的文件/** * 删除一个文件夹以及里面的文件 * * @param string|array $path 需要删除的文件夹路径,可以用一个数组存储多个路径 * @param boolean $delDir 是否需要删除文件夹 * @return boolean 是否删除成功 */function actionDelDirAndFile($path, ...

2020-03-06 15:20:48 167

原创 PHP用自己服务器代理显示一张网络图片

PHP用自己服务器代理显示一张网络图片在自己服务器显示一张别人服务器上的图片的时候,经常会出现跨域问题或者别人服务器设置了防盗链,导致图片不能正常显示,可以用以下函数显示一张网络图片,加上referer防止防盗链。/** * 用自己服务器代理显示一张网络图片 * @param string $url 图片的地址,该url是否经过urlcode编码均可 * @return binary 图...

2020-02-27 11:03:02 801

原创 优雅地使用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 831

原创 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 900

原创 PHP获取数组的值的函数 getValue 避免Notice

PHP获取数组的值函数 getValue 避免Notice在写代码过程中,经常会遇到取了一个数组的不存在的下标的值的情况,例如下列代码:<?$array = [ 'foo' => [ 'bar' => new User(), ]];$value = $array['a'];会产生如下的Notice:Notice: Undefined...

2020-01-15 12:57:35 991

原创 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 2737

原创 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 4370 4

空空如也

空空如也

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

TA关注的人

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