ngtwewy

add_theme_page()函数add_theme_page()函数会在后台“外观”菜单项下面新建一个菜单项,有助于我们自己修改主题时功能的扩展。语法结构add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function); page_titile title标签的内容menu_title 显示在后台左边菜单的标题capability 访问这个页面需要的权限menu_slug 别名,需要独一无二哦自己命名function 执行的函数例子:# 加入主题的functions.php即可 function

2021-01-30    Wordpress    320
ngtwewy

通用HTTP身份验证有几种身份验证模式,每种模式在安全强度不同,在客户机或服务器软件中的可用性方面可能有所不同。最常见的认证方案是“基本”认证方案,下面将详细介绍它。参考:https://javascript.net.cn/article?id=628IANA维护着一个认证方案列表,但是主机服务也提供了其他的认证方案,比如Amazon AWS。常见的认证方案包括:BasicSee RFC 7617, base64-encoded credentials. More information below.https://tools.ietf.org/html/rfc7617BearerSee RF

2021-01-29    HTTP    344
ngtwewy

Content-Disposition 通常作用于两种情况中,“作为消息主体中的消息头”或“作为multipart body中的消息头”作为消息主体中的消息头一般情况下,Content-Disposition 响应头指示返回的内容,是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地。Content-Disposition: inline默认值,表示回复中的消息体会以页面的一部分或者整个页面的形式展示Content-Disposition: attachment表示消息体应该被下载到本地;Content-Disposition: attachment; filename=

2021-01-28    HTTP    306
ngtwewy

最初是 TJ 2013年写的模块。可以使用redis或者内存模式。当一定的时间内请求次数超过阀值,返回429错误。可以参考 API Rate Limiting 限速 https://javascript.net.cn/article?id=623,这个是基于IP的。在nginx做代理的情况下,还可以基于IP或者请求再次限流 https://javascript.net.cn/article?id=753Installation 安装# npm $ npm install koa-ratelimit # yarn $ yarn add koa-ratelimit Example 例子Wi

2021-01-23    Node.js    856
ngtwewy

跨域脚本攻击 XSS 是最常见、危害最大的网页安全漏洞。XSS:Cross Site Scrit 跨站脚本攻击(为与 CSS 区别,所以在安全领域叫 XSS)。攻击原理是代码被恶意注入到页面中(例如评论),然后其他用户在访问页面时,浏览器执行了代码逻辑。为了防止它们,要采取很多编程措施,非常麻烦。很多人提出,能不能根本上解决问题,浏览器自动禁止外部注入恶意脚本?这就是"网页安全政策"(Content Security Policy,缩写 CSP)的来历。CSP 的实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单。它的实现和执行全部由浏览器完成,开发者只需提

2021-01-23    Node.js    320
ngtwewy

display:inline-block是一种布局方法,它相比于与浮动、定位最大的不同就是其没有父元素的匿名包裹特性,这使得display:inline-block属性的使用非常自由,可与文字,图片混排,可内嵌block属性元素,可以置身于inline水平的元素中。在CSS布局中,如果我们想要将一些元素在同一行显示,其中的一种方法就是把要同行显示的元素设置display属性为inline-block。但是你会发现这些同行显示的inline-block元素之间经常会出现一定的空隙,这就是“换行符/空格间隙问题”。 display:inline-block元素之间空隙的产生原因和解决办法

2021-01-23    CSS    319
ngtwewy

怪异模式(quirks mode)是指在计算机领域中,一些网页浏览器为了维持对较旧的网页设计的向后兼容性,而使用的一种技术。怪异模式特点:1.采用的是IE盒模型,即将border和padding包含在了height和width中。在 IE 盒模型中,box width = content width + padding left + padding right + border left + border right, box height = content height + padding top + padding bottom + border top + border bottom

2021-01-23    CSS    417
ngtwewy

一,响应式网页设计响应式网页设计( RWD,Responsive Web Design) 这个术语,由伊桑・马科特( Ethan Marcotte )提出。他在AList Apart发表了一篇开创性的文章,将三种已有的开发技巧(弹性网格布局、弹性图片、媒体和媒体查询)整合起来,并命名为响应式网页设计。这个术语还有一堆表示相同意思的其他叫法,如流式设计、弹性布局、塑料布局、流体设计、自适应布局、跨设备设计以及弹性设计。 上面仅列举了其中一部分!不过,正如马科特等人所说,真正的响应式设计方法不仅仅只是根据视口大小改变网页布局。相反,它是要从整体上颠覆我们当前设计网页的方法。以往我们先是针对桌面电

2021-01-20    CSS    312
ngtwewy

1,DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。2,表和索引所占空间。当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小,DELETE操作不会减少表或索引所占用的空间。drop语句将表所占用的空间全释放掉。3,Truncate table 表名 速度快,而且效率高,因为: truncate table 在功能上与不带 WHE

2021-01-20    MySQL    277
ngtwewy

商品库存肯定是很有限的,如何控制库存不让出现超买是一个非常重要的问题。事务是控制库存超卖的必要不充分条件。举例:总库存:4个商品请求人:a、购买1个商品 b、购买2个商品 c、购买3个商品程序如下:beginTranse try{ result = db->query('select amount from s_store where postID = 12345'); if(result->amount > 0){ //quantity为请求减掉的库存数量 db->query('update s_store set amount = amount - qua

2021-01-20    MySQL    698
ngtwewy

assert 模块assert模块是Node的内置模块,主要用于断言。如果表达式不符合预期,就抛出一个错误。该模块提供11个方法,但只有少数几个是常用的。assert(value[, message])value 检查是否为真的输入。message | assert.ok() 的别名。assert.ok(value[, message])如果 value 不是真值,则抛出 AssertionError,并将 message 属性设置为等于 message 参数的值。 如果未定义 message 参数,则会分配默认错误消息。 如果 message 参数是 Error 的实例,则它将被抛出而不

2021-01-18    Node.js    396
ngtwewy

使用 Mocha 和 Node.js自带的assert做单元测试,使用SuperTest做请求接口。Mocha 简介mocha 提供 TDD(测试驱动开发)、BDD (行为驱动开发) 和 exports 风格的接口。BDD是“行为驱动的开发”(Behavior-Driven Development)的简称。BDD认为,不应该针对代码的实现细节写测试,而是要针对行为写测试。BDD测试的是行为,即软件应该怎样运行。BDD接口提供以下方法:describe():测试套件 it():测试用例 before():所有测试用例的统一前置动作 after():所有测试用例的统一后置动作 before

2021-01-17    Node.js    593
ngtwewy

NPM Package 学习,一个符合CommonJs规范的包,都可以成为一个Npm Package。一,创建一个包创建一个文件夹:good-helloworld添加如下文件:index.jsexports.helloWorld = function () { return "Hell World!"; } exports.你好世界 = function () { return "你好世界!"; } package.json{ "name": "good-helloworld", "version": "0.0.1", "private": false

2021-01-15    npm    308
ngtwewy

Sequelize 提供了一个方法 Model.bulkCreate,可以只用一次查询插入多条数据。bulkCreate(records, [options]) -> Promise.> 参数records Array 要创建实例的对象(键/值 对)列表 [options] Object [options.fields] Array 要插入的字段。默认全部 [options.validate=true] Boolean 插入每条记录前进行验证 [options.hooks=true] Boolean 在执行前/后创建钩子 [options.individualHooks=false

2021-01-14    Node.js    778
ngtwewy

安装 node-xlsxnpm install node-xlsx --save读取 Excelvar xlsx = require('node-xlsx'); // 解析得到文档中的所有 sheet var sheets = xlsx.parse('test.xls'); // 遍历 sheet sheets.forEach(function(sheet){ console.log(sheet['name']); // 读取每行内容 for(var rowId in sheet['data']){ console.log(rowId);

2021-01-14    Node.js    305
随机推荐
Cordova目录结构说明
MySQL 函数 FIND_IN_SET 和 IN 的区别
微信小程序官方Demo登录失败,原因:PHP7.1以上版本废弃了Mcrypt
Node.js 文件系统
Nodejs路由实现方式和顺序
axios跨域访问
GPS坐标转换经纬度及换算方法
PHPExcel读取和写入Excel文件
Cheerio 中文文档
Nodejs Request使用介绍