Atwood定律:凡是能用JavaScript写出来的,最终都会用JavaScript写出来

 

php中$GLOBALS["HTTP_RAW_POST_DATA"]报错

$postStr = file_get_contents("php://input");因为一般PHP中register_globals参数都设置了On,禁止了使用$GLOBALS["HTTP_RAW_POST_DATA"];php://inputphp://input 是个可以访问请求的原始数据的只读流。 POST 请求的情况下,最好使用 php://input 来代替 $HTTP_RAW_PO
ngtwewy 2019-11-03    PHP   

SCSS 快速上手

编码规则SASS首先会检查代码文件的Unicode BOM(byte order mark),然后是@charset声明,再然后是底层运行Ruby的字符串编码,如果这些都未进行设置,将会默认以UTF-8编码输出CSS文件。@charset 'utf-8'; #app { background: url('../assets/背景图片.png'); } 建议代码开头位置显式定义@charse
ngtwewy 2019-10-05    CSS   

当async/await遇上forEach

for和forEach的差别是后者不能正常的跳出循环(return、break等),其它的差别不大,把forEach转成for的写法就知道为什么你的for写法可以顺序执行而forEach不能:for:const report = async () => { for (let i = 0, len = arr.length; i forEach:const report = async (
ngtwewy 2019-08-25    JavaScript   

HTML5播放HLS流(.m3u8文件) Apache 跨域设置

HLTML5播放HLS流(.m3u8文件) Apache 跨域设置1,使用 mod_headers 添加请求头信息Apache 配置文件中确保加载了以下模块:LoadModule headers_module modules/mod_headers.so 虚拟主机配置文件中,添加Header add Access-Control-Allow-Origin: *这样做以后,提示 m3u8 没有提示
ngtwewy 2019-08-21    Apache   

HTTP Authorization 之 Basic Auth

一、简介在HTTP中,基本认证(Basic access authentication)是一种用来允许网页浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。最明显的特征是,Basic Auth 就是在请求的时候在headers中设置 Authorization: "Basic 用户名和密码的base64加密字符串"。JWT Token 认证,建议把 Token 保存在
ngtwewy 2019-08-18    HTTP   

Axios 文档摘要

axios API可以通过向 axios 传递相关配置来创建请求axios(config)// 发送 POST 请求 axios({  method: 'post',  url: '/user/12345',  data: {   firstName: 'Fred',   lastName: 'Flintstone'  } }); // 获取远端图片 axios({  met
ngtwewy 2019-08-15    JavaScript   

X-sendfile 大文件下载解决方案

使用PHP下载大文件文件,有时候还需要修改PHP配置。比如:https://javascript.net.cn/article?id=613 有时候下载还会过多的暂用内存。这里可以使用X-sendfile,该下载方法,不经过PHP,文件直接通过 Apache 下载。.htaccess XSendFile onout.phpisLoggedIn()) {   header("X-Sendfile
ngtwewy 2019-08-10    Apache   

使用阿里云对象存储 OSS 命令行工具 ossutil 自动备份 Windows 服务器

1,简介ossutil是以命令行方式管理OSS数据的工具,提供方便、简洁、丰富的Bucket和Object管理命令,支持Windows、Linux、 Mac平台。通过ossutil,您可以进行如下操作:管理Bucket,如:创建、列举或删除Bucket等。管理Object,如:上传、下载、列举、拷贝和删除Object等。管理碎片(part),如:列举和删除part等2,相关文档OSS 官方文档 h
ngtwewy 2019-08-08    Windows   

Windows 下 Redis 安装配置 PHP 模块

Redis 官网: http://redis.io微软 Windows 版 Redis: https://github.com/microsoftarchive/redis下载地址: https://github.com/microsoftarchive/redis/releases安装过程1,下载 Redis-x64-3.0.504.zip,解压,加入redis路径到windows环境变量。2,
ngtwewy 2019-08-06    Windows   

API Rate Limiting 限速

1,令牌桶算法(Token Bucket)令牌桶算法(Token Bucket) 随着时间流逝,系统会按恒定1/QPS时间间隔(如果QPS=100,则间隔是10ms)往桶里加入Token,如果桶已经满了就不再加了。新请求来临时,会各自拿走一个Token,如果没有Token可拿了就阻塞或者拒绝服务。令牌桶的另外一个好处是可以方便的改变速度。 一旦需要提高速率,则按需提高放入桶中的令牌的速率。 一般会
ngtwewy 2019-08-06    RESTful API   

HTTP header详解

General 通用信息Request URL:详细地址   如域名,参数传值等信息。Request Method: 请求方式 如:get,post,head,put,delete optionsStatus Code : 返回的状态码 如:200,400,403,500等等Remote Address 请求远程ip 地址Referrer Policy:1、no-referrer-when-dow
ngtwewy 2019-07-31    HTTP   

订单号该如何生成

一,推荐方法下单渠道1位+支付渠道1位+业务类型1位+时间信息4位+下单时间的Unix时间戳后8位(加上随机码随机后的数字)+用户user id后4位。然后你会说,这样算下来就订单号就19位了啊,一点都不精简啊,不好记不好念不好输的。但我说的上面的这些业务标记,你不一定要全部加上啊。你看淘宝/天猫那么大的订单量,16位订单号就搞定了。细心的网友已经发现了,订单号的后4位是取自用户user id的后
ngtwewy 2019-07-27    数据结构和算法   

MySQL AUTO_INCREMENT 自动增长的一些知识

1, 指定了AUTO_INCREMENT的列必须要建索引,不然会报错,索引可以为主键索引,当然也可以为非主键索引。(不一定要做主键)2, 指定了auto_increment的列,在插入时:如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序列编号。编号从1开始,并1为基数递增。3,当插入记录时,没有为AUTO_INCREMENT明确指定值,则等同插入N
ngtwewy 2019-07-26    MySQL   

Sequelize 事务的使用与Transaction类

Transaction是Sequelize中用于实现事务功能的子类,通过调用Sequelize.transaction()方法可以创建一个该类的实例。在Sequelize中,支持自动提交/回滚,也可以支持用户手动提交/回滚。 事务的使用 1.1 受管理的事务(auto-callback) 1.2 不受管理的事务(then-callback) 1.3 并行/部分事务
ngtwewy 2019-07-17    Node.js   

微信支付接口返回“签名错误”的排查方法

1、确认公众号的appSecret和商户号的API密钥没有搞混。 2、重置商户API密钥。(本人亲测是这样解决了问题,tx真是个坑,我严重鄙视。) 3、确认公众号授权的域名和目录是正确的。 4、参数body含有中文字符,改换英文签名成功,那么就转换字符编码试试。 $dat = iconv('UTF-8','ISO8859-1',array2xml($
ngtwewy 2019-07-17    微信支付宝