为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第24天 sharp 完成图片缩放处理

课程名称:web前端架构师 课程章节:第17周 第二章 文件上传基本原理实现以及使用sharp 完成图片处理 主讲老师:张轩 课程内容:sharp 完成图片缩放处理 图片处理库sharp 之前我们完成了图片的上传的功能,但是当我们上传的图片很大时,需要使用缩略图 我们可以使用 sharp 来帮助我们来处理图片。sharp 官网地址 https://sharp.pixelplumbing.com/ npm i sharp 设置图片的宽度 https://sharp.pixelplumbing.com/api-resize sharp(input) .resize({ width: 100 }) 使用

75浏览
0推荐
0评论

【金秋打卡】第23天 上传文件的过程

课程名称:web前端架构师 课程章节:第17周 第二章 文件上传基本原理实现以及使用sharp 完成图片处理 主讲老师:张轩 课程内容:上传文件的过程 上传文件 encType application/x-www-form-urlencoded multipart/form-data 下面看 form 表单文件上传的例子 <form action="http://localhost:8000" method="post" enctype="multipart/form-data"> <p><input...

67浏览
0推荐
0评论

【金秋打卡】第22天 作品的查询、更新,编写权限认证装饰器

课程名称:web前端架构师 课程章节:第16周 第八章 编写作品相关代码以及学习装饰器的使用 主讲老师:张轩 课程内容:作品的查询、更新,编写权限认证装饰器 作品的查询 首先编写查询条件接口 export interface IndexCondition { pageIndex?: number // 页码 pageSize?: number // 数量 select?: string | string[] // 查询字段 // 关联结合 populate?: string | { path?: string select?: string } customSort?: Record<string, any> //...

53浏览
0推荐
0评论

【金秋打卡】第21天 使用装饰器完成用户输入验证

课程名称:web前端架构师 课程章节:第16周 第八章 编写作品相关代码以及学习装饰器的使用 主讲老师:张轩 课程内容:使用装饰器完成用户输入验证 装饰器的使用 TypeScript 中的装饰器使用 @expression 这种形式,expression 求值后为一个函数,它在运行时被调用,被装饰的声明信息会被做为参数传入。 Javascript规范里的装饰器目前处在 建议征集的第二阶段,https://github.com/tc39/proposal-decorators 也就意味着不能在原生代码中直接使用,浏览器暂不支持。 TypeScript 工

38浏览
0推荐
0评论

【金秋打卡】第20天 创建作品过程编码

课程名称:web前端架构师 课程章节:第16周 第八章 编写作品相关代码以及学习装饰器的使用 主讲老师:张轩 课程内容:编写作品相关代码 创建 work model 首先分析我们所需要的字段 作品链接唯一标识,用于链接使用 uuid 作品标题 title 描述 desc 封面 coverImg 内容 content 创建人 user 是否热门 hot ... 目前所需要的就这几个字段,后面需要可以再添加 编写代码 import { Application } from 'egg'; import { type ObjectId } from 'mongoose'; expo

42浏览
0推荐
0评论

【金秋打卡】第19天 前后端分离 OAuth 登录、使用 egg-cors 支持跨域

课程名称:web前端架构师 课程章节:第16周 第七章 使用 OAuth2 协议完成用户创建以及验证功能 主讲老师:张轩 课程内容: 前后端分离 OAuth 登录、使用 egg-cors 支持跨域 前后端分离 OAuth 登录 之前实现的 OAuth 都是在服务端实现的,客户端肯定无法使用,前后端分离的项目要使用,就需要做一些其他处理 首先需要先了解下 window.postMessage . 文档地址 https://developer.mozilla.org/zh-CN/docs/Web/API/Window/postMessage postMessage 可以在两个 window 之

38浏览
0推荐
0评论

【金秋打卡】第18天 使用 OAuth2 完成用户的登录创建

课程名称:web前端架构师 课程章节:第16周 第七章 使用 OAuth2 协议完成用户创建以及验证功能 主讲老师:张轩 课程内容: 使用 OAuth2 完成用户的登录创建 使用 gitee 进行 OAuth2 认证 首先在 gitee 平台上创建第三方应用 。链接地址为 https://gitee.com/oauth/applications 创建完第三方应用后,将创建应用的 Client ID、Client Secret 和应用回调地址添加到环境变量中,并添加到 config 文件中 gitee OAuth 文档地址 https://gitee.com/api/v5/oauth_doc#/

101浏览
0推荐
0评论

【金秋打卡】第17天 使用 .env 文件保存敏感信息和 Oauth2 的介绍

课程名称:web前端架构师 课程章节:第16周 第六章、第七章 主讲老师:张轩 课程内容: 使用 .env 文件保存敏感信息、Oauth2 的介绍 使用 .env 文件保存敏感信息 在之前我们编写的代码中,我们在 config 文件中保存了我们的一些敏感信息,比如数据库密码、第三方申请的 key 等,这样做是很不安全的,所以我们需要将它给删除掉,保存到我们的环境变量中 egg.js 运行环境 egg.js 运行环境文档地址 https://www.eggjs.org/zh-CN/basics/env NODE_ENV EGG_SERVER_ENV 说明

55浏览
0推荐
0评论

【金秋打卡】第16天 使用手机号完成用户的注册和登录

课程名称:web前端架构师 课程章节:第16周 第六章 使用手机号登录完成用户创建及验证功能 主讲老师:张轩 课程内容: 了解redis、 手机号完成用户的注册和登录 Redis 官网地址 https://redis.io/ 基于源代码编译 https://redis.io/docs/getting-started/installation/install-redis-from-source/ cd /usr/local sudo wget https://download.redis.io/redis-stable.tar.gz sudo tar -xzvf redis-stable.tar.gz cd...

74浏览
0推荐
0评论

【金秋打卡】第15天 使用 JWT 完成用户认证

课程名称:web前端架构师 课程章节:第16周 第五章 JWT 完成用户认证 主讲老师:张轩 课程内容: JWT 简介及优缺点、使用 JWT 完成用户认证 JWT 简介 JWT 官网 https://jwt.io/ 基本工作流程 用户登录时,服务端生成 token 并返回给客户的,客户的保存起来,之后请求携带 token 进行访问,服务端会对用户携带的 token 进行验证 JWT token 的组成 Header:JSON对象,描述 JWT 的元数据,加密算法以及类型 Payload:JSON对象,存放数据需要传递的数据 Signature:

84浏览
0推荐
0评论

【金秋打卡】第14天 egg.js 设置对应cookie 和 egg-session 实现用户认证

课程名称:web前端架构师 课程章节:第16周 第四章 使用 egg-session 实现用户认证 主讲老师:张轩 课程内容: egg.js 设置对应的 cookie egg.js 设置对应cookie egg.js. 使用 cookie 对应 的cookie 使用方法 设置 cookie ctx.cookies.set(key, value, options) option {Number} maxAge: 设置这个键值对在浏览器的最长保存时间。是一个从服务器当前时刻开始的毫秒数。 {Date} expires: 设置这个键值对的失效时间,如果设置了 maxAge,expires 将会被覆盖。如果

66浏览
0推荐
0评论

【金秋打卡】第13天 mongoose 查询结果处理和 cookie 的回顾

课程名称:web前端架构师 课程章节:第16周 第三章、第四章 主讲老师:张轩 课程内容: toJSON 和 transform 处理文档 和 cookie 的回顾 toJSON 和 transform 处理文档 默认情况下我们返回给用户的信息时查询到的所有信息,有一些信息不应该返回给用户,比如密码等 我们可以这样做 我们可能会想到获取到用户信息后,将不需要的字段删除就行了 ... const user = await service.user.findByUsername(username); // 这里 ts 会报错 delete user.password; ... 但是

27浏览
0推荐
0评论

【金秋打卡】第12天 加密方式选型

课程名称:web前端架构师 课程章节:第16周 第三章 加密方式选型以及返回结果的特殊处理 主讲老师:张轩 课程内容: 接口参数验证功能和错误信息处理 加密方式选型 几种加密方式 明文保存 plaintext - 坚决不能使用 md5 hash 保存 - 碰撞,彩虹表 MD5('123') = 202CB962AC59075B964B07152D234B70 username: viking password: 202CB962AC59075B964B07152D234B70 md5 hash + salt(盐)保存 盐(Salt),在密码学中,是指在hash之前将明文内容(例如:密码)的任意固

41浏览
0推荐
0评论

【金秋打卡】第11天 接口参数验证功能和错误信息处理

课程名称:web前端架构师 课程章节:第15周 第八章 用户系统的设计与实现 主讲老师:张轩 课程内容: 接口参数验证功能和错误信息处理 使用egg-validate 验证参数 之前的开发没有对用户的参数进行校验 ,这样做明显很不合理 egg.js 官方提供了 egg-validate 插件用来进行参数校验 安装 egg-validate npm i egg-validate 将插件添加到 config 文件中 // config/plugin.js const plugin: EggPlugin = { ... validate: { enable: true, package: 'egg-validate

120浏览
0推荐
0评论

【金秋打卡】第10天 创建用户模型

课程名称:web前端架构师 课程章节:第15周 第八章 用户系统的设计与实现 主讲老师:张轩 课程内容: 创建用户模型 创建用户模型 引入 egg-mongoose 将我们之前写的 mongoose插件 替换为 egg-mongoose npm i egg-mongoose 在 plugin.ts 文件中启用 egg-mongoose 插件 const plugin: EggPlugin = { mongoose: { enable: true, package: 'egg-mongoose', }, }; 在 config.default.ts 文件中配置mongoose,配置与我们之前写的一样,不过...

87浏览
0推荐
0评论

【金秋打卡】第9天 Egg.js 结合 Mongoose (二)

课程名称:web前端架构师 课程章节:第14周 第八章 添加 Mongoose 以及 egg.js 插件原理 主讲老师:张轩 课程内容: 将mongoose models 自动加在到 egg app 上 将mongoose models 自动加在到 egg app 上 昨天最后实现了加载器,将mongoose models 挂载到了 App 上,那么现在通过代码来使用下 首先编写测试代码,创建一个 service import { Service } from 'egg'; export default class UserController extends Service { public async...

76浏览
0推荐
0评论

【金秋打卡】第8天 Egg.js 结合 Mongoose

课程名称:web前端架构师 课程章节:第14周 第八章 添加 Mongoose 以及 egg.js 插件原理 主讲老师:张轩 课程内容: Egg.js 结合 Mongoose Egg.js 结合 Mongoose 添加 mongoose到 egg.js 在 app.js 中将 mongoose 挂载到 app 上 import { IBoot, Application } from 'egg'; import { createConnection } from 'mongoose'; export default class AppBook implements IBoot {...

75浏览
0推荐
0评论

【金秋打卡】第7天 Mongoose 的基本用法

课程名称:web前端架构师 课程章节:第14周 第八章 添加 Mongoose 以及 egg.js 插件原理 主讲老师:张轩 课程内容: Mongose 的基本用法 使用原生mongoDB 存在的问题 使用 原生的 mongoDB nodejs driver 数据结构以及操作过于灵活,使用起来也不是舒服。 解决 使用 Mongoose https://mongoosejs.com 建立在 native mongoDB nodejs driver 之上 提出 Model,数据模型的概念,用来约束集合中的数据结构 非常多扩展的内容 它是一个 ODM(Object Document Mappi

60浏览
0推荐
0评论

【金秋打卡】第6天 使用$lookup进行多集合查询和 MongoDB 数据库设计

课程名称:web前端架构师 课程章节:第14周 第七章 mongodb 高级内容 主讲老师:张轩 课程内容: 使用$lookup进行多集合查询和 mongodb 数据库设计原则 使用$lookup进行多集合查询 $lookup 类似关系型数据库的 join $lookup 的写法 db.users.aggregate([{ $lookup: { from: collection, localField: field, foreignField: field, as: result } }]) 其中 from 连接集合的名称 localField 需要的字段名 foreignField 被连接集合的字段名 as 新的字段名,可以

81浏览
0推荐
0评论

【金秋打卡】第5天 mongodb 数据关系

课程名称:web前端架构师 课程章节:第14周 第七章 mongodb 高级内容 主讲老师:张轩 课程内容: mongodb 数据关系 不同集合的数据关系 两种实现手段 内嵌 引用 内嵌 之前使用的集合就是内嵌的. hobbies时内嵌的 // 1 { "_id": ObjectId("635a37b110f9b16ff81f6cb1"), "username": "aaa", "password": "123456", "hobbies": [ "play",...

40浏览
0推荐
0评论
首页上一页123下一页尾页
意见反馈 帮助中心 APP下载
官方微信