
后端
LOI_DawnKing-
还记得年少时的梦吗?像一朵永不凋零的花。
展开
-
Error: Message failed: 554 5.2.0 STOREDRV.Submission.Exception:OutboundSpamException;
office 365 SMTP outlook 拍错Error: Message failed: 554 5.2.0 STOREDRV.Submission.Exception:OutboundSpamException; Failed to process message due to a permanent exception with message [BeginDiagnosticData]WASCL UserAction verdict is not None. Actual verdict i原创 2022-03-31 19:11:41 · 2453 阅读 · 0 评论 -
conda 源
查看所有环境:conda info -e查询当前环境包列表:conda list创建虚拟环境:conda create --name DL python=3.7此处遇到报错,原因是需要把三个环境变量添加完全channels: - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ - http:/原创 2021-11-30 19:18:35 · 1560 阅读 · 0 评论 -
操作系统 吸烟者问题 进程的同步互斥
操作系统 吸烟者问题 进程的同步互斥这个解释的挺清楚的:https://www.cnblogs.com/wkfvawl/p/11534452.html代码:producer.c#include "ipc.h"int main(int argc, char *argv[]) { int rate; //可在在命令⾏第⼀参数指定⼀个进程睡眠秒数,以调解进程执⾏速度 if (argv[1] != NULL) rate = atoi(argv[1]); else rate = 3; //不原创 2020-11-20 15:34:49 · 701 阅读 · 0 评论 -
bitcross 服务器配置笔记
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -sudo apt-get install -y nodejssudo apt install mongodb原创 2020-10-11 16:06:07 · 275 阅读 · 0 评论 -
docker笔记1
https://www.jianshu.com/p/cef32b054968sudo apt-get remove docker docker-engine docker-ce docker.io更新 apt 包索引sudo apt-get update安装 apt 依赖包,用于通过HTTPS来获取仓库:sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-prope原创 2020-10-09 20:37:38 · 275 阅读 · 0 评论 -
express3:脚手架、路由模块化、Express应用生成器
建立routes文件里,里面可以有Login.js,此js中暴露这个模块里边的接口是router.get()var router = express.Router()module.exports = router然后在app.js中进行引入和挂载,比如const login = require("./routes/login").app.use("/login",login)示例应用生成器...原创 2020-09-27 14:38:09 · 245 阅读 · 0 评论 -
express2:中间件
1 应用级中间件 (用于权限判断)在匹配路由之前,做一些操作, next之后会继续匹配路由app.use((res, req, next) => { console.log(new Date()) next()})2 路由级中间件在动态路由之前,可以特定匹配某些字符3 错误处理中间件用于判断路由之后app.use((res, req, next) => { res.status(404).send("404")})4 内置中间件即 静态web服务5 第原创 2020-09-26 14:17:21 · 265 阅读 · 0 评论 -
express基础1:路由
1 动态路由2 get 传值原创 2020-09-26 13:47:56 · 216 阅读 · 0 评论 -
nodejs 与 MongoDB1 增删改查
1 查找数据2 增加数据这个好像也应该加个关闭数据库3 修改数据4 删除一条数据5 删除多条数据原创 2020-09-21 20:45:38 · 211 阅读 · 0 评论 -
mongoDB4: 高级查询aggregate聚合管道
$project 列$match 限制$group 分组$sort 排序$limit 多少条$skip 跳过$lookup 表关联原创 2020-09-21 12:12:10 · 314 阅读 · 0 评论 -
mongoDB3: 账户权限配置
创建超级管理员:db.createUser({user:'admin', pwd:'123456', roles:[{role:'root', db:'admin'}]})修改 MongoDB 的配置文件配置文件目录:C:\Program Files\MongoDB\Server\4.4\bin\mongod.cfg记事本打开mongod.cfg可以看到security行去掉#号注释加上:authorization: enabled...原创 2020-08-12 23:01:00 · 302 阅读 · 0 评论 -
mongoDB2: 大数据查询优化、索引、复合索引、唯一索引、explain分析查询速度
查询具体的执行时间:db.qer100.find({"age":45}).explain("executionStats")创建索引:db.user.ensureIndex({"age":1})查看当前集合已有的索引:db.user.getIndexes()删除索引:db.user.dropIndex({"age":1})复合索引:db.user.ensureIndex({"username":1, "age":1})。查询时同时输入两个都会命中索引,输入单个时只有username会命中,单个的a原创 2020-08-12 16:30:56 · 282 阅读 · 0 评论 -
mongoDB1: 安装与基础操作
官网下载,安装的时候记得加入bin目录到环境变量。查看所有数据库:show dbs创建、使用数据库:(切换到新的数据库后插入数据才会真正创建,collection也是这样)use testDBdb.user.insert<{"name":"qer","age":20}>查看所有collections: show collections查询collection中的所有记录:db.user.find()<查找collection中的特定条件记录>db.user.find(原创 2020-08-11 13:08:46 · 231 阅读 · 0 评论 -
nodejs8: 仿express封装,模块化get post和静态web服务
思路:想要在app.js里实现app.get('/', function(req, res) { res.send('首页');})这样就能配置路由的效果。首先我们分析,app.js里的这种路由格式有两个参数,第一个参数是名字,第二个是真正要执行的动作函数。那么我们在routes.js中每次接收到这两个参数就注册一个路由,定义一个全局的对象G,G的下标是第一个参数即名字,内容便是第二个参数那个函数,这样每次有http请求的时候,都检查一下G的路由名字有没有被注册过,如果有的话直接跟前一.原创 2020-08-10 23:38:38 · 311 阅读 · 0 评论 -
nodejs7: 原生nodejs模块化封装路由 + ejs
思路:将所有路由都封装在 routes 内,在app.js中把每次可能的路径信息都只是调用routes,routes中统一格式做适配。在app.js中:1.创建静态web服务(这个是用作访问静态站点或者文件比如路径后加入index.html等等)2.实现路由(这个是类似于www.xxx.con/login 这种形式,没有访问文件但是需要实现某种操作)以上两种情况都被看做 routes中的方法,其中1的名字肯定叫static,2每一个可能的路由都弄一个名字,名字的参数是一样的,所以可以直接用变量替代.原创 2020-08-09 20:12:47 · 515 阅读 · 0 评论 -
nodejs6: 原生 get post 方法
1 get请求1.1 区分类型req.method1.2 获得内容var query = url.parse(req.url, true).query;2 post//app.js... if (pathname == '/login') { ejs.renderFile('./views/form.ejs', (err, data) => { res.writeHead(200, { 'Content-Type': 'text/html;原创 2020-08-05 19:34:13 · 254 阅读 · 0 评论 -
nodejs5: 静态web服务器、ejs
1 路由文件结构:// app.jsconst http = require('http');const routes = require('./module/routes');const url = require('url');http.createServer(function (req, res) { // 创建静态web服务 routes.static(req, res, 'my_website'); // 路由 let pathname = url原创 2020-08-05 19:05:06 · 182 阅读 · 0 评论 -
nodejs5: fs输入输出流,管道流
1 读取流各种监听var readStream = fs.createReadStream('./data/input.txt');var str = '';readStream.on('data', (data) => { str += data; count ++; console.count();})readStream.on('end', () => { console.log(str);})readStream.on('error原创 2020-08-04 11:18:57 · 409 阅读 · 0 评论 -
nodejs4: 递归, async await
实现功能:打印wwwroot下所有的目录注意如果按照普通逻辑写是不行的,因为在fs里面是异步的。解决思路:1.改造for循环,递归实现 2.nodejs里面的新特性 async await1 递归:匿名自执行函数const fs = require('fs');var path = './wwwroot';var dirArr = [];fs.readdir(path, (err, files) => { if (err) throw err; (function g原创 2020-08-04 00:19:40 · 1367 阅读 · 0 评论 -
nodejs3: fs, mkdirp
1 fs1.0 引入包const fs = require('fs');1.1 fs.stat 检测是文件还是目录fs.stat('./html', (err, data) => { if (err) { console.log(err); return; } console.log('是文件:' + data.isFile()); console.log('是目录:' + data.isDirectory());})1.原创 2020-08-02 11:56:32 · 566 阅读 · 0 评论 -
nodejs2: CommonJS 与 第三方包
1 CommonJS前者也叫系统模块,后者也叫自定义模块。// module/tools.jsfunction formatApi(api) { return "www.baidu.com/" + api;}exports.formatApi = formatApi;原创 2020-08-01 21:37:49 · 225 阅读 · 0 评论 -
nodejs1: nvm, http模块, url模块, nodemon与supervisor
1 nvmhttps://www.cnblogs.com/gaozejie/p/10689742.htmldownload: https://github.com/coreybutler/nvm-windows/releases1.1 安装/管理nodejs1、查看本地安装的所有版本;有可选参数available,显示所有可下载的版本。nvm list [available]2、安装,命令中的版本号可自定义,具体参考命令1查询出来的列表nvm install 11.13.03、使用特定版本原创 2020-08-01 17:40:46 · 574 阅读 · 0 评论 -
Nodejs express用户登录注册以及授权 bcrypt+JWT
npm i bcrypt密码加密set(val) { return require('bcrypt').hashSync(val, 10) // 散列强度/指数}密码解密比对const isPasswordValid = require('bcrypt').compareSync( req.body.password, user.password)生成tokennpm i...原创 2020-03-01 23:40:12 · 909 阅读 · 4 评论