4 枯木逢春夏秋冬香

学生身份

我要认证

你仍是小桥河畔,我亦是此间少年。

等级
TA的排名 35w+

express中session设置secret后整体流程是什么?

所有的session-id都存储在cookie里面默认为connect.sid.流程大概是若本次cookie中没有connect.sid,则生成一个 [用secret生成connect.sid]用uid-safe生成一个唯一id,记为sessionid,保证每次不重复; 把上面的connect.sid制作成's:' + sessionid + '.' + sessionid.sha256(secret).base64()的形式,实现在node-cookie-signature的sign函数;...

2020-07-08 23:49:46

js遇到的小知识点

f1();console.log(a);console.log(b);console.log(c);function f1() { var a = b = c =2; console.log(a); console.log(b); console.log(c)}<script> var a ={n:1} b = a a.x = a = {n:2} console.log(a) //{...

2020-06-30 18:42:45

文本命名规范

文本命名规范 index.css: 一般用于首页建立样式 head.css: 头部样式,当多个页面头部设计风格相同时使用。 base.css: 共用样式。 style.css:独立页面所使用的样式文件。 global.css:页面样式基础,全局公用样式,页面中必须包含。 layout.css:布局、版面样式,公用类型较多时使用,一般用在首页级页面和产品类页面中 module.css:模块,用于产品类页,也可与其它样式配合使用。 master.css:主要的样式表 columns.css:专栏样式 theme

2020-06-07 20:29:43

jquery获取表单中用户输入的内容

function serializeToJson(form){ let result = {}; //jquery获取表单中用户输入的内容 [{name:'email',value:'用户输入的内容'}] let f = form.serializeArray(); f.forEach(function (item){ result[item.name] = item.value; }); return result;}...

2020-05-30 22:49:06

初识express框架

1.express框架特性提供了方便简洁的路由定义方式; 对获取HTTP请求参数进行了简化处理; 对模板引擎支持度高,方便渲染动态HTML页面; 提供了中间件机制有效控制HTTP请求; 拥有大量第三方中间件对功能进行扩展。2.send()const express = require('express');const app = express();app.get('/',(req,res)=>{ res.send('这里是首页'); //send()

2020-05-25 23:21:23

OSI TCP/IP异同

2020-05-23 12:53:10

计算机网络分层及原理

网络分层 网络分层就是将网络节点所要完成的数据的发送或转发、打包或拆包,控制信息的加载或拆出等工作,分别由不同的硬件和软件模块去完成。这样可以将往来通信和网络互连这一复杂的问题变得较为简单。[编辑本段]网络层次的划分 ISO提出的OSI(Open System Interconnection)模型将网络分为七层,即物理层( Phisical )、数据链路层(Data Link)、网络层(Network)、传输层(Transport)、会话层(Session)、表示层(Presentation)和应用层(

2020-05-23 11:35:22

WebAPI一些小知识点

获取特殊元素获取body元素:let bodyEle = document.body;获取html元素:let htmlEle = document.documentElement;innerText和innerHTML的区别innerText不识别html的标签 非标准 去除空格和换行innerHTML识别html标签 W3C标准 保留空格和换行自定义属性操作 获取元素的属性值 element.属性 element.getAttribute('属性') //获...

2020-05-21 22:33:06

nodejs实例01

1.第三方模块:router功能:实现路由require('router')const router = getRouter();router.get('/add', (req, res) => { res.end('Hello World!')})server.on('request', (req, res) => { router(req, res)2.第三方模块serve-static 功能:实现静态资源访问服务const se...

2020-05-20 13:16:39

Nodejs 模板引擎的基础概念

模板引擎:让开发者以更加友好的方式拼接字符串,使项目代码更加清晰、易于维护。1.art-template模板引擎在命令行工具中使用 npm i art-template 命令进行下载 使用const template = require(“art-template”)引入模板引擎 告诉模板引擎要拼接的数据和模板在哪const html =template(“模板路径”,数据)模板语法:输出:标准语法:{{ 数据 }} {{ name }}{{ age }}{{ 2 + ...

2020-05-17 21:02:17

JS基础遇到的一些习题03

一、数组操作1.题目描述:数组的首尾两个元素互换let arr =['aa','bb','cc','dd'];let f = arr=>{ let f = arr[0]; let l = arr[arr.length-1]; arr[0] = l; arr[arr.length-1] = f; console.log(arr);}f(arr);2.随机选学员从以下学员名单中随机选出4个学员:var arr = ["鹿晗","王俊凯...

2020-05-13 20:12:38

mongoose验证相关

一、mongoose 常见验证规则1.required:true 必传字段2.minlength: 字符串最小长度3.maxlength: 字符串最大长度4.min: 数值类型最小值5.max: 数值类型最大值6.enum:['html','css','javascript','node.js'] 规定可供选择输入的值列表7.trim: true 去除字符串两边的空格8.validate: 自定义验证器9.defaule二、实例代码const mongoose = r...

2020-05-12 23:47:36

JS基础遇到的一些习题02

一、数组相关知识点1.reverse()翻转数组2.nstanceof 运算符 arr instanceof Array Array.isArray(参数) 检测是否为数组3.push() 在数组的末尾 添加一个或者多个数组元素4.unshift 在数组的开头 添加一个或者多个数组元素5.pop() 删除数组的最后一个元素 6.shift() 删除数组的第一个元素 7.数组排序(冒泡排序) var arr1 = [13, 4, 77, 1, 7]; ...

2020-05-12 19:21:16

Nodejs+MongoDB 增删改查

//连接数据库const mongoose = require('mongoose');mongoose.connect('mongodb://localhost/playground',{useNewUrlParser:true,useUnifiedTopology: true}) .then(()=>console.log('数据库连接成功')) .catch((err)=>console.log(err,'数据库连接失败'))//创建规则集合const cour.

2020-05-11 10:42:03

Node.js异步编程2

异步函数:异步函数是异步编程语法的终极解决方案,它可以把异步代码写成同步的形式,让代码不再有回调函数嵌套,使代码变得更清晰。 const fn = async () =>{}; async function fn (){}.1.async关键字普通函数定义前加async关键字,普通函数变成异步函数; 异步函数默认返回promise对象; 在异步函数内使用return关键字进行结果返回,结果会被包裹在返回的promise对象中; return代...

2020-05-10 17:49:42

Nodejs异步编程相关

Node.js异步编程同步API:只有当前API执行完成后,才能继续执行下一个API; 异步API:当前API的执行不会阻塞后续代码的执行。 区别:同步API可以从返回值中拿到API执行结果,异步不行。在异步API中使用回调函数获取执行结果:function getMsg(callback) { setTimeout(function () { callback({ msg:'ALOHA' }) ...

2020-05-10 00:10:58

基础JS遇到的一些习题01

1.两种数组去重方法const unique = arr =>{ let mySet = new Set(arr); /!* let newArr =[]; for (let i = 0 ;i < arr.length;i++){ if(newArr.indexOf(arr[i]) == -1){ newArr.push(arr[i]); } }*!/...

2020-05-09 16:48:46

服务器端基本概念02

1.POST请求参数参数被放置在请求体重进行传输; 获取POST参数需要使用data事件和end事件; 使用querystring系统模块将参数转换为对象格式。 布置服务器获取参数html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><bo..

2020-05-08 19:43:39

服务器端基本概念与部署01

1.响应报文HTTP状态码200请求成功404请求的资源没有被找到500服务器端错误400客户端请求有语法错误2.内容类型text/htmltext/cssapplication/javascriptimage/jpegapplication/json3.实现代码//创建网站服务器const http = require('http');const app =...

2020-05-07 18:59:21

Node.js中模块加载机制如何实现?

1.模块查找规则-当模块拥有路径但没有后缀时:(require(‘./find’))require方法根据模块路径查找模块,如果是完整路径,直接引入模块; 如果模块后缀省略,先找同名JS文件,再找同名JS文件夹; 如果找到了同名文件夹,找文件夹中的index.js; 如果文件夹中你那个没有index.js,就会去当前文件夹中的package.js文件中查找mian选项中的入口文件; 如...

2020-05-07 15:00:22

查看更多

勋章 我的勋章
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 原力探索 · S
    原力探索 · S
    在《原力计划【第二季】》打卡挑战活动中,发布 12 篇原创文章参与活动的博主,即可获得此勋章。(本次活动结束后统一统计发放)
  • 分享学徒
    分享学徒
    成功上传1个资源即可获取