pjax

pjax虽然出现有一段时间了,但真正采用pjax技术的网站还不多见。那么,pjax是什么呢?最简一句话就是pjax = pushState + ajax。 (more…)

发表于:2021-04-07 09:35:00 分类:代码 发表评论 Tags:

放弃使用了多年的密码管理器lastpass

用lastpass已经很多年了,也推荐给了不少身边的人用。最近一段时间,决定放弃用lastpass了。原因就几点:

1、lastpass没有中文版了,这个不是重点,没有中文版就没有,还是可以用的,只是稍有不直观;

2、lastpass的IOS端在国区被下架了,网上的说法是国内专利流氓公司恶意抢注了中国区 LastPass 的商标,借此勒索钱财,LastPass 被迫退出中国市场…可惜了LastPass;

3、lastpass自已又作死了,2021年3 月起, 免费用户只能使用一种类型设备了。很早之前也是这么限的,后来不限了,现在又限,这是自作死;

4、lastpass内置了太多的跟踪器,虽然没有暗示这些追踪器正在转移用户的实际密码或用户名,但是对于一个处理此类敏感信息的安全关键型应用来说,追踪器的存在是不好的做法。具体的情况,网上新闻一堆,这里简单引入一段小说明: (more…)

发表于:2021-03-01 21:22:02 分类:代码 发表评论 Tags:

Javascript/PHP的校验补全位数IMEI代码

记录一下如何通过Javascript或PHP校验IMEI代码,以及14位IMEI补全15位的计算方法。用于干什么?说了你也不懂,懂的不说也懂。哈哈~~ (more…)

发表于:2021-02-09 15:11:12 分类:代码 发表评论 Tags:, ,

mysql的sql中若用IN查询时,若IN内的数据较大时,不走索引的解决办法

有时候用IN查询时,可以很方便、直观的解决SQL的组装。但若IN中的数据较大时,基本就不走索引了。有几个解决方法:

1、不用IN,这是废话,不在本篇文章中讨论;

2、在SQL中指定走哪个索引;如果系统中用IN的地方比较多,维护起来也麻烦。

3、修改MYSQL的eq_range_index_dive_limit参数,用来设置的阀值来按照不同算法预估影响行数,对于IN或OR条件中的每个范围段视为一个元组,对于元组数低于eq_range_index_dive_limit参数阀值时使用index dive,高于阀值时使用index dive:针对每个元组dive到index中使用索引完成元组数的估算,类似于使用索引进行实际查询得到影响行数index statistics:即根据索引的统计数值进行估算,例如索引统计信息计算出每个等值影响100条数据,那么IN条件中包含5个等值则影响5*100条记录。

在MySQL 5.6版本中引入eq_range_index_dive_limit参数,默认值为10,通常业务在使用IN时会超过10个值,因此在MySQL 5.7版本中将默认阀值设为200。

在使用IN或者OR等条件进行查询时,MySQL使用eq_range_index_dive_limit参数来判断使用index dive还是使用index statistics方式来进行预估:

1、当低于eq_range_index_dive_limit参数阀值时,采用index dive方式预估影响行数,该方式优点是相对准确,但不适合对大量值进行快速预估。

2、当大于或等于eq_range_index_dive_limit参数阀值时,采用index statistics方式预估影响行数,该方式优点是计算预估值的方式简单,可以快速获得预估数据,但相对偏差较大。

发表于:2021-01-09 22:18:13 分类:代码 发表评论 Tags:

使用find命令统计当前目录下文件的行数

某些情况下,需要统计某个项目有多少行代码时,可以快速用find命令来搞定。这里需要注意,find命令是LINUX系统下的,WINDOWS没有这个命令。这个要注意啦。 (more…)

发表于:2020-12-08 00:41:31 分类:代码 发表评论 Tags:, ,

phpSpreadsheet导出xlsx无法打开的解决办法

PhpSpreadsheet是什么?一句话解释就是:一个用纯 PHP 来实现读取、写入电子表格文件(xls\xlsx等)的PHP库。

为什么不用PHPExcel? 也就是一句话:PHPExcel太故老,最新版本是1.8.1于2015年发布,PHPExcel在2017年已经正式被官方弃用。升级版本就是PhpSpreadsheet。

世上那么多可以用来生成、导出XLS的 库,什么为PhpSpreadsheet?还是一句话,简单、强大。

怎么用,网上教程满天飞,这里就不说了。

这里就记录一件事:就是TSOV.NET在通过phpSpreadsheet实现导出XLSX时,直接生成文件保存到硬盘上是没有问题的。但若是输出到浏览器时,提示用户保存,用户保存后打开会提示“打开文件时遇到错误”。我一直调试、检查、对比。只发现直接保存到硬盘的文件比浏览器提示后保存的文件小那么几个字节。

其它实原因很简单(因为我用了PHP7.4),输出内容前,需要加一句:

ob_end_clean();

就搞定了,原因嘛,不想解释了,能解决问题就行。吼~~~~

 

以上方法为TSOV.NET原创,禁止转载,转载必究。

发表于:2020-12-06 13:52:36 分类:代码 发表评论 Tags:

layui中使用lay-verify进行非必填项校验时的大坑

某些表单元素为非必填项,但是却需要校验输入数据的格式是否正确,使用的layui的lay-verify 进行校验,例如lay-verify=“phone”验证手机号码规则是否合法,但是这玩意有个坑,如果不输入数据也会认为数据不合法,所有的校验规则,默认都是必填项!!!!!最后在官方社区找到一个帖子目前问题已解决
解决办法:修改layui校验规则源码,目前没发现修改以后有什么问题
修改源码如下:

phone:[/(^$)|^1\d{10}$/,’请输入正确的手机号’],
email:[/(^$)|^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,’邮箱格式不正确’],
url:[/(^$)|(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/,’链接格式不正确’],
number:[/(^$)|^\d+$/,’只能填写数字’],
date:[/(^$)|^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/,’日期格式不正确’],
identity:[/(^$)|(^\d{15}$)|(^\d{17}(x|X|\d)$)/,’请输入正确的身份证号’]

新增部分:(^$)|

需要修改两个文件:form.js和layui.all.js

如果该选项为必填:建议使用,lay-verify=“required|number”校验,其中required是校验必填,多种校验规则之间用 | 间隔,这个竖线是或。

发表于:2020-12-01 17:27:22 分类:代码,工作 发表评论 Tags:

Sphinx是最简单的全文搜索解决方案

一般的项目因信息量不大(一般不超过10万条)、日均用户几万内,考虑成本等因素,基本是直接用SQL的LIKE就能轻松应用。倘若你的数据量、访问量都比较大,并且需要考虑运营成等,推荐大家试下Sphinx,Sphinx是一款基于SQL的高性能全文检索引擎,我们可以利用Sphinx完成比数据库本身更专业的搜索功能,而且可以有很多针对性的性能优化。 (more…)

发表于:2020-09-17 21:22:40 分类:代码 发表评论 Tags:

在安卓下的微信浏览器中,文件上传的 input type=file中,不能用accept,否则会提示:没有应用可执行此操作

在安卓下的微信浏览器中,文件上传的 input type=file中,不能用accept,否则会提示:没有应用可执行此操作。原来只其它安卓手机下没有发现,最近被反馈华为手机的用户有此问题。不知这个坑是华为手机系统还是安卓版的微信的坑。 (more…)

发表于:2020-07-30 14:45:48 分类:代码 发表评论 Tags:, ,

最全的php操作Redis的命令集

做后端开发的同学都知道Redis和Memcached都非常优秀的内存型缓存。这里区就不多说了,感兴趣的自行搜索一行有很多资料说明。最近有些特殊业务的处理,用Redis可以很高效、简洁的解决。比如从号码池中随机一个号码给用户,用Redis就太方便了。避免在用代码去查库和随机的计算。这里收藏PHP来操作Redis的常用的命令。可能不全,后继有发现会继续更新。 (more…)

发表于:2020-07-14 23:59:50 分类:代码 发表评论 Tags:,

使用PHP_XLSXWriter代替PHPExcel

PHPExcel 是一个处理Excel,CVS文件的开源框架,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格,这也是PHP至今最通用的Excel处理工具,但是它有一个非常致命的缺点: 特别占内存,对大批量的表格数据几乎会让人累觉不爱,处理速度非常慢,但是它功能非常丰富,API非常多,所以在导出复杂格式的Excel表格时,你往往不得不使用它,真是让人又爱又恨。 (more…)

发表于:2020-04-17 17:41:08 分类:代码 发表评论 Tags:

极光推送,最不要脸的行为,美名为:早上好

做过不少APP的项目,消息推送服务一直用极光的。最近做了一个APP,发现每天早上9:00 在Android下都会收到一条垃圾广告。开始以为是masterSecret泄露了。立马重置,第二天果然没有了垃圾广告。就这么以为搞定了。可以过了几天后,又发现在每天早上9:00 在Android下,还是会收到一条垃圾广告。又怀疑服务器被黑,检查一遍,我服务器安全得很,以是开启了各种怀疑,最后发现最不要脸的是极光推送在搞流氓,美名为:早上好,所引起的!! (more…)

发表于:2020-04-08 11:48:51 分类:代码 发表评论 Tags:,

移动应用跨平台开发 Google Flutter

近期细看了Google 的 Flutter,是个不错的移动应用跨平台开发方案。比起之前的H5+原生,或RN之类的不错的优势。比如:性能好,开发效率高。详细的就不说了。据未经证实的传闻说《闲鱼》APP也是采用Google  Flutter开发,如果真是如此,还是很值得大家去研究下Google  Flutter的。以下引用了一段介绍,想了解的,可以细看: (more…)

发表于:2020-04-05 16:07:47 分类:代码,其它 发表评论 Tags:,

微信支付场景变态的坑,如何用变态的方法对付

微信支付中,在某个场景下调取过支付,再用其它场景去支付时,会报 “201 商户订单号重复”。这句人话就是,在APP下单,调取过微信支付(一般是由后端系统调取微信统一下单接口创建生成了相关的支付信息给客户端APP),然后取消不支付,再去公众号或小程序中支付时,会提示订单号重复,这是微信对使用场景的限制,在一个场景下提交的订单就行在这个场景下支付,不能再用其它场景支付。这个太坑、太不方便了。微信也不说说为什么限制~~~,竟然有这么变态的坑,也就有我这想出这么变态的法子来对付了,方式如下: (more…)

发表于:2020-03-26 12:51:42 分类:代码 发表评论 Tags:,

微信小程序使用字体图标

开发微信小程序时,难免要用到字体图标,而微信小程序的样式中是不能直接写本地的的图标文件地址,只能用线上绝对地址或转为bese64,这点很不方便。网上找来了一篇《使用阿里图标为例子讲解如何在微信小程序中使用字体图标》。 (more…)

发表于:2020-03-15 18:01:05 分类:代码 发表评论 Tags:,

Archives