一.Express路由简介 路由表示应用程序端点 (URI) 的定义以及响应客户端请求的方式.它包含一个请求方时(methods).路径(path)和路由匹配时的函数(callback); app.methods(path, callback); 二.Express路由方法 Express方法源于 HTTP 方法之一,附加到 express 类的实例.它可请求的方法包括: get.post.put.head.delete.options.trace.copy.lock.mkcol.move.pu…
一.中间件 从字面意思,我们可以了解到它大概就是做中间代理操作,事实也是如此:大多数情况下,中间件就是在做接收到请求和发送响应中间的一系列操作.事实上,express是一个路由和中间件的web框架,Express 应用程序基本上是一系列中间件函数的调用. 中间件函数可以执行以下任务:执行任何代码.对请求和响应对象进行更改.结束请求/响应循环.调用堆栈中的下一个中间件函数. 中间件也分为应用层中间件.路由中间件.内置中间件.错误处理中间件和第三方中间件.下面分别对以下进行说明: 1.应用层中间件…
一.简介 实际引用中,有些公司在不同地区会设置不同服务器,因此就需要用到nginx以实现负载均衡,这时,将session数据保存至数据库就成为了需要面对的问题,我们以MySQL数据库为例,看看他是如何将数据上传至mysql中的.在npm上有一个叫做:express-mysql-session的模块,主要用于将数据上传至mysql数据库,以下为他的实现方式: var express = require('express'); var app = module.exports = express()…
一.关于session session是另一种记录客户状态的机制,与cookie保存在客户端浏览器不同,session保存在服务器当中:当客户端访问服务器时,服务器会生成一个session对象,对象中保存的是key:value值,同时服务器会将key传回给客户端的cookie当中:当用户第二次访问服务器时,就会把cookie当中的key传回到服务器中,最后服务器会吧value值返回给客户端.因此上面的key则是全局唯一的标识,客户端和服务端依靠这个全局唯一的标识来访问会话信息数据. 二.设置se…
一.关于cookie加密 cookie加密是让客户端用户无法的值cookie明文信息,是数据安全的重要部分:一般的我们可以在保存cookie时对cookie信息进行加密,或者在res.cookie中对option对象的signed属性设置设置成true即可. 二.使用 signed 属性进行cookie加密 如下列代码: const express = require("express"); const cookieParser = require("cookie-parse…
一.关于Cookie 在我们关闭一个登录过的网址并重新打开它后,我们的登录信息依然没有丢失:当我们浏览了商品后历史记录里出现了我们点击过的商品:当我们推回到首页后,推荐商品也为我们选出了相似物品:事实上当我们有过此类操作后,浏览器会将我们的操作信息保存到cookie上面.阿进而言之,cookie就是储存在用户本地终端上的数据. Cookie的特点 1.cookie保存在浏览器本地,只要不过期关闭浏览器也会存在. 2.正常情况下cookie不加密,用户可轻松看到 3.用户可以删除或者禁用cooki…
一.关于POST请求 post方法作为http请求很重要的一部分,几乎所有的网站都有用到它,与get不同,post请求更像是在服务器上做修改操作,它一般用于数据资源的更新.相比于get请求,post所请求的数据会更加安全.上一章中我们发现get请求会在地址栏显示输入的用户名和密码(有中文时会转化为BASE64加密),而post请求则会将数据放入http包的包体中,这使得别人无法直接看到用户名和密码! 二.Express如何设置POST请求 1.我们的知道,首先我们得知道在form表单进行post…
一.关于get请求 一般在网站开发中,get都用作数据获取和查询,类似于数据库中的查询操作,当服务器解析前台资源后即传输相应内容:而查询字符串是在URL上进行的,形如: http://localhost:8080/login?goods1=0001&goods2=0002 有关 GET 请求的其他一些注释:GET 请求可被缓存GET 请求保留在浏览器历史记录中GET 请求可被收藏为书签GET 请求不应在处理敏感数据时使用GET 请求有长度限制GET 请求只应当用于取回数据 二.获取前台get请求…
一.前言 随着前端业务的不断发展,页面交互逻辑的不断提高,让数据和界面实现分离渐渐被提了出来.JavaScript的MVC思想也流行了起来,在这种背景下,基于node.js的模板引擎也随之出现. 什么是模板引擎? 它用于解析动态数据和静态页面所生成的视图文件,将原本静态的数据变为动态,快速地实现页面交互:目前使用较广的模板引擎有以下几种:Jade / Pug.EJS.Handlebars. jade模板引擎 jade模板引擎相较于原来的html会显得更加简洁,它将标签原本的"<>&q…
一.简介 相比于jade模板引擎,ejs对原HTML语言就未作出结构上的改变,只不过在其交互数据方面做出了些许修改,相比于jade更加简单易用.因此其学习成本是很低的.您也可参考ejs官网:https://ejs.bootcss.com/ 二.ejs基本使用 这里我们使用如下配置文件: 我们啊可以通过下面的方式实现基本的ejs操作: app.js文件: const express=require("express"); const ejs=require("ejs"…
前言 ndoe.js,一个基于javsscript运行环境的服务器语言,它的出现使得javascript有能力去实现服务器操作.在gitHub上ndoe.js的star数已接近6万,可见其受欢迎程度:而基于node.js的Express则把原先的许多操作变的简单灵活,一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具.使用 Express 可以快速地搭建一个完整功能的网站.express官方网址:www.expressjs.com.cn Express的安装方式 Express…
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框架系列教程四(删除数据) CRL快速开发框架系列教程五(使用缓存) CRL快速开发框架系列教程六(分布式缓存解决方案) CRL快速开发框架系列教程七(使用事务) CRL快速开发框架系列教程八(使用CRL.Package) CRL快速开发框架系列教程九(导入/导出数据) CRL快速开发框架系列教程十(…
Laravel大型项目系列教程(二) 一.前言 本节教程将大概实现用户的注册.修改个人信息.管理用户功能. 二.Let's go 1.创建用户注册视图 $ php artisan generate:view users.create 修改app/views/users/edit.blade.php: @extends('_layouts.default') @section('main') <div class="am-g am-g-fixed"> <div clas…
此篇写MySQL中最基础,也是最重要的操作! 第一篇:屌炸天实战 MySQL 系列教程(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:屌炸天实战 MySQL 系列教程(二) 史上最屌.你不知道的数据库操作 本章内容: 查看\创建\使用\删除 数据库 用户管理及授权实战 局域网远程连接法 查看\创建\使用\删除\清空\修改 数据库表(是否可空,默认值,主键,自增,外键) 表内容的增删改查 where条件.通配符_%.限制limit.排序desc\asc.连表join.组合union 查…
MicroPython成功将Python引入到嵌入式领域,近几年MicroPython的发展和普及也证明,Python无疑将在未来几年内快速抢占和蚕食C/C++的份额.包括现在比较火爆的机器人.无人机以及其他开源硬件诸如Arduino与RaspberryPi的项目正吸引到众多拥有Python技能背景的爱好者. 截止到目前,已经有不少嵌入式硬件成功移植了Micropython,如STM32F4.esp8266.PYBoard等.而目前在MicroPython嵌入式领域最全.最专业的当属TPYBoa…
教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步<webpack4 系列教程(十二):处理第三方 JavaScript 库>原文地址.或者来我的小站看更多内容:godbmw.com 0. 课程介绍和资料 >>>本节课源码 >>>所有课程源码 本节课的代码目录如下: 本节课的package.json内容如下: { "dependencies": { "jquery": "^3.3.1"…
目录: <Java NIO系列教程(二) Channel> <Java NIO系列教程(三) Channel之Socket通道> Channel是一个通道,可以通过它读取和写入数据,它就像自来水管一样,网络数据通过Channel读取和写入.通道与流的不同之处在于通道是双向的,流只是在一个方向上移动(一个流必须是InputStream或者OutputStream的子类),而且通道可以用于读.写或者同事用于读写.因为Channel是全双工的,所以它可以比流更好地映射底层操作系统的API…
数据挖掘入门系列教程(二)之分类问题OneR算法 数据挖掘入门系列博客:https://www.cnblogs.com/xiaohuiduan/category/1661541.html 项目地址:GitHub 在上一篇博客中,我们通过分析亲和性来寻找数据集中数据与数据之间的相关关系.这篇博客我们会讨论简单的分类问题. 分类简介 分类问题,顾名思义我么就是去关注类别(也就是目标)这个变量.分类应用的目的是根据已知类别的数据集得到一个分类模型,然后通过这个分类模型去对类别未知的数据进行分类.这里有…
1.快速创建express项目步骤 /** * 1.cd 到项目里面 * 2.npm init --yes 创建package.json文件 * 3.安装express * npm install express --save-dev * 4.引入express使用 * var express = require('express'); * var app = new express(); * app.get('',function(req,res){ * * }) * * express:提供…
我之前的文章 微信程序开发系列教程(一)开发环境搭建 介绍了微信开发环境的搭建,这篇文章我们就来一步步开发一些具体的功能. 功能需求:当有微信用户关注了您的公众号之后,您用JavaScript发送一个欢迎消息给这个粉丝. 具体实现 我们登陆微信公众号的控制台后,点开发-> 基本配置: 能看到我们配置的微信消息服务器的地址.在我第一篇教程里讲到,我们在本地用nodejs开发一个Web服务器,然后部署到您喜欢的云平台,比如腾讯云,阿里云,百度云等等(我选的是云平台Heroku),然后把部署后应用的u…
尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/46764575 关注新浪微博:@于卫国 邮箱:yuweiguocn@gmail.com 终于我还是没能够遵守承诺. 之前我写的文章应该算是一个新的系列,一年后我们又回来了. 因此我又又一次開始了.我每天在Google+上发表的一系列文章我将会分享在这里,就像Daniel Lew之前所做的. 自从我在G+上写的新的系列,会从之前所发表的文章复制一些到这里. 假设你想获取最新的…
一.写在前面 引言 本文是我写的MarkDown系列教程的第二篇,前一篇的地址:MarkDown图文编辑系列教程(一) 读完本篇,你将获得 学会使用markdown语法进行:区块引用(一种常用的引用格式).各种语言代码插入.链接插入.图片插入,表格插入. 二.步入正题 1.区块引用 引用主要用于标识该处内容引自他处,说白了是借用他人的东西来说明一些问题. 格式是:输入'>',后边加上空格,接着就可以输入或粘贴引用内容了.下边举例:…
注:本文是[ASP.NET Identity系列教程]的第二篇.本系列教程详细.完整.深入地介绍了微软的ASP.NET Identity技术,描述了如何运用ASP.NET Identity实现应用程序的用户管理,以及实现应用程序的认证与授权等相关技术,译者希望本系列教程能成为掌握ASP.NET Identity技术的一份完整而有价值的资料.读者若是能够按照文章的描述,一边阅读.一边实践.一边理解,定能有意想不到的巨大收获!希望本系列博文能够得到广大园友的高度推荐. $(document).rea…
在上一篇专题文章[原]iOSCoreAnimation动画系列教程(一):CABasicAnimation[包会]中我们学习了iOS核心动画CoreAnimation中CABasicAnimation动画的使用方法.CABasicAnimation已经可以应付一些比较简单的应用场景了,比如view的平移出现.淡入淡出等.但是在有些情况下直线的运动并不能满足我们的需要,因此有必要学习进阶版的核心动画,那就是CAKeyFrameAnimation. 在上一篇专题中我们提到,CAAnimation可分…
本人10月份提出离职,可是交接非常慢,预计年底才会交接完,趁着交接之际,自学了一下WPF,由于这是微软未来的发展趋势,自WIN7以来包含前不久公布的WIN8,核心还是WPF,在此,将自己的学习成果做一个总结,同一时候将自己学习积累的东西和广大博友分享,希望大家能共同进步.在文章的结尾我会将全系列的源码地址提供给大家,有须要的朋友能够下载下来自己研究研究.由于之前申请WPF博客专栏一直没有申请下来,所以用一篇文章来结束我的学习,同一时候也给初学的人提供一个学习文件夹,提高学习效率,废话不多说,直接…
因为原书作者的一再要求,在此声明,本书中的部分内容引用了原书名为<深入浅出WPF>的部分内容,假设博文不能满足你现有的学习须要,能够购买正版图书! 本人10月份提出离职,可是交接非常慢,预计年底才会交接完,趁着交接之际,自学了一下WPF,由于这是微软未来的发展趋势,自WIN7以来包含前不久公布的WIN8,核心还是WPF,在此,将自己的学习成果做一个总结,同一时候将自己学习积累的东西和广大博友分享,希望大家能共同进步.在文章的结尾我会将全系列的源码地址提供给大家,有须要的朋友能够下载下来自己研究…
请务必先看上一篇文章,本文在上一篇文章的代码基础上修改而成. JXLS 2.4.0系列教程(一)--最简单的模板导出 上一篇文章我们介绍了JXLS和模板导出最简单的应用,现在我们要更进一步,介绍在模板中循环导出链表中的数据,在日常开发中,循环导出应该才是最常用的功能吧! 首先,我们要建立一个类模拟javabean对象.我们定义一个person类,里面有id,name和age. public class Person { String id; String name; Integer age; p…
前言 上一篇文章,介绍了Microsemi Libero系列教程(一)-Libero开发环境介绍,下载,安装与注册,作为嵌入式开发中的Hello World,点灯是再也基础不过的实验了,通过点灯实验,可以了解芯片GPIO的控制和开发环境IDE新建工程的流程,对于FPGA来说,每个IO口几乎一样,所以本篇文章主要学习一下如何基于Microsemi Libero集成开发环境建立一个示例工程,让一个LED以500ms的频率闪烁,以Microsemi SmartFusion系列FPGA--A2F200M…
本文是西门子开放式TCP通信的第2篇,上一篇我们讲了使用西门子1200PLC作为TCP服务器的程序编写,可以点击下方链接阅读:[公众号dotNet工控上位机:thinger_swj] 基于Socket访问西门子PLC系列教程(一) 在完成上述步骤后,接下来就是编写上位机软件与PLC之间进行通信.上位机UI界面设计如下图所示: 从上图可以看出,上位机需要完成以下功能: TCP建立连接与断开连接 多线程接收服务器数据 各种数据类型通用数据解析 各种数据类型的通用写入接下来我们将按照功能顺序来逐个完成…
目录 1.前言 2.启动 GNU Radio 3.新增块 4.运行 本文视频 参考链接 1.前言 本文将介绍如何在 GNU Radio 中创建和运行第一个流程图. 2.启动 GNU Radio GNU Radio Companion (GRC)是用于创建和运行流程图的视觉编辑器.GRC 使用 .grc 文件,然后会转换为 python .py 流程图. 打开终端,运行: sudo gnuradio-companion GRC 窗口如下: 双击 Options 块,可以通过修改 ID 和 Titl…