通过这篇 全栈项目|小书架|服务器开发-JWT 详解 文章我们对JWT有了深入的了解,那么接下来介绍JWT如何在项目中使用. 安装 $ npm install jsonwebtoken 生成 Token 将生成token的代码封装到一个函数中,方便后续调用. /** * 生成 token * @param {用户 id} uid * @param {*} scope */ const generateToken = function (uid, scope) { // 配置项中的密钥和过期时间…
为什么使用数据库 为什么需要数据库?-知乎 相比与文件系统,数据库具有以下优势: 高效率:查找效率高 高可用:可数据库共享 安全性强:数据不能随意修改 选择哪个数据库 数据库可以分为关系型数据库和非关系型数据库. 关系型数据库:是指采用了关系模型来组织数据的数据库,关系模型指的就是二维表格模型(一个表由行和列组成),而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织. 代表的数据库有: 非关系型数据库(NoSQL):NoSQL(NoSQL = Not Only SQL ),意即"不…
badboy中的检查点 以www.sogou.com搜索为例演示,搜索badboy. 1.打开badboy工具,点击红色按钮开始录制,在地址栏目中输入地址:www.sogou.com,回车. 2.输入“badboy”,回车搜索,页面显示搜索内容,然后点击红色按钮结束录制. 3.选中搜索框中的“badboy”,点击“Tools”-->"Add Assertion for selection",下面显示Check for text "badboy". 4.点击“P…
什么是异常 做开发的基本都知道异常,像Android开发中常见的ANR异常.空指针异常,服务器开发中经常遇到的异常404,500异常,还有一些其他常见的异常,具体可见HTTP状态码. 基本上这些异常可以总结为:已知异常和未知异常. 已知异常就是程序中能够预想到异常,比如:服务器接口开发中某个api接口需要5个参数,而用户传递的参数多余5个或者少于5个,这种错误就是已知错误. 未知异常就说程序中不能预想到的异常,比如:服务器接口开发中遇到了空指针而程序中又没有做相应处理就会抛出HTTP状态码为50…
KOA2 是什么? Koa是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小.更富有表现力.更健壮的基石. 通过利用 async函数,Koa帮你丢弃回调函数,并有力地增强错误处理. Koa 并没有捆绑任何中间件, 而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序. 为什么产生? 笔者对这几个框架都不熟,这里就不误人子弟了.可以看看下面一些大佬的介绍. Koa是由Express的原班人马打造,那么他们为什么不将…
安装 官网:https://sequelize.org/v5/manual/getting-started.html 安装sequelize及数据库连接驱动 npm install --save sequelize $ npm install --save mysql2 使用 创建连接: const Sequelize = require('sequelize'); const sequelize = new Sequelize('database', 'username', 'password…
为什么需要做参数校验 在开发中,无论是App开发还是服务器接口开发, 我们无法去预测用户传入的数据,因此参数(数据)校验是开发中不可或缺的一环. 例如像App的注册登录表单提交页面,就要做好多层的判断.如:用户名是否为空,用户密码是否为空,密码长度是否足够等等. 那么有没有比较优雅的方式实现呢? 如何优雅实现 这里使用的是基于validator.js封装的Lin-Validator,源码是七月老师提供. Lin-Validator拥有的功能: 参数校验,header,query,path,bod…
唠嗑 参考的是慕课网七月老师的课程,七月的课质量真的挺高的,推荐一波.这次的小书架项目源码不会全部公开,因为用了七月老师课程的绝大部分代码.虽然代码不全,但是只要思路看得懂,代码实现就很简单了. 小书架项目不是我个人完整的项目,UI 使用的是[9小时搞定微信小程序开发],这位老师的界面效果,当时(去年吧)由于已经学了一段时间小程序,正好看到极客时间有这个课程,看着目录讲的挺详细的就买了,后来没啥时间看,就搁置了.今年看到七月老师的课[Node.js+KOA2 从0到1打造超好用Web框架 一步到…
JWT 官方简介:Introduction to JSON Web Tokens 文章基本是官网内容的翻译,英文不错的同学可点击上面的链接直接看英文文档. 什么是 JWT JWT全称是JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间作为JSON对象安全地传输信息.由于此信息是经过数字签名的,因此可以被验证和信任. 可以使用密钥(HMAC算法)或使用RSA或ECDSA的公用/专用密钥对对JWT进行签名. 什么时候使用 JWT…
什么是路由 路由就是具体的访问路径,指向特定的功能模块.一个api接口是由ip(域名)+端口号+路径组成,例如 :https://www.npmjs.com/package/koa-router就是一个路由,指向了koa-router的npm页面. 为什么需要 koa-router 路由 当然不需要koa-router也能实现路由功能,通过ctx.request.path去指定路径实现.例子如下: const koa = require('koa2') const app = new koa()…
什么是Python全栈工程师? 即从前端页面的实现,到后台代码的编写,再到数据库的管理,一人可以搞定一个公司网站的所有事情,真正实现全栈开发. 全栈只是个概念 也分很多种类 真正的全栈工程师涵盖了web开发 DBA 爬虫 测试 运维,要学的内容那是相当的巨量.就web开发方向而言需要学习的内容:前端知识 包括HTML5 CSS3 JS Jquery Ajax,后端至少需要能够熟练使用 Django和tornado 当然会flask更好 Python全栈工程师是比较受欢迎的一类人才,本身Pytho…
目录: 概述 安装测试环境 安装过程 配置启动 配置搭建OpenLDAP 给数据库添加数据 测试查询刚刚插入的数据 客户端介绍 JMeter建立一个扩展LDAP服务器的性能测试脚本开发 附:LDAP学习资料以及“LDAP的特定错误” 一.概述 什么是LDAP? 轻量级目录访问协议: 所述轻量级目录访问协议,或 LDAP,是一种应用协议用于查询和修改目录服务运行在TCP / IP(通过维基百科).LDAP全称是一个轻量级的目录访问协议,它是建立在TCP / IP基础之前的用户查询和修改目录服务的.…
点击了解更多Python课程>>> 老男孩Python高级全栈开发工程师三期完整无加密带课件(共104天) 课程大纲 1.这一期比之前的Python培新课程增加了很多干货:Linux运维基础课程.Redis及操作.bottle框架 使用.瀑布流网站页面布局.组合搜索技术.保障系统项目等. 2.这些技术都是当今互联网公司经常用到的必备技术买这些课程在以往的Python课程中都没有讲,全 栈3期都有了.这一期还增加了面试技巧(提供简历模板和面试PPT). 3.全栈3期保证系统是因为有最给力的…
当你点进来的时候 ,你可能是被标题吸引进来的,也有可能是 偶然间,看到的,首先恭喜你,已经准备好向全栈开发工程师靠近 ,那我们不说废话,直接开始,咱们先从安装步骤开始讲起 ,因为有些人连插件在哪都不知道 记得点关注哦 !防止迷路 VSCODE 插件安装步骤 : 这里我们开始以 VSCode Icons.为例,有点基础的,麻烦跳过..... 一.安装拓展 拓展插件如上图所示. 首先VScode 打开之后是这样的 然后我们点击 这里 要是上面这里你都找不到的话,大哥你退圈把,不适合做程序员 哈哈 安…
今年我一直在写一本新书叫全栈Vue网站开发:Vue.js,Vuex和Laravel.它会在Packt出版社在2018年初出版. 这本书是围绕着一个案例研究项目,Vuebnb,简单克隆Airbnb.在这篇文章中,我会把它如何工作做一个高层次的概述,好让你了解如何从零开始参与建设一个Vue/Laravel构建的全栈应用. 这是一个现场演示如果你想看看的话:https://vuebnb.vuejsdevelopers.com 概述 作为一个完整的全栈应用程序,Vuebnb由不同的部分组成: 前端应用,…
昨日内容回顾 1. 简述flask上下文管理 - threading.local - 偏函数 - 栈 2. 原生SQL和ORM有什么优缺点? 开发效率: ORM > 原生SQL 执行效率: 原生SQL> ORM 如:SQLAlchemy依赖pymysql 3. SQLAlchemy多线程连接的情况 一.flask标准目录结构 标准flask目录结构 Project name/ # 项目名 ├── Project name # 应用名,保持和项目名同名 │   ├── __init__.py #…
python 匿名函数和递归函数 python全栈开发,匿名函数,递归函数 匿名函数 lambda函数也叫匿名函数,即函数没有具体的名称.是为了解决一些功能很简单需求而设计的一句话函数.如下: #这段代码 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = lambda n:n**n print(calc(10)) lambda语法 上面是我们对calc这个匿名函数的分析,下面给出了一个关于匿名函数格式的说明 函数名 = lambda…
测开之Python自动化全栈工程师+性能专项 功能测试基础 接口测试基础接口的通信原理与本质cookie.session.token详解接口测试的意义与测试方法接口测试用例的设计 app测试 app流程测试app兼容性测试app稳定性测试app性能专项测试app抓包 UI功能测试基础 常见功能测试方法:等价类,边界值等测试用例/文档 编写规范如何精确的定位一个bug:前后端bug日志分析web商城项目测试实战 数据库操作 mysql数据库环境搭建数据库工具navicat基本使用数据库增删改查脚本…
Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser logging 模块介绍 在Python中,一个.py文件就称之为一个模块(Module). 1.使用模块有好处: 最大的好处是大大提高了代码的可维护性. 编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.在编写程序的时候,也经常引用其他模块,包括Python内置的模块和来自第三方的模块 2.模块分为三种…
Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与while循环练习题 基本数据类型前引 Python 的种类 Cpython Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上. Jyhton Python的Java实现,Jython会将Pyth…
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .网站上有对应每一小节的在线练习大家可以去试试. 全栈开发平台 - 不仅仅是前端 Meteor和那些名声如雷贯耳的前端框架,比如Angular, React等都不一样,它是一个 采用单一开发语言的全栈开发的平台:开发者可以使用JavaScript同时 进行前端和后端的开发,然后交给Meteor运行这个包含了前后端的完…
前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们重新思考了“前后端”的定义,引入前端同学都熟悉的 NodeJS,试图探索一条全新的前后端分离模式. 随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本.为了提升开发效率,前后端分离的需求越来越被重视,后端负责业务 /数据接口,前端负责展现/交互逻辑,同…
原文链接:http://ued.taobao.org/blog/2014/04/full-stack-development-with-nodejs/ 随着不同终端(pad/mobile/pc)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本.为了提升开发效率,前后端分离的需求越来越被重视,后端负责业务/数据接口,前端负责展现/交互逻辑,同一份数据接口,我们可以定制开发多个版本. 这个话题最近被讨论得比较多,阿里有些BU也…