技术饭 mongodb 时间与_id相互转换

mongodb 时间与_id相互转换,ObjectId() 方法可直接生成当前时间的_id,也可以给方法 ObjectId() 传参生成对应的_id,可通过 getTimestamp() 方法获取时间戳,其中时间转成 utc时间,时间戳需要乘以1000

阅读全文 » 90天前
2024年06月18日

生活札记 Fiddler抓包、JMeter性能测试、Postman接口调试工具之自动化测试(一)

抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果。

阅读全文 » 547天前
2023年03月19日

技术饭 go的无限极分类

go的无限极分类,表结构是带有id、pid、name、rule,所有数据读取出来之后需要进行child之类的组装,刚学习go不久,搞了大半天也是迷迷糊糊,后来大佬帮我搞一下就出来了,十分感谢~~~

阅读全文 » 777天前
2022年08月01日

技术饭 Git:fatal: No url found for submodule path ‘xxx/xxx‘ in .gitmodules gitsubmodule子仓库无法拉取问题

Git:fatal: No url found for submodule path ‘xxx/xxx‘ in .gitmodules gitsubmodule子仓库无法拉取问题,报错:golang.org/x/mod/semver: gitee.com/DXTeam/idea-go.git@v0.0.0 (replaced by ./submodule/idea-go.git): reading submodule\idea-go.git\go.mod: open F:\wnmp\wwwgit\auth\submodule\idea-go.git\go.mod: The system cannot find the file specified.

阅读全文 » 782天前
2022年07月27日

技术饭 PHP简单对称ID加密、解密算法

PHP简单对称ID加密、解密算法,有时候需要对数据进行简单的混淆,不让别人轻易破解,所以就需要对数据进行一定的加密解密来保证数据的安全性,这里做个简单的算法。

阅读全文 » 983天前
2022年01月07日

技术饭 解决两个跨域但是同站、同域、同源的域名(Sec-Fetch-Site: same-site),通过接口请求设置session_id()改变PHPSESSID的问题

解决两个跨域但是同站、同域、同源的域名(Sec-Fetch-Site: same-site),通过接口请求设置session_id()改变PHPSESSID的问题,现象:1、两个https的二级域名解析在同一台服务器上,端口都是443;2、前端域名与接口域名同时在同一个浏览器打开,接口域名登录后台生成PHPSESSID,保存了登录状态;3、前端域名请求接口域名生成验证码,验证保存在session里面,由于访问接口,每次的会话session_id都是不一致,为了实现跨域验证码的验证,这个时候需要在接口端设置session_id(随机数),然后把这个随机值返回给前端,到时候验证的时候再设置session_id(随机数),这样会话才能保持一致,验证码才能通过验证;4、由于步骤3设置session_id(随机数)重新生成PHPSESSID后,导致了步骤2登录后台的PHPSESSID被改成了步骤3设置的PHPSESSID,这时候步骤2的登录状态就消失了,直接退出登录。

阅读全文 » 1129天前
2021年08月14日

技术饭 main(): Failed opening required '/manyidea/Config.php' (include_path='.:/usr/share/pear:/usr/share/php')

main(): Failed opening required '/manyidea/Config.php' (include_path='.:/usr/share/pear:/usr/share/php'),php文件上传时发生错误,提示打不开文件,搞了半天也没一个头绪,改了php.ini的配置也无济于事,后来才发现是centos系统的文件夹目录都是drw-xr-x,并不是755或者777,正常情况应该是drwxr-xr-x才能访问得到。

阅读全文 » 1144天前
2021年07月30日

技术饭 小程序登录、用户信息相关接口调整说明:getUserInfo:fail scope unauthorized “err_code":"-12007

小程序登录、用户信息相关接口调整说明:getUserInfo:fail scope unauthorized “err_code":"-12007,2021年2月23日起,若小程序已在微信开放平台进行绑定,则通过wx.login接口获取的登录凭证可直接换取unionID,2021年4月13日后发布的小程序新版本,无法通过wx.getUserInfo与<button open-type="getUserInfo"/>获取用户个人信息(头像、昵称、性别与地区),将直接获取匿名数据(包括userInfo与encryptedData中的用户个人信息),获取加密后的openID与unionID数据的能力不做调整。此前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。新增getUserProfile接口(基础库2.10.4版本开始支持),可获取用户头像、昵称、性别及地区信息,开发者每次通过该接口获取用户个人信息均需用户确认。具体接口文档:《getUserProfile接口文档》由于getUserProfile接口从2.10.4版本基础库开始支持(覆盖微信7.0.9以上版本),考虑到开发者在低版本中有获取用户头像昵称的诉求,对于未支持getUserProfile的情况下,开发者可继续使用getUserInfo能力。开发者可参考getUserProfile接口文档中的示例代码进行适配。

阅读全文 » 1259天前
2021年04月06日

技术饭 vue.js前端获取thinkphp5.1后端api接口的验证码,验证码一直验证失败

最近需要做验证码接口,前端使用的vue.js接收,遇到如下问题:thinkphp5.1框架默认生成的验证码是session方式给到前端用户,验证码图片生成没有问题,出现问题是在验证验证码的步骤:每次验证都是显示验证码错误。测试了才知道api接口模式,访问不同接口的生成才session_id是不一样的,所以导致生成验证码与确认验证码的接口两个session_id不一致,那么解决问题的方式就是设置同一个session_id就可以了。

阅读全文 » 1458天前
2020年09月19日

技术饭 POST参数超过1000后,$_POST中1000以后的参数丢失,但是php5.6 max_input_vars 修改无反应?

之前做了图片文件上传到阿里云oss存储中,阿里本身的传输没有问题,但是在当保存到自己数据库的时候就报错了,第一次报错是id不存在,本来数据表就是一条记录,更新的主键ID竟然不存在,查了下js传过过来的formdata参数正常,但是$_POST就只仅仅取到了一部分数据,剩余的数据丢失了,想想应该是php限制的问题,最终确定是参数: max_input_vars 默认限制了1000,本来是改成了5000,但是测了还是没效果,查了phpinfo()发现:php-fpm重启之后 max_input_vars 的值并没有改变,多方查证发现服务器的php配置原来是外包公司配置的,外包公司把配置文件改到了 php-fpm.conf 文件里面,所以原始的php.ini中的参数就失效了,无论设置成什么都会失效。

阅读全文 » 1463天前
2020年09月14日

技术饭 小程序二维码生成错误码{"errcode":41030,"errmsg":"invalid page hint: [eU6RsA00464521]"}

小程序二维码生成错误码{"errcode":41030,"errmsg":"invalid page hint: [eU6RsA00464521]"},小程序码生成的时候报上述错误,我还在开发,这个page我传递的是null,结果报错,测试了很多遍还是没搞明白,最后翻翻文档才解决问题。

阅读全文 » 1648天前
2020年03月13日

技术饭 thinkphp5.1的json数据写入、查询

正常一篇文章属于一个分类,所以是单选,现在需要将一篇文章对应多个分类,这时候就需要将分类的单选改成了多选,那做法就有两种,1、将文章表的catid字段改成json格式,如:{"value":"5","value":"6"},2、删除文章表的catid字段,新建一个关联catid的表。

阅读全文 » 1658天前
2020年03月03日

技术饭 PHP仿造微信批量生成OpenId、UnionID

微信大家都很熟悉,那么微信的OpenId、UnionID的生成规则是什么呢?又如何才能批量地生成OpenId、UnionID呢?首先我观察了两个公众号关注后的生成openid的规则,发现了以下规则,1. OpenID都是28位,2. 前六位是有规律的

阅读全文 » 1665天前
2020年02月25日

技术饭 video标签的preload属性

之前,QQ群里有人提及“页面中有video标签(设置了src)时页面加载很慢”的问题,我想了解下原因,于是就看了下网页初始化时video标签做了什么。

阅读全文 » 1676天前
2020年02月14日

技术饭 thinkphp5.1.27使用PhpSpreadsheet下载表格 php://output 报错ERR_INVALID_RESPONSE

thinkphp5.1.27使用PhpSpreadsheet下载表格 php://output 报错ERR_INVALID_RESPONSE,有些服务器可以正常,网上的解释都是说确认php_zip,php_gd2,php_xml是否开启,经过测试都开启了却还是不行,最终看了先thinkphp5的输出方式是return,所以在 php://output 前面加个return输出即可。

阅读全文 » 1825天前
2019年09月18日

技术饭 解决微信video、audio 无法自动播放的问题

IOS Safari 中,无法自动播放音频、视频文件。所以,移动页面我不建议产品设计自动播放的交互,即便在PC上,新版的chrome自动播放也被禁止了(chrome会根据用户行为来确定是否可触发自动播放)。

阅读全文 » 2012天前
2019年03月15日

技术饭 thinkphp5.1下ajax跨域请求接口,session公用的解决方法

thinkphp5.1下ajax跨域请求接口,session公用的解决方法,ajax或者app(IOS、安卓)请求接口,php中如果需要登录,则需要设置session,但每一次请求都会重新生成一个session_id,所以session就没法获取跟传递,解决的办法就是生成一个随机数做为session_id,保存这个随机数,每次请求都带上这个随机数,这样每次获取的session就一致了

阅读全文 » 2092天前
2018年12月25日

技术饭 跨域ajax异步测试微信分享功能,微信授权回调页面分享解决方案

跨域ajax异步测试微信分享功能,微信授权回调页面分享解决方案,这个功能研究了有一段时间了。刚开始没注意研究微信的签名,导致一直报错签名错误:config:invalid signature,由于微信给出的签名url地址必须是当前网址,所以需要把当前的网址传给后端做加密签名,然后返回的签名才是正常的!!!

阅读全文 » 2095天前
2018年12月23日

技术饭 微信 {"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"}

微信 {"errcode":48001,"errmsg":"api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]"},认证服务号使用 snsapi_base 方式授权获取用户信息是报错,原因是 snsapi_base 这种方式无法获取用户的基本信息,没有经过授权。

阅读全文 » 2099天前
2018年12月18日

技术饭 wnmp3.1.0安装之后数据库连接报错:port: 3306 source distribution,访问localhost、127.0.0.1报错:10060: A connection attempt failed because...

wnmp3.1.0安装之后数据库连接报错:port: 3306 source distribution,访问localhost、127.0.0.1报错:10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

阅读全文 » 2100天前
2018年12月17日

技术饭 call_user_func 函数在命名空间下调用函数的问题

在有命名空间的条件下会报这样一个错 Warning: call_user_func() expects parameter 1 to be a valid callback, function 'barber' not found or invalid function name in 提示找不到这个函数

阅读全文 » 2106天前
2018年12月11日

技术饭 Warning: ZipArchive::addFile(): Invalid or uninitialized Zip object

ZipArchive::open()参数2为ZipArchive::OVERWRITE的时候,当目标文件已经存在时,程序会生成一个新的同名文件覆盖原来的文件,但是,当这个文件不存在时,ZipArchive::open()将返回数字9,是常量ZipArchive::ER_NOENT的整数值,错误信息是“No such file.”。

阅读全文 » 2123天前
2018年11月25日

技术饭 PHPExcel在PHP7中无法导出的解决方案

PHPExcel在PHP7中无法导出的解决方案,在php7之前是可以正常导出的,在php7中使用save(‘php://output’)出现ERR_INVALID_RESPONSE的错误主要是下面错误导致。

阅读全文 » 2142天前
2018年11月05日

技术饭 MySQL8.0修改用户密码语句

MySQL8.0修改用户密码语句,mysql8 与以前版本还是有点区别的,首先登陆mysql,mysql -u root -p '密码',use mysql,ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码'

阅读全文 » 2175天前
2018年10月03日

技术饭 linux的chown命令

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。

阅读全文 » 2192天前
2018年09月16日

技术饭 Mysql客户端登录问题:mysql Client does not support authentication protocol requested by server; consider upgrading MySQL

Mysql客户端登录问题:mysql Client does not support authentication protocol requested by server; consider upgrading MySQL

阅读全文 » 2195天前
2018年09月14日

技术饭 webuploader + cropper实现图片裁剪后上传

介绍两个插件cropper和webuploader。cropper是一款使用简单且功能强大的图片剪裁jQuery插件。该图片剪裁插件支持图片放大缩小,支持图片旋转,支持触摸屏设备,支持canvas,并且支持跨浏览器使用。而WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。如果你的H5项目是基于zepto.js,你就可以使用webuploader这个插件;如果你的H5项目是基于jquery,你就可以使用cropper这个插件。webuploader是兼容zepto和jquery的,而cropper只能基于jquery。

阅读全文 » 2196天前
2018年09月12日

技术饭 MySQL如何查询每一个栏目下价格最高的商品?

MySQL如何查询每一个栏目下价格最高的商品?这里是使用子查询中group by出价格最大与分类id信息,然后再上一级查询中进行数据比较筛选相应的信息,然后再进行group by操作!

阅读全文 » 2644天前
2017年06月21日

吃瓜群众 安卓 7.0 流畅性将逆袭超越 iOS 10

安卓 7.0 流畅性将逆袭超越 iOS 10,Android 系统因为采用虚拟机以及民主化的应用生态,其系统的整体体验一直落后于同时代的 iOS,尤其是在系统运行的流畅性方面,早期的 Android 给大多数用户留下的印象是卡顿且耗电严重。

阅读全文 » 2813天前
2017年01月03日