202109-24 openresty中的高级限制请求 NEW Nginx 有ngx_http_limit_req_module可用于限制请求处理速率,但大多数人似乎只使用其基本功能:通过远程地址限制请求率http { limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; ... serv... Read More >
202109-23 openresty中location和lua的使用详解 NEW 与其他 location 配合nginx 世界的 location 是异常强大的,毕竟 nginx 的主要应用场景是在负载均衡、API server,在不同 server、location 之间跳转更是家常便饭。利用不同 location 的功能组合,我们可以完成内部调用、流水线方式跳转、外部重定向等几大不同方式,下面将给大家介绍几个主要应用,就当抛砖引玉。内部调用例如对数据库、内部公共函数的统一接口,可以把它们放到统一的 location 中。通常情况下,为了保护这些内部接... Read More >
202109-15 编写email邮件的HTML页面原则小结 NEW 下面我列出一些编写原则:1、全局规则之一,不要写<style>标签、不要写class,所有CSS都用style属性,什么元素需要什么样式就用style写内联的CSS。2、全局规则之二,少用图片,邮箱不会过滤你的img标签,但是系统往往会默认不载入陌生来信的图片,如果用了很多图片的邮件,在片没有载入的情况下,丑陋无比甚至看不清内容,没耐心的用户直接就删除了。图片上务必加上alt。3、不要在style里面写float、position这些style,因为会被过滤。那么... Read More >
202109-14 css图片热点链接的设置 一、热点的原理图片通过usemap="#Map"属性将名称为"Map"的热点区域及连接映射到图片上。 一般来说,图片的usermap属性对应的是map热点的name的属性值。所以如果页面中如果有多个图片添加热点,那么每一个图片的usemap值跟对应的热点地图的name值一定要一样,且不同的热点区域name值不可以相同,如果相同,那么图片上的热点区域将会以相同名称的第一个热点区域为准。二、要设置图片的热点链接要用到三种标签:&l... Read More >
202109-13 div内元素垂直居中 详细代码参考:https://github.com/tiancityycf/frontend/blob/master/vertical.html1.不知道自己高度和父容器高度的情况下, 利用绝对定位只需要以下三行:parentElement{ position:relative; } childElement{ &... Read More >
202109-12 利用CSS3中的clac()实现按照屏幕分辨率自适应宽度 1、简介 calc()看其外表像个函数。平时在制作页面的时候,总会碰到有的元素是100%的宽度(例如body元素)。如果元素宽度为100%时,其自身不带其他盒模型属性设置还好,要是有别的,那将导致盒子撑破。比如说,有一个边框,或者说有margin和padding,这些都会让你的盒子撑破。我们换句话来说,如果你的元素宽度是100%时,只要你在元素中添加了border,padding,margin任何一值,都将会把元素盒子撑破(标准模式下,除IE怪异模式)。平时我们碰到这样的现... Read More >
202109-11 HTML5 sessionStorage会话存储 sessionStorage 是HTML5新增的一个会话存储对象,用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。本篇主要介绍 sessionStorage(会话存储)的使用方式。包括添加、修改、删除等操作。目录1. 介绍 1.1 说明 1.2 特点 1.3 浏览器最小版本支持 1.4 适合场景2. 成员 2.1 属性 2.2 方法3. 示例 3.1 存储数据 3.2 读取数据 3.3 存储Json对象 ... Read More >
202109-10 iframe自适应包含页面 直接上代码<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> </head> <style> &nbs... Read More >
202109-09 小程序前端获取带参二维码二进制流数据,转base64图片展示二维码 前端页面:<image style="width: 200px; height: 200px; background-color: #eeeeee;" src="{{src}}"></image>JS部分:getQRCODE(id) { var that = this; var path&n... Read More >
202109-08 你真的懂let和const? 块级作用域在ES6之前我们脑海里应该只存在全局作用域和函数级作用域,没有块级作用域。那么为什么要引入块级作用域呢? 1. 避免外层变量被覆盖var str = "hello"; function d() { console.log(str); if (... Read More >
202109-07 vue.ant.design学习笔记 1.form表单相同名字多值写法,类似普通表单的相同名字后端可以直接接收到数组<span v-for="(item, index) in data.list" :key="index"> <a-form-item :label="item.name" :label-col="{ span: 5&nb... Read More >
202109-06 Nodejs进程管理模块forever详解 一、forever介绍forever是一个简单的命令式nodejs的守护进程,能够启动,停止,重启App应用。forever完全基于命令行操作,在forever进程之下,创建node的子进程,通过monitor监控node子进程的运行情况,一旦文件更新,或者进程挂掉,forever会自动重启node服务器,确保应用正常运行。二、 forever安装全局安装forevernpm install -g foreverD:\toolkit\nodejs\node_modu... Read More >
202109-05 Js字节数组 有时我们做长连接推送时,经常需要推送二进制数据,这时候就需要用到Js字节数组的部分知识ArrayBuffer:类型化数组:http://blog.csdn.net/lichwei1983/article/details/43892965直接上代码var str = '{"Ai": {"Ai_id": "123456","Hand":&nbs... Read More >
202109-04 深入理解js的prototype以及prototype的一些应用 prototype是函数的一个属性,并且是函数的原型对象。引用它的必然是函数,这个应该记住。你有没有看过类似下面这样引用prototype的js代码:function func(){ var args = Array.prototype.slice.call(arguments, 1); &nbs... Read More >
202109-03 详解 JavaScript的 call() 和 apply() ECMAScript规范为所有函数都包含两个方法(这两个方法非继承而来), call 和 apply 。这两个函数都是在特定的作用域中调用函数,能改变函数的作用域,实际上是改变函数体内 this 的值 。call 和 apply语法定义说明call(thisObj,Object)调用一个对象的一个方法,以另一个对象替换当前对象。call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从... Read More >
202109-02 nodejs高大上的部署方式-PM2 如果直接通过node app来启动,如果报错了可能直接停在整个运行,supervisor感觉只是拿来用作开发环境的。再网上找到pm2.目前似乎最常见的线上部署nodejs项目的有forever,pm2这两种。使用场合: supervisor是开发环境用。 forever管理多个站点,每个站点访问量不大,不需要监控。 nodemon 是开发环... Read More >
202109-01 HTML5 音频或视频实现倍速播放 在视频网站中我们常常会看到工具栏中有“倍速”或“倍速播放”等功能操作,进而满足部分群体需求。当然了,这种设计属于辅助性功能体验,我们可以将其进行辅助性设计添加。在HTML5中基于<audio>或<video>元素我们可以通过JavaScript控制playbackRate属性值对其实现功能操作。语法:audio|video.playbackRate=playbackspeed示例:// HTML 部分: <audio&nbs... Read More >