ngtwewy

安装npm install @hapi/joi --save 用法示例const Joi = require('@hapi/joi'); const schema = Joi.object({ username: Joi.string() .alphanum() .min(3) .max(30) .required(), password: Joi.string() .pattern(new RegExp('^[a-zA-Z0-9]{3,30}$')), repeat_password: Joi.ref('password'), access_token: [

2020-07-05    Node.js   
ngtwewy

名词解释DAO = Data Access Object = 数据存取对象Service = 服务Controller = 控制器Util = 工具Model = 模型 来源以上名词是人们在开发中形成的一些约定俗成的规则,我们做一个大项目会把项目分解成很多不不同的模块(Module),然后根据用途和角色,我们对这些模块有一个通用的命名规则,这也就是上面这些英文单词的来历。 Dao,Service,Controller,Model,Utils有没有其实都可以,叫不叫这些名字也无妨,你要把Service的内容全写在Controller里也没问题,你要把Utils的工具函数分散在所有需要用的文件也O

2020-06-27    数据结构和算法   
ngtwewy

插件位置需要注意的是,由于在WordPress中可以配置wp-content/plugins/目录的位置,所以你必须使用plugin_dir_path()和plugins_url()两个函数来获取插件的路径。WordPress 查询数据库查询global $wpdb; $fivesdrafts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish' AND post_author = 1"); foreach ($fivesdrafts as $fivesdra

2020-06-27    PHP   
ngtwewy

默认WordPress一共有以下12个表。这里加上了默认的表前缀 wp_ 。wp_commentmeta:存储评论的元数据wp_comments:存储评论wp_links:存储友情链接(Blogroll)wp_options:存储WordPress系统选项和插件、主题配置wp_postmeta:存储文章(包括页面、上传文件、修订)的元数据wp_posts:存储文章(包括页面、上传文件、修订)wp_terms:存储每个目录、标签wp_termsmeta:存储目录、标签的元数据wp_term_relationships:存储每个文章、链接和对应分类的关系wp_term_taxonomy:存储每个目

2020-06-27    PHP   
ngtwewy

什么是 Wordpress 插件 ?插件( Plugins )是如何与 WordPress 交互的WordPress 为插件提供了多种丰富的 APIs。每一种 API( 应用程序接口 )使插件和 WordPress 以不同的方式交互。下面是 WordPress 提供的主要 APIs 以及他们的功能列表:插件: 给插件提供一系列的钩子( hooks )来使用 WordPress 的相关部分。WordPress 包含两种不同类型的钩子: 动作( Actions )和过滤器( Filters )。动作让你可以在运行时的特定时刻触发自定义的插件代码。例如,可以在用户在 WordPress 中注册了一个

2020-06-27    PHP   
ngtwewy

1,菜单函数 wp_nav_menu()wp_nav_menu( array( 'theme_location'=> '', //[保留]用于在调用导航菜单时指定注册过的某一个导航菜单名,如果没有指定,则显示第一个 'menu'=> 'top_main1', //[可删]使用导航菜单的名称调用菜单,可以是 id, slug, name (按顺序匹配的) 。 'container'=> false, //[可删]最外层容器标签名 'container_class'=> '',//[可删]最外层容器class名 'container_id'=> '',//[可删]最外层容器id值 'm

2020-06-27    PHP   
ngtwewy

安装npm install -g browser-sync 监控静态网站如果您想要监听.css文件, 您需要使用服务器模式。 BrowserSync 将启动一个小型服务器,并提供一个URL来查看您的网站。// --files 路径是相对于运行该命令的项目(目录) browser-sync start --server --files "css/*.css" // 监听css和html文件 browser-sync start --server --files "css/*.css, *.html" //或者 browser-sync start --server --files

2020-05-29    npm   
ngtwewy

1,菜单函数 wp_nav_menu()wp_nav_menu( array( 'theme_location' => '', //[保留]用于在调用导航菜单时指定注册过的某一个导航菜单名,如果没有指定,则显示第一个 'menu' => 'top_main1', //[可删]使用导航菜单的名称调用菜单,可以是 id, slug, name (按顺序匹配的) 。 'container' => false, //[可删]最外层容器标签名 'container_class' => '',//[

2020-05-22    PHP   
ngtwewy

counter-reset 主要功能是用来标识计数器的作用域的。它只能作用于选择器上,它的值包括两部分:第一部分为计数器的名字;第二部分为计数器的起始值(默认为0),counter-reset还可以同时声明多个计数器比如:counter-reset: count 0/*标识计数器count从1开始*/ counter-reset: count2 2 /*标识计数器count2 从3开始*/ counter-reset: count1 0 count3 0 count4 0 /*声明了三个计数器,count1,count2,count3*/ counter-increment 表明计数器实

2020-05-22    CSS   
ngtwewy

Webpack 4.0 开始,为了应对 Parcel 等的挑战,配置越来越简单,甚至可以“零配置”。一个简单的 Webpack.config.js 配置文件 :const path = require('path'); module.exports = { entry: './src/index.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle.js' } }; 添加上常用 loader 后的配置文件:const HtmlWebpackPlugin = r

2020-05-21    Webpack   
ngtwewy

Bundle: Produced from a number of distinct modules, bundles contain the final versions of source files that have already undergone the loading and compilation process.Bundle: bundle通常是由多个不同的模块产生,它是已经加载完毕和被编译后的源代码的最终版本。Bundle Splitting: This process offers one way of optimizing a build, allowing webp

2020-05-21    Webpack   
ngtwewy

1,who 命令可以查看最近一条登陆记录who /var/log/wtmp查看所有已保存的登陆记录2,centos8 修改 ssh 默认端口在 /etc/ssh/sshd_config 中,增加:Port 22 Port 10086 SSH默认监听端口是22,如果你不强制说明别的端口,”Port 22”注不注释都是开放22访问端口。上面保留了22端口,是为了防止出错后,连22端口都无法访问了。

2020-05-17    CentOS   
ngtwewy

场景使用 Android Studio 或者 HBuilderX 真机调试时,总是使用一根数据线连接到电脑上很不方便。如果在一个局域网内,可以使用 adb 无线调试 APP。如果只安装了 HBuilderX,可以使用HBuilderX 内置的 adb,位置一般在“/Applications/HBuilderX.app/Contents/HBuilderX/plugins/launcher/tools/adbs”。知识Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用

2020-05-07    App开发   
ngtwewy

场景现在很多高清视频都是MKV,但是Premiere等剪辑工具只支持 MP4 文件。可以使用 ffmpeg 不重新编码转换成MP4文件。等于文件复制的速度,非常快。MKV 介绍MKV 是Matroska的一种媒体文件,Matroska是一种新的多媒体封装格式,也称多媒体容器 (Multimedia Container)。它可将多种不同编码的视频及16条以上不同格式的音频和不同语言的字幕流封装到一个Matroska Media文件当中。MKV最大的特点就是能容纳多种不同类型编码的视频、音频及字幕流。mkv是一种后缀为MKV的视频文件频频出现在网络上,它可在一个文件中集成多条不同类型的音轨和字幕轨

2020-05-06    FFmpeg   
ngtwewy

1. 【强制】隶属于用户个人的页面或者功能必须进行权限控制校验。 说明:防止没有做水平权限校验就可随意访问、修改、删除别人的数据,比如查看他人的私信内容。2. 【强制】用户敏感数据禁止直接展示,必须对展示数据进行脱敏。 说明:中国大陆个人手机号码显示为:137****0969,隐藏中间 4 位,防止隐私泄露。3. 【强制】用户输入的SQL参数严格使用参数绑定或者METADATA字段值限定,防止SQL注入, 禁止字符串拼接 SQL 访问数据库。反例:某系统签名大量被恶意修改,即是因为对于危险字符 # --没有进行转义,导致数据库更新时,where 后边的信息被注释掉,对全库进行更新。4. 【强制

2020-04-27    PHP   
随机推荐
详解 RESTful API 中的动词覆盖
Photoshop 学习笔记 颜色替换
Angular和React简单对比
阿里的后端安全规约
PHP解析XML文件
2018.1.26 Night King
jQuery.position()不可靠
PHP把时间转换成几分钟前、几小时前、几天前
修改syntaxhighlighter插件的字体大小
发送header文件头信息实现文件下载