自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ❤️一文掌握HTML+CSS+JS开发小说阅读器❤️

上周《让CSS3中Transform属性带你一文实现炫酷的转盘抽奖效果》博文中说到这周出一篇介绍小说阅读器开发的博文,可能是离职不上班的原因,在家变得也懒散了一些,本来是打算上周三时候动手开发的,一直拖到了昨天才开始开发,花了快一天的时间才把主要的功能实现完,演示效果如下: ❤️一文掌握HTML+CSS+JS开发小说阅读器【仿微信读书及起点读书阅读器】❤️ 下面主要分四个部分介绍小说阅读

2021-09-06 11:52:05 6353 24

原创 让CSS3中Transform属性带你一文实现炫酷的转盘抽奖效果

前端时间有个需求是客户端双端APP内嵌入整个转盘抽奖的web子系统,具体是要在后台能够控制大转盘抽奖的奖项数,和用户免费抽奖的次数,并且免费抽奖使用完,用户可以观看广告进行抽奖或使用积分抽奖。正好最近有空,出了这篇教程,解析转盘抽奖的实现过程。此子系统整体开发的话由我负责,其中前端技术:H5+CSS3+JS;后端技术:YII2+Redis。转盘演示视频效果如下所示: 让CSS3中Transform属性带你一文实现炫酷的

2021-08-30 18:53:56 1929 13

原创 vue实现简易流程图

这是最终实现的效果总体的思路是,定义一个变量,通过循环该变量来渲染流程图。然后将该流程图文件封装成一个组件,父组件只需要按照要求格式定义好变量结构和值,然后传值给子组件。父组件传值变量结构如图:如图2,process为要定义的变量,该变量为对象类型,每一个值为对应图1的一行,一行多个值的话,需要在list增加多个数据。process变量结构含义:process: [ { num: // 代表当前区块数量,及一行要展示小方块的数量 list: [ { // 定义区块内容

2021-06-09 20:39:19 27792 32

原创 centos中安装宝塔初次访问链接访问失败

在安装完宝塔后,使用bt default会出现访问链接,在浏览器内访问提示出错,这是因为链接有https,关闭宝塔面板访问的ssl协议就行了。输入:26 就关闭了面板的ssl,刷新页面就可以了。

2024-05-22 23:38:05 391

原创 Sphinx进行精确查询及模糊查询排除关键词

上篇有讲解使用Redis处理大批次查询,来预防内存耗尽方案,如果只是关键词查询没有其它筛选条件的话还好,如果加上筛选条件和其它问题的话,就不能满足查询了,所以就想使用sphinx来实现。,该模式扩展匹配模式允许使用一些像mysql的条件语句 $sphinx->SetMatchMode(SPH_MATCH_EXTENDED2);主要是设置sphinx的匹配模式,模式设置为。二、模糊查询排除关键词。

2023-07-06 19:45:00 795 1

原创 Redis进行大批量数据查询,预防内存耗尽处理方案

在最近的需求开发中,有个需求是要拿一批词【每个作品对应的词不同,大概1000个左右】去另一批词进行匹配查询【数据是动态的,更新不频繁,大概有3w个词】,考虑到速度和性能的影响,不能每次查询都走mysql,所以结合Redis进行开发,下面开发及优化的过程:

2023-06-13 18:00:49 982

原创 laravel中AppServiceProvider在负载均衡服务中request()->ip()获取不到用户真实IP

在项目中,想根据IP做一些限制访问功能,然后想着在AppServiceProvider中实现,使用request()-ip()获取用户真实IP,因为我们的项目线上是负载均衡的架构,所以在TrustProxies配置了此应用的信任代理.

2023-06-10 19:00:00 622

原创 EasyExcel读取大文件超时问题-分块读取

今天遇到反馈说excel读取失败,然后看了下上传的文件中有6w多行数据,导致请求超时和内存溢出问题,然后就去官网看了有没有解决方案,发现了分块读取方法,设置每次读取条目,进行读取,增加接口的请求时长,最终解决了这个问题。

2023-05-31 18:35:58 1107

原创 Redis提示MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on

redis提示:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commandsthat may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshottingfails (st

2023-04-18 20:00:00 712

原创 Laravel关于请求参数空字符串转null问题

这边刚开始是从网上查找了有没有好一些的解决方法,尽量不为了一个接口删去这个全局中间件,从网上找的解决方法也都是说把这个中间件移出,还有看到withoutMiddleware,但是官网上说不支持作用全局中间件,然后这边就看了下方法的源码,发现主要是transform()方法处理,一看就和上次去空格一样,所以这边就重写了一下这个方法,然后再kernel.php替换下中间件。》去空格很几乎是一样的处理办法。

2023-04-07 19:00:00 628

原创 Python裁剪图像角像素区域

主要使用的是getbox发放实现,打印后我们能够知道此方法返回四个值(10,20,20,30),各自代表的含义是:前两个值是裁剪后左上角距离原图像的左边距和上边距;后两个值是裁剪后右下角距离原图像的左边距和上边距,拿到这些信息我们就能计算出想要的信息:裁剪后的尺寸、裁剪后距离原图像的边距等。上次介绍了一下使用convert裁剪角元素,后面需要知道裁剪后,图片的中心点,也就是相对于原图来说,图片的上下左右各裁剪了多少像素,使用python的话可以实现此需求。

2023-04-01 19:00:00 302

原创 PHP获取微信小程序码并生成分享海报

以前有一篇文章简单介绍了小程序生成分享海报的过程,使用canvas进行海报的生成,最近又遇到关于后端直接生成分享海报,所以简单介绍下获取微信小程序码+生成分享海报

2023-03-18 21:30:00 921

原创 Clickhouse部署及接入前后效率对比

除了第四版,其它三版采用定时器轮询方式,上述指的仅仅只是接口运行时间,定时器定时时间1s,所以所有数据加载出来后的整体时间还是比较久的,仅通过mysql/clickhouse对比来看,第四版程序处理时间大概是第二版的1/30,而且更不用等待一个接口加载完成后进行数据对比,第四版页面数据是秒加载完成,整体的体验也是最好的

2023-03-04 18:28:00 527

原创 easy-excel导出excel中日期列需要双击才能进行筛选

使用easy-excel导出的excel中,给日期那一例设置单元格格式,发现需要双击后才能生效,翻了一些资料说easy-excel程序导出的日期值是文本值,所以需要双击让excel转化一下,这边查了easy-excel的g官方文档,发现导出部分给了一个设置行样式的列子 ,easy-excel是box/spout上封装的扩展,上面给的例子就是box/spout的样例

2023-02-23 23:15:00 1367

原创 convert -trim裁剪图像角像素区域

convert是一款处理图片的一个扩展,正好看到了trim命令比较强大些,但是搜索出来文章缺很少,所以介绍下convert -trim命令的使用和效果

2023-02-15 22:00:00 298

原创 虚拟机打开提示:VMware Tools 启动脚本未能在虚拟机中成功运行。如果您在此虚拟机中配置了自定义启动脚本,请确保该脚本没有错误。您也可以提交支持请求,报告此问题。

本地的虚拟机突然早上过来打不开,提示上述文字,而且还进不去终端,一直在登录页面加载中,这边查找了一些方案,说要重新安装vmware-tools,但是这两天也没进行其它的操作,虚拟机就突然提示这个问题,首先的话要进入终端,只有进入终端才能查找原因,如果你的虚拟机是突然提示这个问题,请按照下述进行操作

2023-02-03 22:00:00 5883

原创 Nodejs使用sharp图片处理之图片旋转

上篇文章有讲到Nodejs使用sharp将多个图片合成一个图片,但是对于有的图片可能会先进行旋转,然后再参与图片的合成,这时我们就需要针对单个图片进行旋转的处理。

2022-10-15 20:00:00 1023

原创 Nodejs使用sharp图片处理之多图合成

在开发过程中,我们有时候需要对图片进行处理,给一个图片添加水印、多个图片合成为一图片等操作,所以我们介绍下nodejs使用sharp来处理上述问题。

2022-10-14 22:00:00 3205 1

原创 Laravel关于TrimStrings请求参数去空格问题

今天在前端那边说了一个问题就是他们请求某个参数里面字符串前面明明加了空格,但是提交数据保存刷新后,空格又没了,然后这边就开始排查了问题,使用request()->all()获取参数并打印,发现字符串前面并没有空格,接口也没加一些中间件进行额外的处理,但是使用file_get_contents('php://input')获取原始参数发现字符串前面又有空格了,然后搜了一下说是公共中间件TrimStrings自动去除了空格,如果想要不去除字符串两端的空格的话可以将字段加入到\$except,值的话为参数的名称

2022-09-07 21:15:00 1084

原创 Redis优化之单作品数据缓存

上篇文章有讲解Sphinx进行合并请求优化,将多次请求合并为一次请求,最终处理时间和单词请求时间一样。 大多数我们通过Sphinx都是搜索数据,拿到的应该都是作品ID,然后再通过拿到的ID去数据库进行查询,获取作品的相关信息,这里的话我们就要进行缓存的获取与生成,也就是进行文章的主题,单作品数据缓存,也就是数据的原子性......

2022-08-26 23:05:02 353

原创 Sphinx优化之合并查询

最近开发过程中遇到一个需求,一个接口里面返回五个关键词的query结果,每个关键词查询的筛选项还不同,如果我们进行五次query查询也能实现这个需求,但是循环五次的话用时多久,能够明显的感受到等待的时间,所以需要实现一次query,获得五个关键词的查询结果。

2022-08-19 21:45:00 322 2

原创 windows+python实现自动化部署

这段时间遇到一个需求是如果库里面有没有图片的数据,则访问我们的网站生成图片数据并更新库,要求每隔一段时间就要检测。该需求主要为两个部分:一是python脚本执行;二是windows部署定时任务;...

2022-08-12 22:00:00 1828 2

原创 Python安装包

官方下载地址:点击跳转,通过官网下载的话,我这边花了老长时间,所以我将下载过的安装包放在了百度网盘,有需要的通过下面的信息去网盘进行下载。链接:点击跳转提取码:1111–来自百度网盘超级会员V4的分享......

2022-07-12 18:48:38 446

原创 Dcat-Admin自定义Excel数据导出

dact-admin框架支持导出 csv、 xlsx 和 ods 等格式文件,在控制器内$grid->export()->titles($titles)就引入导出功能

2022-06-15 22:45:00 3060

原创 微信公众号排查“该公众号提供的服务出现故障,请稍后再试”问题

在微信公众号开发过程中,使用自己的服务来处理一些微信公众号的需求,在使用客服发送消息时,每次发送图片的时候会提示“该公众号提供的服务出现故障,请稍后再试”问题,以为是图片新增素材导致处理超时的原因,然后去微信交流社区提问,官方人员发了一个报警排查指引,看着也是一脸懵,后面才知道主要是加入的微信报警群没有发送报警信息,导致无法排查原因,以下是处理步骤。...

2022-06-07 18:49:14 5637

原创 微信小程序腾讯地图自定样式真机不生效

昨天讲到微信小程序引用腾讯地图自定义样式,在开发者工具一切都是正常的,但是使用手机进行预览,发现自定义的样式根本不生效,然后试了几种解决方案都不行,去官网提工单,感觉官方人员跟机器人呢,刚刚又看到一种方法,不动态绑定key,然后成功了。<map id="mapId" class="map" subkey="111111111" ## 意思是这里不通过js中定义变量传入,直接把应该的值放在里面 layer-style="1" polyline="{{pol.

2022-05-23 18:05:56 926

原创 微信小程序设置个性化地图样式

在开发地图时,我们想要改变地图的样式进行自定义,那么我们就需要使用腾讯地图提供的个性化地图,在其官网上提供了一些可以直接使用的模板,下面我们大概说下引用的流程:1、进入腾讯地图开发者中心控制台,然后点击我的样式,选择对应模板进行直接使用,然后选择想要引用的小程序2、如下我们进入样式应用列表中,能够看到样式已经和当前小程序的秘钥key绑定在一起了,这里我们要记住秘钥key值和样式的编号,Style1澹月 的编号为13、下面使我们小程序引用地图组件,然后我们将上面的值设置下下面两个.

2022-05-22 17:00:31 2887

原创 Switchhosts软件安装包

官方下载地址:点击跳转,通过github下载的话,我这边花了差不多一个半小时,然后找优快云看看有没有分享出来的,一看都是要消耗金币的,所以我将下载过的安装包放在了百度网盘,有需要的通过下面的信息去网盘进行下载。链接:点击跳转提取码:c1mv–来自百度网盘超级会员V4的分享Switchhosts作用大家应该都知道,是一个很好的环境切换工具和hosts文件管理工具:想要修改hosts文件的话就不需要通过一层层的找到hosts文件进行修改,直接通过软件修改就行;在我们开发时,有本地、测试、线上.

2022-04-25 09:57:34 1832 3

原创 Nginx配置导致laravel-cors设置跨域失败

昨天用新的机器+新的域名搭建同一个站点后,前端调用接口一直提示跨域问题,用的同一套项目,以前的项目中就没提示跨域,项目用的是laravel-cors来解决跨域问题,所以用的同一套代码不太可能是laravel-cors中出了问题。这边和同事最后排查了下,应该是nginx那边出了问题,所以和运维确认下两个站点的nginx的配置是否一致,最后发现是下面这里导致的跨域失败。// 如果站点有如下配置,删除试下是否能解决跨域问题,Access-Control-Allow-Origin导致laravel-cor.

2022-03-31 10:26:23 3336

原创 PHP基于ImageMagic实现PS正片叠底、滤色等效果

上次通过终端测试PHP是否能够实现PS正片叠底、滤色等效果,具体文章可以查看《Shell命令使用ImageMagic实现PS正片叠底、滤色等效果》在确定PHP可以实现后,这边查找资料通过PHP程序来实现效果,因为需要实时的合成多张效果图,所以通过终端方法不合适,最终实现方案所下所示:<?php// 模式类型$types = [ 'Normal' => \Imagick::COMPOSITE_DEFAULT, // 正常 'Multiply' =.

2022-03-29 11:35:15 872

原创 Dcat Admin表格规格筛选器默认选中

Dcat Admin框架不支持表格规格筛选器的默认选中,所以这边实现的思路使用过JS实现默认选中,通过获取url中的参数,如果筛选字段不存在则通过js获取相应节点,进行默认选中。<?phpnamespace App\Admin\Controllers;use App\Admin\Repositories\Selector;use App\Common\Enums\CategoryEnum;use Dcat\Admin\Admin;use Dcat\Admin\Grid;clas.

2022-03-25 18:37:07 2497

原创 Dcat-Admin自定义列表样式

这边使用Dcat-Admin开发后端,需要自定义表格样式,但是这边又想使用框架自带的分页和筛选功能,这边查看框架的源码,然后按照下面的写法实现了需求<?phpnamespace App\Admin\Controllers;use App\Admin\Repositories\Custom;use App\Common\Enums\CategoryEnum;use Dcat\Admin\Admin;use Dcat\Admin\Grid;class CustomControlle.

2022-03-25 18:26:04 3066

原创 Shell命令使用ImageMagic实现PS正片叠底、滤色等效果

以下为支持的部分效果, 想要输出对应的效果需求修改命令中compose后的运算符内容:1、正片叠底-Multiply2、滤色-Screen3、叠加-Overlay4、变暗-Darken5、变亮-Lighten6、颜色减淡-ColorDodge7、颜色加深-ColorBurn8、强光-HardLight9、柔光-SoftLight10、差集-Difference11、排除-Exclusion12、色相-Hue13、饱和度-Saturate14、颜色-Colorize15、亮度-.

2022-03-25 18:10:17 922

原创 Redis实现数据统计并支持时间范围内进行筛选排序

关于redis实现数据统计,以小说为例,统计小说的每天阅读人数,并支持90天内进行时间筛选,这种场景使用redis进行处理是非常合适的,具体实现会用到如下redis的方法:set:集合zset:有序集合sIsMember:判断member元素是否是集合key的成员(set方法)sAdd:向集合添加一个或多个成员(set下方法)zad:向有序集合添加一个或多个成员,或者更新已存在成员的分数(zset下方法)zScore:返回有序集中,成员的分数值(zset下方法)zRevRange:放回有序

2021-12-15 23:04:28 2964

原创 phpstorm配置远程服务器

phpstorm配置SFTP连接远程服务器,按照网上的操作后发现上传项目代码后,选项一直为灰色,无法点击,然后查了下也没找到答案,最后自己碰巧点了一个地方后,才发现还有一个地方也配置下,下面就大概说下配置流程:按照上述的操作,其实就算配置好了,下面将本地代码上传至服务器点击时发现按钮为灰色,也就无法点击,其实在上述配置过程中,我们需要配置下Mappings这里路径,设置下项目地址。这里的操作大概会被忽略,当配置完,再试下是否能够上传,就会看到按钮不是灰色,可以正常上传...

2021-12-11 17:37:07 1138 1

原创 微信小程序生成分享海报

最近开发海报生成并分享的功能时,想参考一下网上做法,但是搜索了一下网上调用的大多数是低版本的Canvas官方接口,而且在开发的过程也遇到了真机图片不显示、真机字体模糊的问题,所以自己整理一个新接口样例,提供大家参考下,具体代码如下:// wxml代码<view class="card" style="width: {{width}}px;"> <canvas type="2d" id="shareCard" style="width: {{width}}px;height: 4

2021-12-07 23:13:31 1180

原创 Sphinx提示zero/NULL document_id, skipping

今天第一次建立Sphinx索引,把Sql发给运维那边执行,然后重启Sphinx提示zero/NULL document_id, skipping,然后这边查了下,Sql查询语句第一个字段要为表的主键// 执行下述Sql语句会提示:zero/NULL document_id, skippingselect name,content from article// 改成如下语句,其中id为表的主键,重启编译成功select id,name,content from article...

2021-11-30 22:50:08 158

原创 Yii框架实现伪静态

Yii框架设置网站伪静态的话,其实就是将当前浏览器访问的伪静态地址映射到真实的项目地址,主要操作的话是修改config/main.php文件,下面就介绍下具体操作:// 配置文件<?php$params = array_merge( require __DIR__ . '/../../common/config/params.php', require __DIR__ . '/../../common/config/params-local.php', require _

2021-11-25 22:02:14 1214

原创 Laravel Mix编译后引入JS提示 (###)is not defined

昨天的文章有讲到laravel项目中使用Mix编译前端资源文件,并监控文件改变追加版本号,在我们编译引入之后,会发现有一些JS文件引入后提示(###)is not defined。这边在Laravel官网Mix部分也没看到解决方法,在网上搜了一些,也没看到有啥解决方案,然后顺着GitHub找到了Mix介绍的文档,其中Copying Files部分提到了copy方法,意思也就是原样拷贝文件内容,但是还是可以给前端文件追加版本号,所以在不影响功能实现的情况下,我们改成了这个方法。mix.copy('reso

2021-11-17 22:12:02 617

原创 Laravel Mix编译Css、Js资源文件,并动态改变资源版本号

最近正好遇到一个需求,是前端那边要求我们要能够监控CSS和JS等前端资源文件内容改变,动态的给其添加版本号后缀,以解决浏览器缓存的问题。因为我们的项目后端使用的是Laravel框架,所以就查了laravel框架有没有自带这个功能,翻看了官方文档,看到其提供了Mix这个功能,一下就是laravel框架使用Mix的流程一、Mix安装【详细的安装流程大家可以看下官方文档】1、安装node依赖【在运行 Mix 之前,要先确保您的机器上已经安装了Node和NPM】npm install2、运行Mixnp

2021-11-16 22:31:18 1015

空空如也

空空如也

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

TA关注的人

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