1.创建测试接口,并引入用户模型 根目录/routes/api/users.js const Router = require('koa-router'); const router = new Router(); // 引入User const User = require('../../models/User'); /** * @route GET api/users/test * @desc 测试接口地址 * @access 接口是公开的 */ router.get('/test', as…
项目简介: 在Linux环境下用C语言开发的Vsftpd的简化版本,拥有部分Vsftpd功能和相同的FTP协议,系统的主要架构采用多进程模型,每当有一个新的客户连接到达,主进程就会派生出一个ftp服务进程来为客户提供服务.同时每个ftp服务进程配套了nobody进程(内部私有进程),主要是为了做权限提升和控制. 实现功能: 除了基本的文件上传和下载功能,还实现模式选择.断点续传.限制连接数.空闲断开.限速等功能. 用到的技术: socket.I/O复用.进程间通信.HashTable 欢迎技术交…
1.安装模块 npm install koa-bodyparser --save npm install bcryptjs --save 2.引入模块 根目录/app.js const bodyParser = require('koa-bodyparser'); // 实例化koa const app = new Koa(); app.use(bodyParser()); 3.注册接口 根目录/routes/api/users.js const Router = require('koa-ro…
1.登录接口 /** * @route POST api/users/login * @desc 登录接口地址 * @access 接口是公开的 */ router.post('/login', async ctx => { // 查询 const findResult = await User.find({ email: ctx.request.body.email }); const user = findResult[0]; const password = ctx.request.bod…
[SSH项目实战]脚本密钥的批量分发与执行 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处,作者信息和本声明.否则将追究法律责任.http://www.cnblogs.com/chensiqiqi/ [TOC] [企业案例] 公司来了8台新服务器,计划组成一个小规模集群架构:其中有一台服务器作为批量管理服务器使用,其余7台则是业务架构所需.现在先由…
上一篇: [WEB API项目实战干货系列]- Web API 2入门(一) 这一篇我们主要介绍如何做API帮助文档,给API的调用人员介绍各个 API的功能, 输入参数,输出参数, 以及在线测试 API功能(这个也是方便我们自己开发调试) 我们先来看看我们的API最终帮助文档及在线测试最终达到的效果: 概要图   GET API 添加产品API: 删除产品 API 接下来我们动手来实现上面的功能 给所有API添加注释信息 代码如下 [RoutePrefix("api/products"…
1.安装模块 npm install koa-passport -D npm install passport-jwt -D 2.解析token 根目录/config/passport.js const JwtStrategy = require('passport-jwt').Strategy, ExtractJwt = require('passport-jwt').ExtractJwt; const keys = require('../config/keys'); const opts…
1.安装模块 npm install jsonwebtoken --save 2.引用 const jwt = require('jsonwebtoken'); ... // 返回token const payload = { id: user.id, name: user.name, avatar: user.avatar }; const token = jwt.sign(payload, keys.secretOrkey, { expiresIn: 3600 }); 3.keys 根目录/…
1.创建工具类 根目录/config/tools.js const bcrypt = require('bcryptjs'); const tools = { enbcrypt(password) { var salt = bcrypt.genSaltSync(10); var hash = bcrypt.hashSync(password, salt); return hash; } }; module.exports = tools; 2.引用 根目录/routes/api/users.js…
1.安装模块 npm install koa koa-router --save npm install -g nodemon 2.入口文件 app.js const Koa = require('koa'); const Router = require('koa-router'); // 实例化koa const app = new Koa(); const router = new Router(); // 路由 router.get('/', async (ctx) => { ctx.b…
本文主要包括以下内容 标准错误错误处理 http操作 PDO 文件操作 标准错误错误处理 PHP在语法层面上发生的错误 两个过程: 触发阶段(发生一个错误) 处理阶段(如何处理该错误) 触发阶段 系统触发,php自己触发 典型的都是由php的核心在执行或者编译php代码时,发现的错误,并触发该错误! 用户触发,自定义错误 但是可以通过用户的php代码,手动触发一个错误! 利用函数 trigger_error();触发一个用户自定义的错误! 错误处理阶段 有三种典型的错误处理方法 第一:报告错误信…
以后要养成写博客的习惯,用来做笔记.本人看的东西很多很杂,但因为工作中很少涉及,造成看了之后就忘,或者看了就看了,但是没有融入的自己的知识体系里面. 写博客一方面是做记录,一方面是给这段时间业余学习的一个总结. 首先贴一下我的git地址,也是这个项目的源码:https://github.com/aaja/pythonflask-movies 本项目来源慕课网. 参照这个代码 https://github.com/mtianyan/movie_project #1.项目结构创建# # 2.入口设置…
前言 本文有配套视频,可以酌情观看. 文中内容因各人理解不同,可能会有所偏差,欢迎朋友们联系我. 文中所有内容仅供学习交流之用,不可用于商业用途,如因此引起的相关法律法规责任,与我无关. 如文中内容对您造成不便,烦请联系 277511806@qq.com 处理,谢谢. 转载麻烦注明出处,谢谢. 本篇资源:链接: https://pan.baidu.com/s/1jIbW2n8 密码: wqe4 从这篇开始我们就将源码托管到 github 上,需要源码的 点我下载,喜欢的话记得点下星星,谢谢! A…
1.验证注册参数 根目录/validation/register.js const Validator = require('validator'); const isEmpty = require('./is-empty'); module.exports = function validateRegisterInput(data) { let errors = {}; data.name = !isEmpty(data.name) ? data.name : ''; data.email =…
笔记 3 .Vidoe相关接口完善和规范协议     简介:完善相关接口,协议规范讲解 1.save接口保存对象             1)@RequestParam(value = "page", defaultValue)int  videoId                 可以设置默认值,比如分页 2)@RequestBody 请求体映射实体类                 需要指定http头为 content-type为application/json charset=…
1.配置文件 根目录/config/keys.js module.exports = { mongoURI: 'mongodb://127.0.0.1:27017/mongodb' } 2.启动文件 根目录/app.js const Koa = require('koa'); const Router = require('koa-router'); const mongoose = require('mongoose'); // 实例化koa const app = new Koa(); co…
添加预告 根据需求数据库创建表格 需求数据库,关键字title logo # 上映预告 class Preview(db.Model): __tablename__ = "preview" __table_args__ = {"useexisting": True} id = db.Column(db.Integer, primary_key=True) # 编号 title = db.Column(db.String(255), unique=True) # 标题…
flask网站制作后台时候常见流程总结 安利一个神神器: 百度脑图PC版 创建数据库 下面是创建User数据库,需要导入db库 #coding:utf8 from flask import Flask from datetime import datetime from app import db #会员数据模型 class User(db.Model): __tablename__ = "user" __table_args__ = {"useexisting":…
1.   让用户输入圆的半径,告诉用户圆的面积: import math while True:     # 用户输入     r = input("请输入圆的半径:")     # 判断如果是字符则重新输入     if not r.isalpha() :         # 数据处理         r = float(r)         cicleArea = math.pi*r**2         # 结果输出         print("圆的面积是:%f&qu…
1.安装模块 npm install validator -D 2.验证注册参数 根目录/validation/register.js const Validator = require('validator'); const isEmpty = require('./is-empty'); module.exports = function validateRegisterInput(data) { let errors = {}; if (!Validator.isLength(data.n…
1.安装模块 npm install gravatar --save 2.使用 根目录/routes/api/users.js const gravatar = require('gravatar'); ... const avatar = gravatar.url(ctx.request.body.email, { s: '200', r: 'pg', d: 'mm' }); 3.登录官网上传头像 https://en.gravatar.com/ 4.效果图 .…
第三章 建议学习时间8小时      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demoback.lalalaweb.com  前台:demo.lalalaweb.com 演示过程中可能会发现bug,希望即时留言反馈,谢谢 源码下载:https://github.com/sutianbinde/classweb               //不是全部的代码,每次更新博客才更新代码 学…
笔记 7.授权登录获取微信用户个人信息实战         简介:讲解使用授权码code获取用户个人信息接口 关键点:看微信文档,字段尽量用拷贝 1.通过code获取access_token         文档:             https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419316505&token=7e…
验证用户登录: 对一个视图函数进行登录权限验证,(登录后才可以访问,否则重定向到登录页面) #from django.contrib.auth.decorators import login_required # @login_required(login_url='news:login')# def index(request):# return 对一个类视图进行登录权限验证,(登录后才可以访问,否则重定向到登录页面)# @method_decorator(login_reqirde(logi…
感谢视频教程:https://www.bilibili.com/video/BV1Y7411d7Ys?p=11 这里开一篇新博客不仅仅是因为教程视频单独出了1p,也是因为这是一种代码编写的套路,特在此做下记录. 这里我们的模型构造采用如下图示 分为一个1x1池化层,然后一个1x1卷积层输出为16通道,一个先1x1卷积再5x5卷积输出为24通道,最后一个1x1卷积和两个3x3卷积后输出为24通道,这四个卷积层最后合并在一起输出.至于为什么会有1x1卷积核,是因为这样转换通道数的时候可以大大的简化计…
编辑cms.models.py from exts import db from datetime import datetime class CMSUser(db.Model): __tablename__ = 'cms_user' id = db.Column(db.Integer, primary_key=True, autoincrement=True) username = db.Column(db.String(50), nullable=False) password = db.C…
上一篇: [WEB API项目实战干货系列]- 接口文档与在线测试(二) 这篇我们主要来介绍我们如何在API项目中完成API的登录及身份认证. 所以这篇会分为两部分, 登录API, API身份验证. 这一篇的主要原理是: API会提供一个单独的登录API, 通过用户名,密码来产生一个SessionKey, SessionKey具有过期时间的特点, 系统会记录这个SessionKey, 在后续的每次的API返回的时候,客户端需带上这个Sessionkey, API端会验证这个SessionKey.…
无监控,不运维.好了,废话不多说,下面都是干货. 警告:流量党勿入,图片太多!!! 项目实战系列,总架构图 http://www.cnblogs.com/along21/p/8000812.html 实验前准备: ① ntpdate 192.168.30.1 同步时间 ② 关闭防火墙.selinux ③ vim /etc/hosts 每个机器都设置hosts,以解析主机名:DNS也行 192.168.30.107 server.along.com 192.168.30.7 node1.along…
[TOC] 前言 <项目实战>系列为<linux实战教学笔记>第二阶段内容的同步教学配套实战练习,每个项目循序衔接最终将组成<Linux实战教学笔记>第二阶段核心教学目标10台规模的基础核心服务架构集群.本文上接http://www.cnblogs.com/chensiqiqi/p/6556509.html 项目实战二 本文转自   [SSH项目实战三]脚本密钥的批量分发与执行 - 陈思齐 - 博客园http://www.cnblogs.com/chensiqiqi/p…
在今天移动互联网的时代,作为攻城师的我们,谁不想着只写一套API就可以让我们的Web, Android APP, IOS APP, iPad APP, Hybired APP, H5 Web共用共同的逻辑呢? [WEB API项目实战干货系列]教你一步步教你解决方案. 这个系列的目的是想把最近两年在WEB API的实践方面积累的干货倒出来, 分享给大家. 同时也欢迎正在使用WEB API或者即将OR打算在项目中使用WEB API的朋友探讨交流,以让我有足够的热情完成这个系列. 这个实战适用于哪些…